Inspiration
Industrial plants generate continuous machine telemetry, but maintenance teams still spend most of their time manually investigating alerts: checking history and manuals, guessing severity, writing work orders, and chasing technicians. Alerts create noise; investigation and action stay slow.
We wanted an agent that does not wait for a chatbot prompt — one that wakes up when a machine fails, investigates across systems, and takes real maintenance actions.
What it does
Maintenance Agent is an event-driven autonomous workflow (Taskmaster track):
- Simulated fleet telemetry streams in (temperature, vibration, motor current)
- Code-based anomaly detection opens an incident when limits are exceeded
- A Gemini 3.5 agent (via Google ADK) investigates live using tools
- The agent diagnoses the failure, checks inventory, creates a work order, notifies a technician, and updates machine status
- The React dashboard shows the investigation unfolding step by step
- After repair, Mark as completed triggers verification — the agent checks post-repair telemetry and resolves the incident if healthy
Important: telemetry can be simulated; the investigation, tool calls, and decisions run for real.
For CRITICAL shutdown recommendations, a human must Approve or Reject — the agent does not shut down machines on its own.
How we built it
- Model: Gemini 3.5 Flash on Vertex AI
- Agent framework: Google Agent Development Kit (ADK)
- Backend: FastAPI on Google Cloud Run
- Data / events: Cloud Firestore and Pub/Sub
- Frontend: React (Vite) operations dashboard
Tools cover machine context, telemetry history, maintenance records, manuals, inventory, work orders, notifications, and approvals.
telemetry → anomaly detection → incident → ADK agent investigates
→ diagnose → inventory → work order → notify → update status
→ (after repair) verify → resolve
Challenges we ran into
- Making autonomy visible: returning only a final summary hid the real work. We exposed mid-run tool progress in a live investigation timeline.
- Keeping the demo honest: no prewritten Gemini diagnosis for the main path — simulated sensors, live agent.
- Simulator timing: healthy period → degradation → limit breach had to be clear enough for a short video without dead air.
- Responsible autonomy: auto-shutdown needed a human gate without blocking the main work-order path.
Accomplishments that we're proud of
- A full closed loop: detect → investigate → act → verify → resolve
- A dashboard where judges can watch real tool calls appear during a live run
- Real ADK/Gemini actions that write work orders and status into the same store the UI reads
- Deployed on Google Cloud (Cloud Run, Firestore, Pub/Sub, Vertex AI)
What we learned
- Framing the product as an event-driven agent (not a chat UI) makes autonomy easier to judge: tools and state changes are the deliverable.
- UI observability matters as much as the model — a live activity timeline sells the agent better than a final paragraph alone.
- ADK kept instructions and tools in one place; the backend triggers the agent and persists results.
- Human approval for shutdown is a strong demo of safe autonomy.
What's next for Maintenance Agent
- Richer failure modes and multi-agent handoffs (diagnostics vs scheduling)
- Real CMMS / plant data integrations beyond seeded demo data
- Stronger streaming of agent reasoning into the UI
- Production hardening: auth, audit trails, and stronger safety guardrails
Built With
- fastapi
- firestore
- gemini
- google-adk
- google-cloud
- google-cloud-run
- pubsub
- python
- react
- typescript
- vertex-ai
- vite
Log in or sign up for Devpost to join the conversation.