FATE is a campus-aware attention telemetry system and digital wellness platform. It is designed to track, measure, and optimize user attention by passively monitoring digital behavior, physical location, and social proximity.
Through intelligent behavioral analysis, FATE calculates a Cumulative Attention Score (CAS) to gamify productivity and help individuals break free from constant context switching and notification fatigue.
- Peer Discovery: Uses the Google Nearby Connections API to dynamically discover and broadcast nearby peers across Bluetooth and Wi-Fi Direct.
- Identity Broadcasting: Integrates with Google Sign-in to natively broadcast Google Display names, or fallbacks to the Android device model.
- Close Friends Exclusion: Lets users exclude specific devices from scoring to differentiate between constructive social synergy and distractions.
- Engagement Tracking: Tracks physical proximity engagement duration using peer-found and peer-lost events.
- Robust App Analytics: Natively queries the Android
UsageStatsManagerin Kotlin to get granular time spent per application and detect application context switches. - Notification Listener: Employs an Android
NotificationListenerServiceto intercept incoming notifications. - Response Penalty Engine: Flags fragmentation by measuring the exact time taken to respond to a notification (post time vs click/app switch time).
- Tracks geographical movements to evaluate stationary work sessions vs. active movement.
- Maps coordinates to specific "Neutral Zones" (e.g., Hostels) where users are legitimately taking a break, automatically applying a non-penalizing flat base score (0.0).
Combines three weighted pillars into the Cumulative Attention Score:
- Spatial Score: Based on productive location duration and geofences.
- Social Score: Based on interaction lengths and peer multipliers.
- Digital Score: App productivity scores penalized heavily by notification fragmentation.
- Users can dynamically update their weights for these three metrics via the App Dashboard.
FATE operates across three deeply integrated layers:
- Frontend (Flutter)
- Delivers an intuitive dashboard to view logs, nearby peers, and real-time scores.
- Handles user Google OAuth 2.0 Identity.
- Native Telemetry (Android/Kotlin)
- Employs Flutter
MethodChannelandEventChannelto run headless native services. - Native Managers: UsageTelemetryManager,
LocationTelemetryManager, ProximityTelemetryManager, configured to bypass Android background-execution limits.
- Employs Flutter
- Backend Scoring Engine (Python FastAPI)
- High-throughput ingestion API for telemetry payloads (
/location,/proximity,/digital). - Stores logs and mappings in a PostgreSQL Database via SQLAlchemy.
- Built-in Garbage Collection sweeps logs older than 24 hours to prevent db bloating.
- Configured for Render deployment.
- High-throughput ingestion API for telemetry payloads (
- Flutter SDK
>= 3.10.7 - Python
>= 3.11 - Java JDK
17or21 - Firebase Project (for Auth & google-services.json)
cd fate_server
# Create a virtual environment
python3.11 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Start the Telemetry FastApi Server
uvicorn main:app --reload