OraScan - Oral Disease Detection
94.7% accuracy across 11 oral disease categories, trained on 78k+ images.

Test Accuracy
Training Images
Disease Classes
Tech Stack
The problem
Over 3.5 billion people worldwide have some form of oral disease, but most never get diagnosed because seeing a specialist is too expensive or too far away. A small camera at a dental kiosk should be enough to flag problems early - if the AI behind it is reliable enough to trust with real patients.
The challenge
Oral disease affects more than 3.5 billion people globally, yet it often goes undiagnosed in low-resource settings. The model had to be accurate enough for clinical use, small enough to run on kiosk hardware without a GPU, and consistent across different lighting conditions, camera angles, and skin tones. It also had to handle class imbalance across 11 categories, including common conditions such as caries and calculus and rare ones such as mucocele and hypodontia, without losing recall on oral cancer.
Architecture & System Design
Desktop scanning application captures oral images and sends them to inference engine for disease classification. Inference system processes images locally without cloud connectivity. Analysis results and images stored in cloud database and file storage system for historical tracking and specialist review.
A custom EfficientNet-B0 backbone (4.67M parameters) was fine-tuned on a combined DENTEX + SMART-OM dataset of 78,058 labelled oral images. Training used PyTorch with AMD GPU acceleration (DirectML on Windows). The data pipeline applies aggressive augmentation: random crops, HSV jitter, horizontal flip, and cutmix. Post-training, the model is exported to ONNX and quantised to INT8 for edge deployment. A FastAPI inference server wraps the ONNX runtime and exposes a REST endpoint consumed by the kiosk scanning application. The Go backend stores session results in PostgreSQL and uploads image artefacts to AWS S3.
Results
The final model achieves 94.7% test accuracy and 95.2% best validation accuracy across all 11 disease classes. ONNX INT8 quantisation reduces model size by ~70% while keeping accuracy drop under 1%. Inference latency on the kiosk CPU is under 200ms per frame. The model is integrated into both the automated scanning application (MediaPipe FaceMesh-triggered) and the manual scanning desktop interface.
Gallery & Demos
Kiosk - Patient Welcome
The sign-in screen patients meet at the dental kiosk.
Kiosk - Guided Check-in
Step-by-step check-in before the camera capture starts.
Kiosk - Scan Complete
Guided intraoral photo capture, confirmed and queued for inference.
Clinician Overview
Operator dashboard with the active patient and their classification results.
Kiosk - Scan Ready
The camera ready to trigger once the mouth-open pose is detected.
Clinician Review
The clinician reviews and confirms the model's findings.
Desktop Sync Workflow
Offline-first architecture: local MySQL stores patient scans, cloud sync reconciles on reconnect matching by email, enforcing signup flow for consent.
Kiosk Hardware Layout
MediaPipe FaceMesh detects mouth-open trigger, motorized camera captures intraoral image, ONNX INT8 inference runs on CPU in <200ms.
Automated Scan - Full Kiosk Workflow
End-to-end automated scan: MediaPipe FaceMesh detects mouth-open trigger, motorized camera captures intraoral image sequence, ONNX INT8 model runs on-device inference across 11 disease classes in under 200ms, and results are displayed on-screen.
Automated Scan - Patient-Facing UX
Patient perspective during an unassisted kiosk scan. Guided mouth positioning prompts, real-time capture feedback, and disease classification results displayed without clinician involvement - designed for dental clinic waiting areas.
Manual Telemedicine Consultation
Dentist-assisted remote consultation: clinician captures targeted intraoral images via the desktop app, uploads to the cloud sync layer, and conducts a live video consultation with a remote specialist through the web portal.
Manual Scan - Clinician-Assisted Mode
Clinician-operated scanning mode bypassing the automated FaceMesh trigger. Used for targeted imaging of specific quadrants or lesions requiring precision capture beyond what the automated motor sweep provides.
Click any image or video to expand · ← → keys navigate
More from OraLens Healthcare Pvt. Ltd.
OraScan - AI Oral Screening Platform
Product definition and ownership for OraScan, an oral disease classifier designed for dental kiosks. Set per-class accuracy targets, defined the dataset strategy for 78K+ images, and specified the kiosk hardware integration.
OraScan H - Halitosis IoT Device
Full-stack IoT device for halitosis (bad breath) detection: a Raspberry Pi Zero 2W with H2S gas sensors communicates via BLE to a Flutter mobile app, with on-device TFLite AI classification and PHP backend.
OraScan H - Connected Halitosis Device
Product ownership of OraScan H, a consumer IoT halitosis detector built with a Raspberry Pi Zero 2W, H2S gas sensors, and a Flutter mobile app. Defined the BLE pairing flow and sprint milestones through 92% software completion.
LuxySmile Oral Care - Product Website & Dashboard
Full product suite for LuxySmile Oral Care (Oralens Healthcare): a React + Vite marketing site targeting B2B dental wellness programs for schools and corporates, plus an internal case management dashboard with direct-to-S3 uploads and CSV bulk import.
LuxySmile - Oral Care Brand & Operations
Product and go-to-market ownership for LuxySmile Oral Care - OraLens Healthcare's B2B wellness brand. Defined the dual B2B/B2C positioning strategy, school and corporate wellness program inquiry flow, and the AI kiosk upsell path on a premium product website.
Interested in this work?
I can walk through the architecture and code during an interview.











