Project Info
Inspiration
Millions of Californians (and ~40 million Americans nationwide) qualify for aid yet never finish the paperwork. Surveys show 47% find government applications “overly complex,” and >$140 B in benefits go unclaimed every year.¹ We watched friends juggle five portals, print 30-page PDFs, and re-type the same SSN half a dozen times. Compass was born to shrink that gap: one friendly conversation that figures out every program you qualify for and hands you finished applications—no clipboard, no jargon, no wait-list. What It Does Compass is a voice-first digital case-worker for public benefits (CalFresh, Medi-Cal, Alameda County IHSS today). Right now, we focus on public benefits assistance programs for those in need, helping low-income families, the elderly, college students, and more figure out which assistance programs they qualify for and quickly complete all of the applications at once. Conversational Agent (Vapi + Claude 4) Greets the user, gains consent, and runs an adaptive screening interview. Memory & Eligibility Agent (Letta) Stores answers, matches them against a JSON rule catalog, returns eligible programs and any still-missing fields. Creative Use - Letta replaces Redis/Postgres, acting both as the long-term memory layer and short-term retrieval layer per person, updated automatically through conversation history and without schemas Document-Filling Agent (Claude 4 PDF prompt) Maps normalized field names → PDF / HTML IDs, fills every field (checkboxes included), and returns ready-to-submit files. Result: Speak once → receive fully populated PDFs with zero duplicate questions even when multiple programs need the same data. How We Built It Vapi orchestrates the conversation flow with multi-step nodes powered by Anthropic's Claude 4 LLMs (Anthropic's Claude Opus 4) handle natural language + validation and guide Q&A; system prompts enforce accessible, welcoming tone. Letta parses the catalog’s eligibility requirements to return matching programs, determines what information we still need to complete relevant applications, and stores memory about the user. Form filler uses Claude Opus 4 to automatically fill out PDF forms, matching user data to text and checkbox inputs. Front-end Built in Next.js, using Vapi for real-time speech transcription. Dashboards for easy access and navigation. We built everything in less than 24 hours!! 🏃💨 Challenges We Faced Mapping 50+ form fields to conversation-friendly variable names without losing fidelity and without duplicating questions to the user. Validating ambiguous answers (“uh… maybe monthly?”) and re-asking the user politely. Cross-agent memory sync between Vapi and Letta. Checkbox hell: we spent two hours getting our form-filler to accurately interact with checkboxes! Rate-limits and exhausted credits at 4 am, forcing us to come up with creative ways to keep moving. Accomplishments We’re Proud Of End-to-end demo: speak to Compass → instant, fully populated CalFresh PDF. Zero duplicate questions, even when multiple programs need the same data. Plug-and-play program catalogs (including program name, description, eligibility requirements, and application requirements) are stored in a JSON file after LLM processing/information extraction, so adding new programs is a single file change. Accessibility: works over a low-data phone call or web interface. What We Learned Prompt design for structured extraction is half the battle, but still is super important for guiding LLM-enabled functionality. Users love hearing “let me fill that out for you” instead of “go to this portal”. PDFs are relics, but they’re not going away soon in government. Automation bridges this gap! What’s Next Expand catalog to more assistance programs housing vouchers, LIHEAP, child-care subsidies, to more geographies (counties/states), to more domains (construction permitting, procurement contracting, etc.) Multilingual flows with automatic language detection to expand language access, particularly for immigrants where English may not be their first language SMS fallback for alternate ways to interact with the agent. Document upload & OCR to attach pay stubs or IDs. Caseworker dashboard so humans (whether a caseworker, secretary, or college student) can more easily override or approve submissions.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 8
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- Next.jsIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Vercel AI SDKIn code
- FlaskClaimed
- Node.jsClaimed
- PythonClaimed
6 of 9 appear in the indexed code. 3 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
186 KB
Source files
67
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
martinezdavid12/2025_ai_hacks
84 files · 923 KB · @ 979e603
Structure
Interface
59 files · 70%Screens, components and styles rendered to the user.
API & routing
3 files · 4%Request entry points: routes, handlers and controllers.
Application logic
5 files · 6%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript97%
- CSS3%
- YAML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 62- @hookform/resolvers
- @letta-ai/vercel-ai-sdk-provider
- @radix-ui/react-accordion
- @radix-ui/react-alert-dialog
- @radix-ui/react-aspect-ratio
- @radix-ui/react-avatar
- @radix-ui/react-checkbox
- @radix-ui/react-collapsible
- @radix-ui/react-context-menu
- @radix-ui/react-dialog
- @radix-ui/react-dropdown-menu
- @radix-ui/react-hover-card
- @radix-ui/react-label
- @radix-ui/react-menubar
- @radix-ui/react-navigation-menu
- @radix-ui/react-popover
- @radix-ui/react-progress
- @radix-ui/react-radio-group
- +44 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.