ELSEIF
Your brief EB
242 stories from 83 feeds 133 clusters Refreshed 13 minutes ago next pull 08:21

TECH Signal 410

Building Groovie, an Advanced Web-Based Drum Machine / Beat Sequencer

Groovie is an open-source, browser-based drum sequencer that supports up to 32 patterns, polyrhythms via variable-length patterns, and per-sample effects, with entire projects encoded into URL fragments so the app can be fully static and ad-free.

WHY IT MATTERS

The interesting engineering surface here is not the sequencer itself but the URL-fragment encoding: the author is fitting multi-pattern, per-sample, timeline-bearing project state into roughly 1,800 characters of base64url, with 4 bits reserved for a format version so older shared links keep working. Because the app is fully static, anything an engineer learns from it is portable to other client-side stateful tools. Only one feed carried this story, so the broader community signal is thin and this should be read as a notable hobbyist project rather than an industry shift.

Written by elseif from the cluster below · every claim links back to a source

The three things worth knowing

01

Groovie runs as a fully static site and encodes all project state, patterns, sample indices, timeline, and per-step settings, into the URL fragment using base64url, targeting a ~1,800-character fragment budget (~10,800 bits) with 4 bits reserved for a forward-compatible version number.

02

It supports polyrhythms by allowing patterns of variable length to play simultaneously, plus a multi-pattern timeline view, features the author says were missing from his earlier NoiseCraft project.

03

The sample library exceeds 150 sounds with per-sample volume, panning, and filter/delay sends, and the project is open source with no paid tier or ads.

THE READ

What the cluster adds up to.

ORIGINAL ANALYSIS

Groovie sits in a lineage the author traces back to a 2012 JavaScript app that predated the Web Audio API and used the now-deprecated Mozilla Audio Data API. The progression from that toy, to NoiseCraft, to Groovie is essentially a story about UI and data-model constraints: each iteration added capability, but NoiseCraft forced users to encode an entire song as one long pattern, which the author found tedious. Groovie's design choice, separate patterns plus a timeline that sequences them over time, is the structural answer to that complaint, and it is what makes the project interesting beyond another web drum machine.

The genuinely load-bearing engineering problem here is the URL fragment budget. The author is targeting ~1,800 characters so links survive being pasted into chat clients and social posts, which works out to roughly 10,800 bits at 6 bits per base64url character. A naive bitmap for one 32-sample, 64-step pattern already consumes about 2,048 bits, and that is before sample indices (9 bits each, supporting up to 512 samples), per-step volume, panning, effect sends, and a multi-row timeline bitmap. The author alludes to compression tricks to fit 32 patterns plus timeline into the budget; the specifics are partly in the source article and partly in the open-source code, but the framing is that bitmaps over sparse, structured grids compress well, which is the kind of insight worth borrowing for other client-side stateful apps.

For a working engineer, the practical takeaway is methodological rather than product-level: this is not a service to integrate but a reference implementation of a particular approach to shareable, backend-free state. The version-number nibble in the encoding is the most underappreciated detail, it means a future Groovie can ship breaking changes to its encoding without invalidating links already in the wild, which is a problem many client-side apps with serialized state never solve at all. If you are building anything that puts app state into URLs (demos, shareable visualizations, design tools), the encoding scheme here is a worth studying, and the open-source license makes it directly reusable.

Where the design stops working is exactly where the budget stops working. Once a project's encoded state approaches or exceeds ~1,800 characters, the shareable-link model breaks down and the app presumably falls back to some other mechanism, the source article is cut off before that discussion, but it is the natural ceiling on the approach. The polyrhythm feature also has a real-time cost: the scheduler has to track multiple patterns at independent step counts simultaneously and advance them in a way that stays sample-accurate, which is non-trivial in the Web Audio API and is the kind of thing that tends to drift on slower devices or under main-thread pressure. Finally, 'free forever' with no paid tier is a sustainability posture, not a technical one, and the single-feed signal here means the project's longevity is more an open question than a settled fact.

Written by elseif from the cluster below · checked for specifics the sources never contained

THE CLUSTER

Same story, 1 feed.

ORDERED BY FIRST SEEN
Lobsters Building Groovie, an Advanced Web-Based Drum Machine / Beat Sequencer Open ↗