Inspiration

Nearly 42 million Americans rely on SNAP every month. A lot of them lose benefits not because they stopped qualifying, but because they could not figure out what a letter was telling them to do in time.

SNAP notices are supposed to target a sixth-grade reading level. Most arrive dense, full of legal language, and with deadlines buried somewhere in the middle. The USDA has a whole toolkit to address this problem because bad notices flood call centers and cause avoidable terminations. We kept coming back to one question: what if someone could just upload the letter and get a plain answer in under a minute?


What it does

A user uploads or pastes their SNAP notice, answers a few quick questions, and gets back:

  • A plain summary of what the notice means and why it happened
  • A prioritized action list with deadlines pulled from the letter
  • A document checklist naming exactly what to gather and what counts as proof
  • Links to the official USDA and Missouri FSD sources behind every recommendation
  • A confidence score showing how the notice was read and why
  • A disclaimer on every screen that the tool explains, not decides, and a direct path to call 211 or the Family Support Division

How we built it

The pipeline has four stages. First, the document is parsed to extract the agency name, date, deadline language, document requests, and named individuals. Second, the notice gets classified into a type (denial, recertification, verification request, or other) with an explicit confidence score. Third, type-specific guidance templates are filled in with the extracted fields so the output is specific to that letter, not generic advice. Fourth, every piece of guidance is tied to an official source so the citations panel is verifiable, not decorative.

The intake form collects state, household size, income band, situation type, documents already sent, and preferred language before surfacing results, so the guidance has context to prioritize correctly.


Challenges we ran into

Notice diversity was the hardest problem. Real SNAP letters vary a lot by state, county, and even caseworker. A denial that says "your application cannot be approved at this time" and one that says "we are unable to authorize benefits" are the same notice type. Getting consistent extraction across that range required building a test library and multiple rounds of prompt refinement.

Confidence calibration was trickier than expected too. A letter that matched a keyword but had no clear deadline should score lower than one with both signals present. Tuning that took more iterations than we expected.

We also caught a bug during blind testing where the third document in a list would silently drop. It only showed up when we tested against notices with known ground truth, which is why building synthetic test cases early was worth it.

Responsible AI framing took real thought on every screen. The disclaimer, the "you stay in control" flow diagram, and the "these are options, not instructions" label all went through multiple rewrites. The tool is used by people under real pressure. Getting the tone wrong in either direction, too confident or too hedged, creates its own harm.


Accomplishments that we're proud of

The tool correctly classified all three blind test notices on the first attempt with higher confidence, using neutral filenames with no type hints embedded. It extracted named individuals, employer names, and exact deadline language from synthetic notices and put them into personalized checklists rather than generic output. The transparency panel showing matched keywords, confidence percentage, and reasoning is something we care about because showing your work is a form of respect. And every recommended action links to a real official source.


What we learned

The gap between a person and their benefits is often one sentence they did not understand. The USDA has known this for years and published tools to address it, but improving notice quality at the state level is slow. An AI layer that works on the receiving end, translating what was sent into what a person needs to do, can close that gap today without waiting for systemic change.

We also learned that human-in-the-loop is a product decision, not just an ethical one. Making it explicit that the tool explains and the person decides, and repeating that on every screen, made us more careful about every output we generated.


What's next for SNAP Aid

The first priority is expanding beyond Missouri. Notice formats, deadlines, and document standards differ significantly by state, and so does the administrative burden people face. After that, SMS delivery so someone can text a photo of their notice and get a plain-language reply back, meeting people where they actually are.

Longer term, there are two directions worth building. One is multilingual support, since notices are rarely translated even though the USDA requires language access for limited English speakers. The other is an anonymized pattern layer for caseworkers and nonprofits, showing which notice types are generating the most confusion by ZIP code, and where outreach should be prioritized before the next recertification cycle hits.

Built With

Share this project:

Updates