Project Info
Inspiration
Roughly 20% of people who qualify for benefits like CalFresh never get them, not because they're ineligible. Instead, the forms are in English and buried in legal jargon. For a monolingual immigrant, completing this paperwork is a challenge. Our goal was to turn this challenge into a simple, clarifying conversation in their own language. We also aimed to prioritize safety for potentially high-stakes legal documents and avoid damage from overly-confident AI hallucinations.
What it does
FormBridge is a voice-first AI assistant for legal paperwork. The user first opens a government/benefits form, and FormBridge reads each field. It converts the confusing English question into a simple spoken question in the user’s specific language (Spanish). It then listens to your answer by voice or waits for a written response. Then, it fills in the form with the correct English answer. It's fully bilingual (English to Spanish and vice versa), and is switchable mid-form, so if you respond in a different language than your initial language choice, it changes accordingly. A key feature: it never submits the form for you: it instead produces a draft, and allows time for user review before submitting or advancing to the next page. With this, FormBridge scores each answer's confidence level and flags sensitive or unclear fields if it "needs review" with a plain-language explanation. If it doesn't capture your answer clearly, it rephrases its question and asks again.
How we built it
Frontend — A Chrome extension (Manifest V3) injects a panel onto any web form, scrapes the fields, runs a per-field voice loop, fills the answers directly into the page (handling React/Angular controlled inputs), and shows a confidence + "Needs Review" draft. It never submits. Backend — A FastAPI bridge orchestrates the intelligence behind the extension: ASI:One generates the simplified, plain-language questions. Deepgram speaks them and transcribes the spoken answers (with a typing fallback). Claude converts each natural-language answer into the correct English field value and judges confidence. Redis stores the grounded policy definitions Claude reasons over. Multi-agent layer — We also built the reasoning as a true multi-agent society on Fetch.ai's uAgents: FormReader, Interpreter, Dialogue, PolicyRAG, Review, and Orchestrator agents that message each other over the ASI:One Chat Protocol and are discoverable on Agentverse — so the orchestrator can be queried directly on ASI:One.
Challenges we ran into
It was difficult coordinating a six-agent system over the chat protocol, along with the difference between local agent-to-agent messaging and Agentverse mailbox routing. On the front end, capturing microphone audio inside a content script and streaming it to Deepgram (while keeping a typing fallback that races the voice input) took real iteration. The biggest design challenge, however, was making the system refuse to be overconfident, and surfacing uncertainty as a feature rather than hiding it.
Accomplishments we're proud of
A working full stack that uses four sponsor technologies from end to end. The safety model — never auto-submit, read-back verification, per-field confidence, and "Needs Review" flags on sensitive fields — is something most AI demos skip, and it's the thing that makes FormBridge trustworthy enough to put in front of a vulnerable person. We're overall proud that we were able to create something that could truly help immigrant populations.
What we learned
We learned how to build and register a multi-agent system on ASI:One/Agentverse using uAgents and the Chat Protocol, and how to architect a clean separation between an orchestrating "brain" and specialist agents. We got hands-on with Deepgram's TTS/STT, Claude for structured extraction with strict-JSON outputs, and ASI:One's LLM. Most importantly, we learned that for high-stakes AI, the engineering that matters most isn't getting the right answer — it's knowing when not to be confident, and designing the human-in-the-loop around that.
What's next
We want to improve FormBridge and make it applicable worldwide by including more languages beyond Spanish. We also want to include a document upload so FormReader can parse any uploaded form PDF and be able to fill it out.
⚖️ FormBridge
A voice-first AI form advocate that helps Spanish-speaking residents complete confusing English-language forms — safely, transparently, and under their control.
FormBridge helps people fill out high-impact public forms — CalFresh/SNAP, rental & housing assistance, utility-bill relief, emergency-aid intake, and basic legal-aid intake. You upload or select a form; FormBridge reads it, turns each confusing English question into a simple spoken question in Spanish, listens to your answer by voice, and writes the correct English answer into the field. It prepares a reviewable draft, reads every answer back to you in Spanish, flags anything risky for review — and never submits automatically.
Built in 24h for Hackathons @ Berkeley — DDOSKI'S WORLD (technology + social impact). First version: Spanish ⇄ English, a small set of high-impact forms, draft only — no auto-submit.
The problem
Millions of people who qualify for food, housing, and utility help never get it — not because they don't qualify, but because the forms are in English, full of bureaucratic jargon, and frightening to get wrong. Language, literacy, and technology barriers turn a benefit you're entitled to into a wall. FormBridge turns that wall into a conversation in your own language.
How it works
For each field on the form, FormBridge runs a per-field voice loop, then stops for your review:
upload/select form ─▶ [ FormReader ] ─▶ for each field:
├─ [ Interpreter ] simplify EN question → ES
├─ [ Dialogue ] speak ES (TTS) · hear ES (STT)
├─ [ Interpreter ] ES answer → correct EN value
├─ [ PolicyRAG ] ground tricky terms (Redis)
└─ [ Review ] confidence score + "Needs Review"
▼
English DRAFT ──▶ read back in Spanish ──▶ you confirm
(FormBridge NEVER submits on its own)
Several agents, each registered separately on Agentverse and speaking the ASI:One Chat Protocol, so they're mutually discoverable and message each other directly. That agent-to-agent collaboration is the heart of the system.
| Agent | Role | Tech |
|---|---|---|
| Orchestrator | Runs the per-field loop; builds the draft; drives read-back & verify; never submits | Fetch.ai / ASI:One |
| FormReader | Reads the uploaded form, extracts fields, labels, types | Anthropic Claude |
| Dialogue | Speaks each Spanish question, transcribes the spoken Spanish answer | Deepgram |
| Interpreter | Simplifies English questions → Spanish; converts Spanish answers → correct English values | Anthropic Claude |
| PolicyRAG | Grounds tricky terms in cited definitions; remembers the session's answers | Redis |
| Review | Scores confidence per field; flags sensitive/risky fields as "Needs Review" | Anthropic Claude |
Safety first (a headline feature, not a disclaimer)
- Never auto-submits — produces a reviewable draft and pauses for confirmation.
- Read-back verification — every answer is spoken back in Spanish so you catch errors in your own language.
- Confidence per field + "Needs Review" flags on uncertain, sensitive, or risky fields (immigration status, income, household members, legal declarations, signatures), each with a plain-Spanish explanation.
- No quasi-legal advice — FormBridge helps fill what the form asks and flags declarations for human review.
Front-end: Chrome extension
The user-facing front-end is a Chrome extension (extension/). It injects a panel
onto any web form, reads the fields, asks each one aloud in Spanish, fills the
English answers, flags sensitive fields Needs Review, and builds a draft — and
never submits. It runs standalone in a built-in MOCK mode (no backend), or
talks to the agents through the bridge/ HTTP gateway. Load it via
chrome://extensions → Developer mode → Load unpacked → select extension/.
Repository
.
├── FORMBRIDGE_BUILD_DOC.md # full strategy: architecture, safety model, timeline, pitch
├── formbridge/ # the multi-agent backend (uAgents on ASI:One)
│ ├── agents/ # orchestrator + 6 specialists (chat-protocol wired)
│ ├── client.py # local test client (no ASI:One needed during dev)
│ ├── run_all.sh # launch the whole agent society
│ └── requirements.txt
├── extension/ # Chrome extension front-end (MV3) — MOCK mode works standalone
├── bridge/ # FastAPI gateway: extension HTTP -> uAgents society
└── web/ # calfresh_replica.html — a reliable demo target form
Quickstart
cd formbridge
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # add your keys
bash run_all.sh # boot the agents
See formbridge/README.md to run it and FORMBRIDGE_BUILD_DOC.md for the full build plan.
Team
Three CS students @ UC Berkeley.
Analysis
View
Metric
- 1
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
- AnthropicIn code
- CSSIn code
- FastAPIIn code
- HTMLIn code
- JavaScriptIn code
- OpenAIIn code
- PythonIn code
- RedisIn code
8 of 8 appear in the indexed code.
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
152 KB
Source files
29
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
anya-07/CalHacksAI26
39 files · 170 KB · @ f3c3097
Structure
Interface
2 files · 5%Screens, components and styles rendered to the user.
Application logic
21 files · 54%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
- Python38%
- Markdown30%
- JavaScript26%
- CSS3%
- HTML3%
- Shell0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
formbridge/requirements.txt
pypi · 9- anthropic
- browserbase
- httpx
- openai
- playwright
- python-dotenv
- redis
- uagents
- uagents-core
bridge/requirements.txt
pypi · 8- anthropic
- fastapi
- httpx
- openai
- pydantic
- python-dotenv
- redis
- uvicorn[standard]
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.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.