The Role
Client has complete build specs, screen prototypes, database models, and design docs ready. This is a build-to-spec job for a senior engineer who can own the architecture end-to-end with minimal hand-holding — not a discovery or MVP-scoping engagement. Client wants a technical read-back after reviewing the spec (can I do this, how long, alone or do I need help) before work starts.
Stack
- Frontend: React Native (mobile, ~90% of functionality) + a web interface for select personas (~10%)
- Backend — dual-service, both mandatory:
Firebase — real-time & mobile layer
- Auth: phone OTP (Indian +91) for staff/family, Google Sign-In for family
- Firestore: primary write target for 8 log types (CareLog, MealLog, ActivityLog, MedicationLog, VitalsLog, IncidentLog, DoctorVisitLog, CleaningLog)
- Cloud Messaging: push to staff and family apps
- Storage: photos, voice notes, PDFs
- Cloud Functions: (1) sync every Firestore log write to Supabase, (2) set custom JWT claims on login
- Offline persistence: enablePersistence() before any Firestore op — mandatory, non-negotiable
Supabase — relational & queryable layer
- Core entities: Chain, Branch, Room, Resident, StaffMember, FamilyMember, ShiftAssignment, VisitSchedule, ResidentServicePlan
- Billing: BillingSnapshot, BillingLineItem
- Log mirror: synced copy of every Firestore log, used for SQL queries, billing computation, reports
- Row-level security: all tenant isolation enforced in Postgres
Must-Have Skills
- React Native (production experience, not tutorial-level)
- Firebase: Auth (OTP flows), Firestore, Cloud Functions, Cloud Messaging, Storage, offline persistence patterns
- Supabase or equivalent Postgres/RLS experience — must be comfortable with row-level security as the tenant isolation mechanism
- Experience designing idempotent sync/ETL patterns between two datastores (not just "used Firebase" and "used Postgres" separately — the split-service pattern is the crux of this role)
- Comfortable reading a complete spec and producing a scoping estimate rather than working from vague requirements