← Back to list

Building an Anti-Proxy Attendance System Using Dynamic QR Codes with Next.js, Express & Firebase

My first engineering write-up.

siddarthpatelkama Siddarthpatelkama · 2026-06-26 11:54 · 0 claps · 3.5 min read
#web-development #software-development #software-engineering #attendance-software #attendance-system
Open on Medium ↗
Wiki topics: 🌐 · Web Development 📰 · Journalism & News

Building an Anti-Proxy Attendance System Using Dynamic QR Codes with Next.js, Express & Firebase

My first engineering write-up.

Hi, I’m Siddarth Patel Kama, a undergraduate passionate about building AI-powered and full-stack software that solves practical problems. Instead of waiting until I had a “perfect” project, I decided to start documenting my journey with the systems I build.

This is the first article in that journey.

The Problem

Let me start with the actual problem that pushed me to build this system.

During one of my college club sessions, I spent more than 20 minutes just standing in line to write my ID number on a sheet of paper for attendance. It felt slow, inefficient, and honestly unnecessary in a world where everything else is becoming faster and smarter.

That moment made me think — why should attendance take this long?

I imagined something much smoother. A coordinator standing at the entrance with a QR code, and students simply scanning it and walking in. No waiting, no writing, no delays. Just scan and move. It should take seconds, not minutes.

Then I looked at how attendance works in our college classrooms. Faculty members open a website, call out names one by one, and students respond “present” or “absent.” It works, but it consumes a lot of valuable time every single day.

At its core, the real problem is that attendance takes too long in the real world. That friction is something everyone experiences, and it always feels unnecessary.

That’s when I decided to build a better system.As of now, I have built and deployed this system for my college club, where it is already being used in real scenarios. Based on this experience, I am now planning to extend and adapt the system for classroom use as well.

The idea is simple: the faculty displays a QR code on the projector, students open their phones, scan it, and their attendance is instantly marked. No manual input, no roll calls, no wasted time.

So I started building an attendance system that is fast, seamless, and reliable — something that works in seconds and is designed to prevent proxy attendance as well.

What I’m Building

Over the past few months, I’ve been building a Smart Offline-First Attendance System with Anti-Proxy Measures completely from scratch as a solo developer.

The goal isn’t simply to record attendance.

The goal is to build a system that remains reliable, secure, and practical for real-world university environments.

The project combines dynamic QR authentication, offline-first workflows, secure backend validation, real-time synchronization, analytics, and multiple operational modes into a single platform.

It’s still actively being developed, and I continue working on it whenever I have free time. This article is an overview of the journey so far, not the final destination.

Technologies Used

I wanted to use technologies that are common in modern software engineering while also giving me room to experiment.

The project currently uses:

  • Next.js 16
  • React 19
  • TypeScript
  • Express.js
  • Firebase Authentication
  • Firebase Firestore
  • Firebase Admin SDK
  • Tailwind CSS
  • Capacitor
  • Progressive Web App (PWA)
  • Sentry
  • REST APIs
  • Dynamic QR Code generation
  • Offline synchronization strategies

Every technology was chosen because it solved a specific problem rather than simply adding another framework to the stack.

Building It Alone

This project has been one of my biggest learning experiences.

I built it as a solo developer from scratch, using AI as an engineering assistant throughout development to accelerate research, debugging, and implementation while making the architectural and technical decisions myself.

Building a system like this isn’t just about writing code.

It’s about understanding how authentication flows work, how APIs communicate, how databases are structured, how offline synchronization behaves, and how different parts of a system interact with one another.

Every feature pushed me to learn something new.

More Than Just Code

One thing I’ve realized while building this project is that software engineering isn’t only about getting features to work.

It’s about asking better questions.

  • What happens if the internet disappears?
  • How should data synchronize later?
  • How can a system remain secure without making it frustrating to use?
  • What trade-offs are worth making?

Thinking through these questions has taught me far more than simply following tutorials.

This Is Only the Beginning

The project is far from finished.

There are many improvements, experiments, and ideas that I still want to explore, and I’ll continue building them whenever time allows.

As the system evolves, I’ll be writing about the engineering decisions, challenges, architecture, mistakes, and lessons learned along the way.

My goal isn’t just to build software.

It’s to become a better engineer with every project.

What’s Next?

In upcoming articles I’ll dive much deeper into topics like:

  • Designing and implementing an Anti-Proxy Attendance System (why I call it anti-proxy and how it prevents misuse)
  • Building dynamic QR code generation and validation workflows
  • Detecting and preventing proxy attendance using backend verification strategies
  • Structuring scalable Next.js applications for real-world systems
  • Designing backend architecture with Express for secure attendance validation
  • Integrating Firebase Authentication and Firestore for real-time data handling
  • Engineering lessons from building a secure, production-style attendance system

Hopefully each article will be better than the previous one.

Thanks for reading my very first Medium article.

If you’d like to follow the project or connect with me, you’ll find me here:

GitHub: https://github.com/siddarthpatelkama

LinkedIn: https://www.linkedin.com/in/siddarthpatelkama

I’m always open to learning, feedback, and conversations with people who enjoy building interesting software.

Here’s to many more projects, experiments, and engineering stories ahead.


메타데이터
post_id
9be271e9c667
slug
building-an-anti-proxy-attendance-system-using-dynamic-qr-codes-with-next-js-express-firebase-9be271e9c667
url
https://medium.com/@siddarthpatelkama9/building-an-anti-proxy-attendance-system-using-dynamic-qr-codes-with-next-js-express-firebase-9be271e9c667
canonical_url
https://medium.com/@siddarthpatelkama9/building-an-anti-proxy-attendance-system-using-dynamic-qr-codes-with-next-js-express-firebase-9be271e9c667
author_url
https://medium.com/@siddarthpatelkama9
status
ok
fetched_at
2026-06-28 04:42:08