Attendance in a Tap.
A modular, NFC-based smart attendance system designed to eliminate the roll call tax and buddy punching in Philippine academic institutions.
The Problem
Time Loss
5-15 minutes per class lost to manual roll call. Whether it is a roll call of students falling in line to check their attendance one-by-one.
Proxy Fraud
Students sign for absent classmates which is hard to detect by professors.
No Records
Paper sheets get lost, damaged, or go uncompiled.
No Visibility
Admins have zero real-time insight into attendance.
The Solution
TapIn uses the NFC UID already embedded in every school ID card – no new hardware for students. A compact ESP32 device in each classroom handles reading, feedback, and cloud sync.
Students tap their existing school ID.
Attendance is recorded instantly.
- ✦Hardware-level session lock; only teacher can open/close.
- ✦No student smartphone required.
- ✦UIDs can't be duplicated or shared like QR codes.
- ✦Real-time cloud sync & live dashboard.
- ✦Offline tap queuing; syncs on reconnect.
How It Works
Teacher Taps
Teacher taps their ID → session opens for the current scheduled class.
Student Taps
Each student taps their school ID → Marked Present or late automatically.
Session Closes
Teacher taps again → Session closes, remaining students marked Absent.
Live Dashboard
All data syncs to cloud → visible in real time for teachers and admins.
User Roles & Permissions
Administrator
- Manage users subjects, and schedules.
- Enroll students in subjects.
- Monitor all NFC devices live.
- Force-close sessions.
- Access full event logs.
Teacher
- Open/close sessions via NFC tap.
- View live attendance feed.
- Manually override attendance.
- Set late threshold & absence policy.
- Export reports (PDF, CSV, Excel).
Student
- Tap ID to record attendance.
- View today's schedule & tap status.
- See total attendance.
- View Present/Late/Absent status.
Key Features
Session Control
Only the teacher's physical NFC card can open or close a session. Proxy attendance is physically impossible.
Away Mode
Teacher taps to pause acceptance temporarily. Student taps are rejected and logged until session resumes.
Offline Resilience
ESP32 queues taps in flash memory when WIFI drops and auto-syncs with original timestamps on reconnect.
Overtime Handling
System never auto-switches subjects. The current session stays open until the teacher explicitly closes it.
Real-Time Sync
Supabase Realtime WebSockets push live attendance updates to all connected dashboards instantly.
Report Export
One-click export to PDF, CSV, Excel, or Google Sheets (per session or per subject).
System Architecture
Edge
Cases &
System
Handling
Student taps twice
Second tap silently ignored and logged as duplicate.
Overtime class running
Session holds; next teacher cannot open until current closes.
Unknown card UID
Logged with raw UID - admin can register the card later.
Student taps in Away Mode
Rejected with error beep, flagged in logs.
No matching schedule
Second tap silently ignored and logged as duplicate.
Student not enrolled
Tap rejected with error beep and logged.
WIFI drops mid-session
Taps queued in flash; synced with original timestamps on reconnect.
Teacher forgets to close
Admin can force-close the session from the dashboard.
Scope & Limitations
- Mifare Classic 1K NFC card-based attendance
- ESP32 device with buzzer per classroom
- Teacher-controlled session open & close
- Auto Present / Late / Absent computation
- Real-time web dashboard for all 3 roles
- Manual override with reason & audit trail
- Export: PDF, CSV, Excel, Google Sheets
- Offline queuing with auto-sync on reconnect
- NTAG/NFC sticker cards (initial version)
- Cards with custom Mifare auth keys
- Biometric verification
- Integration with SIS or grade systems
- Hardware installation & network setup
- Offline dashboard operation