ATTENDI.fy is a desktop-based smart attendance management system designed for coaching centers and small educational institutions.
It uses computer vision and face verification to identify registered students and automatically mark their attendance. The application also provides a simple dashboard, SQLite database storage, Excel attendance reports, student registration, and a subscription/activation mechanism.
- Register students using a webcam.
- Automatically detects a face using OpenCV Haar Cascade.
- Captures and stores the student's face image.
- Stores the student's name and image path in SQLite.
- Prevents duplicate registration of the same username/path.
- Uses the webcam to capture students.
- Detects faces in the camera frame.
- Uses DeepFace verification to compare the detected face against registered students.
- Automatically marks a verified student as Present .
- Prevents the same student from being marked multiple times on the same date.
The application maintains two main tables:
Stores:
- Student ID
- Student name
- Face-image path
Stores:
- Student ID
- Student name
- Attendance status
- Date
The database is automatically created when the application starts.
The main interface provides a visual attendance overview using a pie chart.
It displays:
- Percentage of students present
- Percentage of students absent
- Total registered students
- Today's attendance statistics
The dashboard continuously checks the database and updates the displayed percentages.
Attendance can be exported to Excel.
The application supports:
- Today's attendance
- All-ever attendance
The generated Excel file contains:
| ROLL | NAME | ATTENDENCE | DATE |
|---|
Excel files are generated using OpenPyXL .
The application works locally and stores its data in:
attendence.db
Face images are also stored locally.
This means the basic attendance system does not require an external database server.
At startup, the application uses pyttsx3 to provide voice announcements such as system initialization and application startup.
The application contains a basic activation mechanism.
It uses:
status.txt
to store the subscription expiration date.
When the subscription expires, the application displays an activation/payment screen instead of opening the main attendance dashboard.
The basic attendance pipeline is:
Webcam
โ
OpenCV Face Detection
โ
Detected Face
โ
DeepFace Verification
โ
Registered Student
โ
SQLite Database
โ
Attendance Marked
โ
Dashboard / Excel Report
| Technology | Purpose |
|---|---|
| Python | Main programming language |
| Flet | Desktop GUI |
| OpenCV | Camera and face detection |
| DeepFace | Face verification |
| SQLite | Local database |
| OpenPyXL | Excel report generation |
| Flet Charts | Attendance visualization |
| pyttsx3 | Text-to-speech |
| threading | Background processing |
A basic project setup can look like this:
ATTENDI.fy/
โ
โโโ main.py
โโโ attendence.db
โโโ attendence.xlsx
โโโ status.txt
โโโ payment.png
โโโ INDUSS.png
โ
โโโ registered_face_images/
โ โโโ Student1.png
โ โโโ Student2.png
โ โโโ ...
โ
โโโ requirements.txt
The exact files generated by the application may vary depending on how the project is packaged.
Install a compatible Python version on the target computer.
Verify the installation:
python --versionor:
py --versionInstall the required packages:
pip install opencv-python flet deepface openpyxl flet-charts pyttsx3If using a requirements.txt file:
pip install -r requirements.txtRun:
python main.pyor:
py main.pyLaunch the application.
The startup screen is displayed before entering the main dashboard.
Use the registration button.
Enter a unique username and allow the application to access the webcam.
The system detects the student's face and captures an image.
Press the capture key to register the student.
Enable the ATTENDENCE switch.
The camera starts scanning for faces.
When a registered student's face is successfully verified:
Student โ Verified โ Present
The attendance record is saved in SQLite.
The dashboard displays the current attendance distribution.
The application continuously checks today's attendance records and updates the chart.
Use the export button.
You can choose:
TODAY
or:
ALL EVER ATTENDENCE
The corresponding Excel report is generated.
ATTENDI.fy currently uses local storage.
attendence.db
Student face images are stored as local image files.
status.txt
Attendance reports are exported as .xlsx files.
This is an important section because ATTENDI.fy is currently a working prototype / early production version , rather than a fully hardened enterprise attendance platform.
The current implementation performs DeepFace verification against registered students sequentially.
For a large number of students, this can become slower because multiple face comparisons may be required.
For a small coaching center, however, this approach can be practical.
Recognition performance can be affected by:
- Poor lighting
- Low-quality cameras
- Extreme face angles
- Occlusion
- Motion blur
- Significant changes in appearance
The current application uses SQLite locally.
There is no built-in cloud synchronization or multi-computer database.
The current activation mechanism should not be considered cryptographically secure licensing .
A production licensing system should use proper cryptographic verification and server-side validation.
Face images are stored locally rather than using a dedicated encrypted biometric-storage system.
For real-world deployment, access control and stronger protection of biometric data should be considered.
The current system primarily records:
Present
for successfully verified students.
A complete institutional attendance platform could additionally implement:
- Late
- Absent
- Leave
- Multiple sessions
- Entry/exit time
- Manual corrections
- Teacher/admin overrides
Possible future versions could include:
- โก Faster face recognition using face embeddings
- ๐ง Dedicated face-embedding database
- ๐ฑ Parent notifications
- ๐ Advanced attendance analytics
- ๐จโ๐ซ Teacher/admin accounts
- โ๏ธ Cloud synchronization
- ๐ Secure authentication
- ๐ Encrypted biometric storage
- ๐ Monthly attendance reports
- ๐ Attendance history graphs
- ๐ฅ๏ธ Multi-camera support
- ๐ท Better face detection
- ๐ GPU acceleration where available
- ๐ฆ Improved standalone executable packaging
The current application can be viewed as four major layers:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Flet GUI โ
โ Dashboard / Registration โ
โ Export / Activation โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Application Logic โ
โ Attendance / Registration โ
โ Subscription / Statistics โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโดโโโโโโโโโ
โ โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Computer โ โ DeepFace โ
โ Vision โ โ Verification โ
โ OpenCV โ โ โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ โ
โโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโ
โ SQLite โ
โ Database โ
โโโโโโโโโฌโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโ
โ Excel Reports โ
โโโโโโโโโโโโโโโโโ
ATTENDI.fy is primarily intended for:
- Coaching centers
- Small educational institutes
- Computer labs
- Training centers
- Small classrooms
It is designed to reduce manual attendance work by using automated face verification.
The application is designed around a workflow where a student remains in front of the camera for a short period while the system detects and verifies the face.
For small groups such as approximately 20โ30 students , the current architecture can be usable, but recognition speed depends heavily on the computer's CPU, camera, DeepFace backend, and number of registered students.
It should not currently be advertised as instantaneous or guaranteed real-time recognition for very large databases.
Current Status: Working Prototype / Early Production
ATTENDI.fy already contains the core workflow:
Register Student
โ
Store Face
โ
Detect Face
โ
Verify Identity
โ
Mark Attendance
โ
Store Record
โ
Generate Report
The project is being developed toward a more scalable and production-ready attendance platform.
Indus Groups
Project:
ATTENDI.fy โ Smart Attendance System
Built with Python and computer vision.
The next major technical upgrade is moving from repeated DeepFace image verification toward a proper face-embedding pipeline .
That architecture would look more like:
Camera
โ
Face Detection
โ
Face Alignment / Crop
โ
Face Embedding
โ
Vector Database
โ
Similarity Search
โ
Student Identity
โ
Attendance
This can substantially reduce repeated model computation and make the system more suitable for larger student databases.
Before running ATTENDI.fy, make sure the following files are present in the same directory as main.py :
ATTENDI.fy/
โ
โโโ main.py
โโโ payment.png โ REQUIRED: payment/activation QR image
โโโ INDUSS.png โ REQUIRED: startup image
โโโ status.txt โ REQUIRED: subscription status
โ
โโโ attendence.db โ created/used by the application
โโโ attendence.xlsx โ attendance workbook
โ
โโโ registered_face_images/
You must add your own payment.png file to the project directory.
This image is displayed on the Payment / Activation screen when the subscription expires.
The application expects the file to be named exactly :
payment.png
and located beside main.py:
main.py
payment.png
Do not rename it to:
payment.jpg
Payment.png
payment.PNG
qr.png
unless you also change the filename in the Python source code.
The current program loads the image using:
ft.Image('payment.png', ...)Therefore, if payment.png is missing, the payment screen may fail to load correctly.
The startup screen also expects:
INDUSS.png
Keep this file beside main.py as well.
The application reads the subscription expiration date from:
status.txt
Example:
2026-12-31
The file should contain the expiration date used by the application.
If you are downloading/cloning this project, do not forget to add payment.png and INDUSS.png .
The minimum required asset structure is:
๐ Project Folder
โ
โโโ main.py
โโโ payment.png
โโโ INDUSS.png
โโโ status.txt
The database and Excel files can be generated/used by the application as required.
Important: Replace the example
payment.pngwith your own payment QR/image before distributing the application.