Attendance tracking
One-tap roll call, batch updates, and a per-student history view. This guide covers everything attendance-related, including the analytics that show up downstream.
Marking a class
Open the classroom and switch to Attendance. The page shows today's roll call by default — every student in the class as a row, with a tap target for present/absent.
Tap a row to toggle present (filled) or absent (outlined). The change is persisted instantly via POST /api/classrooms/[id]/attendance — you don't need to click save.
Marking a different date
Need to backfill from a class you forgot to mark? Use the date picker at the top of the page. Attendance is uniquely keyed by (userId, classroomId, date), so you can re-edit any past date without creating duplicate rows.
Batch attendance
For institutions that take attendance via a paper sheet or external system, the batch endpoint accepts a list of records:
POST /api/classrooms/:id/attendance/batch
{
"date": "2025-09-12",
"records": [
{ "userId": "user_abc", "isPresent": true },
{ "userId": "user_def", "isPresent": false }
]
}Records are upserted, so the endpoint is safe to retry.
Per-student history
Click any student's name from the roll call to open their attendance history. The view shows every recorded date, the cumulative attendance percentage, and a sparkline of the trailing four weeks — useful for flagging patterns before they become problems.
Analytics and exports
The classroom Analytics tab includes:
- Class-wide attendance rate per week.
- Distribution of student attendance percentages.
- A list of students below the institutional threshold (75% by default).
Each chart can be exported as a CSV for institutional reporting.
Things to know
- No retroactive deletion. Marking someone absent that you previously marked present updates the row in place — there's no audit log.
- Removed students keep their history. Removing a student from the classroom doesn't delete their attendance.
- Notifications are off by default. Toggle Notify on absence in classroom settings if you want students to get an email when they're marked absent.