Apps Blog About
Music · Web App · Local-first

GoChords

Paste any chord sheet. Transpose, pick a capo, see the chord diagrams, hit auto-scroll. Play. That's the whole tool.

🗓️ 6 May 2026 🤖 Built with Claude Code 🎸 React · TypeScript · Vite 🌐 gochords.online
🎸

What does it do?

GoChords is a chord-sheet reader for people who actually play. You paste a song — from anywhere, in almost any format — and it parses out the chords, lyrics, and section labels. Then you can transpose up or down, drop a capo on, and read while it scrolls.

The features that matter

  • Smart parser — accepts [Am] inline, {Am}, (Am), chord-above-lyric layouts, Ultimate-Guitar paste, bar-lines, N.C., repeats. Auto-detects [Verse] / [Chorus] section labels.
  • Transpose — ±12 semitones, capo 0–7, enharmonic-aware (flat keys prefer flats). Key picker filtered by modality.
  • Canvas chord diagrams — 30+ shapes, X/O markers, barre rendering, fingerings. Theme-aware.
  • Auto-scroll — speed 1–10, slider on mobile. Tap anywhere to stop.
  • Strumming patterns + auto-detected song language tag.
  • Artist pages — multi-artist parsing, normalized search.

Local-first, on purpose

There's no account, no backend, no sync layer. Your songs and preferences live in localStorage. Open the app on a different device and you start fresh. That's by design — the app should outlive any hosting decision, and your library should belong to you, not to a database I'm paying for.

Why this exists

Every chord-sheet site I've used is bloated with ads, paywalled features, or designed for the wrong device. I wanted one page that does the four things I actually need — paste, transpose, see chords, scroll — and nothing else. So I built it.

The idea

I was sitting with a guitar trying to play a song from a tab site, getting interrupted by autoplay videos and consent banners. The frustration was specific: the actual job — show me the chords, let me transpose, scroll while I play — is small. The tool around it was huge.

So I described what I wanted to Claude Code: a single page that parses any reasonable chord-sheet format, transposes with capo math correct, draws the chord shapes on a canvas, and auto-scrolls. Local-only. No login.

Building it

The first version went up in an afternoon. Most of the work since then has been parser edge cases — every chord sheet on the internet uses a slightly different format, and the parser has to handle all of them gracefully. Bar-lines, N.C. markers, repeats, multi-artist credits, inline vs. above-lyric chord placement — each one a small fix.

Mobile took a second pass: chord-and-lyric pairs need to wrap together (not split mid-pair), the scroll-speed control needed a proper slider, the header needed to shrink. Sticky chords keep the current chord visible while the rest scrolls past.

"The right tool for the job is the smallest one that does the job."

What's next

The roadmap is short and pragmatic — better strumming pattern rendering, more chord shapes in the diagram database, optional song-library export/import so people can move their songs between devices without giving up on local-first. If you use it and there's a song format the parser chokes on, send it to me.

⚛️React
🔷TypeScript
Vite
🎨Canvas API
💾localStorage
🐙GitHub Pages
🌐Custom domain (gochords.online)
🤖Claude Code

No backend. No tracking. No account.

The whole app is a static build. Parser, transpose engine, chord-shape DB, canvas renderer — all client-side. Songs persist in localStorage. The only network call is the one that loads the page.

View Source on GitHub →

Got thoughts?

A song the parser can't handle? A feature you'd actually use? Tell me — no account needed.