A hands-on workshop using AI coding agents and Google Cloud data tools to explore a coffee shop expansion scenario.
Prepare your computer a few days before the workshop. Your Skills/Qwiklabs lab will provide the Google Cloud project and access instructions on workshop day; you do not need to create a personal Cloud project, billing account, or free trial. Afterward, you can recreate the workshop in your own project.
Install these prerequisites using their official instructions:
- Git
- Google Cloud CLI
- Node.js 22.6 or newer and npm (current LTS recommended)
- One supported agent: Codex CLI, Claude Code CLI, or Antigravity CLI
Clone the repository:
git clone https://github.com/jeffonelson/data-cloud-creator-workshop.git
cd data-cloud-creator-workshopThen check local prerequisites:
./bin/doctor --preflightThis checks command availability and the minimum Node.js version. It makes no cloud requests, starts no login flow, and installs or configures nothing. No Google sign-in, project, or credit card is required. Fix any reported failures using the installation links and rerun until there are zero failures.
A passing preflight confirms local prerequisites only. Agent sign-in, Google authentication, project permissions, plugins, and live tools are checked later.
Follow the lab's instructions to obtain your assigned project ID and the identity
to use. Authenticate as that identity; replace YOUR_LAB_PROJECT_ID below with
the assigned project ID:
gcloud auth login --project=YOUR_LAB_PROJECT_ID
gcloud auth application-default login --project=YOUR_LAB_PROJECT_IDSign in to your chosen agent CLI if needed: codex login, claude auth login,
or agy. Agent sign-in is separate from Google Cloud sign-in. Workshop resources
are prepared by the organizers; skip provisioning for your assigned lab project.
./bin/setup checks access to your project and secrets, then installs
and configures the newest Data Agent Kit release for each supported agent on
your computer. It uses upstream DAK setup to select BigQuery and AlloyDB, with
notebook and visualization tools included by upstream. The plugin is
dak@dak-marketplace; the data servers are dak-bigquery and dak-alloydb.
Restart open agent sessions after setup.
The selected project is saved in ignored .workshop-state/project.env and upstream's
non-secret ~/.config/data-agent-kit/config.json. Setup does not change the global
gcloud project. A conflicting pre-existing DAK config or plugin installation stops
setup; resolve it with upstream DAK or the agent's plugin commands, then retry.
To move an installation owned by this checkout to a later release, run
./bin/teardown and then ./bin/setup again. Pre-existing installations are preserved.
./bin/setup YOUR_LAB_PROJECT_ID./bin/doctor runs read-only checks for the required software, agent CLI login,
Google Cloud authentication, plugin installation, and MCP configuration.
./bin/doctorUse a workshop launcher instead of running codex, claude, or agy directly so it
can load the workshop credentials and project settings before starting the agent.
./bin/workshop-codex./bin/workshop-claude./bin/workshop-antigravityTrust the repository when prompted. Keep this session open for the entire lab.
To continue after the lab expires, use an existing billing-enabled project you
own. Install Python 3 and Google Cloud CLI with bq, then sign in with your own
Google account and replace YOUR_PROJECT_ID:
gcloud auth login --project=YOUR_PROJECT_ID
gcloud auth application-default login --project=YOUR_PROJECT_ID
./bin/provision YOUR_PROJECT_ID
./bin/setup YOUR_PROJECT_ID
./bin/doctorAllow about 15–20 minutes, then launch an agent as above. Provisioning creates
billable resources, including AlloyDB, which keeps charging until removed.
./bin/teardown removes local setup only.
First, run /mcp in the agent and confirm that the Developer Knowledge, Maps
Grounding Lite, Cloud Run, dak-bigquery, and dak-alloydb MCP servers are loaded.
Then paste the following prompt into the same agent session and run it:
Use the MCP tools for these checks. Make one successful read-only call to each service:
1. Developer Knowledge: retrieve the official BigQuery row-level security documentation.
2. Maps: find two coffee shops near Golden Gate Park and include their Google Maps links.
3. BigQuery: list datasets in the workshop project.
4. AlloyDB: list clusters in us-central1.
Return a four-row PASS/FAIL table. Empty BigQuery or AlloyDB results count as PASS.
Open the interactive data landscape to explore the tables, their grain, and the relationships between them.
🎯 Your north star
Recommend Charlie’s next San Francisco location and be prepared to defend it. The prompts below are suggestions, not a required sequence. Ask your own questions and follow whichever evidence interests you.
Charlie's Coffee operates six San Francisco stores and is choosing where to open next. Run the suggested prompts for the shortest path through the scenario, then choose any optional follow-ups that match your interests and available time. Continue in the same agent session so later prompts can build on earlier findings.
According to the official Google Cloud documentation, why might AlloyDB be a
better home for live inventory than BigQuery, and when would that choice stop
making sense?
How can we analyze AlloyDB and BigQuery together without first building another ETL pipeline? Use the official Google Cloud documentation and cite the documents you use.
Charlie's wants to open a seventh San Francisco store. Help me make a recommendation we can defend. Before running any analysis, what evidence would you want, and where would you expect to find it?
Where is Charlie's inventory failing to meet customer demand?
Can stock-movement history explain how those shortages developed?
Use BigQuery AI to extract availability complaints from customer reviews.
Do they corroborate the live inventory?
Can you combine the operational and analytical evidence in one analysis without copying the AlloyDB data into BigQuery first?
Which complaints match specific store/product pairs, and which are ambiguous?
Use BigQuery AI.FORECAST to forecast six months of candidate-market demand.
Which site looks best after estimating store revenue and accounting for rent?
What separates Charlie's strongest store markets from its weakest ones?
How did you translate market demand into store revenue? Check your assumptions
against Charlie's existing stores.
What assumptions have the most influence on the ranking, and what would need to change for the runner-up to win?
⏸️ Facilitator checkpoint
Once your agent recommends a specific site, write it down. Continue exploring until the facilitator calls the room back together.
Want to explore somewhere you know? Bring Charlie's to your own spot. Replace
[LOCATION] with anywhere in the world you'd like to explore; include the country
if the name could be ambiguous. San Francisco's numbers remain business benchmarks.
Skip this section to continue with your San Francisco recommendation.
What if Charlie's expanded into [LOCATION]? Use Maps to suggest three areas
worth exploring, informed by what we learned from its San Francisco stores.
Which area looks most promising, and what would we need to verify?
Pick a specific map anchor for a hypothetical store to explore next.
Use Maps to stress-test your recommended SF expansion spot. What nearby evidence
strengthens or weakens the case? Include the Google Maps source link
immediately after every place-based claim.
Does nearby coffee competition indicate saturation, or does it validate demand?
Which nearby residential areas could expand Charlie’s delivery reach through DoorDash or Uber Eats? Use Maps to compare driving times from the site.
Which nearby residential buildings and neighborhood anchors are within a 10-minute walk of the site and could contribute launch-day foot traffic?
The remaining activities are for extra workshop time or continued exploration afterward.
Design a launch-week plan for the recommended site using everything we have learned.
If we held an outdoor launch event at the recommended site this weekend, what do the hourly and daily weather forecasts suggest, and how should we adjust the plan?
Which nearby gyms and coworking spaces should we approach as launch partners?
What stock problems should we avoid repeating at launch?
Revise the launch plan based on what you discovered.
Build an interactive BI dashboard that helps our team explore Charlie's sales,
inventory, and market demand. Highlight the most interesting findings.
Audit the dashboard's numbers and labels against the source data.
Deploy the dashboard to Cloud Run so our team can revisit it. Return the live URL.
Exit the agent, then run:
./bin/teardownThis removes workshop-installed agent plugins and local workshop state. It does not change Google Cloud or delete this repository.
This is a project intended for demonstration and workshop purposes only. It is not intended for use in a production environment. This repository is not an officially supported Google product.
