Russell Sakauye
Entrepreneur building with AI agents | PMP | Ex-Shopify PMO | Okotoks, AB
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.
Step-by-step timeline (Mountain Time)
- 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.
- 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.
- 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.
- 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
- 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?
- Beyond auth, what else is required for production (observability/tracing, evals, retries/timeouts, secrets, rate limits)?
- When to use
adk deploy cloud_run --with_uivs per-service Dockerfiles with gcloud run deploy? - Signals for keeping a subagent in-process vs promoting it to remote A2A?
- Examples of streaming and multi-turn A2A?
- How closely is the Java version kept in step with Python?
- Can I report the Python 3.15 break and the deprecated env var to the codelab authors?
- Costs and quotas for Vertex models on the course credit; risk of leaving demos running?
- Does this workshop line up with prep for GitHub's GH-600 Agentic AI Developer certification?
- As a non-developer directing AI agents, what learning path to read and eventually write agent code like this?
- How much hands-on coding does GH-600 require?
- Is it fine to share this personal PoC site publicly, and what branding rules apply?
Work and education
- EIGHTEEN EIGHTY LTD, production studio
- Shopify, Office Manager to Project Operations Analyst, EE PMO (2013 to 2022)
- Foto Wabi Sabi, photography (fotowabisabi.com)
- Entrepreneur building with AI agents, including celticcoo.ca (2026 to present)
- Certificate of Film Production, Ryerson University (now Toronto Metropolitan University), 2010
- PMP
- GitHub Certified: Agentic AI Developer (GH-600), currently pursuing