Upload question

Start with one question, one board, and one clear marking path.

This is the right next product slice: accept a GCSE Maths Edexcel question, separate the parts, let the student answer it, then return marks and theory notes.

Upload-session API demo

PDF upload

Best for a full worksheet, exam paper, or saved question booklet.

The future flow should split pages into question parts and preserve mark values where possible.

Photo upload

Best for a single printed question taken on a phone or tablet.

Good for quick revision when a student wants one question marked without scanning a whole paper.

Handwritten question photo

Useful when the question itself is written in notes or photographed from class materials.

The model will need OCR plus image understanding before it can separate multi-part questions well.

Type directly

Fastest first version for short answers, algebra, and explanation.

Ideal for the first AI-marking MVP because answer extraction is the most reliable here.

Write on screen

Use finger, Apple Pencil, stylus, or mouse for working out.

This is the best later path for maths once the first typed-answer flow is stable.

Upload written answer photo

Take a photo of a full worked solution and submit that for marking.

Useful for realistic exam practice because students can keep writing on paper.

What the backend now handles
1. Separate the question

Split the upload into parts, identify marks, and connect each part to the board, tier, and topic.

2. Capture the student's answer

Store typed, drawn, or uploaded responses part-by-part so marking stays anchored to the right section.

3. Mark against a source of truth

Use stored specs and mark schemes first, with AI helping interpret methods and explain feedback.

4. Teach after marking

Return marks, feedback, accepted methods, and a short revision note on the underlying theory.

The API layer now includes upload-session creation, board-link catalog routes, role dashboards, and an AI analysis endpoint with mock fallback until the real key and storage are connected.