← BACK TO MISSION LOG
MISSION #001CLASSIFIED

Smart Attendance System

Computer vision meets classroom automation.

COMPLETED
PythonFlaskOpenCVMediaPipeSQLiteHTMLCSSJavaScript
01

THE PROBLEM

Manual attendance tracking is slow, error-prone, and inefficient in educational environments with large student populations.

02

OBJECTIVE

Build an automated attendance system using computer vision — eliminating manual roll calls and enabling real-time tracking.

03

ARCHITECTURE

A Flask web server handles HTTP requests, OpenCV captures and processes video frames, MediaPipe provides landmark detection for face recognition, and SQLite stores attendance records locally.

04

IMPLEMENTATION

  1. 01

    Set up Flask web application with routes for attendance management

  2. 02

    Integrated OpenCV for real-time video capture and frame processing

  3. 03

    Used MediaPipe for face detection and landmark extraction

  4. 04

    Designed SQLite schema for student records and attendance logs

  5. 05

    Built a web dashboard for viewing and exporting attendance data

05

CHALLENGES

  • ⚠

    Lighting variance causing inconsistent face detection accuracy

  • ⚠

    Processing speed trade-offs between detection accuracy and real-time performance

  • ⚠

    Handling multiple faces simultaneously in the camera frame

06

SOLUTION

Implemented preprocessing steps including histogram equalization for lighting normalization. Tuned confidence thresholds in MediaPipe to balance speed and accuracy. Used frame buffering to improve multi-face detection reliability.

07

RESULT

A fully functional attendance system capable of automated face-based check-ins, with a web interface for records management and export.

08

LESSONS LEARNED

  • →

    Real-world lighting conditions require explicit preprocessing, not just model tuning

  • →

    Choosing the right data store (SQLite vs PostgreSQL) depends on scale requirements

  • →

    User-facing systems need intuitive dashboards, not just working backends

PORTFOLIO // ISSUE #001 · ESHAN SAHAD