BUILD. SOLVE. DEMONSTRATE.
| Problem: | Oral Health Screening Widget |
|---|---|
| Team Name: | Quriosity |
| Team Members: | Abhineeth V S, Siddarth Narayan, Christta Ann Mathew, Ham P R |
| Institution: | College of Engineering Trivandrum |
| Live Demo: | https://toothpaste-cv.vercel.app/ |
| Pitch Video: | https://lnkd.in/p/gRzzE49X |
- Problem Statement
- Our Solution
- What Makes It Different
- Key Features
- Screenshots & Demo
- Tech Stack
- Getting Started
- Documentation
- Usage / Demo Script
- Limitations & Future Scope
- Team
- Submission Checklist
Develop a free, two-minute oral health screening widget for web or smartphones that guides patients through a simple set of prompts and captures five quick images of their teeth.
The solution should analyse these images and generate an instant visual report highlighting potential oral health concerns such as crooked teeth, tooth wear, or discoloration. The goal is to provide patients with an easy, accessible way to get an initial visual assessment of their oral health and understand whether they may need to consult a dentist.
People often notice stains, chips, crowding, or gum changes early, but wait until pain starts before taking action. toothpaste.cv gives them a simple first step: guided photos, a plain report, and a clear reminder when a dentist should review it.
toothpaste.cv is a browser-based visual oral health screening tool. It guides the user through five oral photos, sends them through a fixed AI screening rubric, and returns a clear report with severity, visible evidence, mouth-region context, and next steps.
It is not a diagnosis, not an X-ray, and not a treatment plan. It is a triage tool that helps users decide whether a visible change needs a closer look from a licensed dentist.
toothpaste.cv has two differentiators: a multi-model vision report pipeline and a trained computer-vision evidence layer.
The written report is not produced from a single unchecked prompt. The five photos are reviewed with OpenAI vision and, when configured, Anthropic Claude vision using the same oral-health rubric.
- Parallel review - GPT and Claude review the same five images against the same screening categories.
- Structured output - Zod validates the report shape before it reaches the user.
- Conservative merge - when both models are available, the app merges findings carefully and avoids over-calling.
- Polished patient language - the final report turns model output into clear severity, location, evidence, and next-step text.
This improves the report quality while keeping the product boundary clear: it is still screening, not diagnosis.
toothpaste.cv also does not stop at a generic AI writeup. We trained a local computer-vision sidecar to give visual evidence on top of the written screening report.
- Crowding detector - YOLOv11n trained on OMNI intraoral boxes mapped to crooked or rotated teeth.
- Stain model - CLIP image embeddings with a linear classifier trained on oral disease images, plus a Lab b* yellowness heatmap.
- Wear model - CLIP-based wear classifier with the same severity scale used in the report.
- Visual overlays - boxes, heatmaps, and CV scores shown beside the report so users can see what the system is reacting to.
- Conservative design - the CV model supports the demo and photo evidence, while the final report stays screening-only and avoids diagnosis claims.
This makes the product more than a prompt wrapper. The AI report explains the result, and the trained CV layer makes the visible evidence easier to inspect.
- Five guided photos - front bite, upper arch, lower arch, left side, and right side.
- Instant visual report - summary, findings, severity labels, photo references, and mouth-region context.
- Multi-model vision review - OpenAI and Claude can review the same photos for a more balanced report.
- Trained CV evidence layer - custom YOLO and CLIP models add boxes, heatmaps, and scores for visible dental concerns.
- Nine screening categories - crowding, wear, discoloration, gum health, plaque, bite alignment, spacing, chips, and possible decay.
- Dentist-ready summary - report language users can save, export, and bring to a dental visit.
- Optional timeline - signed-in users can save reports and compare later screenings.
- Honest safety boundary - every flow clearly states that this is screening only, not medical diagnosis.
| Item | Link |
|---|---|
| Live demo | https://toothpaste-cv.vercel.app/ |
| Pitch video | https://lnkd.in/p/gRzzE49X |
| Layer | Technology | Why we chose it |
|---|---|---|
| Frontend | Next.js 16, React 19, TypeScript, Tailwind CSS 4 | Fast web app, strong typing, responsive UI, and easy deployment. |
| Backend | Next.js API routes | Keeps capture, report generation, and API calls in one app. |
| Database / Auth | Supabase Auth, browser local storage | Optional sign-in and saved screening timeline without forcing accounts. |
| ML / AI | OpenAI, Anthropic Claude, Zod schema validation | Structured visual screening report with a fixed rubric and safer output shape. |
| Computer Vision | Python, FastAPI, YOLOv11n, OpenCLIP, OpenCV | Trained local sidecar for crowding boxes, stain heatmaps, and wear or stain scoring. |
| PDF / Export | html2canvas-pro, jsPDF | Lets users save and share a report. |
| Hosting | Vercel | Simple public deployment for the demo. |
- Node.js 20 or newer
- npm
- OpenAI API key for report generation
- Optional Anthropic API key for second-model review
- Optional Supabase project for sign-in and saved timelines
- Optional Python environment for local CV overlays
git clone https://github.com/AbhineethVS/toothpaste-cv.git
cd toothpaste-cv
npm installCopy .env.local.example to .env.local and fill in the needed values.
| Variable | Description | Required |
|---|---|---|
OPENAI_API_KEY |
OpenAI key used by /api/analyze |
Yes |
OPENAI_MODEL |
OpenAI vision model name | Yes |
ANTHROPIC_API_KEY |
Anthropic key for optional second review | No |
ANTHROPIC_MODEL |
Claude model name | No |
NEXT_PUBLIC_SUPABASE_URL |
Supabase project URL | No |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Supabase anon key | No |
CV_SIDECAR_URL |
Local CV sidecar URL | No |
Do not commit .env.local or real API keys.
npm run devOpen http://localhost:3000.
Train or place the model weights first. See ml/README.md.
npm run cv:serveIf your Python environment is elsewhere, run:
python ml/serve.pySupporting documentation is available in docs/:
The project submission checklist is in SUBMISSION_CHECKLIST.md.
- Boot - open the live demo or run the app locally.
- Start screening - show the landing page and the "not a diagnosis" boundary.
- Capture photos - take or upload five guided views: front bite, upper arch, lower arch, left side, and right side.
- Generate report - wait for the AI screening result.
- Review findings - show severity, location, photo evidence, and plain next steps.
- Export or save - show PDF export and optional saved timeline.
- Wrap up - explain that flagged concerns should be reviewed by a dentist.
- It only screens what is visible in phone photos.
- It cannot detect cavities between teeth, root problems, bone issues, or gum pocket depth.
- Poor lighting, blur, closed lips, and wrong angles can reduce quality.
- AI output can vary slightly between runs.
- The CV sidecar is optional and experimental. The written report is the main product output.
- It is not a certified medical device.
- Better photo quality checks before analysis.
- Stronger computer-vision models trained on larger labelled dental datasets.
- Dentist review workflow with user consent.
- Long-term progress tracking across repeated screenings.
- Multilingual reports for wider access.
| Name | Role(s) | GitHub | |
|---|---|---|---|
| Abhineeth V S | Full-stack, AI integration, product | @AbhineethVS | abhineethvs71@gmail.com |
| Siddarth Narayan | Product, engineering | @siddarthcet2007-glitch | siddarthcet2007@gmail.com |
| Christta Ann Mathew | Product, research | @ChristtaAnn | christtaannmathew@gmail.com |
| Ham P R | Product, engineering | @HAM-2K5 | hamplivingston1020@gmail.com |
- Public repository is ready.
- README follows the D-Solve template.
- Live demo link is added.
- Pitch video link is added.
- Secrets are kept out of the repository.
- App can be run from a fresh clone with the required environment variables.
toothpaste.cv provides preliminary visual screening only. It is not a medical diagnosis. Always consult a licensed dentist for oral health advice, urgent symptoms, or treatment decisions.



