Care Compliance Platform
Compliance operations for domiciliary care
A multi-tenant SaaS platform serving 5 UK care agencies, automating onboarding, document processing, audit logging, and reporting, and keeping agencies ready for CQC inspection.
- UK care agencies on the platform
- 5
- production uptime
- 99.5%
- junior developers led
- 3
Role
Freelance Software Engineer & Technical Lead
Stack
- Django
- DRF
- React
- Celery
- RabbitMQ
- Redis
- PostgreSQL
- Docker
- AWS EC2/S3
- CI/CD
Context
Domiciliary care providers run on compliance: staff documents, training records, audits, and policies that the CQC expects to be current at inspection time. Most agencies track all of it manually, which means gaps get found by inspectors instead of software.
CCP replaces that with a multi-tenant platform that automates onboarding, document processing, audit logging, and reporting for 5 UK care agencies.



System design
Regulatory requirements are codified as enforced business constraints, not guidance text. The system automatically computes and flags expiring documents and compliance gaps, replacing reliance on manual tracking and human memory.
Document processing and reporting run as distributed tasks on Celery with RabbitMQ and Redis. Production and staging are containerised with automated CI/CD, reverse-proxy routing, and environment-isolated configuration on AWS.
My role
I led development and delivery end to end: architecture decisions, client onboarding, and demos, with direct responsibility for three junior developers, directing implementation, reviewing code, and owning their progression.
Outcome
5 agencies in production at 99.5% uptime. Manual onboarding processes removed, and CQC inspection readiness improved by turning regulatory requirements into automatic checks.
Trade-offs
Schema-based multitenancy keeps each agency's data cleanly isolated and made the compliance story easy to explain to clients, but it makes migrations more expensive with every agency added, because a schema change has to run and be verified per tenant rather than once.
Celery with RabbitMQ and Redis is three moving parts for a workload that a single simpler queue would have carried at this scale. It was chosen for headroom and because the team already knew it, and the honest cost is more infrastructure to monitor than the traffic strictly justifies.
Regulatory requirements are codified in application code rather than a configurable rules engine. That kept the first version shipping quickly and made the rules testable, but it means a CQC change is an engineering task and a deploy rather than something the compliance team can adjust themselves.