Build Log
The Medina Square — Live Testing Hardening
July 7, 2026
Zeb live-tested the app against real questions and real mobile devices; every bug found (branding leaks, vague fallback copy, sourcing caution scoped wrong, unformatted answers, HTTPS-only voice input) got fixed at the root, and the app was renamed from medina-navigator to medina-square end to end.
Timeline
What shipped
Voice input (speech-to-text) wired into GuidedFlow.tsx and AskForm.tsx via a shared useSpeechToText hook — browser-native Web Speech API, zero external dependency
Voice output (read-aloud) for Plan results via useSpeechOutput hook and a 'Read aloud' button on PlanView.tsx
tel: and mailto: links for every phone number and email across ResourceCard.tsx and PlanView.tsx — mobile users can tap to call/email directly
MarkdownLite.tsx — small dependency-free markdown renderer (bold + lists) for Evidence answers, replacing a single-paragraph dump
New sourceScope field ('hyperlocal' | 'standardized_program') on the Evidence type — required, TypeScript-enforced across all 7 existing records
Real, sourced SNAP/Medicaid document checklist Evidence record, citing Ohio Benefits' official 'Things You Need To Apply' page — closes the gap exposed by a ChatGPT comparison
7 starter prompts on /ask fully rebuilt with real, live-tested questions covering utilities, senior services, housing crisis, permits, employer/workforce, and financial hardship
Renamed the entire app from medina-navigator to medina-square: folder, package.json name, vercel.json build command, root workspace registration, all script names (dev/build/deploy:medina-square), console.error log labels, regenerated package-lock.json
“ok, this is not a good look for us... how are we going to handle this at scale?”