Changelog · v1.0
musixquare.com
design system
roadmap

Nine months of iteration, compressed into one scroll. Where the idea started, how it pivoted, and what shipped along the way.

Aug 2025 · Building with Web Audio

00

The project starts as a solo-device music app. old.html — 1,246 lines of Tailwind + Canvas with a purple theme — let you pick an audio file, watch frequency rings pulse, and ask Gemini for synced lyrics.

A single device. But the per-band frequency analysisAnalyserNode plumbing, configurable cutoffs, frequency-band smoothing — lays the groundwork for the audio engine.

Oct 2025 · First P2P sync

01

Two phones, PeerJS over WebRTC — the first real attempt at device sync. sync.html already ships a dual-strategy sync algorithm, and production didn't reach that level again until April 2026.

Nov 2025 · Simpler sync, local nudge

02

A clean-slate rewrite. October's rate-scaling algorithm is thrown out in favor of a 3-second countdown that both sides arm at the same moment, then setTimeout to the same local deadline. Simpler, more reliable, and easier to reason about. Per-device offset gets a dedicated UI for the first time.

Dec 2025 · v1.0 – v1.2 · The channel lab

03

Back to a single device. If October cracked open per-band analysis and November cracked open device sync, December cracks open channel routingChannelMerger, per-channel GainNodes, a dedicated subwoofer LPF. The audio-graph scaffolding MUSIXQUARE ships today is born here.

Jan · Everything but the git log

04

Between December's v1.2 channel lab and the first commit on Jan 25, the three threads — October's frequency analysis, November's P2P sync, December's channel routing — merged into a single app. That month of intense iteration was only ever saved as the final file, never the steps in between. By the time git history starts, MUSIXQUARE already exists in recognizable shape:

After months of loose file management, Jan 25 — first commit.

Feb · TURN-ing point

05

Mar · Playing house

06

Apr · More reliable sync

07