From Concept to Code: Building a QR Attendance System in Python
Image generated by ChatGPT

From Concept to Code: Building a QR Attendance System in Python

Most of us have been part of events or classes where attendance tracking turns into chaos:

  • Paper sign-in sheets get lost.
  • Duplicate entries appear in spreadsheets.
  • Parents, teachers, or organizers are left guessing who actually showed up.

I ran into this challenge firsthand while managing community programs. The problem was simple but frustrating: how do you make check-in and check-out frictionless, reliable, and easy to track?

So, instead of waiting for a big vendor solution, I decided to build something lightweight myself: a QR-code based attendance system.

👉 You can see the repo here: QR Attendance on GitHub


The Challenge

Attendance might seem trivial, but when you scale to hundreds of participants, it quickly becomes a headache. I wanted something that was:

  • Fast → scan and move on, no delays.
  • Accurate → first scan = check-in, second scan = check-out.
  • Simple → no bulky setup, anyone can run it.
  • Visible → organizers should see real-time dashboards.


The Solution

I designed a Python + FastAPI app that:

  • Generates QR codes unique to each participant.
  • Provides a scanner page for check-in/out.
  • Maintains attendance in a simple database.
  • Displays a dashboard to track by category and participant.

In practice, it works like this:

  1. Parent/participant receives a QR code.
  2. At the venue, they show the QR at check-in.
  3. First scan = Sign In, second scan = Sign Out.
  4. The dashboard updates in real time.

No confusion. No paper. No manual corrections.


The Tech Stack

  • Backend: Python + FastAPI (lightweight, async, reliable).
  • Database: SQLite (easy to deploy, perfect for small scale).
  • Frontend: Simple HTML/JS for the scanner + dashboard.
  • Deployment: Git + container-friendly setup.


Why This Matters for Leaders

I didn’t build this to win hackathons. I built it because leaders need to solve real problems.

It reminded me of three leadership lessons:

  1. Working software > PowerPoints. Sometimes, a quick coded solution teaches more than a long strategy deck.
  2. Simplicity wins. The right tool is the one people actually use, not the most over-engineered.
  3. Hands-on credibility matters. As leaders, staying close to the code keeps us grounded in what our teams face every day.


Prasant, thanks for sharing!

Like
Reply

To view or add a comment, sign in

More articles by Prasant Dikshit

Others also viewed

Explore content categories