Community · Open Source Product

ChurchCMS: built for whoever inherits it next year

An MIT-licensed church management platform on Laravel — members, events, sermons, prayer requests, offerings and volunteer coordination in one system, designed around the fact that the person administering it will change.

SECTOR
Religious organisations
TYPE
GegoSoft product
LICENCE
MIT open source
PLATFORMS
Web, API, mobile
STATUS
Active development
ChurchCMS member directory showing searchable member list with contact details, profession and location
The member directory with alphabetical filtering, search, import and export, and membership card generation.

The problem nobody designs for

Church administration is usually volunteer work. The person who set up the spreadsheets is a member who was good with computers. When they move away, take on other responsibilities or simply stop, the system leaves with them — along with the knowledge of where the member list lives and which columns mean what.

Most church software is designed for the person who evaluates and buys it. We designed ChurchCMS for the fourth person to use it: someone who did not choose it, was not trained on it, and inherited it mid-year with no handover.

Continuity, not features, is the hard requirement in volunteer-run administration.

That shaped three decisions. Roles are granular, so a departing volunteer's access can be transferred without handing over a master password. Data import and export are first-class rather than buried in settings. And the licence is MIT — a church that can no longer pay anyone, including us, keeps a working system and its own records.

What a church system actually holds

Taken module by module the data looks ordinary. Taken together it is not.

Prayer requests

Frequently concern illness, family difficulty, addiction or bereavement. Among the most private things a member will ever write down.

Help requests

Often indicate financial hardship. Visible to the wrong volunteer, this damages the relationship the church exists to hold.

Offerings and donations

Contribution history is financial data about identifiable individuals, held by an organisation with no finance department.

Member records

Addresses, family relationships, dates of birth and contact details for entire households, including children.

Role-based sub-administration is the answer to all four. A volunteer managing the event calendar has no reason to see prayer requests. Someone recording offerings does not need the pastoral board. Permissions are assigned per area rather than by a single administrator flag, so access can be scoped to the job and revoked when the job ends.

Member profile
A member profile links family relationships, group assignments, attendance history and pastoral notes to one record.

What the platform covers

Every module below is in the open source core.

Member managementProfiles, families, groups, membership records, ID cards.
Events and calendarOne-time and recurring events, public or members-only.
Attendance trackingEvent-level attendance recorded against member records.
Photo galleryEvent galleries and media files organised by occasion.
Prayer boardPrayer requests with controlled visibility.
Help requestsMember assistance requests routed to the right people.
SermonsSermon archive with media and searchable records.
BulletinsWeekly bulletins published to members and the site.
OfferingsContribution recording and reporting.
Volunteer groupsMinistry groups, membership and coordination.
Tasks and to-dosAssignment and follow-up across volunteers.
MessagingDirect messages and email broadcasts to member segments.
Website CMSThe public church site managed from the same system.
Role-based sub-adminPer-area permissions rather than one administrator account.
ReportsMembership, attendance, offering and activity reporting.
Event creation
Events are created as public or members-only, one-time or recurring, with venue and organiser recorded against the church calendar.

Technology choices and why

The binding constraint was not scale. It was that a church with no budget must be able to run this, and find someone to fix it.

FRAMEWORK

Laravel

Runs on inexpensive shared hosting, which is what most churches already have, and has the widest pool of developers who can maintain it.

DATABASE

MySQL

Available on essentially every hosting plan, and exportable by anyone who inherits the system.

INTERFACE

Livewire and Vue.js

Livewire keeps most screens in PHP so a single developer can maintain both layers. Vue handles the interactive views.

STYLING

Tailwind CSS

Restyling to a church's own identity is a common request and does not require unpicking custom CSS.

MOBILE

Flutter

Member-facing mobile access from a shared codebase across Android and iOS.

INTEGRATION

API-ready

The same endpoints serve mobile and any external site, so a church keeping its existing website can still connect.

How the team maintains it

GegoSoft engineers use Claude Code as standard daily tooling. On ChurchCMS it carries framework upgrades, test coverage, refactoring and the customisation work individual churches request — the maintenance load that would otherwise compete with new development for the same hours.

Design decisions and code review stay with the engineering team, and every change passes normal review before merge.

Where it stands

ChurchCMS is under active development and shares its Laravel foundation with GegoK12, so improvements to the underlying stack benefit both.

Common questions

Is ChurchCMS free to use?

Yes. It is released under the MIT licence, so you can use, modify, host and redistribute it, including commercially. Hosting, setup, data migration, customisation and support are paid services if you want them.

Can we run it on our existing church hosting?

Usually. It needs a standard Laravel environment with PHP and MySQL, which most shared hosting plans provide. We can check your current plan before you commit to anything.

Who can see prayer requests and offering records?

Only the roles you grant access to. Permissions are assigned per area, so a volunteer managing events has no visibility of the prayer board or contribution records.

Can we move our existing member list in?

Yes. Member import is built in and handles spreadsheet data, which is what most churches are migrating from. Export works the same way if you ever move on.

Can it be adapted to how our denomination is organised?

The source is open, so any Laravel developer can adapt it. We also build customisations directly. Tell us how your structure differs and we will say honestly whether it is a small change or a significant one.

Is there a mobile app for members?

EDIT-ANSWER — confirm current mobile availability and distribution before publishing. Do not claim app store availability if the app is supplied per deployment.

Thinking about church management software?

Tell us how your church keeps records today. We will tell you whether ChurchCMS fits, what setup would involve, and when a spreadsheet is genuinely still the right answer.

Talk to us about ChurchCMS See all case studies