The problem: during a periodontal (gum) exam, the dentist records hundreds of values: pocket depth, gum level, bleeding and plaque at six sites on every tooth, plus mobility, furcation, implants and missing teeth. But both hands hold a probe and a mirror, so the exam keeps stopping to write on paper, or an assistant is needed just to write, and the paper is typed into the computer later. The solution: Dental Project is a voice agent for the exam room. The dentist just talks ("Tooth 16, probing depth 3, 2, 4") and the chart fills itself live, on every screen showing that patient. After each sentence the app says what it saved ("Done. Tooth 16: probing depth 3, 2, 4."), built from the database, not invented by the AI. It understands natural phrasing ("Fourteen is gone" marks tooth 14 missing), accepts sites as front/middle/back or mesial/mid/distal, and remembers the conversation per patient: "Tooth 12 and 11", then later "Probing depth 4, 5, 4", charts both teeth. How we use AssemblyAI (Realtime Speech-to-Text path): the browser streams 16 kHz audio to the Universal-3 Pro streaming API. A keyterms prompt adds dental vocabulary (furcation, gingival margin, mesial, distal), turn detection is tuned so "3, 2, 4" stays one sentence, and we act only on finished, formatted turns. We bring our own LLM (openai/gpt-oss-120b on Groq) to turn each sentence into structured findings, and our own voice (browser speech synthesis). Stack: Angular, Node.js/Express with WebSockets and MongoDB change streams, Python/FastAPI, MongoDB Atlas, hosted on Render. Value: charting during the exam, no second person, no paper to retype, and gloved hands stay on the instruments, for about $0.20 of running cost per full exam.
Category tags: