Project
MyVoice
A full-stack coaching platform that helps K-12 students with IEPs and 504 plans practice self-advocacy. I designed it around four coordinated model roles: a Haiku-based classifier and a Sonnet-based generator running across a four-stage workflow, backed by a stateless Express API and a React/Vite frontend.
The interesting engineering problem was constraining a language model to a fixed taxonomy. A tool-use-constrained classification layer maps whatever a student types into one of 18 canonical accommodation categories, enforcing structured output at the API boundary rather than hoping the model stays in its lane. Production hardening includes per-IP rate limiting, CORS allowlisting, and 40-turn conversation history truncation. It also ships a zero-key MOCK fixture mode that runs the full four-stage workflow offline, no network calls and no API cost, so the whole system can be evaluated without touching a live key. Built solo.