Milan Ghimire

Machine Learning Based Event Participants Presence Prediction System with Facial Attendance

A machine learning system that predicts whether each event registrant will show up, then verifies it with webcam facial attendance. A Next.js and Node web app collects registrations in MongoDB, an XGBoost model served by FastAPI predicts Present or Absent, and an OpenCV face-recognition module marks who actually attended, so predicted and real attendance sit side by side.

  • Machine Learning
  • Prediction
  • Data Science
  • Python

Overview

This system predicts who will attend an event before it happens, then checks that prediction against reality. Registrants sign up through a web app, a machine learning model scores each one as Present or Absent, and on event day a webcam recognises faces to record who actually turned up. Predicted attendance and real attendance end up on the same record, so the model can be graded against what really happened.

  • Web app: Next.js and Node collect registrations and run the organiser dashboard.
  • Database: MongoDB stores events, registrations, and attendance.
  • Prediction model: an XGBoost classifier (scikit-learn, NumPy, pandas) served through a FastAPI service.
  • Facial attendance: OpenCV opens the webcam, recognises registered faces, and writes the actual attendance back to the database.

Motivation

The main motive of this project was to serve as a doorway into understanding how machine learning models and different kinds of infrastructure actually connect with web applications, and how a complete system is delivered end to end. More than the prediction itself, the goal was to learn how the model, the API, the database, and the face-recognition module all fit together into one working product.

Tech stack

OpenCV · Next.js · Node · MongoDB · FastAPI · NumPy · pandas · scikit-learn (prediction model) · XGBoost (algorithm)

Future work

A future direction is to run the facial recognition on a dedicated hardware device, such as a Raspberry Pi, and turn it into a proper standalone attendance system rather than one tied to a laptop webcam.

Advertisement

Screenshots

Event attendance system screenshot 1 Event attendance system screenshot 2 Event attendance system screenshot 3 Event attendance system screenshot 4 Event attendance system screenshot 5 Event attendance system screenshot 6 Event attendance system screenshot 7 Event attendance system screenshot 8 Event attendance system screenshot 9 Event attendance system screenshot 10 Event attendance system screenshot 11 Event attendance system screenshot 12 Event attendance system screenshot 13 Event attendance system screenshot 14 Event attendance system screenshot 15

GitHub

More projects