- Industry
- Dental healthcare
- Engagement
- Product design and full-stack development
- Platform
- Web, works in any browser
- Stack
- React · NestJS · MongoDB · Keycloak · KrakenD
Project summary
Everything a clinic does in a day, finally in one calm place.
Sky Dental is an all-in-one dental practice management solution designed to streamline every aspect of a clinic’s operations. With 40 backend modules and 48 frontend pages, it supports clinical workflows, administrative tasks, HR management and business operations from one platform.
Sky Dental began as Sky Lab’s own product, not a brief from a client. We designed and built the platform first, then brought it to a dental clinic — which now runs its day on it, sets the priorities for what gets built next out of real use rather than a specification, and sells the platform on to other practices. Sky Lab continues the development, and the people who will use the next module are the ones who tested the last one.
Client summary
About Sky Dental
- 40
- Backend modules covering clinical, admin, HR and finance
- 48
- Frontend pages across six role-specific dashboards
- 6
- Feature areas that replace the spreadsheets and paper
- 1 day
- Before every visit, an automatic WhatsApp reminder
Client goals
What a clinic needed from the platform
-
One patient record, tooth by tooth
Profiles, medical history, files and an interactive tooth chart carrying the state of every tooth.
-
Calendars that run themselves
By doctor and by equipment, with reminders going out without the front desk picking up the phone.
-
Invoices straight from the appointment
Itemized by service and tooth, with VAT and discounts, flowing into payroll and the summary report.
-
Many clinics, zero shared data
Single practices and multi-branch groups side by side, with nothing shared between them.
-
Enterprise-grade access control
Six roles, secure single sign-on, and permissions that are easy to read and change.
The challenge
Many clinics on one platform, each with its own private space
Every clinic gets its own sealed space on the same platform: patients, schedules and finances never cross between practices, even inside a multi-branch group. Who can see and do what is decided in one place, so an admin, a doctor and a receptionist each open the platform and see exactly their part of the day.
What made that hard was never the feature list. Patient records are about as sensitive as data gets, so one clinic's must stay unreachable from another's rather than merely filtered out of the view. Six roles — admin, doctor, manager, HR, marketing and storage — each need a different cut of the same day, on screens busy enough that a receptionist cannot go looking for anything. And the platform runs with an Armenian and English interface, so every one of those screens had to work in both.
What staff see
React + Vite
Clear dashboards for admins, doctors, managers, HR, marketing and storage.
Security
KrakenD + Keycloak
One secure front door: single sign-on, two-factor login, and every permission checked before a request goes further.
Behind the scenes
NestJS + MongoDB
Each clinic’s data stored separately, with mail, logging and the core platform running as independent services.
Our contribution
The six feature areas that replaced the spreadsheets
-
Patient records & tooth charting
A searchable patient directory with full profiles and an interactive tooth chart carrying the state of every tooth and its notes. Each profile holds medical history, attached files, tooth-service history and the assigned doctor, with advanced search surfacing visit and spending analytics.
-
Treatment plans
Built from multiphase service templates, plans span multiple appointments, track their own status — active, completed or cancelled — and recalculate their financial total as they go.
-
Scheduling & automatic reminders
Personal and clinic-wide calendars, filtered by doctor or by equipment, with every appointment tracking its status from pending through confirmed, completed or cancelled. Every day the platform sends a WhatsApp and email reminder to everyone booked for the next day; rescheduling updates the reminder, and a tomorrow’s-appointments screen tracks who has confirmed.
-
Invoicing & reporting
Invoices itemized by service and by tooth, with VAT, discounts and totals, generated from an appointment or by hand. The same ledger carries payroll, doctor bonuses and cash flow. The summary report — by service and by doctor, payments taken and debt outstanding — covers multiple branches under one organization and exports to Excel.
-
Staff & HR
Leave management end to end — staff request time off, an HR manager approves or rejects it — with payroll expenses totalled by month, and leave reports and analytics over the whole clinic behind them.
-
Inventory & storage
Supplies tracked by quantity, with low-stock alerting before a material runs out, resources assigned to the doctor using them, and usage history and analytics across the lot. Purchase orders and delivery tracking cover restocking, and equipment is inventoried alongside the consumables.
01 · Patient records
Interactive tooth charting and treatment plans
- Tooth charting
- Multi-phase plans
- Medical history
02 · Scheduling
Calendars by doctor and by equipment, with automatic reminders
- WhatsApp Business
- Status tracking
03 · Invoicing & reporting
Itemized invoicing through to the summary report
- VAT & discounts
- Payroll
- Excel export
Assisted professional Vibe Coding
How one senior engineer shipped 40 modules
-
AI drafts the repetitive layers
Forms, lists and Armenian translations were drafted by AI, then reviewed by the engineer.
-
The engineer owns the architecture
Data separation between clinics, permissions, invoice calculations and reminder timing were designed and written by hand.
-
Every line reviewed and tested
AI output is a draft, not a commit. Tests first, then review, then merge.
-
Weekly demos with the clinic
Direct line to the developer. Front-desk staff and doctors saw and tested each module as it landed.
Benefits for the business
What changed at the clinic
-
The front desk stopped making reminder calls
Every appointment schedules its own reminder: WhatsApp and email go out the day before, and the confirmation comes back into the same list the receptionist already works from. Nobody has to phone round the next day’s patients.
-
Doctors see the whole mouth, and the whole history
The tooth chart, the multi-phase treatment plan and the medical history are one record on one screen, so a doctor opens one patient instead of checking three places for the same case.
-
Owners read one report across every branch
Accounting, the front desk and inventory are one system instead of three, so a month closes from a single ledger — per branch or across the whole group, and exported to Excel when the accountant asks for it.
Results
What the partnership delivered
-
A multi-tenant SaaS with 40 backend modules and 48 pages, live for single practices and multi-branch groups.
-
Automatic WhatsApp and email reminders the day before every visit, tied to the booking.
-
Invoicing, payroll and cash flow in one ledger, reported per branch and exported to Excel.
-
From first commit to a production environment in under four months, now running for a dental clinic with nightly offsite backups of its database.
Technologies used
- React + Vite
- Material UI
- NestJS
- MongoDB
- Keycloak
- KrakenD
- Docker