Inspiration
A missed legal deadline is usually permanent, and the people who get these letters are the least able to decode them. Social Security's "60 days" really starts five days after the printed date. A California "3-day notice" means three court days. Deadline Decoder does that math on a screen, but many of the people who need it are low vision, on a phone, or too overwhelmed to read one more thing. They should be able to just ask.
What it does
Deadline Decoder for Alexa+ is an MCP server that gives a voice assistant exact, cited deadline math for Social Security denials, California eviction notices and court papers, and Medi-Cal/CalFresh Notices of Action. Say what you got and when, in your own words ("my landlord taped a three day notice on my door yesterday"), and it answers with your real deadline and how many days are left. It walks through how it counted, including each skipped weekend and court holiday. It tells you the first step and where to get free legal help, and it offers a calendar reminder a week before.
How we built it
The deadline rules are pure, tested functions that cite their sources (20 CFR 404.933, CCP § 1167, W&I Code § 10951). We exposed them as four MCP tools (list_letter_types, detect_letter, compute_deadline, make_reminder) over Streamable HTTP (spec 2025-11-25), so any MCP-capable assistant, including Alexa+, can call them. A voice layer understands how people say it (dates without a year, "denied again", "eviction papers") and rewrites the counting steps for the ear. The assistant never computes a date. It calls the rules, so it can't make up a deadline. A web Alexa+ simulator shows the full voice loop and every tool call.
Challenges we ran into
Making arithmetic speakable. "2026-09-25 skipped — Native American Day" looks fine on screen and sounds terrible, so the server rewrites it as "Friday, September 25 is skipped: it's Native American Day." Resolving "September 13th" without a year: letters arrive after their date, so it picks the most recent one. And telling a first Social Security denial from a second one when both mention "reconsideration."
Accomplishments that we're proud of
Every answer shows its work, out loud. 29 tests, including end-to-end MCP calls over HTTP.
What we learned
A deadline read aloud needs different words than a deadline on a screen. The server returns a speech field written for the ear (spoken dates, no ISO strings) next to the structured data.
What's next
More letter types (EDD, Covered California, housing authorities), Spanish, and TechEMPOWER's digital navigators using it alongside the people they help. I build and maintain Deadline Decoder for TechEMPOWER, a California 501(c)(3) that runs digital-navigator help for Nevada County residents.
Built during the hackathon
This MCP server, the voice layer and the simulator were all built during the hackathon period (first commit Sep 27, 2026). The rules module comes from my Deadline Decoder web app (github.com/jphein/deadline-decoder, AGPL-3.0, created Sep 26, 2026), which is also within the window.
AI disclosure
Built with help from AI coding assistants (Anthropic's Claude). The deadline rules are deterministic, tested code; no AI model computes a deadline at runtime. The demo video's voices are AI-generated (Azure neural text-to-speech, Dragon HD voices), and the video says so on screen.
Built With
- express.js
- javascript
- model-context-protocol
- node.js
- streamable-http
- web-speech-api
- zod
Log in or sign up for Devpost to join the conversation.