Inspiration

As rising seniors, the college admissions process is something that we’ve been living firsthand. And while going through the research process, one thing stands out to us consistently: the cost. The sheer price of college is daunting, and knowing the exact cost is incredibly important for us to holistically evaluate and answer the real question: Is it worth it? In our research we learned that multiple government reports, including a major U.S. Government Accountability Office (GAO) review found that 91% of aid offers fail to provide clear or complete information. Many schools combine loans and work-study with scholarships and grants, generously offering money that is really a disguise for debt. They also often leave out implicit costs like housing, books, and transportation from their stated totals—things that add up, making the burden of college higher than expected. When families can’t understand the actual cost, comparing schools becomes much harder. Students may borrow far more than necessary, or choose a college based on misleading numbers. We built AidScholar because this problem was personal to us, and because we realized the current tools to fix this problem aren’t widely available.

What it does

AidScholar was built to solve that problem. Users can upload their aid letters as plain text or as a file, and an AI model separates data points like grants, scholarships, loans, and work-study into clear categories. The tool then calculates a true net price, identifies potential red flags, and provides actionable insights additional resources. The letter is also cross-referenced against an official source: The US Deparment of Education’s College Scorecard API, for additional validation. For students comparing multiple schools, the tool supports side-by-side comparison of up to five letters at once, standardizing the information so that the given numbers are directly comparable. Everything is accompanied by a confidence meter that shows how clearly the letter was interpreted by the model, so users know how much faith to put into the analysis.

How we built it

We were generally split into two teams, with two people focused on UI and two on backend, then brought everything together at the end. The frontend was built with plain HTML, CSS, and vanilla JavaScript. We built a tabbed input system, providing users with the option to either paste in text or select a file, including drag-and-drop. Uploaded files are encoded to base64 and sent directly to the Gemini API, accompanied by MIME type detection (to handle PDFs, JPGs, PNGs, etc). The results from the AI model are then rendered using sectioned JavaScript to organize the data, simplifying it to increase user interpretability. This includes table-based formatting, accordion-style dropdowns, deception checks, red flags, and a CSS gradient bar with an arrow to convey a confidence score. The backend team worked on prompt engineering for Gemini 2.5 Flash, which required several iterations to get a reliable output. The finalized prompt requires the model to return JSON values (school name, total cost, red flags, next steps, etc.) to simplify the rendering process. We also included rules for edge cases such as an unrelated file upload (such as an abstract image or random text). On top of the AI layer, we added College Scorecard integration that ran parallel to the Gemini analysis. The code finds the school in the Scorecard’s API and pulls income-band net price data so we can validate the estimated net cost and give more context around how family income affects offered aid. All the actual math is deterministic and done through our script instead of the model. Net price is computed as the total cost of attendance minus grant aid (not subtracting loans or work-study), which is the GAO definition (something college aid letters often don’t adhere to). We also run seven fixed deception-pattern checks on every letter, checking for common misleading tactics such as Parent PLUS loans, non-renewable scholarships, and implicit costs. The compare mode can run up to five letters by using parallel requests to the API and then normalizing everything into a side-by-side table.

Challenges we ran into

The biggest challenge was making AidScholar significantly more useful than simply pasting the letters into an LLM. While our initial plan was to just collect user input, send it to the API, and render the results, we decided that this lacked complexity and chose to add numerous other features. These included an external cross-check against the College Scorecard API, deterministic computation of the net price, and a fixed deception-pattern checklist to catch common misleading tactics. We soon realized that the most important part of a tool like this was the ability to compare, so we added a multi-letter mode which would normalize letters from completely different schools. One of our other major challenges was API use. We struggled with prompting in a way that would give results consistent enough to render with a standard template. After doing some research about prompting, we decided to include instructions to format outputs in categorical JSON, such that each JSON category could be standardly formatted for the frontend. Beyond that, we often ran into usage limits while working on the free version of Gemini 2.5 Flash, requiring us to take frequent pauses between testing our code. As we were looking into ways to get around this, we discovered that any data sent in on the free tier is actually sent to Google for training purposes. This struck us as a major issue, since data privacy is a sensitive risk when it comes to using AI tools. To protect user data and offer users peace of mind, we upgraded to the paid tier of the model, which also solved the problem of the API use quotas.

Accomplishments that we're proud of

One accomplishment that our team is proud of is our ability to efficiently brainstorm, collaborate, and work through issues together. The majority of our work was done online due to location and timing restraints, so we had to get creative with our communication and delegation of tasks. Our team split the tasks for developing the website into frontend and backend work, creating the necessity for a sequential work process. The frontend team had to wait for the backend team to finish their code, and a lot of care had to be taken to ensure no merge conflicts occurred when multiple team members worked on the same file.

What we learned

Throughout this project, we learned how to create an effective AI application, something that we didn’t have much experience in before this project. That learning involved connecting an AI model to a friendly user interface, and also learning how to limit the role of the AI. Early versions of AidScholar relied too heavily on the AI model, which led to inconsistent outputs and occasional hallucinations. To fix this, we had to get into prompt engineering, structured JSON outputs, include confidence indicators, and include deterministic calculations for critical financial figures. Besides the technical aspects of creating an AI model, we learned how important trust and transparency are when building AI tools, especially one like ours which helps users make significant financial decisions.

What's next for AidScholar

Our next goal is to expand AidScholar from a single-use analysis tool into a comprehensive platform that can be an all-in-one stop for college financial aid information. We plan to integrate data from the Fiske Guide and other college resources so students can evaluate the broader value that institutions provide in comparison to the cost. We would also create a function where users can make accounts on the platform, which opens up a world of possibilities in terms of personalization and tracking data for the user. Once a letter has been submitted, students can save them, track schools they are considering, revisit previous analyses, and continue to compare colleges over time without needing to repeatedly upload documents. All this info would be stored in a dashboard format, transforming AidScholar into a site that can support students through their college decision process rather than acting as a single-use financial aid review.

Built With

Share this project:

Updates