CampusClock โ€“ AI Smart Attendance System ๐Ÿš€ Inspiration

Traditional attendance systems are slow, manual, and vulnerable to proxy attendance. There is no guarantee that a student is physically present, and tracking absentees requires manual effort.

To solve this, we built CampusClock, an intelligent system that combines AI face recognition, GPS-based validation, and automated attendance logic.

๐Ÿ‘‰ A student should only be marked present if they are physically present โ€” otherwise, the system should automatically handle absence.

โš™๏ธ What it does

CampusClock is a fully automated, AI-powered attendance system with real-time validation and smart absence handling.

๐Ÿ‘จโ€๐ŸŽ“ Student Registration (Admin Controlled) Only admin can register students using a secure secret key Stored details: Name Registration Number Semester Branch Phone Number Data stored in Supabase ๐Ÿ“ GPS-Based Attendance Restriction Powered by Leaflet.js Admin defines dedicated campus coordinates (geo-fenced area)

โœ… Attendance allowed only if:

Student is inside defined GPS boundary

โŒ Blocked if:

Student is outside allowed location ๐Ÿง  AI Face Recognition Powered by Face-API.js

Process:

Student opens system Camera captures face AI verifies identity Matches with stored data โœ… Smart Attendance Logic

Attendance is marked only when:

โœ”๏ธ Face is verified โœ”๏ธ Location is valid

๐Ÿ‘‰ If both conditions pass:

Attendance is marked Present Stored in Supabase ๐ŸŒ™ Automatic Absence Marking (NEW FEATURE)

This feature ensures complete automation without manual intervention.

If a student does NOT mark attendance before 12:00 AM (midnight): System will automatically mark them as Absent

๐Ÿ”„ How it works:

A scheduled backend process runs daily at midnight It checks: Students who did not mark attendance that day Then: Updates their status to Absent in database

โœ… Benefits:

No manual tracking required Accurate daily records Prevents missed or unrecorded attendance โš ๏ธ Attendance Monitoring & Alerts System tracks attendance percentage continuously If attendance < 60%: Student is flagged Requires admin approval Notification can be sent ๐Ÿง‘โ€๐Ÿ’ผ Admin Dashboard Access controlled via admin secret key

Features:

๐Ÿ“Š Overview

Total students Present / Absent count Low attendance alerts

๐Ÿ“‹ Management

Add / remove students View details

โš ๏ธ Control Panel

Approve flagged students Monitor defaulters

๐Ÿ“ˆ Reports

Daily logs Historical attendance ๐Ÿ› ๏ธ How we built it

  1. Frontend HTML, CSS, JavaScript Camera + location access Clean UI for students & admin
  2. AI Engine Implemented using Face-API.js Real-time face detection & matching
  3. Backend & Database Powered by Supabase

Handles:

Student records Attendance logs Scheduled tasks (midnight absence marking)

  1. Map & GPS System Using Leaflet.js Geo-fencing implementation Location validation โš”๏ธ Challenges we ran into ๐ŸŽฏ Face recognition accuracy in low light ๐Ÿ“ GPS accuracy and boundary radius issues ๐ŸŒ™ Implementing reliable midnight scheduler ๐Ÿ” Securing admin access ๐Ÿ”„ Real-time system synchronization ๐Ÿ† Accomplishments that we're proud of โœ… Built a fully automated attendance system โœ… Eliminated proxy attendance โœ… Implemented GPS + AI validation together โœ… Added automatic absence marking โœ… Created a real-world scalable solution ๐Ÿ“š What we learned Using Face-API.js for AI Backend automation with Supabase Geo-fencing using Leaflet.js Handling real-time + scheduled systems together Importance of automation in real-world apps ๐Ÿ”ฎ What's next for CampusClock ๐Ÿ“ฑ Mobile app version ๐Ÿ”” SMS/WhatsApp alerts ๐Ÿ“Š Advanced analytics ๐Ÿค– Better AI model (deep learning upgrade) ๐Ÿงพ Auto reports (PDF/Excel) ๐Ÿ” Multi-authentication (Face + OTP)

Built With

  • admin-secret-key-system
  • browser-devtools
  • camera-api-(mediadevices.getusermedia)
  • cron-jobs
  • css3
  • face-api.js
  • face-recognition-api
  • geolocation-api
  • git
  • html5
  • javascript
  • leaflet.js
  • mediadevices-api
  • postgresql-(via-supabase)
  • role-based-access-control
  • supabase
  • supabase-edge-functions
  • vanilla-javascript
  • vercel-/-netlify
  • vs-code
  • web-application
Share this project:

Updates