Back to work

Case study · 2026 · Project Manager & Lead Developer

PharmaTrack

A university department was running attendance for 700+ Pharmacy students on paper. I replaced it with a QR system that needs no scanners, derives attendance status automatically, and keeps working when the Wi-Fi does not.

Next.jsTypeScriptSupabasePostgreSQL
PharmaTrack

The problem

The University of San Agustin College of Pharmacy needed a secure, hardware-free way to monitor event and class attendance across 700+ students. Manual paper rollcalls were slow, prone to cutoff errors at the boundary between late and absent, and gave faculty administrators zero real-time visibility.

A scanner-based system means procurement, budget, and hardware that eventually breaks. The constraint that shaped the whole build: it had to run on devices the department already owned.

Automatic status derivation

The interesting part is not the scanning. It is what happens after. Rather than a facilitator deciding whether someone counts as late, the platform derives status (Present, Late, Absent, Incomplete) from the event time window itself.

That single decision removes the cutoff errors that made the paper process unreliable, because the rule is applied identically to every scan instead of being re-judged by whoever holds the sheet.

Designing for a room with no Wi-Fi

Campus events happen in halls with unreliable connectivity, and an attendance system that fails offline fails exactly when it is needed. Scans are buffered locally in IndexedDB and synced when the connection returns, so a facilitator can keep scanning through a dead spot.

This is the decision I would defend hardest. Everything else has a workaround; an offline failure during a live event does not.

Architecture

Next.js 15 and TypeScript on Supabase, with Zod validating input at the boundary, Upstash Redis for rate limiting, and Nodemailer driving email alerts. Access control is enforced with PostgreSQL row-level security rather than in application code, so a client-side bypass still cannot read another cohort's data.

Three role-based portals (Student, Faculty, and Admin) plus admin approval workflows, real-time faculty dashboards, and PDF/Excel report exports for department leadership.

Measurable impact

700+ Pharmacy students onboarded at zero hardware cost. Attendance status derivation is 100% automated, replacing manual paper rollcalls entirely and giving faculty immediate roster visibility that did not previously exist.