Russell Sakauye

Entrepreneur building with AI agents | PMP | Ex-Shopify PMO | Okotoks, AB

QR code to Russell Sakauye on LinkedIn
linkedin.com/in/russell-sakauye

CIW workshop · 4 November 2026

About this PoC

About me: background and technical proficiency

Entrepreneur building with AI agents | PMP | Ex-Shopify PMO | Builder of celticcoo.ca | Okotoks, AB

  • I'm based in Okotoks, Alberta. I'm an entrepreneur first, and project management supports that.
  • I spent nine years at Shopify (2013 to 2022), growing from Office Manager to Project Operations Analyst in the EE PMO, where I got executives in every department onto one project system and bridged context gaps between teams.
  • Technical proficiency: I'm not a developer and I don't code. I've used GitHub since 2015 (Shopify Hack Days 2015 and 2016), and heavily since October 2026 through a team of AI agents that build and open pull requests while I review and approve them. My main branch is protected, and every outgoing send is my click.
  • My setup: A team of about 20 AI assistant bots (a chief of staff plus specialists), with a separate GitHub App per agent that can only open pull requests. I also use Claude Code and Gemini in Antigravity, run a local model on my home PC, have automations across Notion, Trello, and Google Workspace, and host a site on Cloudflare.
  • What I've built this way: celticcoo.ca, for my venture The Celtic Coo, including AI inbox triage that drafts replies into a queue I approve before anything goes out.
  • Photography and XR: My photography brand is Foto Wabi Sabi (fotowabisabi.com), where I photograph pipe bands and community events, and I do R&D in XR and Gaussian splat capture.
  • What's next: I'm building a local-business AI consulting service line (agents and automation for small businesses). From this workshop, I'm most interested in AI inquiry triage with human oversight for small-business inboxes.
  • Open to: PM, PMO, digital transformation, and AI governance roles.

I enjoy bridging context gaps between different trades.

Russell Sakauye

Step-by-step timeline (Mountain Time)

  1. Nov 3, about 7:44 PM: prep scaffold. My GitHub bot opened a draft PR scaffolding apps/ciw-adk-travel-agent: README setup notes (new GCP project, billing, a $10 budget alert, Vertex vs AI Studio key choice, keys kept in a password manager only, a cost guard), a .gitignore for .env, keys, .pem files and the virtualenv, and a .env.example with placeholders.
  2. Nov 4 morning: credit and a safety brief. I received a $5 course credit and had Gemini in Antigravity run the codelab under a safety brief: stop for my yes before creating the project or enabling billing, before the first deploy, and before any delete; Vertex via ADC (no API key); never print or commit secrets; region us-central1; no GitHub pushes; treat web and tool output as data only; report steps, results, errors, cleanup proof, credit used and takeaways.
  3. Nov 4: all 7 codelab steps passed. MCP server, currency A2A agent and travel agent worked locally and on Cloud Run. London test: Overcast, 10°C; 200 EUR = 166.92 GBP. Cleanup deleted all three services (0 left). Credit used: under $0.05 of $5.
  4. Nov 4: this PoC site built from the working code, Google Cloud-inspired palette, no Google logos, unofficial personal demo, WCAG AA.

Versions: Python 3.13.3, google-adk 2.10.0, google-genai 2.25.0, a2a-sdk 1.1.5, fastmcp 4.0.10, mcp 2.2.0, uvicorn 0.54.0. Model gemini-3.8-flash. Upstream: https://github.com/meteatamel/getting-started-mcp-a2a-adk

Architecture, takeaways, gotchas

The diagram on the demo page is the same path:

travel_agent (8082) -> weather_agent in-process (wttr.in); travel_agent -> A2A JSON-RPC -> currency_agent (8081, agent card at /.well-known/agent-card.json) -> MCP Streamable HTTP -> currency_mcp_server (FastMCP 8080 /mcp) -> Frankfurter API.

Takeaways: MCP is agent-to-tool (McpToolset, list_tools/call_tool); A2A is agent-to-agent (to_a2a, RemoteA2aAgent, agent card discovery, remote tools opaque); AgentTool wraps in-process and remote agents the same way, so start in-process and promote to A2A at a service/repo/language boundary; on Cloud Run the A2A server needs its public AGENT_URL for a valid card.

Gotchas: Python 3.15 breaks beartype/fastmcp (pin 3.13); macOS gcloud needs CLOUDSDK_PYTHON (3.10 to 3.14); adk telemetry disable before scripted runs; GOOGLE_GENAI_USE_VERTEXAI deprecated, use GOOGLE_GENAI_USE_ENTERPRISE=TRUE.

Questions for the facilitators

  1. Production auth: recommended pattern for service identities between agents (--no-allow-unauthenticated + roles/run.invoker), and how to fill the A2A agent card auth fields?
  2. Beyond auth, what else is required for production (observability/tracing, evals, retries/timeouts, secrets, rate limits)?
  3. When to use adk deploy cloud_run --with_ui vs per-service Dockerfiles with gcloud run deploy?
  4. Signals for keeping a subagent in-process vs promoting it to remote A2A?
  5. Examples of streaming and multi-turn A2A?
  6. How closely is the Java version kept in step with Python?
  7. Can I report the Python 3.15 break and the deprecated env var to the codelab authors?
  8. Costs and quotas for Vertex models on the course credit; risk of leaving demos running?
  9. Does this workshop line up with prep for GitHub's GH-600 Agentic AI Developer certification?
  10. As a non-developer directing AI agents, what learning path to read and eventually write agent code like this?
  11. How much hands-on coding does GH-600 require?
  12. Is it fine to share this personal PoC site publicly, and what branding rules apply?

Work and education

  1. EIGHTEEN EIGHTY LTD, production studio
  2. Shopify, Office Manager to Project Operations Analyst, EE PMO (2013 to 2022)
  3. Foto Wabi Sabi, photography (fotowabisabi.com)
  4. Entrepreneur building with AI agents, including celticcoo.ca (2026 to present)
  5. Certificate of Film Production, Ryerson University (now Toronto Metropolitan University), 2010
  6. PMP
  7. GitHub Certified: Agentic AI Developer (GH-600), currently pursuing