## Inspiration
Over 80 million Americans are eligible for federal assistance programs like SNAP, Medicaid, or Section 8 but more than a third of them never apply. The barriers aren't just financial; they're bureaucratic. Fragmented websites, complex jargon, and language barriers put critical benefits out of reach for the very people they were designed to help. We wanted to build something that removes every one of those barriers in a single flow.
What it does
Rta (Compass) is an AI-powered benefits navigator that guides underserved individuals from zero to applied in any language, even over SMS.
- Conversational intake users answer 6 plain-language questions; Amazon Bedrock extracts structured eligibility data from their natural responses
- Cross-program eligibility check instantly screens for 10+ programs (SNAP, Medicaid, CHIP, WIC, LIHEAP, Section 8, TANF, EITC, Head Start, and more) against real 2025 Federal Poverty Level thresholds, ranked by estimated annual dollar value
- Auto-fill & document upload pre-populates application fields from intake answers and lets users securely upload supporting documents (pay stubs, ID, lease) to Amazon S3
- Application tracker tracks status from "Not started" through "Approved" with renewal countdowns and 30-day SMS/email alerts via Amazon SNS
- 75+ language support every screen translates instantly via Amazon Translate, with no page reload
- SMS fallback the full eligibility flow works over plain text message through Amazon Pinpoint, no smartphone or internet required
How we built it
| Layer | Technology |
|---|---|
| Frontend | React + Vite, Tailwind CSS |
| Auth | Amazon Cognito |
| AI Intake | Amazon Bedrock (Claude) |
| Translation | Amazon Translate |
| Notifications | Amazon SNS + Amazon Pinpoint |
| Document Storage | Amazon S3 |
| Database | Amazon Aurora Serverless (PostgreSQL) |
| API | AWS API Gateway + Lambda (Python) |
| Infrastructure | AWS SAM |
The backend is a set of Lambda functions /intake, /eligibility, /translate, /application, /notify sitting behind API Gateway. The intake Lambda translates user input to English, runs it through Bedrock to extract structured JSON, then the eligibility Lambda checks all 10 programs in one pass. The frontend is a React SPA deployed on AWS Amplify.
Challenges we ran into
- API Gateway timeouts on translation naively translating 141 strings one call at a time blew the 29-second timeout ceiling. We fixed it by batching all strings into a single Amazon Translate API call.
- CORS on OPTIONS preflight the Lambda proxy integration was returning 500 on preflight requests, blocking all browser requests. Required explicit OPTIONS handling in every Lambda response.
- Structured data extraction reliability getting Bedrock to return clean JSON from informal, multilingual user input required careful prompt engineering and a strict output schema.
- SMS session state without a persistent connection managing a multi-step conversation over stateless SMS required building a lightweight session store in Aurora that tracks step index and answers across messages.
Accomplishments that we're proud of
- A complete end-to-end flow — intake → eligibility → auto-fill → document upload → status tracking → renewal reminders — in a single app, for 10+ programs
- SMS fallback that works on any phone with no internet, reaching people who can't use a smartphone app
- Real 2025 FPL thresholds for every program, not mocked data
- 75+ language support that works instantly without a page reload, powered by a single batch translate call
What we learned
- AWS service quotas and integration quirks matter as much as application logic at hackathon speed
- Designing for the lowest-common-denominator user (no smartphone, no English, no understanding of bureaucracy) produces a dramatically more inclusive product
- Batching external API calls is not a micro-optimization — at scale it's the difference between a working product and a timeout
What's next for Rta
- Real Cognito + Aurora backend connect the live AWS services (currently the frontend runs against a local mock)
- State-specific rules eligibility thresholds and application portals vary by state; add per-state logic for all 50 states
- Document OCR use Amazon Textract to auto-extract data from uploaded documents (pay stubs, ID) to further reduce manual entry
- Proactive outreach use SNS to notify users when new programs they likely qualify for become available
- Case worker dashboard a view for social workers to manage and monitor clients' applications in bulk
Log in or sign up for Devpost to join the conversation.