How it works
You stay in control. At every step.
LumoGrade is not an auto-grader that replaces your judgement. It is a first-pass tool calibrated to match your standard — and every grade waits for your approval before anything happens.
Upload your rubric
Paste your criteria as text, upload a PDF, or build it in LumoGrade's editor. The system understands criterion names, point values, and descriptors — there is no special format to follow.
You can create a rubric once and reuse it across multiple assignments. Each assignment tracks its own version history, so changing a rubric for a new class does not affect historical grades.
Calibrate to your standard — not a generic one
This is the step that makes the difference between a useful tool and a generic AI grader.
Grade a small set of samples — your own past work, anonymised examples, or a test batch. For each submission, LumoGrade shows you the AI grade; you accept, adjust, or override it and explain what was wrong. Each round rewrites the grading instructions, not the AI model. Nothing is trained. Nothing crosses between accounts.
The output is a CalibrationProfile: a plain-English set of grading instructions that captures your weighting, tone, and edge-case judgements. It is stored privately to your account and versioned — you can always roll back.
Recalibration works the same way. If a batch comes back with grades you are not happy with, flag the ones you want to fix, add a note, and run a new calibration round from that subset. Only the flagged submissions are re-graded.
Upload student work
Three paths:
Manual upload — drag a ZIP of PDFs, DOCXs, or plain-text files. LumoGrade extracts the text and creates a submission record for each file. Student name comes from the filename or a column you map.
Paste text — paste a batch of submissions separated by a delimiter. Good for short-answer work or assessments copied from a form.
Canvas / LMS launch — students submit through Canvas as normal. LumoGrade receives the submission via LTI and queues it automatically. Grades push back to the Canvas gradebook when you approve them.
Spot-check and approve
Every grade sits at "pending" until you approve it. Nothing reaches students or the LMS without your sign-off.
The spot-check view shows you each submission alongside the AI grade, criterion-by-criterion feedback, and the rubric it was graded against. Approve the good ones with a tap; flag anything you want to recalibrate or override manually.
Batches work too: if a class of 30 comes back and 28 look right, approve the 28 in one click and handle the other 2 individually. The batch stays atomic — partial approvals are recorded per submission, not per assignment.
Push grades to your LMS
For Canvas-linked assignments, LumoGrade writes grades and feedback back to the Canvas gradebook via LTI Advantage AGS (Assignment and Grade Services). Only approved grades are eligible to push; pending and rejected grades are never sent automatically.
You trigger the push manually. The "Push grades" button shows you exactly what will be written before you confirm — no surprises in the gradebook.
Manual submissions (uploaded files, not Canvas-linked) are not pushed to any LMS but are available in LumoGrade's results view for your records.
Recalibrate from rejected grades
When you flag a grade as rejected, you can add a note: "too lenient on grammar," "missed the counterargument," "this was actually a B not a C." LumoGrade surfaces those notes in the calibration interface.
Run a recalibration round from the rejected subset. The new profile version is applied to re-grade only the rejected submissions — not the whole batch. Approved grades are never touched.
Over time your calibration profile grows more precise. Each version is stored with a timestamp and the notes that drove it, so you can audit why the standard changed.
Your calibration data never leaves your account.
CalibrationProfiles contain distilled grading instructions — not student work. The AI model is never retrained. No information crosses between schools or teachers. Student submissions are processed ephemerally and never stored in model weights.