
Sandesh Shrestha
Jun 2025 - Present/Advanced
Live Demo
Codebase is confidential
Case Study: Tusko - Dental Clinic & Lab Operating System
Project at a Glance
- Role: Full-Stack Engineer (end-to-end ownership across API, workers, UI, integrations, deploy)
- Duration: Jun 2025 - Present
- Live: app.tusko.ca
- Stack: React 19, Vite, TypeScript, Tailwind, Express, Prisma, PostgreSQL, Redis, Bull, AWS S3, Docker, Nginx, iTero, Medit
- Scale: ~95,000 lines of production code, 39 Prisma models, multi-tenant clinic + lab roles
- Team: Small product team - I owned core platform architecture, scanner integrations, case lifecycle, and production deploys
Problem
Dental clinics and labs still run restorative cases across email, shared drives, phone calls, and scanner portals. Prescriptions get lost, files are duplicated, designers do not know what is urgent, and clinics cannot see case status without chasing the lab. Tusko replaces that fragmented workflow with one production system for clinics and labs.
What I Built
Multi-tenant clinic & lab OS
- Clinic organizations with members (admin, dentist, receptionist, manager) and preferred-lab relationships
- Lab organizations with designers, services, onboarding invites, and referral flows in both directions (clinic invites lab, lab invites clinic)
- Case lifecycle as a first-class domain object: create, assign, design, review, deliver, with event history and nudges
- Patient records owned by the clinic, optionally linked to cases, with intake token flows for patient data collection
Scanner & file pipeline
- iTero OAuth + order sync and Medit webhook ingestion so cases can enter Tusko from real scanner systems
- Scanner integration models, clinic mappings, sync jobs, and background file download jobs
- Case file storage on AWS S3 with zip handling, viewer UX, and durable worker processing via Redis/Bull
Product surfaces that operators actually use daily
- Case board, calendar, deep case detail, designer assignment, lab OS standalone mode for labs importing their own scanner work
- Insights/metrics for lab throughput, notifications, estimates, and documentation walkthroughs for clinic setup
- Role-aware UI so a clinic admin, designer, and lab admin each see the correct world
Production infrastructure
- Docker Compose for staging and production, Nginx reverse proxy with TLS for
app.tusko.ca(and mintlabs alias) - GitHub Actions deploy workflows with Slack notifications on success/failure
- Seeded roles and environments so clinics/labs can be onboarded repeatedly without tribal knowledge
Architecture Highlights
Clinic / Lab UI (React + Vite)
|
v
Nginx (TLS) ---> Express API (Prisma + Postgres)
| |
| +-- Auth / RBAC / Clinic-Lab tenancy
| +-- Cases, Patients, Messages, Estimates
| +-- iTero OAuth + Medit webhooks
|
+----------> Redis + Bull workers
|
+-- Integration sync jobs
+-- File download / S3 pipelines
+-- Notification fan-out
Hard Problems I Solved
- Two worlds, one product: Clinic OS and Lab OS share models but must not leak tenancy. Designed ownership rules so lab-imported scanner cases can exist without a clinic account, while clinic-owned cases still route cleanly to preferred or external labs.
- Scanner reality is messy: iTero and Medit payloads, OAuth, and mapping are not clean REST. Built durable sync jobs, mapping tables, and worker retries instead of fragile request/response assumptions.
- Case state without chaos: Cases accumulate files, messages, estimates, feedback, and designer handoffs. Event + nudge models keep the timeline reconstructable and actionable.
- Onboarding that sells itself: Referral links, lab requests for labs not yet on Tusko, and guided clinic/lab onboarding so growth is productized, not spreadsheet ops.
Results & Impact
- Production platform live at app.tusko.ca used by real clinics and labs
- Full restorative case loop in one system: patient -> prescription/files -> lab/designer -> delivery
- Scanner-connected intake reduces manual file chasing
- Deployable staging/prod path with Docker + Nginx + CI
What This Shows About Me
- I can own a complex B2B domain (healthcare-adjacent ops) from schema to UI to workers to production
- I design multi-tenant RBAC and lifecycle systems that survive real operational edge cases
- I integrate third-party industry systems (iTero/Medit) with durable jobs, not demos
- I ship production infrastructure, not just feature branches
Links
- Live: https://app.tusko.ca
Note: The codebase is confidential under NDA and not publicly available.