Skip to content
{ JT }Jonathan Gamez Tomoyosi
Back to projects
Live

Igreja Bom Pastor SP

Mobile-first church management platform, from database to interface

Igreja Bom Pastor SP

A complete management system for a community — finance, people, rotas, events and communication — built solo end to end and running in production on Vercel.

Technologies

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • Supabase
  • PostgreSQL
  • Recharts
  • Nodemailer
  • date-fns
  • Vercel

Context

The community was managed through scattered spreadsheets, chat groups and paper. Nobody had a single view of cash flow, rotas or who was responsible for which event — and most people would only ever access a system from their phone.

Challenge

  • A non-technical audience across a wide age range: the interface had to be obvious with no training.
  • Very different access profiles — member, leader, treasury and admin — over the same data.
  • Sensitive information (finance and personal data) requiring real isolation by permission.
  • Zero infrastructure budget.

Solution

  • Data modelled in PostgreSQL via Supabase, with permission rules enforced at the data layer rather than only in the UI.
  • Next.js 15 with App Router and server rendering, keeping the bundle shipped to phones small.
  • Twelve independent modules over a shared design system, so each area could evolve without breaking the others.
  • Transactional email notification wired into calendar events.
  • Architecture, data model, permission matrix and sprint documentation versioned alongside the code.

Outcome

  • Finance, rotas and calendar unified in one place, accessible from a phone.
  • In production and real use, with continuous deployment on Vercel.
  • A codebase documented well enough for someone else to take over maintenance.

Highlights

  • Genuinely mobile-first: designed for the phone and adapted upward, not the other way round.
  • Role-based access control, with an admin area and guest access.
  • Calendar updated in real time, emailing the people responsible for each event.
  • Contextual integrations: the address opens Waze on mobile, contact opens the community’s Instagram.

Modules

  • Finance
  • Tithe
  • Calendar
  • Rotas
  • Volunteers
  • Birthdays
  • Notices
  • Prayers
  • Kids
  • Notifications
  • Profile
  • Administration