-
-
Holdline checks school, Medicaid, and SNAP notices against the law.
-
Tested on nine letters: every deadline right, every missing part caught.
-
The clock: the real last day to keep services, with the math and the rule shown.
-
How it works: Nemotron models label and judge, Tavily pulls the live law, code checks it all.
-
Citation check: the letter cites 34 CFR 300.326, which is an empty [Reserved] section.
-
The reply: fixed wording, exact quotes from the notice, and blanks. No AI writes it.
Inspiration
Families get official letters that take something away: a school cutting a child's special-education services, or a state ending Medicaid or food benefits. These letters are often vague. They rarely say when you have to act to keep what you have, and they often leave out things the law says they must include.
In January 2026 a federal court said Florida's Medicaid termination notices "border on the incomprehensible." During the Medicaid unwinding, 69% of the people who lost coverage lost it over paperwork, not because they weren't eligible. Federal rules spell out exactly what these letters must contain, and families can usually keep their services while they appeal. But only if they act before a deadline that's almost never written as a date.
We didn't want to build another chatbot that "explains your letter." Those sound confident and get the law wrong. We wanted something that only says what it can prove.
What it does
You paste a letter, upload a PDF, or take a photo. About five seconds later you get:
- The clock. The real last day to act to keep your services, worked out by code with every step shown, plus the federal rule that protects you. If there's no date on the page, it says so instead of guessing. One click puts it on your calendar.
- What's missing. Every part the regulation says the notice must include, quoted word for word from the eCFR, marked as in the letter, only partly there, or missing.
- Citation check. If the letter cites a rule that doesn't exist or is an empty "[Reserved]" section, it gets struck out. Our school sample does exactly that.
- A reply you can send tonight. Fixed wording, exact quotes from the notice, and blanks to fill in. No AI writes it.
- Local help. The family's Parent Center, free legal aid, and the state hearing page, found on trusted sites only.
- A plain-language summary in 11 languages with read-aloud, a reading-level score, a printable evidence packet, and a sender mode so schools and agencies can check a notice before it goes out.
It covers school special-education notices (IDEA), Medicaid termination notices, and SNAP adverse action notices.
How we built it
The rule we built around: models label and judge, code finds, checks, and computes. If a model says something we can't tie back to a sentence in the letter or the text of the regulation, it gets dropped, and the run log shows the count.
We use four NVIDIA Nemotron models on Nebius Token Factory, each for one job:
- Nemotron 3.5 Super VL reads photos and scans.
- Nemotron 3 Nano (thinking off) labels the dates that code already found, and does translation.
- Nemotron 3 Ultra (thinking on) runs once per letter for the hard part: checking the letter against the regulation. It can only point at sentence numbers that exist.
- Nemotron 3 Super writes the summary. A line gets cut if it adds a number, a date, or a word like "today" that isn't in the letter.
Tavily is how we keep the law honest. Tavily Extract pulls the live regulation from ecfr.gov, and each required clause has to match word for word before we show it. Domain-locked Tavily Search checks citations and finds local help, and every link is checked against an allowlist. The independent steps run in parallel, so a full check takes about 4 seconds and costs about half a cent. It's a Next.js app on Vercel, with a Dockerfile for Nebius Serverless.
Challenges we ran into
Deadlines like "within 10 days of the date of this notice" have to be exactly right, so no model touches date math. Getting the summary model to stop saying "today" or "your coverage ended" when the letter says "will end" took explicit guards. Tavily Extract didn't return every clause of the biggest SNAP section, so we built a fallback to the official eCFR API and record which source was used. Late in testing we found that JSON mode on Nemotron 3 Super quietly dropped apostrophes and hyphens ("childs", "oneonone"). We turned JSON mode off for that one call and parse the reply ourselves.
Accomplishments we're proud of
On nine labeled test letters: every deadline right (9/9), every missing part caught (12/12), every required part judged correctly (51/51), and zero unsupported statements shown to a family. Every regulation quote is checked against live eCFR text.
What we learned
Small models doing narrow jobs, with the big model used once, beat one giant prompt on speed, cost, and how easy it is to check the output. Turning off thinking on Nano made it about three times faster with the same quality.
What's next
More notice types (TANF, SSI, housing), state-specific rules, and working with Parent Training and Information Centers and legal aid offices so families find this before their deadline passes.
Holdline isn't legal advice. It shows what the letter says and what the law says, side by side. The sample letters are made up.
Built With
- ecfr
- nebius-token-factory
- next.js
- nvidia-nemotron
- react
- tavily
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.