DEV Community

Yash Mathur
Yash Mathur

Posted on

Touch Grass Agent: The AI That Yells At You To Go Outside

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built
The Touch Grass Agent is a multi-agent developer burnout detection and intervention system. It actively monitors developer telemetry—such as session duration, keystrokes per minute, and error rates—to calculate real-time fatigue probability.

When a developer crosses the burnout threshold, the agent executes a "System Override." It bypasses standard notifications to deliver a strict, synthesized audio directive commanding the developer to step away from the keyboard. It doesn't just tell you to take a break; it pulls live weather data and local geography to assign a specific, actionable destination (e.g., "March to Meghdoot Garden. It is 26°C and partly cloudy, you have no excuse. Go touch grass!"). It is built specifically for hyper-focused developers, hackathon participants, and remote workers who lose track of time and screen hours.

Demo
Live Backend :
Live Dashboard:
(Note: The frontend communicates securely with the live FastAPI backend via CORS. Ensure your volume is up to hear the agent's override directive!)

Code
https://github.com/yashmathur1207/touch-grass-agent

How I Built It
The architecture relies on a specialized, decoupled stack designed for speed and localized data processing:

AI & Inference Ecosystem: I utilized TabPFN (an open-weight tabular foundation model) to process the raw numerical developer telemetry (duration, keystrokes, error spikes) and output highly accurate burnout probabilities without the latency of a massive text-based LLM. Inference is powered by the Nebius API.

Agentic Tools: The orchestrator utilizes a custom serp_tool to fetch real-time local park data and weather conditions, while an elevenlabs_tool generates the commanding .mp3 audio directives on the fly.

Backend: Built with FastAPI, fully integrated with Sentry SDK for transaction tracing (sentry_sdk.start_transaction(op="task", name="Evaluate Burnout")) to monitor API performance and error states. Hosted on a Render web service.

Frontend: A lightweight, dark-mode terminal UI built with pure HTML/JS and Tailwind CSS. It connects to the FastAPI backend, dynamically renders the intervention dashboard, and streams the static audio file directly to the browser.

Why Does Open Innovation Matter?
Open innovation was critical for this build because burnout detection shouldn't require sending thousands of telemetry data points to a closed, opaque LLM provider. By leveraging open-weight models like TabPFN, the agent can perform inference on numerical tabular data quickly, locally, and efficiently. Open innovation empowers developers to stitch together highly specialized, modular AI tools—tabular models for telemetry, search APIs for local grounding, and voice generation for the UI—into a single, cohesive workflow rather than relying on a one-size-fits-all closed box.

Prize Categories
Best Use of Render: The FastAPI multi-agent backend is hosted as a live Web Service on Render, acting as the primary AI runtime.

Best Use of TabPFN: Used TabPFN's tabular foundation model to process numerical developer telemetry (duration, keystrokes, errors) and accurately classify/predict the developer's burnout probability.

_Best Use of ElevenLabs: _Used to generate the .mp3 synthesized voice narration for the agent's overriding directives, directly streamed to the frontend dashboard.

Best Use of Sentry Agent Tracing: Integrated the Sentry SDK to trace the agent's core evaluation task (sentry_sdk.start_transaction(op="task", name="Evaluate Burnout")), monitoring API latency and error states.

Best Use of SerpApi: Utilized a custom SerpApi tool to give the agent live search capabilities, grounding the intervention directive in fresh, local weather and geographic data (e.g., finding Meghdoot Garden in Indore).

Top comments (0)