Inspiration -

On high school and college campuses, activity naturally follows patterns: • libraries get busy before exams • cafes peak at meal times • gyms spike in the evenings But unusual changes matter: • overcrowding • safety concerns • special events monitoring (Grad Night, homecoming, football matches and other social events) • system failures (Wi-Fi, access logs, etc.) Most schools react after complaints. CampusVibes detects changes as they happen and resolve.

What it does

CampusVibes watches all activity data across time and campus locations and identifies anomalies. It learns what “normal” looks like for each place and time, then responds to: • sudden spikes • unexpected drops • unusual late-night activity When something changes, the agent explains/reasons when, where, and how unusual it is.

The agent answers 3 simple questions: When did activity change? Where did it happen? How unusual is the change compared to normal behavior

How I built it

Data ingestion - activity events (such as occupancy counts) are stored with timestamps and geographic coordinates.

Baseline creation - for each location and hour of the day, the agent builds a baseline using historical data. It calculates the mean and standard deviation to represent normal behavior.

Statistical detection - when new data arrives, the agent computes a z-score to measure how far the current value is from the baseline. If the z-score exceeds a threshold, the event is flagged as an anomaly.

Explainable alerts - each alert includes the statistics used, making the decision transparent and easy to understand.

Data Used -

Library occupancy counts, Wi-Fi device counts /building, Common campus metric - Gym entry counts, Classroom motion sensors (simulated), Study room reservations and others.

Tech -

Elastic Cloud / Elasticsearch – storing and querying time-series and geographic data. Kibana for - line charts (activity over time) and maps (where changes occur) and visualizing trends over time and mapping anomalies by location. Python – implementing the agent logic and statistical calculations.

Output –

When something is flagged, the agent: • logs an alert in Elastic • writes a plain-English explanation • tags the building on a map • optionally sends a notification

Challenges we ran into

Design to define thresholds and edge cases that balance sensitivity and false positives Designing alerts that explain why something was flagged, not just that it was Handling errors for different “normal” patterns based on different times of day. Simulated data (to create multiple data scenarios).

Accomplishments that we're proud of

First time experimenting with Elastic Cloud, agent capabilities and its limitations to test a real agent use case. Enjoyed building and learning through simple time series analysis learnt in class.

What we learned

Apply classroom AP Statistics course to real-life use case Architect and design part of use case that mirrors statistical reasoning Code with time-series and geographic data (simulated)

What's next for Campus Vibes

Add weekly seasonality analysis Evaluate accuracy using labeled events Extend the agent to additional campus signals or even outside campus. For ex. in - malls, stores, airports and other places.

Built With

Share this project:

Updates