EST. 2025

- Case 06 · EdTech

Biology learning platform with AI grading.

We use our own product to show how we build larger systems with AI inside. A student works through a real Matura (Polish secondary school leaving exam) paper, a language model grades the open-ended answers against the official scoring rules, and the platform turns that into a map of what the student doesn't know yet.

Client
PRODAUT's own product
Industry
EdTech
Services
Applications, AI
Duration
under construction
Year
2026

- Before

all a regular app can check automatically
multiple choice

scope

how open-ended answers are graded today
by hand

scope

all the feedback a student gets
score %

scope

Situation

Exam-prep apps handle closed questions fine, because there it's enough to compare a letter. The trouble starts with open-ended tasks, and those are what decide a biology score. To check them, someone has to read the student's answer and compare it with the scoring rules.

The result: the student completes a paper, gets a percentage and has no idea why they lost a point. The teacher knows, but can't check thirty papers a week.

Why it's hard

A language model asked outright to grade an answer is too polite. It awards a point for an answer that sounds reasonable even when it lacks an element the key requires. For learning, that's worse than no grade at all, because it reinforces the mistake.

The second difficulty is repeatability. The same answer must get the same score today and a week from now, otherwise progress can't be measured.

What we're building

The system is a modular monolith in Symfony with API Platform and a React front end. Instead of one big application we have six domain modules with separate boundaries: content and papers, solving sessions, grading, student progress, accounts, payments.

Grading is a separate module precisely because it's the riskiest part. It can be swapped out, or a second model added for comparison, without touching the rest.

  • papers and tasks as data, not as PDFs to scroll through,
  • scoring rules stored with the task, just like in the official key,
  • a grade broken down into key elements, not a single number,
  • every attempt saved, so progress is computed from history rather than the latest try.

How grading works

The model isn't asked "how many points". It gets the task, the student's answer and the itemized key, and its job is to indicate which key elements appear in the answer and which are missing. The points are counted by code, not by the model.

That's how the student gets a sentence like "you have the mechanism, you're missing the effect on the organism" instead of a bare score. That is the whole value of this platform.

What we keep an eye on

Before grading goes out to students, we test it on answers with a known score and compare it with a human grader. As long as they diverge, we don't show it as a grade, only as a hint.

We take the same approach with clients. AI gets a narrow task with a clear key, and the decision is computed by code that can be verified.

Data flow

  1. 01Student works through a paper
  2. 02Answers go to the grading module
  3. 03Model compares against the key
  4. 04Code counts the points
  5. 05Knowledge-gap map and the next review

Project goal

tasks checked without a teacher
open-ended

goal

feedback instead of a bare percentage
what's missing

goal

progress computed from every attempt
from history

goal

- What's next

First, grading that agrees with a human closely enough to be shown as a grade, then a first test group of students. Only after that: accounts, payments and a public release.

- Stack

  • SYMFONY 8
  • API PLATFORM
  • REACT 19
  • POSTGRESQL
  • CLAUDE API

- Have a similar process?

Tell us what
eats your hours.

We'll get back within 4 business hours with questions, or straight away with a proposal for how to wire it up. No strings attached.

contact-form

The data controller is PRODAUT Sp. z o.o. We use your data to reply to your enquiry. If you consent to advertising cookies, a hash of your e-mail is sent to Google Ads for conversion measurement. Privacy policy.

Prefer a call? Pick a slot for a 30-minute consultation →

- See also

- Let's start

Want the same result
in your company?

A 30-minute call, zero cost. Tell us where you lose hours and we'll come back with an estimate of how many you can get back.

PRODAUT Sp. z o.o. · Sułków 36, 48-120 Baborów · District Court in Opole, 8th Commercial Division of the National Court Register · KRS 0001242863 · NIP 7481597304 · REGON 544821885 · Share capital PLN 5,000

© 2026 PRODAUT · All rights reserved
Privacy policy·Cookies·GDPR
Made with in Katowice