Inspiration
Honestly this came from watching my friend prep for JEE and just... struggle with tools that weren't even about the math anymore. She'd open one "AI tutor" app and hit a paywall after five questions. Another one had so many banner ads and "upgrade to premium" popups that she'd spend more time closing tabs than actually solving the problem. And the ones that were free just gave you the final answer with zero working — which is basically useless when your exam grades you on the steps, not just whatever number you land on. -- That's really it. I didn't want to build "yet another AI tutor." I wanted something I could just open, drop in my own free Gemini key, and use — no account, no ads, no upsell screen between me and the actual problem. The bring-your-own-key thing wasn't really a technical decision so much as the whole point of the project: it's free because Google's API already gives you a free tier, and there's nothing sitting in the interface trying to sell me something while I'm trying to concentrate on a differential equation at midnight.
What it does
You type a doubt in — or photograph handwritten work — pick your board/grade and subject, and choose how you want it solved: a full Step-by-Step Proof with every formula in LaTeX, a Socratic Hint mode that gives three progressive nudges instead of the answer outright, or an Exam Marking breakdown that shows how marks actually get allocated per step on board and competitive exams. The response depth adjusts to how complex the actual question is, not just whichever grade tier you've selected, so you're not wading through a formal derivation for something that's genuinely simple. Solved doubts save to a local Vault you can export to Markdown or JSON later.
How we built it
Idea was mine and i wanted to materialize it but i couldnt code all those lines so i used ai to bring my idea to real life.. It used React, TypeScript, and Vite for the app itself, Tailwind for styling, zustand for state. No backend at all — it's fully client-side, and you bring your own Gemini API key, which stays in localStorage and talks directly to Google from the browser using the current Gen AI SDK. Responses come back as structured JSON against a typed schema so the UI always knows what shape to expect instead of trying to parse free-form text. Math renders through KaTeX. I spent real time on the interface too — deliberately avoiding the gradient-heavy, glowing-card look most AI tools default to, going for a plain editorial type system and hairline borders instead, because the last thing a stressed student needs is another flashy dashboard competing for their attention.
Challenges we ran into
The biggest one wasn't technical in the usual sense — it was getting the model to actually match its effort to the question. Early on, I asked it something as basic as 2+2 and it gave me back a full formal proof using successor definitions and the associative property, which is absurd for that question at any grade level. I had to rewrite the system instruction to explicitly calibrate depth to the actual complexity of what's being asked instead of the ceiling implied by the selected grade, and stop the schema from implicitly demanding padded-out steps. Separately, I hit a rendering bug where some fields in the response — specifically the practice-challenge answer — weren't going through the same markdown/KaTeX pipeline as the main steps, so LaTeX delimiters were leaking into the page as literal text instead of rendering. Tracked it down to an inconsistent renderer being used for that one field and routed everything through the same component.
Accomplishments that we're proud of
Getting a genuinely zero-server product working end to end — multimodal input, structured output, three distinct reasoning modes — without needing any backend infrastructure at all. And honestly, getting the interface to not look like every other AI wrapper that's shipped this year. It was tempting to just reach for the default gradient-hero template, and I kept pulling myself back from that.
What we learned
Due to this experience i further developed my skills to code using ai and maximize effeciency while maintaining my sanity. I also did learn a little bit of coding while watching claude code and really felt like a worth it experience. That telling a model to be "rigorous" without giving it a floor just means it's rigorous whether the question needs it or not — calibration has to be explicit, it doesn't happen by default. And that visual restraint takes more deliberate effort than visual flair does; it's much easier to end up with a cluttered dashboard than to actively keep cutting things out of it.
What's next for Axiom-Your-Tutor
At last i think that i can spend some time if i win by further developing this into a platform that can run on its own instead of needing someone else's API key (right now i dont have no funds to fund API keys that can be used by others hence the concept of "Your key, Your lock".
Built With
- claude
- css3
- gemini
- google-gemini-api
- html5
- javascript
- katex
- react
- tailwind-css
- typescript
- vite
- zustand