Inspiration

College pricing is confusing—sticker price isn’t what families actually pay. First-gen and low-income students are asked to make life-changing decisions with opaque numbers. We wanted a simple, transparent way to see the real cost in seconds.

What it does

StudentAid lets you search a school and instantly see:

  • Net price (from the U.S. Dept. of Education’s College Scorecard API)
  • Tuition (in-state & out-of-state)
  • Acceptance rate
  • A clear donut chart showing grants, work-study, loans, and out-of-pocket
  • Tooltips that explain what’s from the API vs. modeled and the formulas used

How we built it

  • Frontend: React + TypeScript, Tailwind CSS, Recharts
  • Backend: Node.js + Express (with a small in-memory cache)
  • Data: College Scorecard API (schools, acceptance, tuition, net price by income bracket)
  • Explainability: Inline tooltips so the model isn’t a black box
    We request net price by income bracket; if a value is missing, we fall back to tuition so users still get an estimate.

Challenges we ran into

  • Data gaps & schema quirks: Some schools don’t report net price for every bracket; Scorecard uses flattened field names.
  • Realism vs. clarity: We needed an explainable model within hackathon time, not a full aid calculator.
  • UX under time pressure: Getting search, responsive layout, and readable tooltips to feel smooth.

Accomplishments that we’re proud of

  • A fast, clean UI that turns confusing costs into a single visual.
  • Transparent tooltips so judges/users can see exactly how numbers are computed.
  • Graceful fallbacks so the app stays useful even when an API field is missing.

What we learned

  • Open data is powerful—and messy. Good fallbacks matter.
  • Trust = clarity. Showing formulas and sources increases confidence.
  • Small UX details (search-as-you-type, tabular numbers, tooltips) make complex info understandable.

What’s next for StudentAid: College Cost & Aid Estimator

  • FAFSA/StudentAid.gov integration (real award letters)
  • Program-level outcomes (earnings, completion) to pair cost with value
  • Scholarship suggestions & Pell eligibility hints
  • Multi-school compare view and export/share (PDF)
  • Accessibility/i18n and mobile PWA

The (simple) math we show to users

Let (N)=net price, (G)=grants, (W)=work-study, (L)=loans, and (C=\$1800).

$$ \begin{aligned} G &= \min{G^*(I),\, N},\quad G^*(I)= \begin{cases} 9000 & I \le 30000\ 7000 & 30001 \le I \le 48000\ 5000 & 48001 \le I \le 75000\ 2500 & 75001 \le I \le 110000\ 1000 & I \ge 110001 \end{cases} \end{aligned} $$

$$ W= \begin{cases} 2000 & I \le 110000\ 1500 & I > 110000 \end{cases} $$

$$ L=\max{0,\, N-G-W-C},\quad C=1800 $$

$$ \mathrm{OOP}=\max{0,\, N-G-W-L} $$

Built With

Share this project:

Updates