How to track participant progress in real time
Every participant has a status on every step: not started, in progress, done or stuck. Arriving on a step sets it to in progress automatically; the participant marks it done, or marks themselves stuck, with one tap. The host dashboard renders the whole room as a grid and sorts stuck participants to the top, so the question “who needs help right now” has a continuous answer instead of a periodic one.
Last updated
The four states
The states are deliberately few. A richer vocabulary would be more expressive and less used — the value of this signal comes from participants actually maintaining it, which means it has to cost one tap.
- Not started — never visited. It means only that.
- In progress — set automatically on arrival at a step.
- Done — the participant marked the step complete.
- Stuck — the participant is blocked and wants help.
Arrival is recorded by the server
The first visit to a step records it as in progress server-side, not from the browser. A step already marked done or stuck keeps that status when revisited, so moving back through the material does not overwrite what a participant told you.
What the host sees
A per-participant, per-step grid updating live. Stuck participants sort to the top. Alongside it, a help-request queue collects raise-hand and help events with an explicit resolve action, so requests are worked rather than watched.
Presence is computed from a heartbeat: a participant who has gone quiet greys out as “Away” and stops occupying a seat, rather than sitting in your count as an apparently attentive attendee.
What the participant sees
Their own state, and only their own. The step rail shows a green check where they marked done and a hand icon where they have an open help request. It deliberately does not show the host's position or other participants' progress — a progress race is the fastest way to make the slowest third of a room stop reporting honestly.
After the session
Status history becomes the report: where each participant got to, which steps produced the most stuck signals, how long the room spent per step, and how the quizzes and broadcasts went. Run the same template with the next cohort and the comparison tells you whether the problem was the group or the step.
Frequently asked questions
Do participants have to mark steps manually?
Arrival is automatic — visiting a step marks it in progress. Done and stuck are explicit, one tap each, because only the participant knows which one is true.
Can participants see each other's progress?
No. Each participant sees only their own state. The full grid is the host's view.
What counts as connected?
A participant is connected while their client has sent a heartbeat recently and they have not left or been removed. It is computed on read rather than stored, so a closed tab frees its seat without anything needing to run in the background.
Is the progress data exportable?
Yes — the post-session report exports as Markdown, including per-participant progress, quiz results and broadcast responses.
Keep reading
How to write a workshop in Markdown
The complete authoring format: how # headings become steps, what Markdown is supported, and how to import or export a single .md file.
How to add a quiz to your workshop
Write graded quizzes in plain Markdown with #[quiz], ## questions and - [x] answers — and see how correct answers stay hidden.
How to run your first live session
From a Markdown file to a running session: starting it, how participants join with a 6-character code, and pacing the room.
Run your next workshop with the room visible.
Set up your first workshop in minutes — free, no credit card.
