Automating Daily Operations with a Productivity Agent: What Building a Coffee Shop Manager Assistant Taught Me

Gen AI Academy Track 3 — Hack2Skill × Google Cloud

· Ajoy Saha

View the codelab

As part of Track 3: Automate Daily Operations with a Productivity Agent, I built and deployed a personal AI agent using Google's ADK on Cloud Run — one designed not just to answer questions, but to actually do operational analysis and act on it, with a human staying firmly in the loop.

The build came from Google Cloud's "Run a personal agent on a Cloud Run service (coffee shop manager assistant)" codelab, and it turned out to be one of the more instructive hands-on exercises I've done this cycle — precisely because it's a productivity agent in the fullest sense, not a chatbot with a search tool bolted on.

Why this fits Track 3

A lot of agent demos stop at "retrieve and summarize." This one goes further: the agent has to reason about a real operational problem, write and execute its own analysis code, and only act on the outcome once a human has explicitly signed off. That's the actual shape of daily-operations automation — not replacing judgment, but compressing the distance between raw data and a decision someone can trust.

The scenario: managing a coffee shop through a college town's graduation weekend, using last year's point-of-sale data to predict this year's rush points and staffing gaps.

What the agent actually does

  1. Reads last year's POS data straight from a shared Google Sheet.
  2. Correlates it against this year's ceremony schedule using a secure, sandboxed Python environment — the agent writes and runs its own analysis code on the fly, inside Cloud Run's native sandbox runtime.
  3. Diagnoses the bottleneck — distinguishing "you need another cashier" from "your baristas are the actual constraint," which is a subtler and more useful call than either me or a script would have hardcoded upfront.
  4. Proposes concrete staffing and inventory tasks — and stops there.
  5. Waits for explicit approval before writing anything back to the shift-planning sheet.

That last step is the one I keep coming back to. It's a small design decision, but it's what separates an agent you'd let near real business data from one you wouldn't.

What I upskilled on

  • Cloud Run's sandbox launcher — running untrusted, agent-generated code safely and fast, rather than trusting the agent's output blindly or building my own isolation layer from scratch.
  • ADK's tool-composition pattern — wiring FunctionTools for sandbox execution and Sheets read/write/create operations into a single LlmAgent, and shaping the instruction set as a genuine operating policy (analysis → diagnostics → approval → write) rather than a loose prompt.
  • Service-to-service auth with least privilege — a dedicated service account scoped to exactly aiplatform.user plus Editor on one spreadsheet, instead of reaching for broad project roles out of convenience.
  • Source-based Cloud Run deploys — going from a Dockerfile straight to a serving revision with a single gcloud beta run deploy, no separate build/push step.
  • Debugging under real constraints — Cloud Shell sessions don't persist environment variables, a missing Dockerfile silently changes your build path to Buildpacks without erroring, and region prompts can quietly divert a deploy if you're moving fast. None of these are exotic failures — they're the ordinary friction of shipping something end-to-end, and working through them taught me more than the happy path would have.

The result

The agent deployed cleanly to Cloud Run, served the chat UI over WebSockets, correctly correlated last year's Cold Brew and Espresso spikes with specific ceremony end times, flagged the barista-output bottleneck over a cashier shortage, and — after I approved its recommendations — wrote a new TODO-2026 tab into the spreadsheet with properly structured staffing and inventory tasks. No step skipped, no unapproved writes.

You can see the resulting spreadsheet here: Coffee Shop POS & TODO Sheet

Why it matters for daily-operations automation

The pattern here generalizes well beyond coffee shops: pull historical operational data, reason over it with real code rather than a canned template, surface a diagnosis a human can actually evaluate, and only take action with explicit sign-off. That's the shape I want more of my agent work to take — genuinely useful automation that still respects the fact that someone accountable needs to say yes first.

Part of my ongoing work through Google Cloud's Gen AI Academy tracks — building toward a broader AI practitioner portfolio alongside the Mukti Scholar Agent and Invoice Triage Copilot. Codelab: Run a personal agent on a Cloud Run service (coffee shop manager assistant)