A vibe catcher for new song ideas
Skills
A songwriting app built for the fragments: the line that arrives at a bus stop, kept until it grows into a song.
Songwriters lose more ideas than they finish. A hook arrives somewhere inconvenient, it goes into the phone's voice memos, and it joins two hundred other untitled recordings that no one will ever play back. The problem isn't recording, every phone does that. The problem is that a captured fragment has nowhere to live and no way to be found again, so capture and craft stay disconnected.
I designed and built Hummingbird as a native app in Expo and React Native, with capture as the first screen rather than a feature buried in a menu. One tap takes an audio scrap or a lyric fragment. From there the app is built to help a fragment grow: Sparks for loose ideas, a lyric workspace, chord tooling driven by a chords database and music-theory helpers, Places so an idea keeps the location it arrived in, and an immersive writing mode that strips the interface back when it is time to write. Vibe Search lets you find your way back in by feel instead of by filename. On the back end it shares an existing Supabase project using prefixed tables, keeps audio in Cloudflare R2, and routes image search through a Cloudflare Worker so no API key ever ships inside the app bundle.
The app is in active development and running on device. The design bet it proves out is the ordering: making capture the home screen, and treating search as recall by feel rather than by name, keeps fragments in circulation instead of letting them sink. The shared-backend approach also brought the running cost of another app to near zero, which is what makes a portfolio of small products practical to maintain solo.
What I did
Went through my own voice memos and asked other writers to do the same. Counted how many captured fragments had ever been played back.
What it told me
Almost none. Every phone already records; what nothing did was give a fragment somewhere to live or a way to be found again, so capture and craft stayed disconnected.
What changed
Stopped treating this as a recording app. The design problem became retrieval, which is what put Vibe Search in scope at all.
What I did
Timed how long it took to get from locked phone to a recorded fragment across the note and memo apps writers were already using.
What it told me
Every extra tap between the idea and the capture is a place to lose it. Ideas arrive somewhere inconvenient, which is exactly when patience is lowest.
What changed
Made capture the first screen rather than an item in a menu. One tap takes an audio scrap or a lyric fragment.
What I did
Tested browsing a library of untitled fragments, first by date, then by title, then by feel.
What it told me
Names are the wrong handle. Nobody titles a fragment at the moment of capture, and by the next week the date means nothing either.
What changed
Built Vibe Search, and added Places so a fragment keeps the location it arrived in. Both are recall by association rather than by label.