Case study · Full-stack music history app

Siren makes market history felt.

A full-stack Next.js app that pairs notable moments in Bitcoin history with deterministic generative music, price context, a scrub-able timeline, and staged Solana ownership mechanics. The product question: can data become a daily ritual instead of a dashboard?

STATUSFull Next.js app live · devnet mint tooling staged
ROLEProduct thesis, data story, full-stack build, UI system
STACKNext.js · TypeScript · Supabase · Solana · Web Audio
Problem

Market data explains what happened. It rarely explains how it felt.

Bitcoin history is usually presented as a chart, a price table, or a dense timeline of events. Those formats are useful, but they flatten the emotional texture of each era: mania, disbelief, collapse, recovery, myth-making, and return.

Call of the Siren explores a more ritualized format. Each notable day becomes a daily drop: a track, an event, price context, and a timeline moment that lets the user feel the market narrative instead of only reading it.

PRODUCT LOOP

A daily ritual, not a terminal.

The product loop is intentionally editorial: one moment at a time, with enough context to invite exploration and enough mystery to make tomorrow worth opening.

01

Drop

A daily historical moment appears with a track pairing, date, and market-era context.

02

Listen

Music gives the event an emotional lens before the user dives into the numbers.

03

Scrub

The timeline lets users move through events, price shifts, and symbolic markers.

04

Archive

Moments become collectible entries in a broader history, playlist, and narrative system.

Process

Editorial product thinking over raw chart density.

THESIS

Pair data with mood

The product starts from a thesis that markets and music both carry emotional memory over time.

STRUCTURE

Turn history into moments

Events are scoped into readable daily entries instead of a sprawling encyclopedia.

INTERACTION

Make exploration tactile

Waveforms, timeline markers, event rows, and playback states make the app feel alive.

Current Build

  • Full Next.js 16 app with every major screen implemented, plus a global audio player and deterministic GEN v3 generative tracks.
  • Supabase-backed event and price data, with fallback labeling when live data is unavailable.
  • Server-side canonical render tooling with tests that verify byte-identical audio renders.
  • Solana devnet mint tooling staged with Phantom/Wallet Standard and Metaplex Core.

Next Bets

  • Devnet mint execution end to end, from wallet connect through a confirmed Day NFT.
  • Research-candidate seeds for additional historical days and market eras.
  • A phone QA pass across the full audio, timeline, and minting flow.
  • Curated playlists and a collector layer for daily editions and rarity tiers.
What I learned

Data products need a point of view.

The hardest part was not making a timeline. It was deciding what the timeline should make someone feel. Without a point of view, the product becomes another data surface. With one, it becomes a ritual.

Siren pushed me toward stronger data storytelling instincts: choose the moment, reduce the noise, create a sensory frame, then give users enough agency to explore.

Next: deepen the archive.

The next milestone is a richer historical archive with real data overlays, stronger daily curation, and a clear collector layer for moments.

Contact Kevin