Inspiration
We are students ourselves, and we built ExamTwin because we were looking for a tool like this and could not find one.
Study materials are usually scattered across PDFs, notes, old exams, university platforms, group chats, and shared folders. Existing tools can generate quizzes or flashcards, but they rarely understand the real structure of a specific exam, track performance across multiple attempts, or help students prepare together.
We wanted one place where students could upload their real course materials, recreate the format of their exam, generate realistic mock exams, understand their weak areas, and improve through repeated practice.
What it does
ExamTwin is an adaptive exam preparation platform that turns real study materials into personalized mock exams.
Students can:
- create a study space for a course or exam;
- upload notes, past exams, rubrics, syllabi, and other learning materials;
- generate realistic mock exams based on those materials;
- complete exams directly inside the platform;
- receive structured feedback and performance analytics;
- identify recurring mistakes and weak skills;
- generate follow-up exams focused on those weaknesses;
- track progress across multiple attempts;
- share study spaces with classmates;
- create groups and prepare together;
- publish reusable study spaces in a community library.
Unlike a generic quiz generator, ExamTwin focuses on the full preparation cycle:
materials → exam structure → mock exam → evaluation → analytics → adaptive next exam
How we built it
We built ExamTwin as a modular full-stack platform.
The frontend is built with Next.js, React, and TypeScript. It provides the study dashboard, material upload flows, mock exam interface, analytics views, shared study spaces, and community features.
The backend is built with FastAPI, Pydantic, SQLAlchemy, and PostgreSQL. It manages authentication, users, study spaces, uploaded materials, exams, attempts, responses, analytics, and collaboration features.
The AI layer uses OpenAI models to:
- analyze uploaded study materials;
- extract topics, skills, question types, and exam structure;
- generate grounded mock exams;
- evaluate open-ended responses;
- explain mistakes;
- map answers to skills;
- create personalized follow-up exams.
The analytics layer uses Python and pandas to calculate scores, skill-level performance, trends, consistency, confidence, recurring mistakes, and readiness estimates.
We designed the system to remain flexible across very different subjects, from IELTS and university entrance exams to mathematics, law, medicine, and quantum physics.
Codex was used throughout the development process for implementation, refactoring, debugging, architecture decisions, API design, and testing.
Challenges we ran into
The hardest challenge was making the system flexible enough to support very different kinds of exams.
An IELTS writing task, a multiple-choice biology test, and a quantum physics problem set cannot be evaluated using the same fixed structure. We therefore avoided hardcoding the platform around one subject and instead created reusable abstractions for:
- exam sections;
- question types;
- skills;
- scoring rules;
- rubrics;
- difficulty levels;
- answer formats.
Another challenge was keeping generated exams grounded in the uploaded materials. The system needs to create new questions without inventing unsupported facts or ignoring the original exam format.
We also had to separate AI-generated insights from deterministic analytics. Language models are useful for evaluation and explanation, but scores, trends, attempt histories, and statistical metrics must remain structured, reproducible, and transparent.
Finally, we had to control the scope. ExamTwin combines AI generation, analytics, collaboration, community features, and gamification, which made it very easy to attempt building an entire university ecosystem in one week. Humanity survives scope creep once again.
Accomplishments that we're proud of
We are proud that ExamTwin became more than a basic PDF-to-quiz generator.
We built a complete preparation workflow where students can upload real materials, generate exams, complete them, receive feedback, understand their weak skills, and continue with personalized practice.
We are especially proud of:
- the flexible exam model;
- adaptive mock exam generation;
- skill-level analytics across multiple attempts;
- support for both objective and open-ended questions;
- reusable study spaces;
- collaborative preparation;
- a clean and focused user experience;
- building a working product in a very short period of time.
The project was created by students for a problem we experience personally, which helped us make product decisions based on real needs rather than imaginary user personas.
What we learned
We learned that generating questions is the easy part. Building a reliable learning system around those questions is much harder.
A useful education product needs more than an AI prompt. It needs structured exam models, clear evaluation rules, historical data, confidence estimates, transparent analytics, and a feedback loop that actually changes what the student studies next.
We also learned that educational analytics must be domain-independent. The platform cannot assume that every subject consists of vocabulary terms or multiple-choice questions.
Most importantly, we learned that familiar ideas can become more valuable when they are combined around a clear user problem. ExamTwin uses known components such as document analysis, mock exams, progress tracking, and study communities, but connects them into one continuous exam preparation workflow.
What's next for ExamTwin
Our next steps are to:
- improve exam blueprint extraction;
- support more document formats;
- add stronger rubric-based evaluation;
- introduce richer skill graphs;
- improve readiness prediction;
- add spaced repetition and personalized study plans;
- expand group challenges and gamification;
- build a larger community library of reusable courses and exams;
- allow teachers and institutions to create verified study spaces;
- add deeper analytics for long-term learning progress;
- expand support to professional certifications and standardized exams.
Our long-term goal is to make ExamTwin a shared preparation layer for any exam: students should be able to find or create a study space, practice under realistic conditions, understand exactly where they are weak, and improve together.
Built With
- codex
- css
- docker
- fastapi
- gpt-5.6
- next.js
- openai-api
- pandas
- postgresql
- pydantic
- python
- pytorch
- react
- sqlalchemy
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.