Debugging Financial Aid Program Application
What I noticed when I looked at my own app like a judge, and why aid programs are so hard to organize.
My friend and I decided to enter the Congressional App Challenge this year, a competition where middle and high school students build apps and compete in their congressional district. Winning apps can end up on display in the U.S. Capitol for a year.
Our app is called OpenDoor. You answer a few questions about your household, and it shows which of 139 aid programs you might qualify for, like food, health, energy, and cash assistance. Every result comes with a reason and a link to the real application.
What I noticed
Some of our design choices already work. Everything is written at about a 6th-grade reading level. The search bar takes everyday phrases like “food stamps” or “laid off,” because most people don’t know official names like SNAP. Results don’t just say yes or no. They say “likely,” “possibly,” or “need more info.” And your answers stay on your device, which matters when the questions are about income and family.
But I also found things to fix before we submit:
- On a phone, “My results” and “Cliff simulator” (which shows how a raise could affect your benefits) disappear from the menu, and there’s no button to get them back. That’s a big deal, since 16% of U.S. adults have a smartphone but no home broadband.
- Some labels are in tiny 8- to 10-pixel text. That’s hard to read, especially for seniors, one of the groups we built this for.
- The Spanish button translates the top of the homepage, but most of the page below it stays in English.
- Our demo video loops with no pause button, and it makes up about half of the homepage’s download size.
- Our sign-in tool is still running in test mode, which isn’t meant for a real launch.
None of these break the app. But they’re exactly what a judge, or a real user, would notice first.
Why aid programs are so hard to organize
The data was even harder than the design.
A lot of aid programs are federal, but each state runs them its own way. For SNAP, most states can raise their income limit as high as 200% of the poverty line. And since only 41 states, counting DC, have expanded Medicaid, someone who qualifies in New Jersey might not qualify in the 10 states that haven’t. Even the names change. California calls SNAP CalFresh, and New Jersey calls Medicaid NJ FamilyCare.
That’s why OpenDoor asks for your state first. Every program’s rules, like income limits, household size, and age, are stored as data instead of code. Here’s a simplified version of New Jersey’s SNAP rule, using its real income limit:
{
"program": "SNAP",
"state": "NJ",
"incomeLimit": { "percentOfPovertyLine": 185 },
"uses": ["householdSize", "monthlyIncome"]
}Adding a state means adding data, not rewriting the app. Each program also has a “last checked” date, since the poverty guidelines behind most income limits change every year.
Get Neil Kumar’s stories in your inbox
Join Medium for free to get updates from this writer.
The trickiest part was that agencies measure income differently. Some use the poverty line, some use area median income, and some use a flat dollar amount. We had to convert all of it into one format so we could rank your results, with the most likely matches first.
We couldn’t hand-check every state at once, so we started with the 11 biggest states by population, including New Jersey. More than half of Americans live in those 11. Every other state still gets the federal programs.
What I think
Working on OpenDoor changed how I think about design. A site can look great on my laptop and still fail the person it’s for, like someone checking for help on an old phone during a lunch break. The people who need these programs most usually have the least time to figure them out.
Most of this help already exists. It’s just spread across dozens of agencies that all write their rules differently.
The bigger question
The IRS says four out of five eligible workers claim the Earned Income Tax Credit. That means about one in five miss out on money they already qualify for.
If two high school students can pull 139 programs into one place, why does getting help still mean digging through dozens of government websites? And whose job should it be to fix that?
Sources
- Congressional App Challenge, Internet Education Foundation
- 2026 Congressional App Challenge, Office of Rep. Rick Larsen
- Mobile Fact Sheet, Pew Research Center, 2026
- Broad-Based Categorical Eligibility, USDA Food and Nutrition Service
- Status of State Medicaid Expansion Decisions, KFF, October 2026
- CalFresh, California Department of Social Services
- NJ FamilyCare, New Jersey Department of Human Services
- Poverty Guidelines, U.S. Department of Health and Human Services
- List of U.S. states by population, Wikipedia, using U.S. Census Bureau 2025 estimates
- EITC Fast Facts, IRS








