Inspiration
Business operations work is rarely a single chat answer. When high-priority shipments slip, teams bounce between order systems, carrier tracking, inventory checks, task boards, escalation channels, and manager approvals for refunds or customer notices.
That friction inspired YG OpsPilot: an autonomous digital operations employee. Not a chatbot that suggests next steps — an agent that takes a goal, plans the work, uses tools, acts, pauses for humans when needed, resumes, and reports.
The Taskmaster track of the All Things Agentic Hackathon was the perfect fit: build a complete multi-step workflow that removes real operational busywork.
What it does
YG OpsPilot runs missions. An operator enters a natural-language objective such as:
Investigate today's delayed high-priority orders and resolve the incidents.
Then OpsPilot autonomously:
- Creates an execution plan
- Fetches and investigates orders, shipments, customers, and inventory
- Classifies incident severity (including critical cold-chain cases)
- Creates logistics follow-up tasks
- Escalates critical incidents
- Prepares customer communication drafts
- Requests human approval for sensitive actions (e.g. goodwill refunds)
- Resumes after approval
- Publishes a final operational report
The dashboard shows live mission state, timeline, tool calls, incidents, approvals, and long-term operational memory — so operators can trust what the agent did.
Tagline: Give it a goal. It plans. It acts. It gets it done.
How we built it
Architecture
- Frontend: Next.js + TypeScript + Tailwind — operations dashboard, mission detail timeline, approvals inbox, memory/insights
- Backend: FastAPI mission API with durable state and background execution
- Agent: Google ADK orchestrator powered by Gemini 3.5 Flash
- Tools: Typed, audited ops tools (orders, shipments, inventory, tasks, escalations, approvals, reporting)
- Persistence: Local store for development; Cloud Firestore-ready for production
- Deploy: Containerized API for Google Cloud Run
Agent loop
Goal → Plan → Investigate → Analyze → Decide → Act
→ Approval (if sensitive) → Resume → Report
Sensitive actions are gated. Browser refresh does not lose mission progress because state is persisted server-side.
Demo data
A deterministic seeded dataset (customers, orders, shipments, products, memory insights) makes the demo reproducible. The tool layer is shaped so real commerce/shipping/CRM APIs can replace the seed later.
Challenges we ran into
- Autonomy vs reliability: Free-tier Gemini rate limits can interrupt multi-tool ADK runs. We designed a resilient path that continues with the same audited tools so missions still complete.
- Human-in-the-loop without losing state: Approval must pause cleanly and resume asynchronously.
- Operator trust: Expose concise operational events and tool audit trails — never private chain-of-thought.
- Production shape for a hackathon: Keep local setup simple while staying deployable on Cloud Run + Firestore.
Accomplishments that we're proud of
- A true Taskmaster workflow: multi-step investigation + actions + approval + report
- Real tool execution visualized in a premium ops UI
- Google ADK + Gemini 3.5 as the reasoning core
- Durable mission state and background continuation
- Clean architecture docs, demo script, and reproducible README
What we learned
- Agentic ops products win on workflow completion, not chat polish
- Tool design, audit events, and approval boundaries matter as much as the model
- Google ADK + Gemini is strongest when paired with a disciplined mission runner and persistent state
What's next
- Live connectors (commerce platforms, carriers, CRM)
- Cloud Tasks for multi-instance workers
- Mission evaluation harness
- Role-based access / SSO for enterprise teams
Built by
YG OpsPilot — Built by YG Projects
Portfolio: https://yg-projects.vercel.app
© 2026 YG OpsPilot
Built With
- autonomous-agents
- cloud-run
- fastapi
- firestore
- gemini
- gemini-3.5
- google-adk
- google-cloud
- next.js
- python
- react
- rest-api
- tailwind-css
- typescript
- vertex-ai
Log in or sign up for Devpost to join the conversation.