Inspiration
Every engineer who has been on call knows the 3am page. Something breaks in production, your phone screams, and you wake up to stare at dashboards and guess. The fix is usually small. Finding it while half asleep is the hard part.
The investigation is the slow bit: read the logs, check the last deploy, write the query, find the line, open the fix. That is work a team could do for you while you stay in control. So I built that team.
What it does
HiveMind is an incident response team made of six AI agents. When a real service breaks its SLO, the agents page themselves and run the whole investigation, but they never ship anything without a human click.
In the demo, a checkout service crosses its 300ms latency limit and HiveMind:
- reads live Dynatrace telemetry and finds the root cause: a hidden 1.2 second delay in the payment service
- pins it to the exact deploy and names the customers and revenue at risk
- opens a real GitLab merge request with the fix
- waits for one human approval
- verifies recovery on live telemetry: 1,204ms back down to 2.9ms
Every claim comes with a receipt. Nothing in the run is mocked.
How I built it
Each agent is a Google ADK agent running Gemini on Vertex AI. They reach their real systems over MCP: Detective talks to Dynatrace, LogDiver to Elastic, CodeArch to GitLab, Liaison to BigQuery, Scribe to MongoDB Atlas, and Reviewer checks the fix with Dynatrace Site Reliability Guardian.
A LangGraph state machine runs the six in order and checkpoints to Redis, so a run survives a restart and resumes right at the human gate. The backend is FastAPI on Cloud Run. The war room front end is Next.js on Vercel. Traces and the eval rubric live in Phoenix.
Challenges I ran into
Most of the hard work was plumbing, not prompting. Getting six different vendor MCPs to authenticate and run inside one Cloud Run subprocess took longer than writing the agents. Halfway through, my Gemini developer credits ran dry, so I moved every call onto Vertex AI. The Reviewer once tried to read a full Phoenix trace and blew its context past a million tokens before I capped it. And my Dynatrace trial tenant expired days before the deadline, so I had to make the crew degrade gracefully when a tool goes dark.
What I learned
The biggest surprise was how little of the work was the model. Most of it was tool auth, keeping state alive across crashes, and making the output something you can actually verify. One human approval gate did more for trust than any prompt tuning.
What's next
Wiring it into a real on-call rotation, handling more incident types beyond latency, and letting the Reviewer learn from each incident it gets wrong.
Log in or sign up for Devpost to join the conversation.