← Back to Projects

AAMS — Automated Attendance Management System

An RFID-based attendance platform designed to reclaim instructional time and improve attendance accuracy at Saint Martin’s University.

Year 2025
Type Web Application / Systems Project
Role API Design & Frontend Development
Tech React, TypeScript, Spring Boot, PostgreSQL, RFID, Raspberry Pi

Overview

AAMS (Automated Attendance Management System) was built in response to a problem that felt small at first, but added up quickly: attendance was eating into class time in inconsistent and inefficient ways.

At Saint Martin’s University, attendance is largely left to instructor preference. In practice, that meant manual roll calls, sign-in sheets, or ad-hoc digital tools. For classes that met for only 50 minutes, we found that an average of 5 minutes per session was being lost just to attendance. Over a week, that became a meaningful reduction in instructional time—especially for technical or concept-heavy courses.

The core question became simple: how do we ensure students are accounted for without sacrificing class time?

The Idea

The answer came from something already embedded into daily campus life.

On my way to the school café, Monk’s Bean, I used my student ID to enter a secured building. That moment clicked. Student IDs were already being used for controlled access across campus via RFID. As a commuter, I even experienced the system’s permission logic firsthand—certain buildings and hours were accessible, others were not.

If RFID already worked reliably for access control, why not use the same mechanism for attendance?

Instead of introducing yet another tool for faculty and students to manage, AAMS builds on infrastructure that already exists, reducing friction and learning overhead.

System Design

Our team split the project across hardware and software responsibilities.

On the hardware side, we designed a classroom scanning device using a Raspberry Pi and an RFID reader. Mechanical engineering students helped design and fabricate a protective enclosure suitable for classroom deployment. Each device was responsible for capturing ID scans, providing immediate visual and audio feedback, and safely handling offline scenarios.

On the software side, the system required a secure backend capable of:

  • Receiving and validating RFID scan data
  • Mapping scans to scheduled class sessions
  • Tracking attendance states (present, tardy, absent, excused)
  • Handling offline recovery and retry logic
  • Enforcing role-based access controls

The backend was designed as a stateless API service with role-based authorization and fault tolerance in mind. Attendance data is persisted securely, with failed submissions routed through a dead-letter queue to prevent data loss during outages :contentReference[oaicite:0]{index=0}.

Frontend Experience

My primary focus was API design and frontend development, with an emphasis on usability and minimizing cognitive load.

We designed the interface around three user types:

Administrators

  • Monitor device health and online status across classrooms
  • Register and manage RFID devices
  • Generate institution-level attendance reports

Faculty

  • View real-time and historical attendance for their classes
  • Download formatted attendance logs
  • Manually correct records in edge cases (e.g., device malfunction)

Students

  • View their attendance history by class
  • Submit attendance revision requests for cases like illness, appointments, or university-sanctioned events

Because faculty and students already juggle tools like Moodle, Self-Service, and external course platforms, the frontend was intentionally kept focused and minimal. The goal was to reduce friction rather than add another system to manage.

Outcome

After extensive testing and validation, we delivered a fully working prototype and presented the system at Saint Martin’s University Scholars Day. The final demo showcased end-to-end functionality—from RFID scans in the classroom to real-time updates in the administrative portal.

Due to the nature of the project, source code and deployment details remain private. This write-up reflects the design approach, architectural decisions, and my personal experience working on the system, rather than implementation specifics.

What I Took Away

AAMS reinforced for me how impactful good systems design can be when it starts with real, observed problems. This project pushed me to think beyond isolated features and focus on reliability, human factors, and long-term maintainability—especially in environments where failure has real consequences.