DentMap
A map-first dental clinic discovery and booking platform for the Romanian market, with a dedicated patient mobile app and clinic dashboard.
DentMap

warningThe Challenge
The Romanian dental market operates almost entirely through phone calls and paper logs. Clinics deal with no-shows, double-bookings, and zero visibility into their business metrics. Patients have no reliable way to discover, compare on a map, or book a clinic online. The platform had to serve three fundamentally different roles — patient, clinic, admin — across four separate apps (web, admin, API, mobile), with per-clinic data isolation, real-time geographic search, and recurring billing from day one.
- arrow_forwardZero digital booking infrastructure on the local market
- arrow_forwardClinic discovery limited to word-of-mouth, no map-based search
- arrow_forwardDouble-booking risk under concurrent slot requests
- arrow_forwardSpecial-category health data (GDPR Art. 9) requiring minimisation and encryption
architectureThe Solution
I built a pnpm + Turborepo monorepo with a NestJS 11 API, two Angular 21 apps (clinic dashboard + admin panel), and an Expo/React Native app for patients, sharing DTOs and Zod schemas through a common package. PostgreSQL with the PostGIS extension powers radius-based map search (ST_DWithin), MongoDB handles chat threads separately (flexible, append-heavy schema), and Redis locks booking slots (SET NX EX 300) to eliminate double-booking under concurrent requests. Socket.IO delivers real-time status updates and messaging. The system respects GDPR Art. 9 for special-category health data — minimised collection, encryption at rest, and a defined retention window.
Architecture
Next Project