← All case studies + AI/ML · 2026 – present · dentalauto.ca
DentalAuto logo Krest One Dental · Case study
Case · 45 · AI/ML · Agentic AI

Healthcare Ops · Dental · both halves

The AI operator for a dental practice. Both halves.

Thirty-five mailboxes on one side. A fine-tuned caries model on the other. Every decision routed to a clinician for the final call. Krest One Dental’s paperwork and imaging, on one operator, with a human between the model and the money.

Mailboxes monitored
35+
Microsoft Graph webhooks · under 2 sec end-to-end
YOLO mAP50 · 332 test images
0.86
Patient-safe split, zero patient-level overlap
Email categories · Claude Haiku 4.5
6
Insurance · portal · claim · billing · admin · spam
Training images · patient-safe split
2,505
Curated set; 1,846 in the working corpus
DentalAuto marketing hero showing the two-half AI operator.
Scope

What we were hired to build.

DentalAuto is an end-to-end AI operator for dental clinic automation. It bundles two tightly-integrated halves: email automation across 35+ Microsoft Exchange office mailboxes (classifying inbound messages into six categories — insurance payment, portal login, claim status, patient billing, office admin, spam — and routing AR-relevant emails to the coordinator), and dental vision (a fine-tuned YOLO11m caries detector with a MedGemma 4B-IT annotator running on intraoral photographs). Every decision routes through a human for the final call; confidence thresholds at 0.70 (auto-forward) and 0.50 (review queue floor) are configurable per office.

How we planned

Two thresholds. Not one.

Discovery interviews with Krest One Dental’s AR coordinator and treating dentist shaped two design rules: the email classifier needed two thresholds (not one) — auto-forward high-confidence insurance emails, queue mid-confidence for review, hold low-confidence silently flagged; and the vision model should annotate (write rationale) rather than veto (make verdicts). The email half uses Claude Haiku 4.5 via OpenRouter for classification with structured JSON output; Supabase Realtime for live dashboard updates; Row-Level Security for authenticated staff access. The vision half trains on 1,846 patient-safe occlusal-only intraoral photographs with zero patient-level overlap between splits, fine-tunes MedGemma 1.5 4B-IT with LoRA (rank 16, α 32, bf16 + 4-bit NF4), and deploys via Ollama GGUF Q4_K_M quantisation at ~1.5 GB runtime.

How we delivered

Emails ingested in under two seconds.

The email half shipped on Vercel with Next.js 16 + React 19 + Tailwind 4. Microsoft Graph webhooks ingest email from 35+ office mailboxes in under two seconds end-to-end. The dashboard shows email list, detail view with AI reasoning, review queue, forwarding-rules editor and inbox management. The vision half is deployable via Ollama on an M4 Mac mini or cloud K8s. A two-stage pipeline runs YOLO11m for caries detection (bounding boxes), then per-detection crops flow through fine-tuned MedGemma to produce verdict + rationale, composited into a clinician-facing panel.

DentalAuto email automation dashboard.
Email half — 35+ Exchange mailboxes, 6 categories, live dashboard.
DentalAuto vision — YOLO11m + MedGemma inference demo.
Vision half — YOLO11m detection boxes with MedGemma rationale.
F1 comparison chart across model configurations.
F1 comparison — YOLO alone vs MedGemma-as-veto.
Sample intraoral image — best-case confirmation.
Best-case confirm — YOLO detection with MedGemma agreeing.
What we learnt

MedGemma as annotator, never veto.

Confidence thresholds must be tuned through conversation, not guesswork — Krest One’s request for two thresholds (not one binary yes/no) was the origin of the 0.70 / 0.50 design. When we tested MedGemma as a veto filter it killed 21.5% of true positives to save 28.5% false positives, dropping F1 from 0.865 to 0.769. Shipping YOLO alone with MedGemma as a reasoning annotator (not a veto) was the right call. Patient-level splits — not image-level — are non-negotiable for medical-imaging credibility.

How the client improved

A second pair of eyes that leaves a note.

Krest One Dental’s AR coordinator stopped triaging 200+ daily emails manually — high-confidence emails auto-forward, mid-confidence ones land in a review queue. The dentist reviewing intraoral photos now sees YOLO detection boxes and MedGemma rationales on every image — a second pair of eyes that leaves a note. No decision is fully autonomous; every action is logged, timestamped and defensible for compliance and QA.

01 / 01 · Coordinator observation · Krest One Dental
The AR coordinator asked for two thresholds, not one. That was the origin of the 0.70 / 0.50 design — and the reason the model annotates instead of vetoes.
Krest One Dental
In production · 2026
Stack · in receipts

The engineering, in one page.

Runtime
Vercel · Next.js 16
React 19 + Tailwind 4 · Supabase Realtime dashboard · Row-Level Security
Classifier
Claude Haiku 4.5
Via OpenRouter · structured JSON output · confidence per email
Vision
YOLO11m + MedGemma
YOLO detects caries; MedGemma 4B-IT annotates rationale
Deploy
Ollama GGUF Q4_K_M
~1.5 GB · M4 Mac mini or cloud K8s · confidence 0.70 / 0.50

Confidence thresholds at 0.70 (auto-forward) and 0.50 (review queue floor), configurable per office. Six email categories: insurance payment, portal login, claim status, patient billing, office admin, spam. Vision fine-tunes MedGemma 1.5 4B-IT with LoRA (rank 16, α 32, bf16 + 4-bit NF4) on 1,846 patient-safe occlusal-only intraoral photographs.

Next case

Bingo Card Creator — custom bingo, without the scissors and glue.

A template-first builder for teachers, event planners and hobbyists. PDF export of up to 1,000 unique cards, live-play up to 2,000 online players, and a global base of 550k+ users. One click from landing page to printable card.

Have something worth building?

You THINK, We BUILD.

Send a paragraph about what you’re building to hello@creative-mantra.com. We reply within 24 hours with next steps and, for qualified scopes, a fee letter within four working days.