Relay
Paperwork help, one question at a time, without handing over your whole life.
Relay turns complex PDF forms into a guided, evidence-backed workflow. It searches a user's own supporting documents for candidate answers, checks the cited text, and lets them ask another person for help with only the questions they choose to share.

Demo video: Video
The problem
A public-benefit renewal, banking form, or agency application can turn into a maze of dense PDFs, unfamiliar language, and supporting paperwork. For people with low vision, limited dexterity, cognitive overload, or low digital confidence, getting through the form can be especially difficult.
Asking someone for help can create a second problem: sharing an entire folder of identity documents, bank statements, and private letters just to answer one tricky question.
Relay makes help more granular. It helps people find evidence in their own documents and share only the questions they decide to delegate.
The experience, end to end
- Add supporting PDFs. Documents are stored in a local, SQLite-backed vault.
- Map the form. Relay inspects fillable PDF fields and organizes them into understandable question sections.
- Find a supported answer. The AI searches the vault for a candidate answer, a source quote, and a page reference.
- Check the evidence. A separate Python verification pass checks the quote against extracted PDF text. Unsupported suggestions are flagged for review.
- Ask for help privately. The user selects up to 10 unresolved questions and creates a single-use helper link that expires after 24 hours. The helper sees only those questions, not the vault or the rest of the form.
- Approve, then export. The user reviews helper replies, explicitly approves or rejects them, and exports the completed fillable PDF with an evidence audit page.

What makes Relay different
- Evidence, not just generated text: Suggested answers are paired with quoted source text and page references.
- A verification layer beyond the LLM: Python checks the extracted text independently instead of trusting a model's citation at face value.
- Minimum-disclosure assistance: Helper links expose only the questions deliberately selected by the user.
- Human approval stays in the loop: A helper's response never silently becomes a final answer.
- A real workflow, not only a chatbot: Relay connects document storage, form understanding, evidence review, targeted collaboration, and PDF export.

Built with the Devpost Learn Skill Pack
Relay was developed using the Devpost Learn Skill Pack, following its 1-start through 6-ship workflow. The structured process helped keep the project focused: define the problem and scope, plan before implementation, build toward a small end-to-end proof of concept, test the critical paths, and prepare the result for submission.
The guiding principle was to ship one useful workflow reliably rather than expand into a large, unfinished accessibility platform.
Planning artifacts: this repository should include the Skill Pack-generated scope.md, prd.md, and spec.md, as required by the hackathon.
How it was built
Relay is a lightweight Python application with a local-first storage model and a separate verification layer.
| Component | Implementation |
|---|---|
| API and session workflow | FastAPI, Python 3.12, Uvicorn |
| PDF processing | PyMuPDF for text extraction, field inspection, population, and export |
| AI form mapping and evidence retrieval | OpenAI Responses API with strict JSON Schemas |
| Quote verification | Python string matching against extracted source text |
| Persistence | SQLite for documents, sessions, helper tokens, and review states |
| User interface | Native HTML, accessible CSS, and vanilla JavaScript |
The form-mapping agent organizes PDF fields into questions. The evidence agent proposes candidate answers from vault documents. A distinct backend check verifies the quoted evidence before it is presented for user review. The helper flow uses a separate, reduced payload rather than passing the user's entire session to the helper page.
Challenges solved
Unsupported AI answers
Early tests could produce plausible answers with invented quotes or infer details from unrelated notes. Relay now compares candidate quotes with raw PDF text and checks that non-date answer values appear within the evidence. Failed checks are flagged rather than presented as verified facts.
Over-sharing to get help
Traditional account-sharing can expose unrelated private records. Relay creates a bounded helper payload containing only the selected questions and their input fields.
Changing documents mid-session
Replacing a vault document could affect an active form workflow. Session-level PDF snapshots keep the documents used by an in-progress session stable.
What works today
- SQLite-backed PDF vault
- AI-assisted form mapping and evidence extraction
- Exact-text quote verification
- Single-use helper links with 24-hour expiry
- User review and approval of helper responses
- Fillable PDF export with an evidence audit page
- 36 passing unit tests covering vault operations, evidence verification, token lifecycles, and PDF export
The end-to-end prototype was tested on a synthetic 14-question welfare-renewal form using four supporting PDFs.

What's next
- Guided answering: A focused, one-question-at-a-time interface with voice read-aloud and speech-to-text.
- Safer visual context: Small, redacted image crops for questions that need visual context.
- Accessibility validation: Screen-reader and keyboard-only testing with target users, plus WCAG-focused improvements.
- Localization: Translation support for people navigating forms in another language.
What this project taught me
- Plan before prompting: A clear scope and explicit specification keep AI-assisted development focused.
- Shape the input, not only the prompt: Irrelevant extracted text can degrade results; targeted evidence retrieval improves answer quality.
- Verify high-stakes outputs in code: Schema-constrained responses are not enough on their own. Independent checks and explicit user review matter.
- Design for control: Useful assistance should not require users to surrender their privacy or their final say.
Relay helps people move through difficult paperwork with more confidence and less unnecessary disclosure.

Log in or sign up for Devpost to join the conversation.