Catalyst Notify
Catalyst Notify: A Shared Notification Service for Charities
We partnered with Catalyst to create a shared notification service for civil society organizations, adapting the robust GOV.UK Notify platform to meet the specific needs of the charity sector.
Tech Stack
- Python
- Flask
- Javascript
- Celery
- PostgreSQL
- Redis
- AWS
Core Services
- Web App Development
- API Integration
- DevOps & Cloud Infrastructure
- Service Design
Additional Services
- Open Source Contribution
- Documentation
- User Research
- CI/CD Pipelines
The Background
There was a need for a shared notification service for civil society organizations, similar to the successful GOV.UK Notify platform used by government agencies. Our client, CAST (Centre for the Acceleration of Social Technology) and Catalyst, wanted to leverage the existing foundation of the open-source GOV.UK Notify application but required specific customizations to make it suitable for the charity sector. This included custom branding, additional data fields, and a tailored registration flow.
The Challenge
The primary challenge was to fork and customize the complex GOV.UK Notify codebase to meet the specific requirements of Catalyst and its users while maintaining the stability and security of the original platform. Key requirements included:
- Integrating with the Twilio API for SMS delivery.
- Implementing a robust CI/CD pipeline using GitHub Actions.
- Deploying the application.
- Significantly improving documentation to facilitate local development and open-source contributions.
- Customizing the branding and user interface to reflect the Catalyst identity.
The Solution
We worked in an agile manner, collaborating closely with the Catalyst team to adapt the platform. Our solution involved several key technical and design implementations:
Integrations and Infrastructure
- Twilio API Integration: We replaced the government-specific SMS provider with Twilio to ensure reliable message delivery for charities.
- GitHub Actions CI: We implemented a modern Continuous Integration pipeline using GitHub Actions to automate testing and deployment processes.
- DevOps: We configured the application to run on Docker, simplifying infrastructure management and deployment to AWS.
Application Customizations
We made extensive modifications to the application to tailor it for civil society use:
- Branding Overhaul: We replaced all “GOV.UK” branding with “Catalyst” styling, ensuring a consistent look and feel across the platform and email templates.
- Enhanced Metadata: We added new attributes such as “Organisation type” and “Service description” to better capture the diversity of charity use cases.
- Custom Workflows: We implemented a specific “go live” notification workflow to alert the Catalyst team when a service is ready to launch.
- Documentation: We dramatically improved the documentation, particularly for local environment setup, making it easier for other developers to contribute to the project.
Open Source Contribution
As part of our commitment to working in the open, we ensured that our changes were well-documented and, where possible, contributed back to the open-source community. We moved documentation to public GitHub repositories and engaged with the GOV.UK Notify team to share learnings.
The Outcome
The result was Catalyst Notify, a robust, scalable notification service that empowers charities to communicate effectively with their service users. The platform allows organizations to send emails and text messages easily, supporting them in delivering vital services. The project also successfully demonstrated the value of reusing and adapting open-source government technology for the non-profit sector.