An intelligent attendance management system that automates attendance using Face Recognition, Voice Verification, and QR Code-based Subject Enrollment.
The platform enables teachers to create subjects, manage attendance records, and securely verify student presence through AI-powered authentication methods.
- Teacher Registration & Login
- Create and Manage Subjects
- Generate Unique Subject Codes
- QR Code-Based Subject Sharing
- View Attendance Records
- Attendance Analytics Dashboard
- Face Recognition Attendance
- Voice-Based Attendance Verification
- Student Registration & Login
- Join Subjects Using Subject Codes
- QR Code Subject Enrollment
- Face Enrollment
- Voice Enrollment
- View Enrolled Subjects
- Mark Attendance Securely
The system verifies student identity through facial recognition before marking attendance.
- Student enrolls face image.
- Face embeddings are generated and stored.
- Live image is captured.
- Similarity matching is performed.
- Attendance is marked upon successful verification.
Voice authentication provides an additional verification layer.
- Student records voice sample.
- Voice features are stored.
- Live voice is captured during attendance.
- Voice similarity is checked.
- Attendance is recorded after successful validation.
Teachers can instantly share classroom access using QR codes.
- Teacher creates a subject.
- System generates a unique join URL.
- QR code is generated automatically.
- Students scan the QR code.
- Subject is added to the student dashboard.
Teacher
│
▼
Streamlit Frontend
│
▼
Attendance Pipelines
(Face + Voice)
│
▼
Supabase Backend
│
├── Teachers
├── Students
├── Subjects
├── Enrollments
├── Attendance Logs
└── Face/Voice Data
- Streamlit
- Python
- Supabase (PostgreSQL)
- OpenCV
- NumPy
- Pandas
- Face Recognition
- Speech Processing Libraries
- Segno (QR Code Generation)
- Python Dotenv
AI_Attendance/
│
├── src/
│
├── components/
│ ├── dialog_create_subject.py
│ ├── dialog_share_subject.py
│ ├── dialog_voice_attendance.py
│ ├── dialog_attendance_results.py
│ └── ...
│
├── database/
│ ├── db.py
│ ├── config.py
│ └── ...
│
├── pipelines/
│ ├── face_pipeline.py
│ ├── voice_pipeline.py
│ └── ...
│
├── screens/
│ ├── teacher_screen.py
│ ├── student_screen.py
│ └── ...
│
├── ui/
│ └── base_layout.py
│
├── .streamlit/
│ ├── config.toml
│ └── secrets.toml
│
├── app.py
├── requirements.txt
└── README.md
git clone https://github.com/Sanskar-dev786/AI_Attendance.git
cd AI_Attendancepython -m venv venvsource venv/bin/activatevenv\Scripts\activatepip install -r requirements.txtCreate:
.streamlit/secrets.toml
Add:
SUPABASE_URL="YOUR_SUPABASE_URL"
SUPABASE_KEY="YOUR_SUPABASE_KEY"streamlit run app.pyApplication runs at:
http://localhost:8501
Stores teacher information.
Stores student information.
Stores subject details.
Maps students to subjects.
Stores attendance records.
Login
↓
Create Subject
↓
Share QR Code
↓
Take Attendance
↓
View Reports
Login
↓
Join Subject
↓
Enroll Face
↓
Enroll Voice
↓
Mark Attendance
- Push code to GitHub
- Connect repository to Streamlit Cloud
- Configure secrets
- Deploy application
- Attendance Export (CSV/PDF)
- Multi-Face Classroom Detection
- Real-Time Attendance Monitoring
- Admin Dashboard
- Attendance Notifications
- Mobile Application
- AI-Based Attendance Analytics
Add screenshots of:
Sanskar Pandey
- B.Tech Computer Science Engineering
- AI & Machine Learning Enthusiast
- Data Science Aspirant
This project is intended for educational, research, and portfolio purposes.
If you use this project, please provide appropriate attribution.






