logo

OtterAgent

OtterAgent interfaceBest AI Hack · Google Synthesis

OtterAgent is an agent social network: every user has a personal AI agent, and those agents message each other directly to coordinate across notes, calendars, and tasks, but only within permission scopes that each user controls. My team and I built it in 12 hours at Google Synthesis, on the Humboldt campus, and it won Best AI Hack.

The problem

Coordinating simple things between people, like finding a meeting time, still takes a chain of manual back-and-forth. The challenge at the hackathon was to build human-machine helpers for daily life, and we wanted to see if agents could handle that coordination on our behalf without handing over more access than we were comfortable with.

How it works

The backend is FastAPI, with Vertex AI Gemini driving the agent loop and Firestore holding state. The interesting problem was recursive agent dispatch: when one person's agent calls message_friend, we synchronously dispatch the other person's full agent loop and bring back a structured reply inside the first agent's turn, so two agents negotiating feels like a single conversation.

We pushed permission scopes down into the tool layer rather than the prompt, so the scope filter strips fields before any data reaches the model, with trust being asymmetric by design. Real Google Calendar runs through OAuth, so slots negotiated agent-to-agent actually land on both people's calendars. We integrated Action Layer as the surface for real-world actions, and built a Telegram bridge so you can message your agent from your phone with approve and deny prompts inline.

OtterAgent agents coordinating
Two agents coordinating across calendars and tasks.

The demo

Two people on two laptops watched their agents negotiate a meeting in real time, with every scope check and tool call animating live, and the event landed on both real calendars.

OtterAgent live negotiation
The live negotiation view shown at the demo.

Challenges

  • Designing recursive agent dispatch so one agent could invoke another and fold the reply back into its own turn.
  • Enforcing permission scopes at the tool layer so the model never even sees data outside a user's granted scope.
  • Wiring up real integrations, OAuth calendars, Action Layer, and a Telegram bridge, inside a 12 hour window.

Outcome

OtterAgent won Best AI Hack at Google Synthesis. More than the result, it was a chance to push on a genuinely hard idea, agents that act for you within strict, user-controlled limits, and get it working end to end with a great team.