

Bilingual Arabic and English cloud platform for dental clinics: appointments, FDI dental chart, billing, lab cases, insurance, inventory and multi-branch management, with a public marketing site.

Client
Date
October 2026
Duration
8 weeks
Technologies
18 tools
Synora is a cloud-based practice management system for dental clinics in Egypt and the Middle East. A clinic signs up on its own, starts on a free plan and runs daily work from the browser: the appointment calendar, patient files, an interactive FDI dental chart, treatment plans, invoices, a patient wallet, insurance claims, dental lab cases, dentist commissions, inventory, reports and staff permissions. The whole interface works in Arabic with right-to-left layout and in English. I built it as a pnpm monorepo with a NestJS API, a Next.js web app, an Expo mobile app and shared packages, plus a separate Astro marketing site live at synoradental.com with 12 feature pages, pricing, a blog and a no-show calculator.
A dental clinic runs on many connected records, and most Egyptian clinics still keep them in notebooks, Excel and WhatsApp. The system had to cover the full clinic workflow, not just a calendar, and stay usable for a receptionist and a dentist on the same day. It also had to serve several clinics from one database without any chance of one clinic seeing another's patients, work fully in Arabic RTL and English, and handle Egyptian realities such as installments, per-dentist commissions and WhatsApp reminders. A late audit of the plan against the code showed the deployment setup itself had gaps: backups, monitoring, secrets handling and the production topology all needed real work before launch.
I split the product into a NestJS API, a Next.js web app, an Expo React Native app and shared packages for contracts, UI, auth and the Prisma database layer. PostgreSQL row-level security with a tenant-scoped Prisma client keeps each clinic's data separate. The dental chart is an FDI odontogram for permanent and primary teeth, charted surface by surface, with treatment plans that flow into invoices; a 3D view and DICOM viewing use Three.js, vtk.js and Cornerstone. Background jobs run on pg-boss, files go to S3-compatible storage, and Argon2 plus TOTP handle sign-in. For deployment I wrote Docker Compose stacks with Caddy for TLS, scheduled encrypted backups, a restore drill, and Prometheus alerting. The Astro landing site ships in both languages with SEO, llms.txt and a lead form.
The web app, API and landing site are built and the landing site is live at synoradental.com in English and Arabic. The repository documents 24 modules and 325 API endpoints, and its status file records an audit of 1,126 requirements against the code, with the code-side launch blockers fixed and verified. The product ships with three plans: Free with no time limit, Basic and Pro. Online payment is not switched on yet, so clinics upgrade by contacting the team, and the project is still in progress. No usage numbers are claimed here because none are documented.





