Roadmap · v1.3.0 · 2026-07-27

Song Genome — Roadmap & Status

Shipped in v1.0, waiting on APIs, and planned after that. Companion to the product spec.

← Back home

Version: 1.3.0 Last updated: 2026-07-27 Companion to: /spec


1. v1.0.0 — what works today

Everything below is live in the app right now, on real audio, with all four external APIs wired.

Auth & library

  • Email / password + Google sign-in via Lovable Cloud.
  • Route-gated _authenticated/* subtree redirects to /auth.
  • Personal track library with upload; every row is RLS-scoped to auth.uid().
  • Upload limits enforced up front: audio only, 50 MB, 12 minutes.

Analysis pipeline

  • Runs server-side. Close the tab, close the laptop — the job keeps going, advanced every minute by a scheduled tick.
  • Stages are forward-only and idempotent: submit → poll → derive → interpret → enrich → done, each with its own timeout ceiling.
  • Every transition is written to an event ledger the user can read on the track page, including failures, skips, and retries.

Music DNA layer

  • L1 Measured — key, BPM, time signature, chord progression, section timestamps, loudness. Solid borders signal "confidence 1.0".
  • L2 Derived — energy curve, section loudness, harmonic complexity, vocal presence, stereo width, Roman-numeral chord movement with common-name mapping ("Sensitive Female Progression"). Dashed borders signal "derived, ~0.9".
  • L3 Interpreted — genre, sub-genre, mood adjectives, era feel, "sounds like" references, plain-English why per tag. Muted borders signal "interpreted, ~0.7".
  • Every blob is versioned by METHODOLOGY_VERSION and stamped with its provider, so re-analysis is deterministic and auditable.

Telling the truth about the numbers

  • Tempo reconciliation across Fadr, MusicAtlas, and the derived curve, with half/double-time detection.
  • Disagreements are shown, not hidden — when two providers differ on key, BPM, or loudness, you see both.
  • Grounding guard on interpretation: a claim that contradicts the measured layer never reaches you.
  • Anything not measured says not measured. No invented defaults.

Chat + hands-free voice

  • Five specialist agents: Chord Coach, Producer, Lyricist, Reference Scout, Blueprint Architect.
  • Per-track threads and a global chat page with a sidebar of every session; thread IDs are URL-first, so refresh restores the exact conversation.
  • Tools: get_track_dna, search_tracks, compare_tracks, all server-side and user-scoped.
  • Deepgram STT + Aura-2 TTS with a VAD hands-free loop and quiet / normal / loud-studio sensitivity presets. Voice is selectable per agent.

Create

  • Blueprint, Suno prompt, and chord variations generated from the track's DNA.
  • ElevenLabs 30-second DNA-seeded sketches, each ratable 👍/👎 — that feedback trains your profile.

Corrections and memory

  • Every DNA tag has a "this is wrong" affordance. Corrections are logged and applied as overrides on future reads, and aggregate into a per-user profile that steers later interpretation and creative output.

Visuals

  • DNA Helix, Energy Ribbon, Chord Constellation, Section Contact Sheet, Confidence Weather — all driven by the data, none decorative.

Your data

  • Delete a track and its audio, DNA, events, corrections, artifacts, and chats go with it.
  • Delete your account and everything above goes, for every track, plus your storage folder and login.

Docs, trust & ops

  • Public spec at /spec and roadmap at /roadmap, both downloadable as Markdown.
  • Terms and Privacy name every processor that touches uploaded audio.
  • Personal admin at /admin: library totals, methodology version, API-readiness matrix, 30-day USD cost meter.
  • Per-user daily spend caps on every paid provider; paid paths fail closed.

2. Waiting on APIs

Scaffolded and flag-gated — no rewrite required when the data arrives.

  • Reference Scout Nebula — needs MusicAtlas embeddings for a 2D taste map of your library.
  • Stem Cross-Section — needs per-stem waveform data rather than preview URLs alone.
  • Snippet Sculpt — needs snippet iteration history.
  • Lyric Prosody River — needs a lyrics extraction pipeline.
  • Hum-to-analyze and live reference listening — need voice isolation on user input and per-stem querying.

3. Planned

  • Per-account voice preference — move the voice choice off the browser onto the account.
  • Comparison mode — two tracks side-by-side, radar chart, LLM narrates the gaps.
  • Python-based L2 metrics — rhythmic density, groove micro-timing, MERT embeddings, Essentia mood.
  • MIO relationshipsinspired_by, derived_blueprint, cover_of, practice_version. Turns "reference → my song" into first-class data.
  • pgvector similarity — "songs like this one", meaningful past ~50 tracks.
  • MIO export bundle — auditable download (DNA + corrections + confidence + relationships).
  • Cyanite provider (Plan C) — commercial-licensing escape hatch; interface exists.
  • v2.0 canonical rename — MIO / MRE / Music Memory vocabulary in code, gated on real paying users.

4. Explicitly non-goals

  • Not a DAW. We do not replace Logic, Ableton, or FL Studio.
  • Not a distribution platform. We do not publish to Spotify.
  • Not a stock-music library. Snippets are sketches, not licensed cues.
  • Not a general chatbot. Every agent is scoped to songwriting.

This roadmap is the source of truth for what's shipped vs. what's coming. When it changes, bump `APP_VERSION` in `src/lib/app-version.ts`.