Mobile applications

UniAttend: Smart Attendance Platform

Secure university attendance using face verification, geofencing and dynamic QR check-ins.

Abstract

UniAttend is a smart attendance management platform designed for universities to make classroom attendance faster, more reliable, and harder to manipulate. Students use a mobile application to check in to active lecture sessions, while lecturers and administrators manage sessions, courses, timetables, attendance records, and reports through a web dashboard. The platform combines face verification, GPS-based geofencing, and dynamically refreshed QR codes to confirm both student identity and classroom presence. It also provides role-based access control, live attendance monitoring, attendance history, analytics, notifications, and controlled manual review for failed verification cases and any interruptions in the system. The system is built using a service-oriented architecture with a React Native mobile application, Next.js web dashboard, FastAPI backend, PostgreSQL database, Redis, and secure authentication.

The problem

Traditional university attendance methods often rely on paper sheets or basic digital check-ins, which consume lecture time, require manual administration, and can allow proxy attendance. Single-factor digital approaches also have weaknesses: QR codes can be shared, GPS alone may not accurately prove classroom presence, and face verification alone cannot confirm that a student is physically attending the lecture. Universities therefore need a faster and more reliable way to verify attendance while providing lecturers and administrators with centralized records, monitoring, and reporting.

The solution

UniAttend is a web and mobile attendance platform that combines multiple verification methods instead of relying on a single check. Students use a mobile application to join an active attendance session, where their location is validated against a configured geofence, their identity is verified using face recognition, and dynamic QR codes can provide additional classroom-presence verification. Lecturers and administrators use a web dashboard to manage courses, sessions, timetables, geofences, attendance records, reports, and exceptional cases. The platform uses a service-oriented backend built with FastAPI, PostgreSQL for persistent relational data, Redis for short-lived and performance-sensitive operations, and role-based authentication to separate student, lecturer, and administrator access.

In detail

UniAttend is a smart attendance management platform designed for universities, with a student mobile application and web dashboards for lecturers and administrators.

The main goal is to reduce the weaknesses of conventional attendance systems, particularly the time spent on manual attendance, inaccurate record keeping, and proxy attendance. Rather than relying on a single verification method, UniAttend combines identity verification and physical-presence validation as part of the attendance workflow.

Students use the mobile application to view their timetable, attendance history, and active lecture sessions. During attendance check-in, the application obtains the student's location and validates whether the device is within the geofence configured for the lecture location. Face verification is then used to confirm the student's identity against their registered reference data. Dynamically refreshed, short-lived QR codes provide an additional classroom-presence check when required.

Lecturers use the web dashboard to manage attendance sessions, view live attendance information, review verification results, access student attendance data, and generate reports and analytics. When a genuine student cannot complete automated verification because of issues such as location inaccuracies, network problems, device limitations, or face-verification failures, lecturers can handle the case through a controlled manual review process. Important manual changes are recorded to maintain auditability.

Administrators manage the wider academic configuration of the platform, including users, courses, classrooms, geofence locations, academic information, and system-level attendance reporting. Access to system functions is controlled according to student, lecturer, and administrator roles.

The system uses a modular, service-oriented architecture. The student application is developed with React Native and Expo, while the lecturer and administrator dashboard uses Next.js and TypeScript. The main backend is built with FastAPI and handles core functions such as attendance management, course and timetable management, geofence validation, QR validation, reporting, and coordination of the attendance verification workflow.

Face verification is separated from the main backend as an independently deployable service. This service uses InsightFace for face detection, alignment, embedding extraction, and identity verification against a student's registered reference embedding. Separating the face-verification workload allows the computationally intensive component to be deployed and scaled independently without requiring the entire backend to scale with it.

PostgreSQL serves as the primary relational database for persistent and transactional information such as users, courses, timetables, attendance sessions, attendance records, verification results, manual overrides, and audit information. Redis supports short-lived and performance-sensitive workloads such as active-session state, dynamic QR data, caching, rate-limiting counters, and temporary coordination of verification tasks. This separation keeps permanent academic records in PostgreSQL while allowing time-sensitive attendance operations to be handled efficiently during periods of heavy concurrent check-in traffic.

Authentication and authorization are handled through Keycloak using role-based access control. Students authenticate through the mobile application, while lecturers and administrators access the web dashboard according to their assigned roles. Protected APIs ensure that users can access only the functions and information permitted for their role.

The attendance workflow is designed so that different verification mechanisms contribute to a reliable final attendance decision. Geofence validation determines whether the student is within the permitted lecture area, face verification confirms identity, and dynamic QR validation can provide additional evidence of classroom presence. Failed or uncertain verification attempts are handled through controlled retry and lecturer-review paths rather than automatically producing an incorrect attendance record.

The platform also maintains audit information for important actions such as verification outcomes, manual attendance changes, and administrative updates. This improves transparency and allows attendance disputes or unusual verification activity to be reviewed when necessary.

UniAttend is designed to support large university classes and multiple concurrent lecture sessions while keeping the attendance process practical for students and manageable for lecturers. Its modular architecture also allows computationally demanding services such as face verification to scale independently as usage grows.

Overall, UniAttend provides a centralized attendance management system covering the complete process from student check-in and identity verification to live attendance monitoring, attendance history, reporting, analytics, academic configuration, and administrative oversight.

Screenshots

Courses and Timetable
Courses and Timetable
Lecturer Dashboard Attendance Overview
Lecturer Dashboard Attendance Overview
Lecturer Dashboard Attendance Sessions
Lecturer Dashboard Attendance Sessions
Verification Review
Verification Review

Related projects

Mobile applications

Project_24

Face-verified, geofenced lecture attendance that makes proxy attendance nearly impossible

150 2026
Mobile applications

EcoTrack

Scalable Multi-Tenant SaaS Platform for Community-Driven Environmental Monitoring and Cleanup Coordination

116 2023