Skip to content

Church management platform

Multi-tenant church management: members, households, attendance, forms, analytics and WhatsApp messaging

Church analytics dashboard with member, group, attendance-rate and new-member totals, messaging counts and a weekly attendance chart1 / 6

A shared platform where each church manages its members, households, groups and staff, takes attendance, collects form submissions and messages its congregation on WhatsApp.

The problem

Church administrators keep member lists in spreadsheets, track attendance on paper and send announcements one phone at a time. One deployment has to serve many churches without any of them seeing another's data.

What I built

A NestJS API with an explicit tenancy module and application, infrastructure and presentation layers in every module, and a Next.js admin app. Imports and messaging run as BullMQ jobs, and WhatsApp messages go through the Cloud API with signed webhooks.

Results

  • Tenant isolation, rate limiting and security headers built in from the first commit.
  • CSV imports run in the background so large member lists don't block the admin.

Features

  • Member and household directory
  • Groups, departments, staff and team accounts
  • Attendance tracking
  • Custom forms and submissions
  • CSV bulk import
  • Analytics dashboards
  • WhatsApp messaging with webhook signature verification
  • One-time code delivery for sign-in

How it's put together

Hexagonal NestJS modules over PostgreSQL, with Redis-backed queues and a Next.js client using TanStack Query and TanStack Table.

  • Better Auth sessions shared between the API and the web app
  • Structured logging with pino and health checks
  • Throttling and Helmet on every route
  • Shair public site: The Shair Quiz, get perfect hair every salon visit
    Web apps2025–2026

    Shair

    Hair consultation platform where a guided quiz builds a profile customers share with their salon

    Solo buildReactViteTanStack Router+13
  • Dube home screen showing ETB 3,125.50 total outstanding and a list of customers with their balances and call buttons
    Mobile apps2026

    Dube

    Offline-first debt book for shopkeepers: an Android app, a sync API and an admin panel

    Solo buildExpoReact Nativeexpo-sqlite+15
  • Church home page with the headline A Place to Encounter Christ and Grow Together over a photo of an illuminated cross
    Web apps2025

    Woji Summit Mulu Wongel Church

    Church website with sermon videos, events, giving and ways to get involved

    ContributorNext.jsReactTailwind CSS+4