Work

Cadence · 2025

Real-time arrangement, without the lag

A collaborative tool for songwriters. I owned the interaction model for a canvas that stays in sync while four people edit the same track.

Role
Interaction design, Prototyping, Frontend
Year
2025
Concentric rings with an audio waveform, in coral and periwinkle on deep navy.

Cadence is a writing room for musicians — a shared canvas of loops, takes, and notes that a band can arrange together from four different cities. The hard part isn’t audio. It’s making a multiplayer canvas feel immediate when the network never is.

The problem

Early builds waited for the server to confirm every edit. Drag a loop, wait 120ms, watch it snap into place. In user sessions people described it as “typing through mud.” The arrangement view is the product, and it felt broken.

Approach

I prototyped the interaction model in code — not Figma — because the whole question was how does latency feel. Three things came out of it:

  1. Optimistic by default. Every edit applies locally on the frame it happens. The server reconciles in the background; conflicts resolve to the most recent intent and animate to their resolved position over 200ms so the correction is legible rather than jarring.
  2. Presence you can predict. Other people’s cursors and selections render with a subtle trailing smear in their color, so you read their direction and instinctively give them room.
  3. A latency budget in the UI. A quiet indicator shows round-trip time; above 400ms the canvas shifts to a “catching up” state instead of pretending.
Node diagram of local edit applying immediately while server reconciliation happens in the background.
Local intent renders now; reconciliation is a background job. The UI only blocks when it genuinely can't proceed.

Result

We shipped the optimistic canvas to beta and the “typing through mud” feedback disappeared entirely. Median interaction latency as perceived went from ~130ms to under one frame; the actual network didn’t change. The prototype became the reference implementation the team built the production canvas from.