Back in 2019, I went home to Ghana intending to stay a short while, but then Covid hit... During the lockdowns and subsequent travel ban, I learned that my local Methodist church was looking for a more efficient way to keep track of their membership records and attendance data, among other things. Up until that time, they'd been doing all of their record keeping, reporting and administrative duties manually - with pen and paper.
Initially, a team from the church - some of whom knew I was a web developer - asked if I could build them an application with things like dynamic search, attendance logging, analytics with graphs & charts, and full-featured messaging tools. They also wanted reports that could be exported in CSV/Excel/PDF formats for printing. Well, I couldn't travel back to the US, and work was a little slow at Studio Ten Four, so I built something, pro bono. After a few months, MethodistCRM was born, and Version 0.1 had all of those requested features.
I also built a dashboard that summarized all the different data, and provided authentication for their administration.
I assembled a small team in Ghana to do some internal testing. Most of the bugs they reported had to do with exception handling, something Laravel allows developers to do quite smoothly. WhatsApp is an app that everyone understands in Ghana, so I used that to facilitate communication and reporting of bugs. After a few more iterations of bug fixes, we launched Version 1.0.
So far, the app had an array of features that made life easier for church administrators. However, there was a new problem. We needed to come up with a way to get members to self-register in the system. Otherwise, admins were still going to have to collect members' information by hand and enter them one by one. So, we decided to build a mobile app!
I learned how to convert a regular web app into a functional, downloadable Android app using a webviewer wrapper supplied by Thunkable. It features notifications, location services, and more. You can find the MethodistCRM app on the Google Play Store!
Now that we had a mobile app, the church administrators encouraged members to download the app and register. With Ghana's mobile device penetration rate at 127% (as of 2019, highest in West Africa), this was a smart move. But there was another problem. The app was great for church and community leaders. However, there were no member-centered features to ramp up enthusiasm!
To meet that challenge, I added a searchable Methodist Hymn Book with autocomplete; this way, members no longer needed to take an actual hymn book with them to church. There was also an Events Calendar that allowed members to RSVP. We also included a branch locator with geolocation, routing and directions. Had to learn quite a bit about the Google Maps API for this one!
Version 2.0 also launched with a Facebook-like timeline feature called My Page. With this, a member could get a snapshot of all recent activity that concerned them.
Churches and church groups sometimes sell merchandise to raise funds. So, I added a store, cart and checkout. This one is still in development. I'm working with Paystack, a Nigerian payments startup backed by Stripe. I would like to use their API to power my checkout system.
After a few months in production, member registration was up in the hundreds. Other Methodist church locations started using the app also. They are loving all those features, but what I'm most proud of are the reports and sophisticated permissions structure that I built from scratch.
I needed a way to test the app's resilience and load-handling capacity. So I created a staging site where I seeded a database with 50k member records, plus tens of thousands of rows of other dummy data. First thing I learned from that experiment was that ajax is an underrated ninja weapon - it allowed me to load pages super fast, and then return large amounts of data from the database afterwards, thereby improving user experience. I also re-factored the database schema to improve query performance.
There are lots of things I'd like to clean up and improve, as I'm learning new things everyday. Even after many years of coding, I don't consider myself an expert on anything other than that I'm an expert student, and I love to learn!
Find members right from the sidebar or the search page. Autocomplete gives suggestions as you type names, skills, occupations, MethCodes (unique identifiers), and more.
Get results from an entire diocese/circuit or from selected societies. All results are sortable, searchable, printable and exportable in CSV/Excel/PDF formats. Use several controls to fine-tune the desired search results. For example:
Select individual recepients or groups, add attachments, create drafts, mark favourite threads, etc.
Store, Cart & Checkout, Announcements, real-time alerts, built-in full Methodist Hymn Book with Canticles, Events Calendar & Find a Society - a searchable map of socities near you, with route directions.
The entire system is locked behind a standards-compliant login system that features a robust, multi-level permissions structure which restricts access to member information.
System Admins can run instant backups. Also, there are automated, periodic app-wide backups at server level. This provides a fall-back in case of data loss.
Download the MethodistCRM app from the Android Play Store. Also available in all desktop, tablet & browsers at methodistcrm.com
Members can register themselves on the app. If a member's record is already in the database, the system will flag the duplicate and stop registration attempt. This helps to maintain the integrity of the records you rely on.