Data Science Project

Building a Face Detection Attendance System

Building a Face Detection Attendance System

Taking attendance is one of those everyday tasks that feels small but consumes a surprising amount of timewhether in classrooms, training sessions, or workplaces. For years, I watched teachers and staff spend 1015 minutes marking attendance manually, and proxy attendance was still a common problem.


Why This Project?

The manual attendance process is slow, prone to errors, and easy to misuse.
I wanted to build a system that:

  • Marks attendance instantly
  • Eliminates proxy attendance
  • Is easy for students and staff to use
  • Runs directly in the browser without installing software on every device

Face recognition felt like the perfect solutionfast, accurate, and user-friendly.


How the System Works

The flow is designed to be simple for both students and administrators.

For Students

  • Register using a webcam (one-time setup)
  • Show your face to mark attendance
  • Attendance is recorded within seconds
  • Only one attendance per day is allowed

For Admin / Staff

  • Register and manage students/employees
  • View daily and monthly attendance
  • Generate downloadable Excel reports
  • Access a dashboard with analytics and insights

The entire system works through a web browser, making deployment and access very straightforward.


Technology Used

I kept the tech stack lightweight, scalable, and easy to maintain:

  • Python (Flask Framework) for backend and routing
  • OpenCV (Haar Cascade Classifier) for face detection
  • MySQL for securely storing user data and attendance
  • HTML/CSS for a clean, minimal frontend
  • Pandas + OpenPyXL for generating Excel reports

Face Recognition Flow

  1. A users face is captured during registration.
  2. It is converted into numerical encodings.
  3. These encodings are saved in the database.
  4. During attendance, the system captures the live face.
  5. It compares both encodings.
  6. If they match attendance is marked automatically.

Key Features

  • Face-based login and attendance
  • Role-based access (Admin & Student)
  • Daily, monthly, and custom-date reporting
  • Excel report generation
  • Error handling for multiple faces
  • Fast processing and clean UI

Performance & Results

After multiple tests, the results were strong:

  • Attendance marking speed: 5 seconds (average)
  • Recognition accuracy: ~95%
  • Zero chance of proxy attendance
  • Reports generated in 23 seconds
  • Users were able to adapt quickly with no training required

Future Enhancements

I plan to extend the system further with:

  • Mobile app support
  • Email/SMS attendance notifications
  • Advanced analytics with charts
  • Mask detection
  • Cloud-based hosting and database integration

How to Try It

  1. Install Python (3.10+ recommended)
  2. Install XAMPP
  3. Install dependencies using pip
  4. Run the Flask app
  5. Access the system at:

Default Admin Login

  • Username: admin
  • Password: admin123
    (recommended to change before deployment)

Download :-

Source Code Available

Interested in This Project?

Get the complete source code for this project at a very affordable price — perfect for your portfolio, college submission, or learning. Message us on WhatsApp and we'll get back to you instantly!

Full source code included Step-by-step setup guide Instant delivery on WhatsApp Instant reply on WhatsApp
Chat on WhatsApp

We usually reply within a few minutes

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat with us