Inspiration
Song ideas often arrive at the worst possible time: while walking, travelling, or just before falling asleep. Recording a voice memo takes seconds, but developing it into something usable can take hours. The recording gets buried among hundreds of unnamed files. The songwriter then still has to work out the melody, key, tempo, chords, song sections, and instruments before they can properly begin producing. We built Memo to close that gap.
What it does
Memo is a voice-memo app that understands music. It preserves the songwriter’s original idea while removing the repetitive work that slows creativity down.
Idea Bank
Users hum, sing, or play an instrument into their device. Memo cleans the recording, identifies its melody, key, tempo, input type, and mood, then stores it in a private, searchable library. Instead of hundreds of unnamed voice memos, each idea becomes something the user can understand, replay, label, and find again.
Vibe Brief
Users search for a song they like or upload their own reference track. Memo analyses its musical recipe, including its key, tempo, chord progression, and estimated section structure. The reference provides direction, but Memo does not copy its melody.
Song Builder
Users combine their original idea with a Vibe Brief. Memo then suggests chords, song sections, and instrument layers that fit the user’s melody. The result is a playable song skeleton that can be exported as MIDI or continued inside openDAW.
Memo does not replace the songwriter or create a completely finished track. It turns the user’s own musical idea into an organised, editable starting point. The warm-start workflow is designed to create a song skeleton in under 10 minutes using a saved idea, or under 30 minutes when starting from a new recording.
How we built it
Memo is a mobile-first Progressive Web App built using React Router 7 and TypeScript, and deployed through Cloudflare Pages. Audio is recorded using browser audio tools. We use Essentia.js to analyse the sound directly inside the browser and estimate musical information such as melody, key, tempo, and chords. Memo is not simply an LLM wrapper. The system first measures real patterns in the user’s audio. Claude then uses those measured musical facts to suggest an arrangement instead of guessing from a generic prompt.
Our main tools are:
- Supabase for passwordless login, private storage, and the database
- Essentia.js for browser-based music analysis
- Claude for arrangement suggestions grounded in the analysed audio
- iTunes Search API for reference-track search and previews
- Tone.js for playback
- @tonejs/midi for creating editable MIDI files
- openDAW for continuing production
The core workflow is:
Capture → analyse → save → combine → build → play → export
Challenges we ran into
One major challenge was that human humming is naturally imperfect. People drift off-key, change tempo, and record in noisy environments. We had to clean the audio and make the analysis tolerant enough to produce useful results without requiring professional singing.
Another challenge was musical correctness. An AI-generated chord progression may be technically valid but still sound wrong. To reduce this, we constrain the arrangement using the detected key, tempo, melody, and reference chords.
Reference-track analysis was also difficult. A 30-second preview may not contain the chorus or enough of the song to understand its complete structure. We therefore support uploaded tracks and use simpler estimated structures when the available audio is limited.
Running music analysis inside the browser also created performance challenges, especially on mobile devices. We focused on short recordings and prioritised the essential capture-to-build workflow.
Finally, openDAW integration introduced browser compatibility and file-loading challenges. MIDI export provides a reliable fallback so users can still continue their work in another music program.
Accomplishments that we're proud of
We are proud that Memo brings several disconnected songwriting tasks into one continuous experience. Instead of only saving a recording, Memo can understand it, organise it, combine it with a musical direction, create a playable arrangement, and hand it into production.
We are especially proud of:
- Keeping the user’s original melody at the centre of the result
- Performing real music analysis directly in the browser
- Grounding the AI with measured musical information
- Creating an audible and editable MIDI output
- Designing a private, searchable Idea Bank
- Building around a clear and measurable time-saving goal
What we learned
We learned that generative AI alone is not enough for a useful music tool. A strong result needs real audio analysis first, followed by AI that is constrained by those measurements. We also learned that music analysis does not need to be perfect to save time. Even a useful estimate of the key, tempo, chords, and structure can remove a large amount of repetitive setup work. Most importantly, we learned to protect the core value of the product. The essential experience is not every possible production feature. It is the simple loop of capturing an idea, understanding it, saving it, and turning it into something the songwriter can continue building.
What's next for Memo
The next major improvement is making reference tracks optional. Users could hum their melody and describe the direction they want.
We also want to improve:
- Melody and chord-detection accuracy
- Recognition of verses, choruses, bridges, and outros
- Support for more complex melodies and genres
- Manual control over chords, sections, and instruments
- Real-time collaboration between songwriters
- Deeper integration with professional DAWs
- Multiple arrangement options from the same idea
Memo’s long-term goal is not to make sure a great idea never disappears before it has the chance to become one.
Built With
- cloudflarepages
- essentia.js
- gemini
- itunessearchapi
- midi.js
- opendaw
- postgresql
- pwa
- react
- supabase
- tone.js
- typescript
- webaudioapi
Log in or sign up for Devpost to join the conversation.