The Problem That Started It All

One Sunday, I watched the person responsible for displaying Bible verses during a church service struggle to keep up with the pastor. Verses were missed. References were misspelled. The congregation was left searching through their Bibles while the sermon moved on.

I thought — this is a solved problem everywhere else. Why is the church still doing this manually?

That Sunday I went home and started building ScriptureCast.

What ScriptureCast Does

ScriptureCast is a desktop app for churches that listens to the pastor preach in real time, automatically detects Bible verse references from the sermon, and displays them on the projector screen — with no manual typing required.

The pastor says "Turn to Genesis chapter 1 verse 1" and it appears on screen. Instantly.

How I Built It

The stack came together in layers:

  • Tauri (Rust) — cross-platform desktop shell for Windows
  • FastAPI/Python — backend handling Bible lookups, authentication, and real-time WebSocket communication
  • AssemblyAI — live speech-to-text transcription during sermons
  • SQLite — a full Bible database bundled locally inside the app for offline verse lookup
  • WebSocket — real-time sync between the operator dashboard and the projector screen
  • Render + Supabase — cloud deployment and persistent user database

The architecture was intentionally designed around reliability — the heavy lifting (transcription, verse lookup) can run locally so churches with unreliable internet aren't left stranded mid-sermon.

The Challenges

Getting Tauri and a remote backend to work together was the hardest part. Tauri's WebView has strict security policies that behave differently from a regular browser — auth tokens, WebSocket connections, and API calls all needed special handling to work correctly inside the desktop shell.

Offline reliability was another major challenge. Nigerian churches often have unstable internet. I had to build an instant offline fallback — detecting connectivity loss immediately and switching to the local SQLite Bible database without any delay, so the operator can still look up and display verses even when the connection drops mid-sermon.

Auto display detection — matching the UX of professional church presentation software like ProPresenter. When the operator clicks "Open Projector Screen", the app automatically detects connected HDMI displays and opens the projector window on the right screen without any manual dragging.

What I Learned

  • Building for real-world environments (unstable internet, live church services) forces better engineering decisions than building for ideal conditions
  • Tauri is powerful but has a steep learning curve around permissions, WebView security, and native OS integration
  • Shipping something real and watching it work in front of an actual congregation is a completely different feeling from building for a portfolio

Live Deployment

ScriptureCast was used live in a real church service. The verses appeared on the projector screen automatically as the pastor preached — exactly as designed.

v0.1.0 is shipped. More churches coming.

Built With

Share this project:

Updates

Submission history