A Flask-based employee attendance tracking system that uses facial recognition (DeepFace / ArcFace) to log staff check-in and check-out times. Employees are registered once with a photo, and afterward the system recognizes their face to automatically record their attendance.
- Register new employees with a profile photo
- Face recognition for check-in and check-out
- Attendance reporting
- Simple, lightweight web interface
- Python 3.9 or higher
- A webcam for face scanning
Clone the repository:
git clone https://github.com/GafelSon/hazzer-py.git
cd hazzer-pyInstall the dependencies:
pip install tensorflow==2.21.0 tf-keras
pip install -r requirements.txtInstall TensorFlow and tf-keras first, before the rest of the dependencies, since DeepFace relies on them.
python app.pyOnce running, the app is available at:
http://localhost:5005
- Go to the employee management section and add a new employee along with a clear photo of their face.
- Use the scan page to check in or out — the system identifies the face with DeepFace (ArcFace) and logs the attendance record.
- View attendance reports under the Reports section.
hazzer-py/
├── app.py # Main Flask app and routes
├── database.py # Database handling for employees and attendance records
├── face_utils.py # Face recognition utility functions using DeepFace
├── static/ # Static files (CSS, JS, images)
├── templates/ # HTML templates (Jinja2)
├── requirements.txt # Python dependencies
└── .gitignore
- Flask — backend web framework
- DeepFace (ArcFace) — face recognition and matching
- OpenCV — image processing and webcam handling
- TensorFlow / tf-keras — deep learning model backend
- Registration photos should be clear and well-lit for the best recognition accuracy.
- The project currently ships with a Persian (Farsi) localized dashboard.
Found a bug or have a suggestion? Feel free to open an Issue or submit a Pull Request.
This project is licensed under the MIT License — see the LICENSE file for details.

