A chord chart manager for worship teams — create, transpose, and present songs with ease.
Live Demo: https://worship-delta.vercel.app
Worship teams need reliable chord charts that can be transposed on the fly. This app solves that problem by providing:
- Song Library — Store all your worship songs in one place with chord charts
- Instant Transposition — Change keys without manually rewriting chords (thanks to Tonal)
- Flexible Input — Paste chords from Ultimate Guitar, Thai format, or inline notation — the parser handles it
- Service Planning — Build playlists for upcoming services
- Stage Ready — A clean presentation view for musicians to follow during practice
- Worship Leaders who need to organize songs for services
- Musicians who need chord sheets in different keys
- Teams that want a shared song database instead of PDFs and Google Docs
| Feature | Description |
|---|---|
| Song Editor | Write songs with automatic chord detection and parsing |
| Transpose | Change key up/down with proper chord transposition |
| Playlists | Group songs for services with per-song transpose settings |
| Presentation | Full-screen mode for stage use |
| Print View | Generate clean PDF-ready sheets |
| Cloud Sync | All songs saved to Supabase, accessible from any device |
git clone https://github.com/FFFames/worship.git
cd worship
npm install
npm run devYou'll need a Supabase project for the database. Create one free at supabase.com, then add these to .env.local:
NEXT_PUBLIC_SUPABASE_URL=your_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_keyRun the migration in Supabase's SQL Editor:
create table songs (
id uuid primary key default uuid_generate_v4(),
title text not null,
artist text,
original_key text not null default 'C',
tempo integer,
time_signature text,
sections jsonb not null default '[]'::jsonb,
raw_content text,
tags text[] default '{}',
favorite boolean default false,
user_id text default 'default',
created_at timestamptz default now(),
updated_at timestamptz default now()
);- Next.js 16 — App Router, Server Components
- Supabase — Backend database
- Zustand — State management
- Tailwind CSS 4 — Styling
- Tonal — Music theory for chord transposition
- Radix UI + shadcn — Component primitives
Inline: G C D
Amazing grace how sweet the sound
Thai: G
Amazing grace how sweet
C
The sound that saved a wretch
Ultimate: G C D
Amazing grace how sweet the sound
All three formats are auto-detected — just paste and go.
Deploy to Vercel with one click:
Remember to set your environment variables in Vercel's dashboard.
MIT — use freely for your worship team.