Bankole Ocean
All work
Product notes — 02

SONA

A pocket instrument where you can't play a wrong note.

RoleIdeation · design · build
StackFlutter · Dart · FluidSynth · Web Audio
StatusLive
Year2026
SONA

“KEY C MIN · 96 BPM · GRAND PIANO · TAKE 03”

CHORDS ◂ ▸ MELODY

The problem

An idea arrives when there's no instrument nearby. The tools that could catch it mostly assume you already know theory — they hand you a full keyboard and let you find out, one wrong note at a time, that you don't.

Sona removes the failure mode instead of teaching around it. Pick a key; everything under your thumbs belongs to it. A non-musician sounds intentional within seconds, and a musician stops thinking about correctness and starts thinking about the idea.

The decisions

Constraint is the featureTwo regions — chords on one side, melody on the other, both locked to a key you choose. Testers asked for every note. Adding them would have dissolved the only thing that makes Sona feel different, so the chromatic expansion sits parked behind evidence rather than enthusiasm.
Read the complaint, not the requestA tester reported that minor chords were missing in C. They weren't — every key was reachable through the selector. It was a discoverability problem wearing a bug's clothes. The fix was visual hierarchy and contrast, not a single new musical feature.
The app was for something elseIt was built to catch an idea before it evaporates. Testers used it to *find* ideas they didn't arrive with — explore, lock a pattern, then refine the melody over it. That reframed the product from capture tool to discovery instrument, and changed what the launch screen needed to promise.
Ship before you build moreThe core loop was finished long before the feature list was. It goes out as a PWA first — no store review, no install friction, a link that just opens. Real feedback from strangers beats another month of features chosen by guesswork.

The design world

Warm and analog, closer to a piece of studio hardware than a music app. Dark finish is a bituminous brown-black panel with oxblood and amber LEDs that genuinely glow; light finish is warm cream paper with burnt-sienna ink. Film grain over both, so the surface reads as a material rather than a screen.

One principle governs it: the instrument stays linear and accurate; the skin is where the spontaneity lives. Timing, pitch, and response never get styled at the expense of being correct — the personality sits in the texture, the glow, and the way the thing looks when it's sitting idle.

171310
8C2F1E
E8863F
EBDCC8
3E3229

What I’d do differently

I spent real time chasing a latency regression that didn't exist. Testers said the keys felt unresponsive, I believed them, and I went looking at the audio path.

The actual cause was voice attack time. An acoustic grand responds instantly; a warm pad doesn't, by design — that's what makes it a pad. Nothing was broken. The complaint was accurate and my diagnosis was wrong, and the difference cost me days.

The lesson generalised further than I expected: the same testers who said the keys lagged were also struggling to play in time with the metronome at higher BPM. Some of that was a skill being learned, not a defect being found. Users report symptoms reliably and causes unreliably — and treating a reported cause as a diagnosis is how you end up optimising something that was never the problem.