Building in the Cloud: My Journey Through the GDG Accra 'Build with AI' Event
By Michael Tettey · April 5, 2026 · 5 min read

Introduction: Navigating the Complexities of AI and DevOps
Lately, I've found myself deep in the "how" of things. It's one thing to use an AI model; it's another to understand the lifecycle — data gathering, cleaning, modeling, and the rigorous training stages. In this fast-paced DevOps world, understanding how these models move from a local terminal to a globally accessible Cloud Run service is the real game-changer.
To bridge this gap, I spent yesterday at the Google Ghana office for the annual GDG Accra "Build with AI" event. It was an eye-opener, a challenge, and let's be honest, a great way to snag some Google Cloud credits.
The Masterclass Sessions: From Prompt to Production
Our lead, Shadrack Inusah, opened the floor, setting the stage for a day dedicated to the Google ecosystem. Here's a breakdown of the four intense sessions that reshaped my developer workflow.
1. Speedrunning Deployment with MCP & Antigravity
Led by Adiza Alhassan, we explored deploying applications directly from the Gemini CLI using Model Context Protocol (MCP).
What we built: A Neon Tic-Tac-Toe web app.
The PowerShell Struggle: This is where the friction started. I kept trying to use Linux-style export commands for my API keys, which PowerShell just won't accept. I had to pivot to $env:VAR_NAME = "value" or use the CloudShell. Mastering the "flash" deployment to Cloud Run was worth every terminal error.
2. Fullstack Development in AI Studio
Shadrack Inusah returned to show us the power of AI Studio. We moved from a single prompt to a functional 3D music visualizer. It's clear that AI Studio is the ultimate launchpad for MVPs.
- Project: Helix Pulse 3D DNA Visualizer
- The Happenings: The prompt engineering here was deep. I had to guide the AI to use Three.js for the DNA helix and map audio frequencies to geometry scales.
- Takeaway: Being able to iterate on the fly — changing a line of code in the studio and seeing the 3D render update instantly — makes "vibe-coding" feel like high-end engineering.
- Repo: Mtettey29/Heliz-Music-App
3. Adding "Brains" with Firebase AI Logic
Auwal MS led a fun, interactive session using Firebase AI Logic. We bypassed the classic Ghana/Nigeria Jollof banter and focused on a Smart Recipe Generator.
The Tech: We used Genkit and the Firebase AI Logic SDK. I initially struggled with where the initialization lived, but we settled on a clean firebase.js to export the model instance.
The Logic: We implemented a "streaming" UI. Instead of a boring loading spinner, we used an async iterator to let the recipe stream word-by-word:
const result = await model.generateContentStream(prompt);
for await (const chunk of result.stream) {
setRecipe((prev) => prev + chunk.text());
}
Ghanaian Twist: We bypassed the Jollof wars by tuning the system prompt to a "Legendary Ghanaian Chef" persona that knows its way around Red Red and Kpakpo Shito.
Reflection: AI is powerful, but it requires a master of system architecture to ensure it doesn't feed you "slop."
- Repo: Mtettey29/recipedemo
4. The Deep End: Spec-Driven Development (SDD)
Finally, Bright Sunu led us into the most sophisticated territory of the day: Spec-Driven ADK Agent Development. This wasn't just coding; it was "teaching" an AI to be a specialized engineer using Antigravity and Spec-kit.
The SDD Pipeline: We didn't just prompt — we followed a rigorous, version-controlled pipeline:
- The "Skills" & "Constitution": We had to activate the
adk-agent-developmentskill by adding YAML frontmatter toSKILL.md. We also set a Project Constitution — a set of non-negotiable rules the AI had to follow (e.g., "Always use async for DB calls"). - The Infrastructure Struggle (GCP Realities): I hit an HTTP 400 Error because the codelab's suggested tier (
db-custom-1-3840) is incompatible with the new "Enterprise Plus" default. I had to pivot the command to explicitly use--edition=ENTERPRISEto get the PostgreSQL instance live. - The MCP Toolbox & uv Mystery: The magic happened when we ran the MCP Toolbox. It acted as a bridge, allowing Gemini to "see" our SQL tables as tools. I initially hit a
toolbox: command not founderror — a classic virtual environment trap. The fix was wrapping the execution inuv run toolboxto ensure the binaries were visible. - The Result: A production-ready Restaurant Concierge Agent capable of checking availability and writing real reservation data to a Cloud SQL backend.
- Repo: Mtettey29/restaurant-concierge-sdd
The CloudShell Revelation
One of my biggest "Aha!" moments didn't come from a specific line of code, but from the environment itself. Utilizing the GCP CloudShell and its integrated code editor was a revelation. The ability to work on any project, from any machine, using a terminal that — honestly — makes PowerShell look boring, has me officially "glued" to the cloud.
DevOps & Dockerization
Everything we built was eventually Dockerized to run on Cloud Run. This wasn't just about making an app live; it was a crash course in containerization that has massively boosted my understanding of the Docker/Kubernetes world.
Final Thoughts
Vendor lock-in is a real discussion, but when the ecosystem is this well-integrated, why leave?
What's Next?
I'm continuing to dive into SDD and Agentic workflows. If you're a developer in Accra, don't miss the next GDG event. The credits are great, but the knowledge is what keeps you in the game.
