Keystroke replay for student essays

A replay is the essay being written, played back. Not a video, not a score, not a guess — a reconstruction from the edits that actually happened, with times on them.

What is being recorded

While a student writes, the editor logs compact events: an insert with its position and text, a delete with its position and length, a cursor jump of more than one character, a blocked paste, drop or drag attempt with its size, window blur and focus, and a resume after a reload. Each carries a millisecond timestamp. Batches go to the server as the student writes, so a dead battery or a dropped Wi-Fi connection costs nothing.

Playing that log back in order rebuilds the document character by character. On the dashboard you scrub the timeline, jump straight to a marked moment, and run it at 1x, 5x or 20x. There is no camera, no screen capture, and nothing outside the writing box is observed — the log knows the window lost focus, never what was in the other tab.

The authorship report, field by field

Every session has a printable one-page report. These are the exact rows:

At the top, either "No unusual patterns observed" or a short list of patterns worth a conversation. Sessions are flagged when more than 20% of typed characters arrived in bursts, when a single insertion was 100 characters or more, or when over half the text arrived as insertions. The report says in its own words that this is evidence, not a verdict, because a flag is a reason to look, not a decision. What a flag cannot do is covered in how to prove a student wrote it.

Open a real one

The demo dashboard is public on purpose, so you can see the actual thing before typing anything: writtenlive.com/t/demo/publicdemodashboardnotasecret. Two sample sessions are in it — one written normally, one with paste attempts, a large insertion, and machine-speed bursts. Click a name for the replay, then the report link for the printable page. It is a shared demo, so do not put anything private in it. Your own dashboard link is a long random token that only you have.

Privacy, in one paragraph

Stored: the name the student types, the text, and the timing log. That is the list. No student accounts or passwords, no email addresses kept with the work, no IP addresses stored alongside sessions, no third-party scripts, no analytics, no ads, and nothing is ever sent to an AI service or used to train anything. Everything is deleted automatically 180 days after the assignment is created. You can also delete it yourself at any moment: open your dashboard, scroll to the bottom, and use "Delete this assignment and all student work" — that wipes the assignment, every session, the text and the entire keystroke record immediately, and both links stop working. If you would rather not store names at all, tell students to enter an initial or a student number. Full detail on the privacy page.

Made by a developer after teachers asked for it. One person, hosted on Cloudflare, not a startup. Free for one class this school year, and there is no card field anywhere in the product.

Record your own session

One field, no account, student link on the next screen. Full form for prompts, time limits and due dates.

Read next