Internal Platform — 2026
People and culture platform for a multi-outlet F&B group: geofenced clock in/out, automated shift scheduling, RBAC, and notifications with WhatsApp fallback.
- Role
- Internal Platform
- Services
- TypeScriptReactReact NativeNode.jsPostgreSQLDocker
- Year
- 2026
Challenge
An F&B group running multiple outlets had grown past spreadsheets. Staff needed to clock in, swap shifts, and stay reachable, across a retail team that is mostly on phones. The requirement was a single platform spanning web for managers and mobile for staff, with permission boundaries that actually held.
Approach
I built across a multi-repo TypeScript product: a React web app and PWA for managers, a React Native Android app for staff, a Node.js API, and PostgreSQL with Redis on top. Geofenced clock in/out validates location before a punch is trusted, shift scheduling is automated, and role-based access control gates every route and endpoint. Notifications go out through push with a WhatsApp fallback so nothing is missed behind a locked kiosk.
I owned staging and production end to end: Docker Compose for services and PM2 for the API. 78 merged pull requests shipped across the product.
Outcome
A working internal system the operation actually runs on, with deployments I ran through staging and into production. Cutting the manual scheduling and trust-on-honor attendance workflow was the point, and permissions were designed as a first-class concern rather than an afterthought.