Dental lab workflow
Dental Lab Case Platform
A native browser 3D viewer that replaced desktop CAD software
An internal case-tracking platform for a dental lab and its partner clinics and doctors.

- Status
- Live
- Role
- Lead Backend · DevOps
- Engagement
- Client work
Stack
- React
- Node.js
- Express
- MongoDB
- Three.js
- AWS
The problem
The lab ran every case over email, WhatsApp and phone. Treatment plans are huge 3D design files, so doctors had to install heavy desktop software just to view them — and each case moved through many versions, with no clean way to track approvals or feedback.
What I built
A case-tracking CRM for the lab and its partner clinics and doctors, with a 3D viewer built natively into the browser.
- Native browser 3D viewer
- A Three.js viewer — no desktop install required.
- Optimised 3D delivery
- Reduced CAD file sizes and cached geometry on the client.
- Versioned revisions
- Every revision tracked as its own version.
- Per-version chat
- Doctors and planners discuss each version in context.
- Role-based workflow
- Lab admin, treatment planner and doctor, each with the right view.
How it is built
Rather than ship a desktop app, I built the 3D viewer natively in the browser with Three.js, optimised the file sizes, and cached geometry on the client so reviews stay fast even on large scans.
- Three.js in the browser
- Orbit, rotate and inspect dental models without any install.
- File-size optimisation and caching
- Shrank heavy CAD assets and cached them client-side for repeat views.
- A versioned review flow
- Each case carries its own version history and a chat thread per version.
The hard part
Opening huge 3D designs in a browser
Making the files open quickly and stay responsive for non-technical clinic staff.
Result
- clinics using the platform
- 300+clinics using the platform
- doctors and clinicians
- 900+doctors and clinicians
- cases delivered
- 5,000+cases delivered
Gallery
Imagery is recreated or anonymised for privacy — not actual screenshots.
Have a problem like this?
Tell me about your business and I will tell you how I would approach it.
