Inspiration
Free SAT prep already exists everywhere, Khan Academy, College Board's own Bluebook, both loaded with practice questions at no cost. So why do so many students still plateau at the same score? Because none of these tools tell you why you keep getting things wrong, they just give you a score and move on.
I've lived this myself. Going through my own SAT prep, I noticed a pattern: I kept picking answers that felt thematically right, even when the passage didn't actually back them up. A simple right/wrong quiz never caught that pattern. It took me looking specifically for it to even name it. That's the gap Gnosis is built to close.
What it does
Gnosis is an AI-powered diagnostic engine for SAT Reading and Math. Every wrong answer gets classified into one of five error types: unsupported inference, misread question, concept gap, careless execution slip, or time-pressure guess. Each classification comes with the actual proof, the exact sentence in a passage or the exact broken step in a math solution, that shows why the answer was wrong.
Once Gnosis identifies a student's dominant weak spot, it starts generating new questions specifically targeted at that pattern, and keeps at it until the student answers 4 of the last 5 targeted questions correctly. The Dashboard tracks this over time, so a student can actually watch a weak spot shrink instead of just seeing a score. From there, Gnosis links directly to College Board's Bluebook and Khan Academy so students can apply what they've learned on real, official practice.
How we built it
The backend is Flask with SQLite for storing students, sessions, and responses. The diagnostic engine, the error taxonomy and the mastery-tracking logic, is built as a subject-agnostic module, so Reading and Math both plug into the exact same reasoning core instead of being two separate features stitched together. Question generation and error classification run on Google's Gemini API, prompted to return structured JSON that the app can act on directly.
The frontend is server-rendered with vanilla JS driving the practice loop, kept deliberately lightweight so it stays fast on a slow connection, which mattered a lot given who this is built for. It's deployed on Render at a custom domain, gnosissatprep.xyz.
I built this solo on the coding side, with my teammate Sharon on the project for direction and for what comes next, community and outreach once real students start using it.
Challenges we ran into
A few real ones, not made up for the write-up:
- AI models get deprecated fast. My first model choice, gemini-1.5-flash, was fully shut down by Google mid-build. Fixed it by switching to Google's
gemini-flash-latestalias, which always points at their current stable model instead of a fixed version that can die on you. - Free tier limits are tight. Between debugging and testing, I burned through Gemini's daily free-tier request cap more than once. Solved it with retry-with-backoff in the code, and just by pacing my own testing better.
- Dollar signs broke the math renderer. I use KaTeX to render math notation, and it treats
$as a math delimiter. When Gemini wrote a currency amount like "$50" in a word problem, KaTeX read that as the start of a formula and swallowed the entire rest of the sentence into one broken, unspaced block. Fixed it by explicitly instructing the model to always spell out "50 dollars" instead of using the symbol.
Accomplishments that we're proud of
Getting the diagnostic engine to actually reason about why an answer is wrong, with real evidence, not a canned explanation, and having it generalize across two completely different subjects using one shared taxonomy. That was the technical core of this project, and it works.
What we learned
That the hardest part of an AI-agent project usually isn't the AI part, it's everything around it: model lifecycle management, rate limits, and small rendering conflicts you don't expect until you hit them live. Also relearned patience debugging under a deadline.
What's next for Gnosis SAT Prep
Cross-device email login, so a student's progress follows them between phone and laptop instead of tracking per browser session. Peer study groups matched by shared weak spot. And eventually, extending the same diagnostic taxonomy beyond the SAT to other standardized tests where the same "why did I get this wrong" gap exists.
Log in or sign up for Devpost to join the conversation.