Skip to content

Repository files navigation

Worship

A chord chart manager for worship teams — create, transpose, and present songs with ease.

Live Demo: https://worship-delta.vercel.app

What is this?

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

Who is this for?

  • 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

Features

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

Quick Start

git clone https://github.com/FFFames/worship.git
cd worship
npm install
npm run dev

You'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_key

Run 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()
);

Tech Stack

  • 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

Chord Formats Supported

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

Deploy to Vercel with one click:

Deploy with Vercel

Remember to set your environment variables in Vercel's dashboard.

License

MIT — use freely for your worship team.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages