The Smart Attendance Problem Statement
Educational institutions and corporate organizations lose valuable classroom instruction hours to manual paper roll calls and static punch cards. Traditional systems suffer from buddy proxy marking, lack of anti-spoofing verification, and zero actionable analytics regarding student attendance patterns, risk of dropouts, or irregular attendance trajectories.
For Smart India Hackathon (SIH) 2025, our team—Team CodeNova—engineered AttendTrue-Analytic, an AI-driven smart automated attendance and institutional behavioral analytics platform.
System Architecture & Tech Stack
AttendTrue Analytics combines real-time computer vision biometric verification with a high-throughput institutional analytics dashboard:
- AI & Computer Vision Core: Utilizes deep facial feature extraction and anti-spoofing liveness detection to verify student presence in milliseconds with high precision, eliminating proxy attendance.
- Predictive Student Analytics Engine: Analyzes historic attendance logs to compute attendance velocity, alert faculty about at-risk students falling below credit thresholds, and generate automated compliance digests.
- Full-Stack Institutional Dashboard: Built with modern responsive UI and fast backend APIs, providing role-based portals for administrators, professors, and students with exportable Excel/PDF audit reports.
# AttendTrue Analytics: Real-Time Anti-Spoofing & Biometric Verification
import cv2
import numpy as np
class AttendanceVerificationEngine:
def __init__(self, confidence_threshold=0.92):
self.confidence_threshold = confidence_threshold
self.registered_embeddings = {}
def verify_and_log_attendance(self, frame_roi, student_id):
# 1. Anti-Spoofing & Liveness Check
is_live = self.detect_liveness(frame_roi)
if not is_live:
return {"status": "REJECTED", "reason": "Spoofing/Static Photo Detected"}
# 2. Extract 128D Face Embedding
embedding = self.extract_embedding(frame_roi)
similarity = np.dot(self.registered_embeddings[student_id], embedding)
if similarity >= self.confidence_threshold:
# 3. Commit Verified Attendance to Analytics Store
timestamp = self.commit_attendance(student_id, similarity)
return {"status": "SUCCESS", "student_id": student_id, "timestamp": timestamp}
return {"status": "FAILED", "reason": "Confidence below threshold"}Role of Team CodeNova
Under SIH time constraints, we delivered:
- High-concurrency batch processing allowing an entire lecture hall to verify attendance seamlessly.
- Real-time automated alerts and notifications to students for low attendance warnings.
- Institutional trend analytics mapping departmental attendance performance and course engagement metrics.
