Inspiration
The DSWD website was built for caseworkers who already understand the system. TulongAI was built for Maria in Caloocan — four kids, just lost household income, one hour before school pickup. In the Philippines, an estimated 2 million eligible families have never applied for benefits they qualify for, mainly because eligibility is split across 4 separate agencies (DSWD, PhilHealth, DOLE, SSS), each with technical, English-heavy rules and zero explanation when a check fails. With roughly 1 DSWD social worker per 500+ urban poor households, most families have no one to ask.
What it does
TulongAI checks eligibility across 4 government programs simultaneously — 4Ps, PhilHealth, TUPAD, and SSS — and shows the user:
- A may-qualify / may-not-qualify result per program, with a confidence score
- A full plain-language reasoning trace (not a black-box yes/no)
- Conflicts between programs (e.g. 4Ps vs. TUPAD)
- A document checklist and real office addresses
- NGO alternatives when no government program fits — "no" is never the final answer
- A bilingual (English/Filipino) AI chat assistant for follow-up questions
How we built it
- Backend: Python + FastAPI. A deterministic rules engine
(
backend/engines/) evaluates each program against officially documented thresholds (sourced and cited per program) — this part never touches an LLM, so it can't hallucinate an income threshold. A separate AI layer (Groq / Llama 3.3 70B) turns the rules engine's raw JSON into a warm, plain-language explanation and powers a general chat assistant. - Frontend: Vite + React + Tailwind CSS, with an intake form, a full eligibility results view, and a floating chat widget.
- Deployment: Frontend on GitHub Pages, backend on Render, connected via a GitHub Actions build pipeline.
Challenges we ran into
- Deciding where AI belongs: we deliberately kept the actual eligibility decision rules-based and deterministic, using AI only for explanation and conversation — judges specifically wanted this justified, not assumed.
- Wording: shifting every "you are eligible" to "you may qualify" throughout the UI, AI prompts, and reasoning trace, so the tool never overstates certainty about a government decision it doesn't actually make.
- Connecting a static frontend (GitHub Pages) to a live backend (Render) across CORS and environment-variable boundaries in CI/CD — our first deploy silently failed because the build never received the backend URL, and CORS blocked the real one until we fixed both.
- A bad git checkout midway through the hackathon left a large number of backend files at 0 bytes with no error message, costing real build time before we traced it back to the actual missing code.
Accomplishments that we're proud of
- A genuinely deterministic eligibility core: the parts of the system that decide whether someone may qualify never touch an LLM, so the rules engine can't invent an income threshold — only the explanation layer is generative.
- Built and shipped a fully working, fully deployed two-service app (static frontend + live API) end to end within the build window, including CI/CD.
- Took the "never say you qualify" requirement seriously enough to rewrite wording across the UI, the rules engine's reasoning trace, and both AI system prompts (English and Filipino) — not just the marketing copy.
- A bilingual experience that isn't an afterthought — Filipino translations exist at the prompt level, not just the UI strings.
What we learned
- The most "AI" part of a responsible AI product is often deciding what not to hand to the model. Judges reward an explicit answer to "why is an LLM better here than a rules engine" more than a flashier demo.
- Responsible AI guardrails are cheap to add once you know what to look for (wording, source citations, confidence display) — the hard part is noticing they're needed in the first place.
- Free-tier infrastructure (Groq, Render, GitHub Pages) is genuinely enough to ship a real product during a hackathon — the constraint was our own setup mistakes, not the tools.
What's next for TulongAI
- A "what-if" scenario simulator: let a user model how a decision (taking an informal job, a change in household size) shifts their eligibility across all 4 programs before they act, not just check their status today.
- Expand beyond 4 programs to housing assistance and education/training benefits.
- Replace the illustrative NGO directory with a verified, regularly updated one, ideally sourced directly from partner organizations.
- A lightweight case-manager mode for frontline barangay health workers who currently rely on outdated pamphlets to serve dozens of families a month.
Log in or sign up for Devpost to join the conversation.