About this project
WorshipDeck is a self-contained (local-first) church worship display and staging application that converts a worship service rundown into ready-to-use presentation slides. The app generates PowerPoint (.pptx) files for offline needs, a dual-screen presenter console for congregation projectors, and a local Wi-Fi smartphone remote.
Problem solved: manually preparing worship slides takes 2–4 hours per week, especially retyping song lyrics. Sudden song changes force slide recreation. The app accepts rundown text from a web form or chat bot webhook, then automatically assembles neat, consistent worship slides.
Key features:
- Rundown intake: paste text into a form or send via POST to an authenticated webhook endpoint; unrecognized lines are shown transparently.
- Automatic song search and stanza splitting based on song numbers from a local corpus.
- WYSIWYG slide template editor: 28 templates in a SQLite registry, interactive canvas controls (drag, resize, typography styling, text/shape boxes, reset).
- One layout for all outputs (16:9): PowerPoint, web slideshow, projector window, 1:1 precise preview.
- Dual-screen presenter mode: active and next slide preview, thumbnail filmstrip, order of service sheet, independent second window.
- Blank screen button to instantly darken the projector (B key).
- Transition effects: none, cut, fade, dissolve, push — identical on web and PowerPoint.
- Quick Bible verse search (KJV) for display to the projector.
- Announcements and flyers with uploaded images or URLs.
- Custom typography and font embedding (ECMA-376) for offline rendering in PowerPoint Desktop.
- Admin/operator account management, login rate limiting, revocable cryptographic session tokens.
System requirements: Go 1.24+, Node.js 22+, integrated SQLite.
Getting started: clone repo, `npm install`, `npm run setup` (creates .env, initializes DB, seeds registry, displays admin password), `npm run dev` for development (Go API on :3000, React SPA on :5173). Production: `npm run spa:build && npm start`.
Built-in offline corpora: `data/song-book/sdah.json` (695 Seventh-day Adventist Hymnal songs) and `data/en/bible-translation/kjv.json` (66 books, 31,102 KJV verses). Validate with `npm run corpus:verify`.
Congregation customization: admins can edit templates at `/admin/artifacts`; private registry overrides can be stored in `data/local/default-registry.json` (git-ignored).
License: code is MIT, third-party content described in ATTRIBUTIONS.md. The WorshipDeck name and logo are separately protected; modified builds are advised to use their own name.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.