How Romeo reads a case.

Romeo isn't a chatbot with a clinical coat of paint. Every case runs through three separate layers — a model that sees, an engine that scores, and a model that explains — so the verdict is reproducible and the reasoning is always cited.

A clear aligner in a small blue dish beside a toothbrush, floss, and a marble tray

A model that sees, an engine that scores, a model that explains.

Most clinical AI blurs perception, judgment, and explanation into one prompt. Romeo keeps them apart on purpose. That separation is what makes the call auditable. Together they form the Romeo Case Engine, which powers Identify, the first of Romeo's four pillars.

1 · Vision, not verdict.

One call sees the intra- and extra-oral photos, the x-ray, and server-rendered views of the STL scan. A forced tool schema makes it return structured subscores, override flags, a confidence for each category, and an evidence pointer back to the image it read.

It produces no prose and no classification. The image-derived categories are the only thing it's allowed to set.

Propose layer · tool output
crowding_spacing
1
rotations
2
canine_rotation_>30°
true
confidence
0.86
evidence
occlusal view
Image-derived categories only. The model never sets the verdict.

2 · Deterministic, versioned, no ML.

A pure-TypeScript engine sums the rubric, folds in the intake-derived categories, and applies the override flags — any one of which forces Difficult regardless of score. It places the case on both axes and writes an audit record.

It's the same math every time. The thresholds are admin-configurable and the engine version is stamped on every result.

Engine · deterministic
raw subscores
0–36
normalized
/100
severity band
Mild
override flag
→ Difficult
predictability
Low
Same inputs in, same call out. Versioned and stamped on every result.

3 · Plain language, every claim cited.

A second model receives the structured result and writes the rationale a senior orthodontist would — direction, what to watch, which records to pull. Every factual claim cites a subscore, a rubric clause, or a look-alike case.

From there, Case Companion takes your follow-up questions on the case in front of you.

Romeo's call · Caution

Looks simple, but low predictability — the difficulty is the movement type, not the amount. Proceed with caution.

SeverityMild · 19 / 100
PredictabilityLow · 28 / 100
Why
  • Crowding is about 3 mm — an easy correction on its own. [cat. 01 · subscore 1]
  • But a canine rotation clears 30°, where aligner accuracy drops off a cliff. [override flag]
  • Look-alike Evenly cases needed one to two refinements to finish. [60,000-case library]
Anonymized sample · Romeo v2.1 engine

Twelve categories. One fixed standard.

Every case is scored 0–3 on twelve categories, eight read from the images and four from the intake form. Defaults are indicative until we calibrate against outcomes at n=50.
  1. 01Crowding / spacing
  2. 02Rotations / tooth position
  3. 03Vertical — overbite / open bite
  4. 04AP relationship — overjet / class
  5. 05Arch form / transverse / crossbite
  6. 06Space-management complexity
  7. 07Movement type — aligner predictability
  8. 08Case-complexity stack
  9. 09Patient age modifier
  10. 10Periodontal status (BPE)
  11. 11TMD status
  12. 12Skeletal pattern / occlusal canting
Override flags — any one forces Difficult
  • Impacted teeth
  • Skeletal Class II/III
  • Severe deep bite with trauma
  • Open bite needing vertical control
  • Multiple teeth outside the arch
  • Extraction likely required
  • Midline shift with AP correction
  • Prior failed ortho with relapse
  • Active perio (BPE 4+)
  • Canine rotation over 30°

Severity is half the question.

Severity tells you how much work a case is — mild, moderate, or difficult. On its own it doesn't tell you whether aligners are the right tool. Predictability does: how reliably aligners deliver the specific movements this case needs.

Romeo derives both from the same inputs and resolves them into a single call. A mild case with a low-predictability movement surfaces as caution, not as an easy win.

Severity ↓Predictability →
High
Moderate
Low
Mild
Moderate
Difficult

What lands on your screen.

Romeo's call
The recommendation up top — strong candidate, take-with-staging, conditional, or refer — on the go / hold / stop palette.
Twelve-category breakdown
Every subscore, with the criterion it met and the evidence it came from.
Cited rationale
The written read, with each claim pointing to a subscore, a rubric clause, or a look-alike case.
Case Companion
A chat surface for follow-up questions on the case in front of you.
Patient Copy
A one-page, plain-language summary you can hand to the patient.
Romeo Rounds
A multi-perspective second look when a case sits on the line.

Common questions.

Does the AI decide the classification?
No. The vision model only reads the images into structured subscores; a deterministic engine computes the classification. The second model explains the result — it never sets it.
Are the thresholds clinically validated?
The default bands are indicative and admin-configurable. They'll be recalibrated against treatment outcomes once we reach the n=50 mark. Romeo is transparent about this on every case.
What does Romeo need as input?
An STL scan, a panoramic x-ray, intra- and extra-oral photos, and a short intake form. A scan-only mode is supported with a lower confidence ceiling.
Where does the data go?
Everything runs server-side — the model API key never reaches the browser — and every case writes an append-only audit record of inputs, prompts, model and rubric versions, and engine outputs.
Request access

See it run on your own case.

Request access and we'll set you up to pre-screen a real case end to end.