ContextA care agency with compliance at its centre
Dreams Care Homes provides home care in the UK. Like every care provider, it has to prove that each care worker is allowed to work in the UK, has a valid DBS check, and, for sponsored workers, that visa sponsorship records are kept up to date.
Those records have expiry dates. When they live in folders and spreadsheets, the risk is simple: something expires and nobody notices in time.
The problemWhat the portal has to do
- Keep one record per staff member with documents, checks and their expiry dates.
- Warn before things expire, not after.
- Show who changed what and when, so the agency can answer an inspection or audit with confidence.
- Limit who sees personal documents to the people who need them.
My roleProject manager and technical lead
I lead the technical roadmap and the full-stack build, and run delivery end to end: gathering requirements with the UK team, sprint planning, coordinating a distributed team across the UK and Nepal, and reporting progress to UK leadership.
DecisionsKey decisions and why
Firebase Auth, Firestore and Storage let a small team ship a secure first version quickly. The data and access layer is designed so it can move to NestJS and PostgreSQL later without redesigning the product.
Access is enforced in Firestore and Storage security rules, not only in the interface, so a staff document is protected even if someone calls the backend directly.
Every change to a compliance record is written to an audit trail. It is much harder to add this later than to build it in at the start.
The portal UI was rebuilt on a production-grade design system with real-time components, so new screens stay consistent as the product grows.
ArchitectureHow it fits together
Next step: move the data layer to NestJS and PostgreSQL.
StatusWhere it is today
The portal is in active development and private. I can show a demo on a call.