Inspiration

Every deep-tech project starts the same way: a great idea, a deadline, and hours of manual busywork — breaking the idea into tasks, researching prior art, scheduling deep-work blocks, setting up a Kanban board, and looping teammates in. We wanted to see if a multi-agent system could take a single mission brief and turn it into a fully staffed, scheduled, and tracked sprint — with zero manual setup — using the tools teams already live in: Notion, Google Calendar, and email.

What it does

Given a one-line prompt and a deadline, the system spins up a crew of specialized agents:

  • Tech Lead breaks the mission into owned tasks with acceptance criteria, risk notes, and estimates, and persists project memory in Firestore so later refinements build on prior context instead of starting over.
  • Research pulls live web and arXiv results so task cards ship with real sources, not hallucinated ones.
  • Scrum Master spreads milestones across the timeline, checks team availability, creates Google Calendar deep-work blocks with real invites (sendUpdates=all, no custom SMTP), and builds a Notion Kanban board per run.
  • Workspace Prep scaffolds a starter project tree on disk, downloadable straight from the dashboard.

All of this is driven through a single POST /trigger-pipeline call, refinable later via POST /refine without regenerating the whole plan — and it's exposed both as a REST API and as an MCP server, so it can be driven by other agents or tools, not just humans.

How we built it

We used Google's Agent Development Kit (ADK) to orchestrate the multi-agent graph, with Gemini (via Vertex AI or AI Studio) powering each agent's reasoning. Firestore holds project memory and run history so the dashboard's "Past Runs" panel survives refreshes. FastAPI serves the pipeline, refine, and history endpoints alongside a static dashboard and Swagger docs, and is packaged to deploy cleanly on Cloud Run. The frontend is a from-scratch dashboard with an animated execution graph, a results modal, a live telemetry strip, and dark/light theming — built to make a multi-agent run feel observable rather than opaque.

Calendar integration went through OAuth (not a service account) so invites come from the organizer's real calendar and land in attendees' inboxes as normal Google Calendar invitations. Notion integration supports both a lightweight to-do mode and a full per-run Kanban database, depending on how a team wants to work.

Challenges we ran into

  • Keeping agents in sync without redundant work. The refinement loop needed the Tech Lead to diff against existing memory (modified / added / unchanged) rather than blindly regenerating the whole plan on every follow-up instruction.
  • Calendar invites that actually land. Getting sendUpdates=all and OAuth scopes right so invitees receive real Google Calendar emails — without a custom mail server — took some trial and error, especially avoiding spam/Promotions folder issues.
  • Two link formats, one dashboard. Google Calendar returns event URLs in more than one domain format, so the UI had to normalize both to reliably render clickable event cards.
  • Rate limits under Vertex AI. Coordinating four agents per run bumps into quota limits quickly, which pushed us toward a leaner "ADK_LITE" prompting mode to cut redundant tool calls.
  • Making an async multi-agent run feel alive, not like a spinner — hence the live execution graph and telemetry strip, so users can see which agent is working and what tool it's calling in real time.

What we learned

Multi-agent orchestration is as much a UX problem as it is a backend one — the hardest part wasn't getting the agents to produce good output, it was making a multi-minute, multi-tool pipeline feel transparent and trustworthy while it runs. We also learned a lot about the practical seams between AI-generated plans and real-world tools: OAuth quirks, Notion sharing permissions, and calendar invite deliverability all matter as much as the quality of the agents' reasoning.

What's next

  • Slack/email digest of each run's plan
  • Multi-project dashboards with cross-project resource views
  • Pluggable agent roles (e.g., a QA or Design agent) via the existing MCP bridge

Built With

  • fastapi
  • firestore
  • google-adk
  • multi-agent
  • notionapi
  • python
Share this project:

Updates

Submission history