Public safety and government Case study
The Spirit Project: referral and case management
A PHP and MySQL web platform with Android and iOS apps for social-service agencies, providers and clients: referrals and matching, customisable cases, appointments, reports, billing and notifications.

- Client
- The Spirit Project
- Service
- Web apps, Mobile apps
- Years
- 2013–2019 (6 years)
- Stack
- AWS Elastic Beanstalk, Android, MySQL, WordPress and 7 more
- Platforms
- Android, Web
Overview
The Spirit Project is a web and mobile platform for managing referrals, cases and services in social services. It connects agencies, service providers and clients: an agency can send a referral, the platform matches it to providers and their services, and everyone involved gets appointments, consent forms, assessments and notifications. We worked on it from 2013 to 2019, from the first server environments through the original build, a full interface redesign, Android and iOS apps, billing, reporting and later products on the same base, including a matching platform for foster-care placements and a service-search site with a survey tool.
The challenge
Every agency and provider records different information and should see only its own part of it, while referrals still have to move between organisations. That meant customisable client and case fields, sub-organisations and per-area permissions rather than one fixed form.
What we built
- The core web application in PHP and MySQL for agencies, service providers and clients: referrals with matching criteria and re-referrals, cases, services, consent forms, appointments and availability calendars
- Customisable client and case profiles with dynamic field sets, sorting, per-area permissions and a change log for client and case records
- Organisation, staff and user management, including multi-admin accounts and sub-organisations, plus an admin console for global data
- Custom reports with field selection and saved field order, printable and exportable to CSV, Excel and PDF
- Billing and payment tracking: invoices, partial payments, cost codes, reminders and transaction history
- Assessments and surveys, including a survey after an appointment and an SMS survey tool
- Notifications by in-app notification centre, email and SMS from editable templates
- Two Android apps (a phone app and an SMS messaging app, 2014), a mobile API for sign-in, appointments, additional services and assessments (2015), and iOS support including two-factor sign-in
- A full interface redesign (2014 to 2015) with a mobile site and fixes for older Internet Explorer versions
- A foster-care placement matching platform on the same base (homes, beds, sibling matching, licensing paperwork and placement alerts) and a service-search site with provider profiles and a survey tool
- Bulk data imports from external sources, hosting environments on Heroku, OpenShift and AWS Elastic Beanstalk with New Relic, HTTPS enforcement, CSRF and SQL-injection fixes, and an upgrade to PHP 7.0
How a system like this fits together
Reference architecture: referral and case management platform
Simplified reference architecture, not a client schematic.
- People in agencies, service providers and client households use the web portals (PHP, HTML5 and CSS): they send and receive referrals, open cases, book appointments and run assessments. Administrators manage organisations, users, permissions and fields in the admin console.
- The Android apps (a phone app and an SMS messaging app) call a mobile API for sign-in, appointments and assessments.
- The web application and the mobile API read and write the same MySQL database: clients, cases, referrals, services, invoices and reports.
- The application sends email and SMS notifications when something happens, such as a referral or an appointment, and scheduled jobs send timed reminders and notices.
Technology used
| Layer | Choice | Purpose |
|---|---|---|
| Mobile | Android, iOS, a mobile API | phone and SMS apps, sign-in and appointments |
| Marketing sites | WordPress | public sites and their upgrades |
| Web application | PHP (Kohana at the start), MySQL | referrals, cases, reports and billing |
| Hosting | Heroku, OpenShift, AWS Elastic Beanstalk | development, staging and production environments |
| Monitoring | New Relic | application performance |
| Front end | HTML5, CSS | responsive pages and a mobile site |
What happened next
- Delivered
The work described above was delivered to the client.
- Operational facts
- Our work on this project spanned 2013–2019.
- It was maintained and extended over 6 years.
Screens


Could this be your project?
- You need a web application with user accounts, admin tools and reporting. Website and web app development
- You are planning an iOS or Android app, or have one that needs a stronger back end behind it. Mobile app development
- You work in public safety and government and want a team that has built for it before. Public safety and government work
Questions about this project
How long did this project take?
Our work on it ran from 2013 to 2019.
What technology was used?
AWS Elastic Beanstalk, Android, MySQL, WordPress, PHP, Kohana, Heroku, OpenShift, New Relic, HTML5, CSS.
Was it maintained and extended over time?
Yes. Our work on this project was maintained and extended over 6 years, from 2013 to 2019.
Similar work

Also AWS and Android, same industry
TheHopeLine: crisis-support community platform
A long-running ASP.NET website, agent CRM and mobile app for a youth crisis-support organisation: topic pages, live chat, prayer requests, reports and reminders.

Also Android and iOS, same industry
Silent Beacon: personal safety apps and web portal
Android and iOS apps, a backend and a web portal for the Silent Beacon Bluetooth safety beacon: alerts, live location, subscriptions and business accounts, maintained over eight years.

Also Android and MySQL, also a mobile app
My Taxi Ride: taxi dispatch and booking platform
Passenger and driver apps for iOS and Android, a dispatch admin panel with reporting, APIs, SIP calling and the public website for the My Taxi Ride dispatch system, built over four years.
