Project Overview and Business Context
The client was an edtech startup working with secondary schools and sixth-form colleges. Their initial product was an essay submission platform with no marking assistance. Teachers used it for submission management but still marked essays manually, limiting the platform's value beyond a slightly better version of email submission. The opportunity was clear: add AI-assisted marking that reduced teacher marking time while providing students with faster, more detailed feedback than the average teacher could produce on a tight timetable. The mark scheme is the foundation of the product. UK GCSE and A-level mark schemes from AQA, Edexcel, and OCR are public and follow a structured format: Assessment Objectives (AOs) with descriptor bands per grade boundary. An AI grading tool that applies AO descriptors systematically and produces criterion-by-criterion scores is doing something qualitatively different from a tool that produces a generic holistic score. Teacher professional judgment remains the final gate: the AI produces a draft mark and comment, the teacher reviews, edits, and approves before the student sees anything. This workflow design addresses the SQA and Ofqual guidance concerns about AI in high-stakes assessment: AI as a teacher aid rather than an autonomous marking system. UK GDPR obligations for student data are fully addressed, with student writing stored securely and not used for model training or any purpose beyond the specific marking task.
Technical Architecture and Stack Decisions
The application is a Next.js frontend deployed on Vercel, with Supabase handling authentication, essay storage, and marking record management. The essay submission flow accepts text input directly or DOCX/PDF upload. Uploaded files are parsed server-side to extract clean text before passing to the AI layer. Mark schemes are stored in Supabase as structured JSON objects: subject, qualification type, Assessment Objectives with band descriptors per grade level, and maximum marks per AO. The marking pipeline is a server-side API route that passes the essay text, word count, mark scheme configuration, and any teacher-specified focus areas to Anthropic Claude. Claude returns a structured JSON object: a score for each Assessment Objective, the evidence from the essay that supports the score (quoted passages), a mark scheme band descriptor that best fits the AO performance, and a draft written comment for the AO. A composite score and overall grade band are computed from the AO scores using the configured weighting. The teacher marking interface presents the essay on the left with the AI mark, AO breakdown, and quoted evidence on the right. Each AO score is editable, with the teacher's changes tracked separately from the AI draft. The teacher reviews and edits the written comment, then approves the marking for student release. The student view shows only the approved teacher marking, with no indication of AI involvement unless the school has chosen to disclose it.
Key AI and ML Components
Anthropic Claude is the marking engine. The system prompt encodes the mark scheme for the specific subject and qualification: Assessment Objectives, band descriptors, and exemplar evidence of what high and low performance in each AO looks like. The prompt instructs Claude to score each AO independently, to quote specific passages from the essay as evidence for each score, and to explain the scoring decision with reference to the mark scheme band descriptor. Structured JSON output is required, and the response parser validates completeness before the result is displayed. Claude was chosen for this application because of its strong instruction-following on structured output requirements and its reliability on analytical tasks that require reading comprehension and criterion application. The evidence-quoting requirement is critical for teacher trust: a teacher reviewing an AI mark needs to see exactly which essay passages Claude interpreted as demonstrating (or failing to demonstrate) each assessment objective. Without evidence, the AI mark is a black box that teachers cannot meaningfully review or override with confidence. The system prompt is parameterised by subject and qualification, so the same technical infrastructure supports GCSE English Literature, A-level History, A-level Biology essays, and any other qualification with a structured AO mark scheme.
Challenges Solved and How
Mark scheme interpretation is not straightforward. AO band descriptors use evaluative language (clear understanding, perceptive analysis, some engagement) that requires judgment to apply. Claude's performance on mark scheme application improves significantly when the system prompt includes worked examples of essays at different grade bands with annotations explaining why each example sits in its band. SpeedMVPs works with the client's subject experts to produce two to three annotated exemplars per AO per qualification, which are embedded in the system prompt as few-shot examples. This calibration work, which takes roughly a day per subject, is the most important investment in accuracy. Essay plagiarism and AI-generated text detection are out of scope for the marking tool itself, but the client implemented Turnitin integration at the submission layer, with the AI marking pipeline only receiving essays that have passed the plagiarism check. GDPR compliance for essay content is addressed by treating essay text as student personal data: stored encrypted in Supabase, not passed to Claude's API with training data opt-in enabled, and retained only for the duration of the academic year unless a longer retention period is required for moderation purposes.
Outcome and Measurable Results
The client ran a pilot with six teachers across three schools, covering 1,240 essay submissions over a 12-week period. Teacher marking time fell from an average of 18 minutes per essay to 6 minutes per essay when using the AI-assisted workflow, a 67% reduction. Teacher agreement with AI AO scores (accepting the AI score without change) was 71% across all subjects, with the highest agreement on GCSE English Language (79%) and lower agreement on A-level History (62%), reflecting the greater interpretive complexity of the history mark scheme. Student feedback on the formative comments (collected via survey) showed that 83% found AI-assisted comments more detailed than comments they typically received from teachers under standard marking conditions, attributed by teachers to the structured AO breakdown prompting more systematic comment drafting.
Lessons for Similar Projects
The system prompt is a curriculum document, not just an engineering artefact. Involve subject specialists in system prompt design and invest in annotated exemplars for each qualification. Without good exemplars, Claude's mark scheme application is unreliable on edge cases. Make the teacher approval step prominent and easy. If reviewing and approving AI marks takes longer than marking from scratch, adoption fails. Design the review interface for speed: keyboard navigation, one-key approval for unchanged scores, and clear visual diff between AI draft and teacher edits. Communicate AI involvement to students appropriately. Ofqual has developing guidance on AI in assessment, and schools need a clear position on disclosure. Build the disclosure preference as a configurable option from day one. Start with one subject and one qualification. The temptation to launch across all subjects simultaneously creates a calibration debt that is hard to resolve post-launch. Get one subject right, validate with teachers, then extend the mark scheme library.