February 1, 2025
Azara Health Care Portal
Full-stack care coordination SaaS with caregiver-client matching, shift lifecycle management, 4-role RBAC, and queue-based notifications.
- Next.js
- Node.js
- TypeScript
- PostgreSQL
- Prisma
- BullMQ
- Google Maps
.png&w=3840&q=75)
.png&w=3840&q=75)
.png&w=3840&q=75)
.png&w=3840&q=75)
.png&w=3840&q=75)
.png&w=3840&q=75)
.png&w=3840&q=75)
Problem
Home care operations needed one platform for matching caregivers to clients, running the full shift lifecycle, enforcing role-specific access, and exporting staffing reports without spreadsheet chaos.
Architecture decisions
- Matching engine scores services, availability, and proximity via Google Maps Distance Matrix.
- Shift lifecycle covers create, publish, offer, accept/decline, assign, and complete with live status.
- Distinct RBAC dashboards for Super Admin, Scheduler, Caregiver, and Client.
- BullMQ notification queue with read-state tracking and idempotent reminder guards.
- Server-side CSV / PDF reporting and recurring schedule generation.
4
User roles with distinct RBAC dashboards
Super Admin, Scheduler, Caregiver, Client
6+
Shift lifecycle stages automated
Create, publish, offer, accept, assign, complete
3
Matching factors
Services, availability, proximity via Distance Matrix API
Role and impact
Built the operational backbone for Azara care delivery. Schedulers move from manual caregiver search to ranked matches in seconds, with reporting visibility into coverage and utilisation.
Tech stack
- Frontend: Next.js · TypeScript · React
- Backend: Node.js · TypeScript · Express.js · BullMQ
- Database: PostgreSQL · Prisma ORM
- Location: Google Maps API · Distance Matrix API
- Infrastructure: AWS (S3) · Docker · GitHub Actions CI/CD