01

The live check-in

Rotating QR + 6-char code

Open a session and project it. Students scan the QR or type the short code at your check-in URL — whichever is faster from where they’re sitting.

Anti-proxy token rotation

The code is a time-based token that rotates every few seconds, with a one-window grace for scan latency. A screenshot sent to an absent friend is already dead on arrival.

One phone, one student

A signed, session-scoped device tag caps how many students a single phone can check in. It’s a cap, not a fingerprint — it can’t track anyone across sessions.

Projector mode

A full-bleed live screen built for the back row: giant QR, current code, and a climbing count, readable from 40 metres.

02

After the bell

Computed-on-read matrix

Students × sessions, never precomputed. Adjust your attendance policy and every percentage and flag recomputes instantly — nothing stale, nothing to migrate.

At-risk flagging

Set a threshold; Présence surfaces students drifting toward it. You see who to email while it still matters, not at the exam board.

Teacher overrides

Mark an excused absence or correct a missed scan. Your override wins over the raw event — and the raw event is never destroyed.

CSV & XLSX export

Hand the registrar exactly what they expect. Corrections and excused absences are baked into the export, not bolted on after.

03

Built for real classrooms

Four languages, no friction

English, French, German and Italian across the whole product. The student check-in page follows the browser, so nobody’s stuck.

Per-course rosters

A student is a roster entry inside one course, not a global identity. Two courses, two clean records — and clean deletion when a course ends.

Recurring sessions

Generate a term’s worth of weekly sessions at once. Open them with a click when class starts.

Self-hosted, your data

Runs on ordinary Node hosting you control. No third-party cloud sits between you and your students’ records.