Tagline

An AI-graded USABO prep tool that turns passive textbook reading into active practice — with rubric-based feedback on free-response answers, not just multiple choice.

Elevator pitch (spoken, ~30s)

USABO AI is a focused prep tool for the USA Biology Olympiad. Most students studying for USABO are stuck with a dense textbook and no feedback — they can read a chapter, but they can't tell if they actually understood it. USABO AI fixes that with a four-stage flow for every chapter: a plain-language teaching summary, vocabulary flashcards, practice quizzes, and a test. The key piece is the test — when you write a free-response answer, an AI grader checks it against a rubric and tells you exactly which points you hit and which you missed, the way a real grader would. We built it on Campbell Biology's Cell Biology unit, and the architecture scales to the whole book. It's the difference between passively reading biology and actively knowing whether you've learned it.

Inspiration

Studying for the USA Biology Olympiad mostly means reading a very dense textbook and hoping it sticks. The hardest part isn't finding material — it's that there's no feedback loop. You can read a whole chapter on cellular respiration and still have no idea whether you actually understood chemiosmosis until you get a question wrong on the real exam. Multiple-choice apps exist, but real biology understanding shows up in how you explain things, and nothing free was grading written answers. We wanted a tool that made you actively prove you understood a topic, not just recognize the right option.

What it does

USABO AI takes Campbell Biology's Unit 2 (Cell Biology) and turns each chapter into a four-stage learning flow:

Teaching — a plain-language summary of the chapter's key topics, followed by comprehension questions with instant feedback. Flashcards — the chapter's core vocabulary, with self-tracking so you can focus on the terms you don't know yet. Quizzes — multiple practice quizzes drawn from a larger question pool, scored instantly with explanations. Test — a mixed multiple-choice and free-response test. Multiple choice is scored instantly; free-response answers are graded by an AI against a rubric, which tells you which specific points you got and which you missed.

Progress is tracked per chapter so you can see how far through each one you are.

How we built it

USABO AI is a vanilla HTML/CSS/JS single-page app — no frontend framework, no build step — deployed on Vercel. The learning content (summaries, flashcards, quiz banks, tests) is stored as static JSON, which keeps the app fast and means most of it works without any API calls at all.

The one place we use live AI is the part that matters most: grading free-response answers. When a student submits a written answer, the frontend sends it to a Vercel serverless function. That function calls [MODEL — CONFIRM FROM grade.js] through OpenRouter, passing the question, an answer key, and a rubric of the specific points a full-credit answer should hit. The model returns a structured result — which rubric points were hit, which were missed, and targeted feedback — and the UI renders it.

We kept the API key in a server-side environment variable so it's never exposed in the browser, and the grading endpoint fails gracefully: if the AI call errors or rate-limits, the app shows a clear "grading unavailable" message instead of breaking. We scoped the content to the Cell Biology unit to keep the demo focused, but because everything is data-driven, extending it to more units is just more JSON.

Challenges we ran into Keeping it free. As a student, running this on a paid API wasn't an option, so we built around OpenRouter's free model tier and a static-content-first design that only calls the AI when it genuinely adds value (grading), not for everything. Reliable structured output from a smaller free model. Free models are less consistent at returning clean JSON than premium ones, so the grading endpoint had to defensively strip formatting and handle malformed responses without crashing. Content accuracy. This is real exam-prep material, so wrong-but-confident content would actively hurt users. Every question needed a single defensible answer and every rubric had to be specific enough for the grader to use. What we learned How to build a secure API proxy with a serverless function so an API key never touches the client. That the smart move with limited/free AI budget is to use AI where it's irreplaceable (evaluating open-ended answers) and use static content everywhere else. How much the quality of AI grading depends on the quality of the rubric you give it — a vague rubric produces vague grading. What's next for USABO AI Expand from Unit 2 to the full Campbell Biology book. Adaptive practice — use performance to resurface weak topics. Track free-response scores over time so students can see improvement. Built With HTML / CSS / JavaScript (vanilla, no framework) Vercel (static hosting + serverless functions) OpenRouter (AI model routing) [MODEL — CONFIRM EXACT ID FROM grade.js]

Built With

Share this project:

Updates