Ai4
While vibe-coded applications remain unfit for production, direct BigQuery object connections allow standard SQL queries to extract structured insights and vector embeddings from raw video and audio files.
AI-assisted summary of Vibe-Code an App on Multimodal Analytics [HANDS ON; LAPTOP REQUIRED] With Google Cloud — original source. Check the original for full context.
Source published:
Detailed notes
## Background Published on YouTube by Ai4 on August 15, 2026, this video captures a hands-on workshop led by Google Cloud Developer Advocate Lucia Subatin. The session demonstrates how to query unstructured multimedia files using SQL in BigQuery and build a semantic search application deployed on Cloud Run.
## TL;DR Lucia Subatin guides attendees through configuring an ephemeral Google Cloud environment to build an end-to-end multimodal analytics pipeline. Participants link multimedia assets in Cloud Storage to BigQuery using object references and execute generative AI SQL functions powered by Vertex AI and Gemini to extract structured insights and vector embeddings from images, audio, and video. The session demonstrates semantic vector search over diverse media assets and introduces a containerized web application on Cloud Run, while providing catch-up SQL scripts for self-paced execution. Subatin concludes with a candid evaluation of the architectural boundaries and production viability of vibe-coded applications.
## Atmosphere & style The workshop carries a brisk, high-energy, and interactive tone as Subatin balances a condensed timeframe with live classroom troubleshooting. Her delivery is practical, humorous, and refreshingly candid, openly expressing her preference for robust SQL data pipelines over generative AI hype while reassuring attendees that breaking things in sandboxed environments is part of learning. The dynamic feels supportive and grounded, blending playful pet examples with serious enterprise cloud architecture.
## Key takeaways - [01:17](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=77s) BigQuery enables direct multimodal analytics over unstructured Google Cloud Storage assets—such as images, video, and multilingual audio—using standard SQL queries connected to Gemini. - [01:17](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=77s) The complete workshop architecture spans storage in Google Cloud Storage, analytical processing and embeddings in BigQuery, and frontend web hosting on Cloud Run. - [03:10](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=190s) Ephemeral sandbox environments allow risk-free experimentation but require clean Incognito browser sessions to avoid credential conflicts and accidental billing. - [10:17](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=617s) BigQuery leverages high-speed gRPC external connections to link directly with Vertex AI and Google Cloud Storage without requiring custom API glue code. - [10:17](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=617s) Multimodal assets including cross-lingual audio tracks and pet video clips are treated as queryable data sources directly inside SQL workflows. - [16:48](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1008s) A preconfigured catch-up script (bq_catchup.sql) allows fast-tracking of regional BigQuery multimodal pipelines by replacing environment variables. - [16:48](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1008s) Cloud Shell integrates Gemini Code Assist to provide in-line code explanations directly within the SQL development environment. - [19:26](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1166s) BigQuery's OBJECT_REF constructors allow raw multimedia files stored in Cloud Storage to be treated as first-class database references in SQL queries. - [19:26](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1166s) Native generative SQL functions like AI.GENERATE can query Google's Gemini models or custom open models hosted on Vertex AI Model Garden. - [19:26](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1166s) Constraining generative AI outputs to structured JSON formats inside SQL queries ensures deterministic and stable downstream data processing. - [19:26](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1166s) Generating multimodal embeddings allows semantic vector search across text and media, matching conceptual meanings rather than relying on exact keyword matching. - [22:09](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1329s) While vibe coding provides a fast way to assemble interactive application frontends, AI-generated application code typically requires rigorous review before being considered production-ready.
## Detailed walkthrough ### [00:04](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=4s) Workshop Introduction and Audience Check-In
With only 45 minutes allocated for a session that typically takes closer to an hour, the workshop kicks off at a rapid, high-energy pace. Lucia Subatin, a Developer Advocate at Google Cloud, introduces herself and invites participants to connect online or visit the Google Cloud booth afterward for deeper conversations. To calibrate the room, she conducts a quick show of hands to see who has previously used the Google Cloud Console or BigQuery, while offering immediate reassurance to non-technical attendees that they are fully supported.
A dedicated team of teaching assistants is stationed throughout the room to provide one-on-one troubleshooting whenever participants hit a roadblock. Attendees are encouraged to raise their hands at any point during the hands-on exercises so that a TA can quickly step in and resolve issues.
[01:17](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=77s) Workshop Architecture and Objectives
The core objective of the workshop is to build multimodal analytics workflows directly within BigQuery using standard SQL queries. Participants create database references to unstructured multimedia files stored in Google Cloud Storage—including photos, videos, and multilingual audio recordings featuring real pets, AI-generated animals, and the speaker's own cats. SQL statements are then used to extract AI-driven insights about these pets, such as their favorite foods, behaviors, and hobbies.
```mermaid flowchart LR accTitle: Multimodal Analytics and Application Architecture subgraph Storage["Google Cloud Storage"] Media["Pet Media Assets<br/>(Images, Audio, Video)"] end subgraph Processing["BigQuery & AI Services"] BQ["BigQuery Engine"] Conn["gRPC External Connection"] Gemini["Vertex AI / Gemini Platform"] BQ <--> Conn <--> Gemini end subgraph Hosting["Cloud Run"] App["Containerized Web Application<br/>(Vibe-Coded UI)"] end Media --> BQ BQ --> App ```
The data pipeline transitions from descriptive SQL analytics into generating vector embeddings, which are then integrated into a "vibe-coded" single-container web application hosted on Cloud Run. The speaker notes that vibe-coding an interactive app acts almost like a "choose your own adventure" game: its success relies heavily on how well users craft their prompts with Gemini.
- **Storage Layer**: Google Cloud Storage maintains master metadata and raw multimedia files (images, audio clips, and video). - **Processing Layer**: BigQuery serves as the analytical hub, orchestrating SQL queries, external connections, AI functions, and text generation. - **Application Layer**: Cloud Run hosts the resulting single-container web application to deliver interactive semantic search over multimodal assets.
[03:10](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=190s) Provisioning Lab Environments and Best Practices
Participants access the dedicated lab portal via `goo.gl/petverse-game` to launch their sandboxed Google Cloud environments. The speaker emphasizes keeping the link within the room due to limited seat capacity and advises everyone to use Google Chrome to ensure optimal compatibility. Attendees are encouraged to use Gemini or their preferred AI chatbot whenever they want deeper explanations of specific code snippets.
Clicking through the portal automatically provisions an ephemeral Google Cloud project and temporary student credentials starting with `student` and a project ID prefixed with `qwiklabs`. These sandboxed resources remain active for 90 minutes before automatic deletion, providing a risk-free playground to experiment without personal financial liability or company billing constraints.
The speaker highlights a critical step for avoiding session corruption: the Google Cloud Console must be opened in a clean Incognito/Private browser window with no other sessions active. This prevents accidental resource usage under personal accounts and guarantees that all assets deploy strictly within the lab-assigned region.
[07:45](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=465s) Cloud Shell Setup and Repository Initialization
Once inside the Google Cloud Console incognito session and after agreeing to the standard terms of service, participants open Cloud Shell in a persistent tab via `shell.cloud.google.com`. The speaker encourages attendees not to be intimidated by the command-line interface, reassuring them that "we can break stuff today, so don't worry about it."
To avoid character-garbling issues often caused by keyboard shortcut copying across operating systems, participants are instructed to use the lab interface's native copy buttons and paste into the terminal using `Ctrl+Shift+V` (or `Cmd+Shift+V` on macOS). After authorizing Cloud Shell, the terminal displays the student username alongside the highlighted project ID, confirming the environment is ready.
Attendees then clone the public workshop Git repository and execute an automated setup script. The underlying code remains publicly available so attendees can inspect or rerun the workflow on their own infrastructure long after the temporary lab environment expires.
[10:17](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=617s) BigQuery Connection and Multimodal Storage Setup
While the initial setup script runs, the speaker navigates to `console.cloud.google.com/bigquery` to unpack BigQuery's capabilities. BigQuery is highlighted as an enterprise-grade managed data warehouse engineered specifically for massive volume rather than transactional OLTP workloads, featuring native support for external object tables, Apache Iceberg, user-defined functions (UDFs), and graph analytics.
The setup script provisions an external cloud connection linking BigQuery to Google Cloud Storage and the Vertex AI / Gemini Enterprise Agent Platform. This backend link leverages high-speed gRPC communication, allowing SQL statements to seamlessly query external files and invoke foundation models behind the scenes without manual API glue code. The successful execution of the setup script is signaled by a terminal printout featuring a unicorn party emoji.
```mermaid flowchart TD accTitle: BigQuery External Connection and Data Ingestion Flow subgraph Terminal["Cloud Shell Execution"] GCloud["gcloud CLI Storage Command"] Repo["Public Workshop Repository"] end subgraph DataLake["Google Cloud Storage Bucket"] SampleBucket["Sample Source Bucket"] LabBucket["Lab Project Media Bucket"] SampleBucket -->|Copy media assets| LabBucket end subgraph BigQueryEngine["BigQuery Multimodal Pipeline"] Conn["gRPC Connection: Vertex AI / Gemini"] ObjectTable["BigQuery External Tables / Object References"] LabBucket --> ObjectTable Conn --> ObjectTable end Repo --> GCloud GCloud --> LabBucket ```
Using the `gcloud` CLI, participants copy sample pet media assets into their freshly created regional storage bucket. The speaker inspects the storage bucket to show the diverse dataset: - Image files (JPEGs and PNGs), including a sample dog named "Pixel". - Multilingual audio tracks designed to test cross-lingual audio processing. - Video clips, including one showcasing the speaker's own cat, "Sequel", whose favorite toy is a shoestring—setting up the upcoming exercise where BigQuery SQL statements will query the video directly to discover Sequel's favorite toy.
[14:43](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=883s) Self-Paced Walkthrough and Workshop Etiquette
Lucia Subatin acknowledges how distracting it can be to follow along with live instructions while trying to read and execute hands-on code: "If I were sitting there and I had somebody yapping at me while I'm trying to focus and do stuff, I would be losing my mind." For attendees who prefer following along at their own rhythm, she shares a pre-recorded walkthrough video. Because she added closed captions, attendees can follow along visually without sound, but she jokingly warns that anyone who turns up the volume needs to put on headphones: "If you're going to use audio because for some reason you like my voice, please wear headphones because that's going to be super annoying for everybody."
She checks in with the room to see how people are progressing through the lab, asking whether anyone is completely stuck or lost. Welcoming everyone into the "Petverse" hands-on environment, she jokes that she might regret her decisions before stepping away from the podium mic to circulate among the tables and assist attendees directly.
[16:48](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1008s) Catching Up with the Automated BigQuery SQL Script
Returning to the microphone to help attendees transition to the application-building phase before room time expires, Lucia introduces a catch-up script for anyone falling behind on manual configuration. She notes her personal engineering bias: "Personally, I'm not super excited about vibe coding in and of itself. I think we can do that at any time, and I prefer the BigQuery stuff." To fast-track the SQL setup, she points attendees to `bq_catchup.sql` inside the cloned `petverse-multimodal` repository.
```mermaid flowchart TD accTitle: BigQuery Catch-up Script Pipeline subgraph Prerequisites["Setup Prerequisites"] A["petverse_setup.sh"] --> C["GCS Storage Bucket"] B["Vertex AI Connection"] --> D["bq_catchup.sql"] end subgraph Execution["Catch-Up Execution"] D --> E["Replace REGION\n(e.g., europe-west4)"] E --> F["Replace PROJECT_ID\n(from GCP Picker)"] F --> G["Run in BigQuery Console"] end subgraph Features["IDE Assistance"] H["Cloud Shell / Editor"] --> I["Lightbulb Icon"] I --> J["Explain Code Feature"] end ```
Running the script requires two prior setup steps: executing the repo's `petverse_setup.sh` shell script in Google Cloud Shell and configuring the Google Cloud Storage (GCS) bucket. In the SQL editor, attendees use find-and-replace (`Ctrl+H`) to configure: - Replacing the placeholder `REGION` with their lab region (such as `europe-west4` or `us-central1`). - Replacing `PROJECT_ID` with their lab-assigned Google Cloud project identifier, copied from the GCP project picker or lab manual.
She also highlights a built-in productivity feature in Cloud Shell: highlighting any code block surfaces a small lightbulb icon that allows users to prompt Gemini Code Assist to explain the SQL code line by line.
[19:26](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1166s) Architectural Recap: Object References, AI SQL Functions, and Multimodal Embeddings
Lucia walks through the complete end-to-end architecture built during the session. The pipeline begins simply by loading a structured CSV into BigQuery, which is then extended into a multimodal analytics engine.
```mermaid flowchart LR accTitle: BigQuery Multimodal Analytics Flow subgraph Ingestion["Data Ingestion & Storage"] CSV["Pets CSV Table"] GCS["GCS Bucket\n(Video & Audio)"] end
subgraph BigQueryML["BigQuery SQL Processing"] OBJ["OBJECT_REF()\nConstructors"] AIFunc["AI.GENERATE / Vertex AI\n(Descriptions & Schema)"] EMB["Multimodal Embeddings\n(Text & Media Vectors)"] end
subgraph Discovery["Search Engine"] Search["Semantic Vector Search\n('Pets who like to chill')"] end
CSV --> OBJ GCS --> OBJ OBJ --> AIFunc AIFunc --> EMB EMB --> Search ```
- **Object References (`OBJECT_REF`)**: BigQuery tables link directly to raw multimedia assets stored in GCS buckets using BigQuery object reference functions, allowing queries to treat external video and audio files as first-class SQL references. - **Generative AI SQL Functions**: The workshop leverages native generative AI SQL functions such as `AI.GENERATE` (alongside related functions like `AI.GENERATE_TABLE`, `AI.IF`, `AI.AGGREGATION`, and `AI.SCORING`). - **Model Flexibility & Vertex AI Connections**: Through the connection ID initialized in `petverse_setup.sh`, `AI.GENERATE` can query Google's Gemini models or custom endpoints hosting open models (such as Hugging Face models hosted on Vertex AI Model Garden). - **Deterministic vs. Freeform Output**: While Gemini can generate unrestricted natural language, the queries explicitly constrain the output format (using structured JSON/schema generation) to ensure downstream SQL stability. - **Multimodal Embeddings & Semantic Search**: Numerical vector representations were created across both text and multimedia assets. This enables semantic search rather than brittle substring matching; for example, searching the concept *"Pets who like to chill"* accurately retrieves records where the pet's listed hobby is *"relaxing in the sun"*.
[22:09](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1329s) Vibe Coding Limitations and Session Wrap-Up
Lucia directs attendees to the recorded video for the frontend application creation, adding a frank disclaimer about AI-assisted code generation: "When it comes to the vibe coding, if you go into the video, you'll see a little bit of a rant me going, 'This is not going to be production-ready,' and an explanation of why."
Acknowledging that the reliability and safety of vibe coding remain contentious engineering topics, she invites anyone interested in debating the architectural nuances to chat with her outside the workshop room. She closes the session by thanking the room for their patience with venue Wi-Fi slowdowns and wraps up the presentation to audience applause.
## Notable quotes > [07:45](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=465s) we can break stuff today, so don't worry about it. — Lucia Subatin
> [14:43](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=883s) If I were sitting there and I had somebody yapping at me while I'm trying to focus and do stuff, I would be losing my mind. — Lucia Subatin
> [14:43](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=883s) If you're going to use audio because for some reason you like my voice, please wear headphones because that's going to be super annoying for everybody. — Lucia Subatin
> [16:48](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1008s) Personally, I'm not super excited about vibe coding in and of itself. I think we can do that at any time, and I prefer the BigQuery stuff. — Lucia Subatin
> [22:09](https://www.youtube.com/watch?v=jtwTWVmOA_Q&t=1329s) When it comes to the vibe coding, if you go into the video, you'll see a little bit of a rant me going, 'This is not going to be production-ready,' and an explanation of why. — Lucia Subatin
## Mentioned Lucia Subatin, Google Cloud, Ai4, BigQuery, Google Cloud Storage, Cloud Run, Vertex AI, Gemini, Gemini Code Assist, Google Chrome, Cloud Shell, Apache Iceberg, Hugging Face, Vertex AI Model Garden
## Video description Lucia Subatin - Developer Advocate, Google Cloud
Important Note: This hands-on, interactive workshop is led by Google Cloud and is open to all Ai4 attendees at no additional cost. No RSVP or separate registration is required. To participate and get the most out of this session, please bring your own device (a laptop is recommended). Devices will not be provided on-site.
ABOUT THIS WORKSHOP: Learn how to search through video, audio and flat files from SQL statements to equip your applications and agents with multimodal analysis. Vibe-code a Cloud Run web application to see the power of semantic search over different types of files in action.
[Source](https://www.youtube.com/watch?v=jtwTWVmOA_Q)