Anchor Lines

The numbers that decide your money and your grade are buried in financial aid letters and syllabi. Anchor Lines explains every figure in plain English and anchors each claim to its exact line.

Inspiration

A college award letter is the first genuinely consequential financial document most people receive, and it arrives with no glossary. Our audit of 455 colleges found 136 different terms for aid concepts, 24 letters that described a loan without ever using the word loan, and more than one-third that omitted the cost of attendance entirely.

A student who reads "$5,500 Direct Unsubsidized" as money off the bill has not made a math error. They were handed a document that hid the distinction.

What it does

You upload an award letter or a course syllabus, and every figure comes back in plain English, grouped by what it actually is. Grants, loans, work-study, grade weights, and deadlines each get their own section. When you hover any claim, the exact line it came from lights up in the original document.

It also compares offers honestly. Work-study is never counted as money off your bill, and loans are never blended in with grants.

How we built it

We built it with Next.js and TypeScript, using Google Gemini for extraction, and deployed it on Vercel behind 353 tests.

The key decision was that the model never reads your document. We pull the text out ourselves, ask the model only to explain it, and then check every single claim against the original before showing you anything. If a claim cannot be traced back to a real line, we do not show it. We say not stated in letter instead.

That rule is the whole product. A tool that is confidently wrong about your financial aid is worse than no tool at all, because you would act on it.

Challenges

It was too slow for our own server. Analysis takes 83 to 123 seconds, but our first deployment cut off at 60 seconds. Every real upload failed until we caught it by testing the live site, and the test suite stayed green the whole time.

Being strict has a cost. On a messy real letter, the model garbled a line and our checks refused the whole extraction. We could have loosened them, but we did not, because showing you a quote your letter does not contain is exactly the harm we exist to prevent.

Refusing to answer looks like a bug. When a letter never says whether its cost covers one year or four, we report that the figure is not comparable rather than guess a basis. It makes for a terrible screenshot, and it is the right answer.

What we learned

The instinct is to always produce an answer, but the feature students actually need is the one that admits when their letter does not tell them.

We prove the AI works with manually verified test cases. We wrote the correct answer for every figure by hand, before the model ever ran, and checked it in separately. Against those hand-verified answers we measure 91.2% field accuracy and 91.7% anchor verification, and we count an intentional omission as a failure.

Built With

Share this project:

Updates

Submission history