Inspiration

Students often receive a marked physics paper and know they got answers wrong, but do not know what idea caused the mistakes. They are told to study more, without being shown the mental model behind the pattern.

Doxa was built to make that hidden mental model visible.

What Doxa does

Doxa is an educational diagnostic for Newtonian force.

A student answers eight short multiple-choice questions. The answers are marked locally in the browser. Doxa then uses an AI model to infer the single theory that best explains the student's pattern of mistakes.

It does not act like a chatbot beside a quiz. It treats the answers as evidence of how the student is thinking.

Doxa then:

  1. Names the inferred misconception.
  2. Builds a small concept graph showing the affected ideas.
  3. Runs that misconception against five unseen questions.
  4. Shows which unseen questions the theory predicts the student would fail.
  5. Generates one focused repair explanation.
  6. Gives the student a short teach-back question.
  7. Runs the same unseen questions again after the repair.

The goal is to show the theory moving from failure to understanding.

How it was built

The eight diagnostic questions are marked locally using a typed answer key. No AI is used during marking.

The AI is used for three reasoning tasks:

  • Inferring the student's misconception world.
  • Running that world against unseen holdout questions.
  • Generating a focused repair and retesting the repaired world.

The model is required to return structured JSON. Invalid responses are rejected and shown as a retry state instead of being replaced with fake results.

The application uses React context for session state. It has no accounts and no database, so a refresh intentionally starts a fresh diagnostic session.

Technology

  • Next.js App Router
  • TypeScript
  • React
  • Tailwind CSS
  • Groq API
  • openai/gpt-oss-120b
  • motion/react
  • GSAP ScrollTrigger
  • Vercel

Challenges

The hardest part was making the model produce an executable theory rather than a generic explanation. The prompts had to describe the misconception worlds, holdout options, and exact response contracts clearly enough for the model to reason over unseen questions.

Another challenge was keeping the experiment honest. The browser performs the marking, the student never answers the holdout questions, and the holdout verdicts come from the model. The client does not hardcode the expected failures or successes.

What we learned

A short answer pattern can contain more information than a collection of isolated mistakes. When the pattern is treated as evidence of a theory, the system can make a prediction before showing the student the unseen questions.

The most useful feedback is not simply “wrong answer”. It is “this is the idea that produced your answers, here is where it predicts failure, and here is the smallest repair to test.”

Try Doxa

Use the live demo to complete the full loop:

Landing → Diagnostic → Theory → Unseen paper → Repair → Retest

Built With

Share this project:

Updates

Submission history