← All projects
AutomationSystemsBackendFull-Stack

Aura — Passive Attendance Intelligence

The college Wi-Fi becomes the sensor. No student app. No QR codes. No GPS. No cooperation required.

RADIUS-based< 100ms ingestionIsolation Forest AIDocker Compose

The Problem

Every existing attendance system fails at the infrastructure layer — they trust students to self-report presence. Manual registers get signed by friends. QR codes are screenshot-shared in 10 seconds. GPS is spoofed with a VPN. RFID cards get handed off. None of these operate below the application layer.

Approach

Ingested RADIUS Accounting logs directly from the college's Wireless LAN Controller — existing campus infrastructure. When a student's device associates with the access point inside a lecture room, a RADIUS Accounting-Start event fires automatically. No app install. No check-in button. No student interaction. The primary session key is the authenticated User-Name from 802.1X, not MAC address — making the system immune to MAC randomization (iOS 14+, Android 10+) since the randomized MAC is a Layer 2 artifact while the credential-verified username travels inside the EAP tunnel at Layer 7.

Architecture

RADIUS Simulator generates realistic Accounting-Start/Stop/Interim-Update packets (mimics Cisco/Aruba WLC) across 3 pre-built demo scenarios: normal_lecture, bandwidth_fraud, mac_clone_attempt. FastAPI Ingestion Server (async) parses User-Name, MAC, AP-Name, RSSI, and byte counters, dispatching events to Redis with sub-100ms latency. Redis Session Manager holds live state per active device — not a database write on every packet. Session Finalizer Worker (background process) calculates minutes present, enforces 75% attendance threshold, runs Isolation Forest Focus Score, and writes finalized records to PostgreSQL. React Dashboard shows live room occupancy, per-student session timelines, and AI-flagged sessions with score breakdown. Role-based: Faculty view (their courses only), Admin view (full campus).

Results

Passive attendance tracking with zero student cooperation required. Focus Score AI (Isolation Forest) detects bandwidth anomaly patterns — a student streaming 600MB during a 45-minute theory lecture scores differently from the same 600MB during a 3-hour lab, because the model is multivariate (bytes + duration jointly). INTEGRITY_SUSPECT sessions flagged on MAC/credential mismatch before opening. Ingestion latency under 100ms per RADIUS event under 500 concurrent sessions. Full demo runnable on a single machine via Docker Compose.

RADIUS → Redis → PostgreSQL pipeline
RADIUS → Redis → PostgreSQL pipeline