Inspiration

I was watching an anime, and one episode dropped with the exact same captions as the episode before it. No warning, it just went out broken. That stuck with me, fansub groups run real encode and release pipelines, shipping to thousands of people, with zero monitoring. When an encoder crashes mid-job, nobody finds out until the release is already out and fans are complaining.

I wanted to bring real observability to a space that's never had it, and let an AI agent do the debugging instead of a person.

What it does

AniOps watches a fansub encode pipeline live. When something fails, like an encoder running out of memory, a Gemini agent investigates on its own: pulls metrics and logs from Grafana Cloud via MCP, finds the root cause, and writes a plain English incident report with the affected releases and a recommended fix. Posts to Discord and shows up on the dashboard in real time.

How I built it

Google ADK running Gemini, the only AI model used, per the hackathon rules. OpenTelemetry sends metrics and logs to Grafana Cloud (Mimir and Loki). The agent reads them back live through the official mcp-grafana MCP server at runtime. Streamlit frontend, hosted on Streamlit Community Cloud. Discord webhook for alerts.

Challenges I ran into

The MCP dependency chain broke on deploy. Google ADK's MCP toolset needs a specific version of the mcp Python SDK, and a loose version bound silently resolved to an old, broken one in the cloud environment. Pinned exact dependency versions to fix it.

Built With

  • discord-webhook
  • gemini
  • google-adk
  • grafana-cloud
  • grafana-mcp
  • loki
  • mimir
  • model-context-protocol
  • opentelemetry
  • prometheus
  • python
  • streamlit
Share this project:

Updates

Submission history