Why EdProcto.
Every pattern, technically.
In the AI era a written assignment proves nothing; a question answered live, in a shape a chatbot cannot answer, from your own material, still does. This page says how EdProcto does each part, from the code as it stands, and what the tools out there do instead.
The record of what a student knows.
For a century the essay, the report and the take-home problem set were the evidence that a student had learned something. In 2023 that evidence stopped meaning anything. A chatbot writes the essay in seconds, the detectors are guesses, and an instructor who marks a take-home assignment now marks work whose author is unknown. Every school, college and training programme has felt it, and most have responded by giving up on the written assignment or pretending nothing changed.
There is a third answer. An answer produced live, in front of a record, in a shape a chatbot cannot fill in, from material the student was taught, is still evidence. A click on the right part of a diagram, a clip heard once, a memory after a reveal, an answer in the student's own voice, a case that unfolds only as the student answers it: none of these can be handed to a machine in the next window. Add a page that carries no answer key, a server that marks every answer the moment it lands, and a record of every leave of the tab, and the result is the student's own.
That is what EdProcto is: the record of what a student knows, built for the era in which every other record can be faked. The same engine serves a child's ten minutes of practice, a professional's board preparation and a company's product knowledge test, because the pattern is the same: questions from your own material, no key on the page, marks on the server, and a record that holds. The twelve patterns below say how each part is done, from the code as it stands, and what the tools out there do instead.
- 1
Written from your material alone
A student who has read the chapter can answer; one who has not cannot look it up.
HereProcto AI reads the PDF, Word file or notes (the text is extracted on the server, with no model), lists the concepts the material keeps returning to, and writes questions in the template’s exact shape through a structured output schema, so every question arrives with its options, key, explanation, topic and a citation to where in the source its answer is. With “Your material only” chosen, Procto AI is asked to write only questions the source answers, and each one says where.
ElsewhereA form tool holds the questions you type. A learning-management quiz bank and an exam authoring tool import questions you have already written. An AI quiz generator writes from the model’s general knowledge and hands you the result with nothing tying a question to your material.
In the code: src/edprocto/procto/procto.service.ts (the schema, the source check), extract.ts (the concepts)
- 2
The answer key never reaches the student’s device
There is nothing on the page to find.
HereWhen a student opens a quiz by its code, the server sends a copy with every key removed: correct options, accepted answers, the number, the region on the image, the model answer, the rubric and the explanation are all stripped. The items of an ordering question and the right-hand side of a matching question are shuffled with a seed the student does not have, so the original order cannot be recovered. Answers are saved to the server as they are given, and the marks are made there from the instructor’s copy when the student hands in.
ElsewhereA locked browser stops a student opening the developer tools during an exam; it does not remove the key from the page, and a quiz whose page holds the key is one screenshot from another device away from being read. A flashcard app carries both sides of every card by design.
In the code: src/edprocto/store/view.ts studentView and markAttempt; take.controller.ts
- 3
Integrity is a stack, and every measure has its own consequence
The monitoring the stakes need, and no more.
HereSecurity measures switched on one by one, each with its own consequence: log it, warn the student, reduce the score (a tenth for each, never below half), end the quiz, or flag the attempt for review. The runtime enforces the browser-side measures (leaving the tab, leaving full screen, copy and paste, the context menu, printing, keyboard shortcuts) the moment they happen and records each with its time; the server applies the reductions when it marks. The camera, the microphone, the shared screen and the identity check at the start are switches of the same kind, for the exams that need them. The named levels are only presets over the same switches.
ElsewhereA proctoring service is a session: it is on or it is off, the recording is reviewed afterwards, and the penalty is a conversation. A learning-management quiz has a lockdown switch and a time limit.
In the code: src/edprocto/shared/settings.ts (the measures, the consequences, the levels); the dashboard’s student/TakePage.tsx violate()
- 4
Shapes with nothing to paste
A question that has to be heard, clicked or spoken cannot be handed to a chatbot.
Here111 templates in twelve categories. A clip that plays once and asks for a typed answer, on a player with one button and no pause or rewind. A point on an image, marked as fractions of its width and height and checked against a region the student never sees. A recorded answer in the student’s own voice, captured in the browser and stored with the attempt. Material shown for a counted number of seconds and then hidden. Code, uploads, staged cases, two-tier and confidence-rated answers.
ElsewhereA form tool offers a handful of question types. A live quiz game is built around multiple choice on a shared screen. A learning-management quiz has ten to fifteen types, none of them a clip that plays once.
In the code: src/edprocto/shared/templates.ts; the dashboard’s student/Answering.tsx
- 5
A different quiz for every student
A shared answer sheet stops working.
HereQuestion order and option order are shuffled per student from a seed of their own, so two neighbours see different screens and each student sees the same order every time they reopen the quiz. A quiz made by rule from a kit goes further: with “A fresh set for each student” on, as the reasoning battery is from the start, every student is dealt their own questions by the kit’s rule and marked against their own. With “A different set of questions for each student” on, Procto AI writes each student their own questions on the same concepts from your material, so there is no set to pass round.
ElsewhereShuffling exists in most quiz tools; a different set of questions per student on the same concepts does not.
In the code: src/edprocto/store/view.ts orderFor and studentView; src/edprocto/fresh.ts
- 6
Marking by rule that knows what partly right means
Credit for the part that is right, a cost for guessing, and a bonus for knowing that you know.
HereChoice, several options, typed text with a one-letter slip allowed, gaps, numbers within a tolerance and a half-credit tolerance, lists in any order or in order, ordering, matching, sorting into groups, a click on an image: each has its own rule. Partial credit is per part. Negative marking takes one over the number of wrong options, so guessing among four earns nothing on average. Confidence-rated answers earn up to a fifth more when sure and right and lose up to a fifth when sure and wrong. Open answers wait for a reader, never for the rules.
ElsewhereA form tool marks exact matches. A live quiz game weights points by how fast the student clicked.
In the code: src/edprocto/shared/score.ts (12 tests)
- 7
Results that tell knowing from guessing
Which questions separated the students who knew the material from those who did not.
HereFor every question: difficulty, discrimination between the upper and lower 27%, point-biserial, every option’s takers and their mean score, median time. For the quiz: mean, median, spread, pass rate, Cronbach’s alpha, topic means, pace. Then findings in plain sentences: the question nearly everyone got, the one whose key is probably wrong, the wrong option that beat the right one, the student who finished in a quarter of the time with a low score.
ElsewhereA live quiz game reports the percentage correct. A form tool draws charts. Item analysis exists in some learning-management quizzes; the findings in sentences do not.
In the code: src/edprocto/shared/analysis.ts (4 tests)
- 8
Students take it on their own devices, by a code, with no account
A class behind one network address starts at once and nobody is locked out.
HereThe instructor publishes and a six-character code opens the quiz anywhere. Every answer goes to the server as it is given; a dropped connection or a closed tab loses nothing, and the same link resumes the attempt. The student doors take three hundred calls per ten seconds from one address, because a classroom sits behind one.
ElsewhereA live quiz game needs a host on a screen. A learning-management quiz needs enrolment in that system. A proctoring service needs its own software installed and a session booked.
In the code: src/edprocto/take.controller.ts
- 9
The instructor sees the quiz as it happens
Who is in, how far they are, what was flagged, refreshed every few seconds.
HereWhile a quiz is live the results page asks the server every five seconds and shows each student in the quiz: how many questions answered, how long they have been in, whether they are over time, how many events and the last one. A quiz night goes further: players join by the code on their phones, every answer is checked on the server as it lands, and the host’s screen shows the code, the players and a scoreboard ranked by points then time, refreshed every few seconds.
ElsewhereA form tool shows responses when they arrive. A proctoring session is reviewed afterwards.
In the code: the dashboard’s pages/ResultsPage.tsx LiveNow
- 10
Students are told exactly what is on
No measure runs that the invitation did not name.
HereThe gate lists every measure switched on and its consequence in plain words, and takes consent before the quiz begins. What is recorded is kept with the attempt for the instructor, and no flag is a penalty the instructor did not set.
ElsewhereProctoring services publish their policies; the student reads them somewhere else.
In the code: the dashboard’s student/TakePage.tsx Gate
- 11
Procto AI grades, and never decides
A reader with a rubric, and an instructor who releases every score.
HereAn open answer goes to Procto AI when the instructor asks on that answer. It is read against the instructor’s rubric and comes back with points and a note, saved under Procto AI’s name for the instructor to keep or change. It never releases a score, never decides a penalty, and never rewrites a student’s answer: the server accepts a grade as a change to the marks and nothing else.
ElsewhereAn AI grader that returns a grade to the student is a verdict with no appeal.
In the code: src/edprocto/procto/procto.service.ts grade; quizzes.controller.ts grade()
- 12
Make the quiz first, sign up after
The product is tried before anything is asked.
HereThe maker on the home page reads the material and writes the quiz there, with no account. The quiz travels to the dashboard in the address itself, survives the sign-up, and opens in the builder ready to share by code and set its rules.
ElsewhereMost tools ask for the account first and show the product after.
In the code: src/components/QuizMaker.tsx, lib/draft.ts; the dashboard’s RequireAccount and NewQuizPage
Questions.
- Why does assessment need a new tool in the AI era?
- Because the written assignment stopped being evidence of what a student knows. A chatbot writes a passable essay in seconds, and no detector tells the difference reliably. What still counts is an answer produced live, in front of a record, in a shape a chatbot cannot fill in, from the material the student was taught. EdProcto is built as that record.
- What makes EdProcto different from a quiz form or a learning-management quiz?
- Three things a form does not do: the questions are written from your own material alone; the answer key never reaches the student's device; and integrity is a stack of twenty-one measures, each switched on by itself with its own consequence. A form holds questions you typed and marks exact matches; a learning-management quiz has a lockdown switch and a time limit.
- What makes it different from a proctoring service?
- Proctoring is a session: on or off, recorded, reviewed afterwards. EdProcto puts the defence in the question first, with shapes that have nothing to paste, then adds measures one by one as the stakes rise, each enforced the moment it happens and marked by the server. Students are told every measure before they begin.
- Does Procto AI decide grades?
- No. It writes questions you edit, and it marks a written answer against your rubric only when you ask on that answer, leaving the mark for you to keep or change. Every score is released by the instructor, and no flag is a penalty the instructor did not set.