
How I Built a Free Chord & Lyrics Database with 260k+ Songs Using Node.js and PostgreSQL
I built ChordRoom — a free, open-source chord and lyrics database with over 260,000 songs. Here's the technical story of how it came together. The Problem As a guitarist, I was frustrated with existing chord sites. Most are: Cluttered with ads (some have 5+ ad blocks per page) Slow to load Behind paywalls for basic features like transposing Missing many songs, especially non-English ones I wanted something clean, fast, and comprehensive. The Stack Backend : Node.js + Express with server-side rendering Database : PostgreSQL (260k+ songs, 14k+ artists) Frontend : Vanilla JS SPA with SSR for SEO Hosting : Self-hosted on a Linux server with Apache reverse proxy Key Technical Decisions Server-Side Rendering for SEO With 260k+ song pages, SEO is critical. I implemented hybrid SSR — the Express server generates full HTML with unique titles, meta descriptions, Open Graph tags, and JSON-LD structured data for each song page. When Google crawls /songs/12345 , it gets: <title> Stressed Out - Twen
Continue reading on Dev.to Webdev
Opens in a new tab




