Upload your notes, configure the quiz, copy the prompt to ChatGPT or Claude, then paste the result back here.
Upload your lecture PDFs, or a previously exported material.json. Your material is saved locally and reusable.
Paste a past exam here — the LLM will match its style and difficulty without copying questions.
Paste the JSON your LLM generated. Give it a name and save — it'll appear in your quiz library.
All quizzes and materials are stored locally in your browser's IndexedDB. Export a backup to keep a copy or move to another device.
A quiz file is a single JSON object. The LLM generates this file from your material. You import it into the Take Quiz page.
Supported question types: mcq · true_false · short_answer · fill_blank
When you export for grading, the tool sends a grading_request JSON. The LLM should return a grading_response JSON. You then import the response on the Review page.
The ingest script (scripts/ingest.js) parses your source files and produces two things:
data/notes.db — SQLite database for internal indexingdata/material.json — LLM-readable export of all content, organized by topicYou can also upload PDFs directly on this page — they're processed in your browser and saved locally.
Option A — Browser-only (upload PDFs here) ────────────────────────────────────────── Your PDFs → Upload on this page → material saved locally → Configure → Copy prompt → LLM → Paste result back here Option B — Node.js ingest (for large/complex sources) ────────────────────────────────────────── node scripts/ingest.js data/sources/lecture.pdf → data/material.json generated → Upload material.json here or load on Setup page Pipeline 2 — Take & Grade ────────────────────────────────────────── quiz saved → Take Quiz → Finish & Export → grading JSON → LLM → import response → Review page
| → / ↓ | Next question |
| ← / ↑ | Previous question |
| F | Toggle flag on current question |