Undersong — A Room for Lyrics

Undersong is a distraction-free writing room for song lyrics. Beneath every song there’s a quieter one — a line that keeps returning, asking to be written — and this is a place to catch it.

Features

  • A line-by-line writing surface organized into song sections (verse, chorus, bridge…). Tap a section name to change its type; Enter makes a new line and Backspace on an empty line removes it. Word and line stats sit alongside, and any song exports to plain text.
  • Sparks — over 500 writing prompts grouped by craft and subject to get you unstuck. You can also generate your own spark groups from any text files; a streaming web worker extracts and scores the best candidate lines.
  • A rhyme panel for finding rhymes without leaving the page.
  • Organize songs into albums: create, rename, duplicate, delete and move songs between them. Whole workspaces or single albums save and load as files, with a choice to merge or replace.
  • Everything stays on your device — nothing is sent to a server. Multiple color schemes with accent cycling.
  • Vanilla JavaScript, no frameworks.

Built with AI

This app was built with AI. I made it together with Claude, Anthropic’s AI assistant, using Claude Code, a tool that works directly in the terminal. I described the writing experience I wanted — the sections, sparks, rhymes and albums. Claude wrote the code, and I directed the design, made the product decisions and tested everything in the browser. Commits that Claude wrote are marked as co-authored by Claude in the git history.

Click here to try it out!