Skip to content
Prince Takyi AkomeaPrince Takyi Akomea

Church CMS

Creator · Penny Codes

A desktop church management and bulk-SMS app: members, groups, events, giving and reports, with encrypted backups and in-app licensing.

The Church CMS dashboard: counts of members, service units, groups, contributions, SMS sent, events and pending follow-ups, with membership broken down by gender and by unit
The dashboard: the church at a glance.
The Send SMS screen: a message to selected service units with name placeholders, a credit estimate for the recipients, and a character and segment count
Bulk SMS to service units, personalised per member, with the credit cost shown up front.
The Reports screen: membership by unit, center and gender, and contributions by type, for a chosen date range with a Print button
Membership and contribution reports for any date range, ready to print.
Status
Live
Year
2026
Platforms
Windows · macOS soon
License
Closed source

The problem

Church administration runs on spreadsheets, notebooks and text messages. The earlier version of this app, built on NW.js, had grown fragile: string-built SQL, weakly stored passwords and an SMS gateway that had shut down. Church CMS is a ground-up rewrite that keeps the data on the church's own computer and makes reaching the congregation a single step.

What I built

  • A Tauri 2 desktop app with a Rust backend organised as vertical slices (a service and a thin command per feature) over SQLite, with parameterised queries throughout and bcrypt authentication.
  • Members (with Excel import), service units, groups, events, follow-ups, contributions and printable reports, all gated by per-section staff permissions.
  • Bulk and personalised SMS through Hubtel, sent from Rust so credentials never reach the webview, with phone-number normalisation and delivery-status tracking.
  • Encrypted backups: a consistent SQLite snapshot, compressed and age-encrypted, kept locally or uploaded to Cloudflare R2 on a schedule. Zero-knowledge by design: the server only ever sees ciphertext.
  • In-app licence purchase through Hubtel Checkout, backed by a Cloudflare Worker (Hono, D1, R2) that issues hardware-bound licences with a 14-day offline grace.

Stack

  • Tauri 2
  • Rust
  • React 19
  • SQLite
  • Hubtel
  • Cloudflare Workers
  • D1
  • R2

Where it stands

Live on the Microsoft Store for Windows, with installers and auto-updates published from a public releases repository. Signed Mac builds follow once the Apple Developer account is set up. The source is closed; only the built app is distributed.

Next project

PenVault