← All transcripts

From vibe-code to production: AI Studio, Cloud SQL, and Firestore | Google Cloud Live Transcript, AI Summary & Key Points

Google Cloud Tech · Jul 07, 2026 · Science & Technology · 01:05:15 · EN-US

🧠 AI Summary

Vibe-coded prototypes need databases, authentication, testing, debugging, and monitoring before they become production-ready applications. Google AI Studio integrates with Cloud SQL for PostgreSQL and Firestore so an agent can configure database schemas, document models, queries, database calls, authentication, and security rules. Firestore provides a flexible, scalable, highly available NoSQL option with real-time synchronization, while Cloud SQL provides managed PostgreSQL with four nines of availability, query tooling, and compatibility with standard PostgreSQL code. The live demo shows that AI-assisted development can add authentication, database persistence, leaderboards, queries, and new features quickly, but the agent still requires explicit requirements, testing, troubleshooting, and developer oversight.

🔑 Key Points

  • The gap between a vibe-coded prototype and a production-ready application includes persistence, multiple users, authentication, databases, querying, and scalable infrastructure.
  • Google AI Studio integrates directly with Cloud SQL for PostgreSQL and Firestore.
  • AI Studio can automatically create a PostgreSQL schema and execute SQL statements for Cloud SQL.
  • For Firestore, the agent can define a document model and queries for the application.
  • Cloud SQL is the relational database option, while Firestore is the non-relational NoSQL document database option.
  • Firestore allows data structures, variable types, fields, relationships, and connections to change without taking the database offline.
  • Firestore is described as highly scalable, highly available, beginner-friendly, and capable of real-time synchronization without page refreshes or manually configured polling.
  • Firestore has compatibility with MongoDB drivers and tools.

🔗 Links mentioned

The rest of this analysis is held back.

Behind this: 8 ai usage · 7 lessons · 6 risks.

Inquire for details

📄 Transcript

Searchable transcript of From vibe-code to production: AI Studio, Cloud SQL, and Firestore | Google Cloud Live — Google Cloud Tech (01:05:15). Search for a phrase, then click its timestamp to jump straight to that moment in the video.

Captions sourced from the original video on YouTube, published by Google Cloud Tech. The video, its captions and all related intellectual property remain the property of their respective owners; AINotes claims no ownership. Provided for research, accessibility and search — see the Transcript Notice and Copyright Policy.

[CROWD CONVERSATION] [MUSIC PLAYING] SPEAKER 1: We are looking at a 5,000-share order. [WIND BLOWING] [HELICOPTER ROTORS WHIRRING] TILDE THURIUM: Hello developers. Welcome back to Google Cloud live. Since we are officially in the heat of July here in the United States, we've decided to bring a little summer flavor to today's episode, although it is not summer everywhere.

So if you're tuning in, let us know in the comments where you are joining us from. Today, I'm joined by Billy Jacobson, a senior developer advocate here at Google. BILLY JACOBSON: Hi. I'm, as you said, a senior developer advocate here. I'm Billy. I'm based in New York City, where it has been so hot for so many days in a row, and now it's finally under 70 degrees with these huge storms.

But I'm excited to be here and bring back some summer vibes. TILDE THURIUM: Amazing. Yeah, glad it cooled down a little bit. I am joining you from San Francisco, so let's get into today's topic. So vibe-coding, or AI-assisted coding, is top of mind for a lot of folks. Maybe you've seen viral demos of developers spinning up front-end prototypes in 30 seconds using only natural language.

But with vibe-coding, it's amazing. And then there's also definitely a gap between what makes a good demo and a production-ready application. So as our resident expert, Billy is going to help us bridge that gap between vibe-coding and enterprise deployment. Talk to us about this. Where does the vibe end and actual engineering begin? BILLY JACOBSON: I think going from vibe to enterprise is such a specific place.

So I think we're going to have a really good stream talking about all of this. So we're talking about bridging the gap between a vibe-coded app to something that you're going to deploy for more enterprise app. Even if it's just internal, one of the big things that I always think about within infrastructure is databases. And that's just really critical for how you want to scale your prototype to something that maybe hundreds of people or thousands or millions of users are going to be able to use.

A database is going to be really core to that. So today, we're going to play with AI Studio. And this is a great tool for generating web apps in a vibe-coded way. And you can go from just a prompt to a deployable application. You can click Send it to Cloud Run, see it go live, share it with friends. And today, we get to go past that and talk about some of the new integrations with databases like Cloud SQL and Firestore.

And these integrate directly with AI Studio now. There's a one-click deployment for adding databases to your infrastructure, adding authentication, which is also another big thing for enterprise deployment. So we're going to just explore these integrations in real time today. Actually, we want to share my screen. I can give a little sneak peek of what we're going to show off today.

We've got this ice cream scooping game. Ice cream is going to fly from the sky. It's moving so slow right now. We've got to catch it. And this is a really simple game, but this was all vibe-coded. And under the hood, we've got a database with user authentication. We're storing high scores. There's all this stuff that we're going to go and take a closer look at throughout the day.

TILDE THURIUM: That is so cool. So before we dive into the demo, let's talk about this day-two problem of making your vibe-coded app more production-ready and learn more about databases and authentication. BILLY JACOBSON: Yeah. We can just start talking about all these things because I think there's just a lot of topics in a lot of areas that we're throwing at people today.

So yeah, let's break some of this down a little bit more first. Because I think if you're a vibe-coder, you might be a totally beginner developer and hearing all of these new terms for the first time, authentication databases, querying, all this stuff. But even if you're advanced, you probably are already thinking about these things. And these are really critical to vibe-coding at any level that you're going to be at.

It's not these things don't go away if you're vibe-coding. You still have to think about them. So let's say you've got your idea or something you've already vibe-coded. So the next step is, how can you persist that information in your application? How can you add more users to it, make it feel like something is a live productionized application, not just a static service?

So databases are the answer here. And actually, when I was learning to code, databases really unlocked something for me. I was like, oh, this is how you could, if you're making a social media app, here's how you would have the posts stored and the images and have everyone be able to connect with each other. It's like databases really take you from a basic HTML website.

It was a little bit of JavaScript or interactivity to something that multiple people can use, interact with each other. And I think that's this really great day two for vibe-coding. And within databases, there are multiple options. I mean, in the tech landscape, there are so many choices to make. But I think, at least, a starting point is thinking about relational versus non-relational data.

Because in some applications-- social media is a lot more structured. So you've got your posts, you've got your users. These things are a little bit more rigid. The connections between them are really clear. A user makes posts, and then the posts might have comments. But you also might be making some more new type of social media application. You don't know exactly how things are going to all be grouped together.

And that's something great with NoSQL and a document database like that. So you can add new fields, add new relationships, add new connections a little bit more fluidly. And both have their pros and cons. TILDE THURIUM: Something very cool. So Cloud SQL is the relational option and Firestore is non-relational. BILLY JACOBSON: Yeah. So in AI Studio, which is going to be our focus today, there is a new integration with Cloud SQL for Postgres.

And that's our relational option. And then there's also Firestore, which is one of my favorite databases to work with. And this is our NoSQL document database option. So AI Studio is adding these into your vibe-coded application so you're just like a one-click button. Now you're not going to do a manual configuration anymore. You don't have to define the schema.

You don't have to integrate the database calls with your code. AI Studio is set up to do these things. It's got prompts designed to help add those integrations for Cloud SQL. The agent's automatically going to create the Postgres schema and execute the SQL statements. And for Firestore, the agent will define a document model and queries for your app.

TILDE THURIUM: Oh, that's amazing. And does it help you choose which one is a better fit for your app or do you have flexibility to make that decision yourself, or how does that work? BILLY JACOBSON: You definitely have the flexibility to make that decision. I think when we get into the AI Studio, I would say you could talk to the agent in there and say, based on this application, what do you think is going to be better?

And it could probably give you some advice on how to do that. So I think that's one of the great things about this is it can be very opinionated on what you want to do. And maybe we'll even ask that in the chat when we're playing with it a little bit. TILDE THURIUM: I love that. BILLY JACOBSON: Yeah. TILDE THURIUM: As a full stack developer, I can cause a bug anywhere in the stack.

And I found vibe-coding works best when I'm in a conversation with the agent, making it my programming partner, and we're bouncing ideas back and forth. But we'd love to hear a little bit more since I'm new to Google. What are some kind of other benefits of Firestore? BILLY JACOBSON: Well, Firestore is-- I always think of it as like if you don't know databases or if you're just really trying to start out, it is so beginner-friendly in so many ways.

There's just so much flexibility with it. So it's a document database. So you can change the structure of your data. You can change the variable types. You can do this all without having to take your database offline, bring it online. There's not a lot of management there. And that, I think, is really good when you're just building something for the first time and are just like, I want to hit the ground running.

I don't want to think about this too hard in advance. And there are definitely still reasons you're going to want to think about your schema with Firestore. If you've got certain indexes you want to do on your database, so that would be a type of query you want to run over and over and ways to set it up to make that faster. But at a baseline, if you're like, I'm making a leaderboard for a video game, that's probably a pretty simple way to just get started.

You're just kind of storing that data and can build on it from there. Firestore is also highly scalable and highly available. These things are really important because when you build an application, if you want to be able to start with five users, probably, you're giving it to a few people on your team trying it out. But you don't want to have to rewrite your whole system, redesign your architecture when you get to 1,000 users, 10,000 users.

Both of these databases that the AI Studio integration supports are scalable. And I think that's a really great thing for beginners too. Because if your app takes off, if you're like, this is great, let's ship this. Let's start getting people on it. But yeah, you don't want to have to be reworking everything from the ground up. It will be able to scale up seamlessly.

And also, there's a really high availability. So that means you're not going to really experience a lot of downtime. This can be really important with an e-commerce setup. You've got a store on Black Friday. You're trying to sell a bunch of things. If you're using a Firestore database, it's going to be really great at handling that load, making sure there's very little downtime so you're not missing out on business.

And this-- Black Friday is actually a huge issue in the database world because there's so many transactions going on. So availability and having those agreements as part of the service are great. Another great thing about Firestore that I think-- I don't know, we might be able to do this today-- is the real-time sync. So if you're building a web app with Firestore, it can automatically sync up with the data in the database.

So this means without having to do a page refresh or without having to manually set up polling, this could be really fun in-- what are some good ways to do this? If things are changing dynamically as part of your application, we're going to have a leaderboard today. And if we had new players constantly playing, we could have that updating in real time as people were playing and getting new high scores.

I don't know how many new players we'll have today, but that's one of the places it could be. Or you could have a game where people are walking around together and syncing up their locations or something, although that might be more of a WebSocket kind of server, Live Server type of thing. But that's definitely a really useful feature. And then a final shout-out for Firestore is the MongoDB compatibility with Firestore with my-- Firestore with MongoDB compatibility is the name of the feature.

And I think a lot of-- this is maybe more for those advanced developers. If you're using MongoDB, there is compatibility with Firestore. So that, I think, lets you have a lot of flexibility with your code. You can use the MongoDB drivers and tools that you're used to. I'm actually the-- I'm in the video for the Firestore with MongoDB compatibility videos.

If you go Google that, you search that on YouTube, it's me talking about it. So that's definitely a feature I'm very familiar with. TILDE THURIUM: I'm glad it supports different flavors of NoSQL. Because being able to decouple your front-end stack from your back-end stack is just a really critical component of building production-grade applications and being able to scale if you want more than one developer to work on your project and all that stuff.

BILLY JACOBSON: So yeah, the MongoDB compatibility was great because it obviously supports MongoDB, but that's kind of become a bit of an industry standard. So it just makes it easier for a lot of flexibility and maneuverability. Because we want you to be using the tools that are best for you, not just our tools. And I think we think our tools are great.

So you're going to want to use them. TILDE THURIUM: Great on that note, what are some benefits of Cloud SQL for Postgres? BILLY JACOBSON: Yeah, so, this Postgres and SQL, I've been such a non-relational database person for so many years. But recently, I started playing around with Postgres and Cloud SQL. And one of the big reasons I wanted to do that was because Postgres is one of the most popular databases right now.

It is just so pervasive in so many applications and services. And I'd love to see the Cloud SQL take on Postgres, the managed Postgres server. So this basically gives you a managed version of this open source software. So there's so much compatibility as we're talking about compatibility with open source. This is that exactly. So with the managed version, we're going to give you four nines of availability for SLA.

So this is giving you, again, that same availability for that production, for that enterprise readiness. And it's still the same level of Postgres that you're familiar and working with. There's a lot of great price performance and flexibility there. And there's also a bunch of new Gemini tools in Cloud SQL, things for coming up with the queries that you're looking to write.

There's actually some really great query tooling there. So I built something for CloudNext and was using Cloud SQL for Postgres. And I was doing a vector search on it, doing this wholly memory application. Go find my videos talking about this too. And I was doing a vector search on Postgres on Cloud SQL. There's the pgvector extension, and I was able to see which queries were taking the longest, where I could optimize certain things, how often they were running, and really get a breakdown for each thing.

And this was something I'd built just for a demo, but it was really easy to see, oh, this query is taking a really long time. Can I maybe make an index for this? Can I optimize my application around this? Or is this the minimum latency that I'm going to have to just expect for this because of what it's doing? TILDE THURIUM: That's so cool. Tracking down slow queries used to be so painful and tedious when I was doing back-end engineering at scale.

So having a better way to do that sounds amazing. BILLY JACOBSON: Yeah, I think that's one of the reasons for Cloud Postgres on Cloud SQL because you're getting these managed layers on top of this open source tool. So you get-- you're using your regular Postgres code. So also again, that's something you could port over. But then you're getting all the layers in which you can manage it really smoothly, really get deep insights into it, get alerts about different security things you can set up.

So I think that's a really-- another powerful tool within all of this. TILDE THURIUM: Amazing. One important thing to talk about when you're discussing vibe-coding is cost, because it is extremely hard to predict how your app is going to scale and what your Cloud bill is going to look like just in general in the world. But how does this work specifically for Google Cloud?

BILLY JACOBSON: Well, I'm just kind of finding out about this. I think it's a newer thing we're doing is the Google Cloud Starter Tier. I know we've had different kinds of credits and things in the past, but I feel like this Cloud Starter Tier is so great because you don't need a credit card or a billing account, and you can do two full-stack applications.

So that kind of lets you feel like you can't charge me too much because you don't even have my card. Well, you can't charge me anything because you don't have my card. So for non-relational data-- so that would be Firestore, at least for AI Studio-- there's the free trial offers, some free quota. And all customers, it's like 50,000 reads, 20,000 writes, 20,000 deletes, and a gigabyte of storage, all free per day.

So that's not charged against your credits. And again, this is actually in addition to the $300 Google Cloud free trial credit. So yeah, that is something we've been doing for a while, is you get a $300 free trial credit, but this gives you room to play with on top of that. And then for relational data, so this is going to be the Cloud SQL for Postgres.

For developers using that, you get a developer edition that scales to 0. So you're only paying for the back end when your app is actually being used. Again, this is a great thing of the scale going to millions, but also being able to go down to 0. I think that's one of the really nice things that AI Studio has set up for this is it's not-- we're setting you up with all the right ways of here's the enterprise stuff we're putting directly into the vibe-coding platform to make it all just a lot more seamless, clear, easy.

We're going to help you make the right choice within all this. We've picked these two databases because these are the ways that people are vibe-coding stuff. At Google Cloud, we've got so many different databases. We've got Spanner and Bigtable and all these other options. And those are fantastic for very specific use cases. But if you're vibe-coding an app, you probably don't need those.

You probably need your SQL database or your document database. And this just really gives you a very opinionated approach to using them. TILDE THURIUM: Oh, I love that so much, both the fact that you're not paying for infrastructure that you're not using-- because we all know that sucks-- and that there's very clear paths to building the kind of applications that you're going to want to build when you're vibe-coding with generous limits.

You can explore that without paying too much. And then when you're ready to productionize that, we also got you. Brilliant. BILLY JACOBSON: Yeah. I think that's the thing. You can even productionize it still within the free limits. So that's also just great. You're sharing it more beyond just five users. I mean, those are thousands of operations you're getting a day.

So you can really get a working POV-- POC out there. Wait, proof of concept, what's POV? Point of view. And get that. So we're going a little bit more beyond just like making a toy application that you're going to share out and will just be a website that sits there. We're making it so you don't need a credit card, but you're able to really ramp up to enterprise infrastructure.

And I feel like we're just smoothing out that gap. TILDE THURIUM: Awesome. So speaking of that, I am so excited to see more of this fun demo you prepared for us today and see all these cool features in action. BILLY JACOBSON: Yeah, let me share my screen and go through some of this. Also, I've got the blog post open just talking about some of this stuff.

Got the Google Cloud Starter Tier, full-stack vibe-coding with Cloud SQL with Firestore and Firebase Auth. We're going to be doing the Firestore and Firebase Auth today, but I just wanted to show all of this that we have available. So again, this is the game. It's still just going. I'm not going to show the entire process generation. I've got my starter swap here for everyone just so because sometimes when you're saying let's start out and build vibe-code and app, it can take 10, 15 minutes to build everything.

But I just want to show the prompt that I'm using. And this is the same one I used before. So maybe by the end of all this, we'll have the basic thing. So we're making-- I'm asking it to act as a game developer. And we're making this Scoops ice cream game. It describes the core gameplay loop that we're going to have onions and tomatoes falling. And you're going to move the mouse back and forth all of this.

And I actually wrote the idea for this. And then I went into Gemini and I was, like, help me clean up this prompt to make it better for putting into AI Studio. So I'm just going to say build off this. And we'll let this go a little bit. It'll just start coding. It'll build it all out. And eventually we'll get to something like this. I'm like, is there anything interesting that's going to come up in here?

It's kind of just it will be working. Why is this-- I don't know why, it's not setting any of this up yet. But anyway, that'll run. So this is the base game that I've got so far. So this is taking a prompt like that and putting it in here. I did do-- I think I probably went back and forth with it a little bit of it wasn't maybe working exactly. So I'm trying to catch the ice cream, I'm avoiding the tomatoes.

I am catching the tomatoes just so this ends early. But yeah, it's fun. It's super simple. Game over, final score. So we want to take this to the next level. And let's go do that. Let me go find my notes on some of the things that I want us to do. OK, yeah. So I'm going to go into Settings. And let me walk through this slowly because we're going to go to this integration.

So I'm on the main screen of AI Studio. I'm going to the Settings right in the top right corner. And there are a ton of different settings to choose which model you're using for chat. I went with Gemini Pro because I just want this to be really good. I've got the link to share it and publish it, different versions. And then Integrations is going to be the big one for today.

So there are actually all these Google Workspace integrations. So if you want to build an AI app on top of those, that's great. But that should be another live stream. So I'm scrolling down. And we see these two new integrations here, which is the Firebase-- Firebase Firestore and Auth and the Cloud SQL. I like to use the Firestore one because, again, I'm a NoSQL person.

There's also the authentication, which I think is great. And I'm going to click that. It's just going to store it in my project, choose all of this stuff. And I will click Enable This. And now it's kind of added it into here. And it gives me the opportunity to chat with it here. I don't have to just say add it to the app. I can tell it a little bit more of what I want it to do.

So what do I want it to do? Let's put add Login with Google button with the Firebase Auth, and then store the player's scores in the Firestore Database. And once the game is over, show a leaderboard with those scores. So let's run this and see what happens. TILDE THURIUM: Oh, but that was really just three clicks. That was like-- BILLY JACOBSON: It sometimes-- it'll be like, it's three clicks to do it.

And it's actually just Settings, Integrations, Firestore. It is-- it's really just fascinating how little you have to do to get this running. And now we just sit around and wait. We can check in on this. OK. It's going to run that. I'm actually just going to go back to this view. So one thing that I love about AI Studio is it started giving you these design previews.

So it's taken the game and it's, like, here are five different versions of what this game could be. So as part of the vibe-coding process, these are all pretty similar but all kind of completely different. And now I can make a choice of what do I actually want it to be? How do I go from here? TILDE THURIUM: I like the first one, personally, with the-- BILLY JACOBSON: You want to do that?

TILDE THURIUM: I'm a gradient guy. So-- BILLY JACOBSON: OK. OK, we'll select this one. And I like that. I think it's also wanting me to enable Firestore already. I love this little pop-up. TILDE THURIUM: It's like they knew we're streaming. BILLY JACOBSON: Yeah, they completely knew. These are the client Firebase setup. But we're doing it in the other one.

We'll go back to Firestore. Don't worry. So I have three versions of this up because since I know each of these things can take-- not a while, but there's a lot of back and forth. Like, each model call or each call is maybe going to run for two to three minutes. Like vibe-coding, I think people think you just say hit Go and you get the answers right away.

And that's not really how it goes. It's like so many of these, the videos showing it are actually really sped up or have working versions of it. It's like it's thinking through and solving these problems and writing a lot of code. Here we're getting our Firestore rules and it's setting up a database. There's a lot of stuff it has to do. And I think I love getting to do this on a live stream because we get to show people what is the actual process here.

It's not just-- I said vibe-code this, and you get to see. You're actually getting to see my steps as I go through it, albeit all a little split up. But these are the prompts that I'm actually using here. TILDE THURIUM: I love that you're being so transparent and straightforward about how long this all takes and still showing it live. BILLY JACOBSON: Yeah, because the things can break and you're going to-- I more like to think of vibe-coding or working with an AI coding agent, it's a coworker and a collaborator.

It will run into code errors. Like down here, I've actually got-- I don't think I have any errors in this one right now, which is, which is great. TILDE THURIUM: Oh, it's like the logs. BILLY JACOBSON: Yes, so you can see the logs in here. Do we have this game just yet? No. But that lets you go in and debug. And I don't have to debug and say-- there's actually a little pop-up that comes up we might be able to get that says, fix the errors that come up.

And there's a lot of that back and forth. And I do think vibe-coding can feel like you're not really doing anything, but you actually do need to have a bit of a pulse on what's going on throughout the whole process. Because otherwise, it's really easy to get lost or to not have a clear set of requirements for what you're trying to build. There is actually a lot of thought to it.

It's just a very different way of solving the problems. And I think it's a bit of troubleshooting, a bit of collaborating, and figuring out the best way to solve these problems. TILDE THURIUM: Yeah, and just getting used to a different rhythm of working. Back in the day, I used to be waiting for my Java build to finish building, and now I'm waiting for the agent to get back to me and having a couple of them running in parallel just like you're doing now.

So same, but different. BILLY JACOBSON: Right now, it's, like, deploying Firebase rules. And then it failed to deploy them. And now it's restarted the dev server and all this other. OK, we did finally get this Login with Google button. We're also seeing there's eight errors in here. And it's, like, missing these permissions. And it says two errors running the code.

So I'm just going to click Fix. TILDE THURIUM: OK, if it knows the errors are there, I guess I'm glad it's asking you before it just goes and does stuff. BILLY JACOBSON: But yeah, because maybe these errors aren't a big deal. Or maybe it wants me to go in and try this out. So it added the Login with Google button. So let's see. If I click this, oh, this is opening in a-- it opened it in a pop-up.

But it gave me that Login with Google. Let me see. You'll have to believe me when I click Login with Google. It's doing-- it's pulling up my username. It knows this is Billy logged in. Let's actually go to the integration. So I went back to-- I'll just do that again. I went back to Settings and Integrations, and I can click the Enabled Integration to get more of this information.

So I'm going to click to Open Firestore. And I'm also going to open the Firebase Authentication. So these are-- these are like, I'm in the Firebase Console. And you can also do this in the Google Cloud Console. There's kind of Firestore and some of these, and Authentication in both of them, which is great because it kind of depends if your Firestore is a little bit more web and mobile-focused, and Google Cloud is a little more just app development or application system servers, a little more enterprise-forward.

So I've got myself logged in here. And then I have-- it created my database for me. But I don't-- because I haven't played it yet, it hasn't added any users. So let's do a game. No errors right now, which is good. OK. The game is still working, which is always a pro. And I'm going to just try to catch all the tomatoes to end this early. I was thinking about adding a shortcut to add extra tomatoes, so in the game.

OK, Final score 60. So it didn't add that leaderboard that we wanted. But let's see, did it add the-- did it add anything? Did it store my high score? No, so it didn't do any of this. And this is the vibe-coding aspect of this. So let's say, like, I don't see the leaderboard. And it also didn't save my high score to the database. I'm also doing some voice-to-text on here.

And that's one of my favorite vibe-coding things, just sitting and talking to your computer. Because you can get out a lot of information if you just talk through it. And the more context can be better. TILDE THURIUM: Totally, and it makes your brain work in a different way than it does when you're typing or handwriting. And it's accessible. BILLY JACOBSON: Yes.

TILDE THURIUM: All right. So it is fixing now, and we're going to play again. How do we know-- how do we know when it's done fixing these errors? Is it going to chime or tell us down there? BILLY JACOBSON: You can definitely set alerts on the browser to let you know this stuff. I think I always decline them. And then I'm like, is it done yet? And then I'm just looking at it.

So yeah, you can definitely click here and yeah, I've blocked all the notifications. TILDE THURIUM: That's reasonable. We probably don't want it just chiming randomly when we're streaming. But it's good to know that feature exists. BILLY JACOBSON: So now it's analyzing all these things and going through. And when I built it before, I was having a similar thing.

It's like you are going to want to test this stuff out and run it yourself and see where it's working. But I can at least show the database that it had made for me before once, until we get that one up and running. So this is the-- it did two collections in Firestore for me. So I have a leaderboard collection. So this is storing-- it's connected to the user IDs from the Authentication Identity Platform, which is great.

So this is my user ID in here. And it's all synced up as-- I just heard some dings. So something's done. So we'll go in a little bit. So this is my high score, when I scored it, and it's all connected to my user ID. I can also go into player stats and look this up and pull up my total number of scoops. Because this is another feature I wanted to add later.

So again, this one this is Firestore. So it's super flexible what the schema is and all these connections. And it's linking these things together kind of by the user ID, but they're not necessarily there's not a strong tie to them together. So let's go back. Let's see, what did it do? The background build process is completed. Everything's up to date and you're ready to go.

So we are logged in, which is good. I feel like the stream is also just going to become me playing this game a lot, which I'm having a good time. TILDE THURIUM: Yeah, it's really fun. And it's kind of hypnotic and soothing to watch. So OK, yeah, cool. Done with this game. BILLY JACOBSON: Build process completed. Everything's up to date and ready to go.

But I don't think it's in here. TILDE THURIUM: So then if you look at our-- BILLY JACOBSON: So I'm refreshing the database. And this is where it's like you could be vibe-coding, but when you're starting to move into these next phases, it's setting up the database, but you still need to know the stuff. I want to reload this app maybe, and see, is that going to help?

What-- the background build process up to date. What did it do? TILDE THURIUM: It edited our Firebase TypeScript file and the game canvas. Hmm. BILLY JACOBSON: Final score. OK, but the score isn't saved still. Let's go one thing at a time. I did a frowny face. I do type with a frowny face when I'm doing these things. I wanted to know I'm a little sad.

TILDE THURIUM: I just read a research paper that was if you're mean to the AI, it increases the accuracy by 10%, which I thought was wild. So I'm going to try like being less polite and see if that improves my vibe-coding. But the understated emoji, I appreciate that. BILLY JACOBSON: Yeah. That's actually-- one thing that we can also do, and I think is one of the things that AI Studio, which is nice, is you do get the code.

So you could import a project from GitHub if you've already got your code in here and want to use some of the tools. But you can also take a look through the code. So we can see what it's updating in here and start to get an idea of this. Because also, once you have this, you could publish it. We could throw it up on-- I think it does it on Cloud Run or I think Cloud Run.

Or maybe it's just something-- TILDE THURIUM: I think you're right. BILLY JACOBSON: --random. But we could also just download this code and then take it from there. Restarted the dev servers. OK, so maybe the dev server wasn't correct. But yeah, this is a lot of code that it's made. It's like, of course, it's taking a while to do all of these things because there's a lot of stuff that we're working with.

OK. I'm like so nervous that this is-- we're not-- this isn't working. TILDE THURIUM: OK, cut. One tomato-- BILLY JACOBSON: Yeah. TILDE THURIUM: There needs to be a mode where it gives us more tomatoes because now we only have ice cream and we're trying to end the game. OK, yeah, I gotta get one more. There we go. BILLY JACOBSON: Final score, restart the dev server to make sure all changes are picked up correctly.

TILDE THURIUM: Are we in-- I have to ask, are we in the correct console here? Or-- because you have a couple of different versions of the project open. Maybe this is for the beginner, the one where we hadn't added a back end yet. BILLY JACOBSON: I will close these out and reopen it, but I'm pretty sure. Because I went through the Integrations view. TILDE THURIUM: Oh, OK, then yeah, that seems like it should be the one that matches up with this project.

BILLY JACOBSON: And I will say, I do still think this is taking time, but if I were to go through, read all the documentation for Firestore, figure out how to integrate it with the API, those things also take time. So it's kind of a little bit of trade-offs and figuring out those aspects of that balance of what is right for your workflow? The score isn't saved.

[CHUCKLES] When the game ends, save the score to the collection-- to the leaderboard collection. I don't have a leader. TILDE THURIUM: Yeah yeah, this is how we know we're doing live. BILLY JACOBSON: Oh, well, we finally got this one up and going, so that's great. TILDE THURIUM: Yeah, the nice, the gradient one. BILLY JACOBSON: The gradient one. There's Pistachio Master.

That's-- see, this one built, and it doesn't even-- you can't even play this one yet. There's nothing happening. I'm moving my mouse around and I'm not getting a thing. So it is all a bit of a journey. I got 20 points and I can't even see what's happening. TILDE THURIUM: Yeah, that needs a little bit of refinement, for sure. BILLY JACOBSON: Yeah. All right, this one's still working.

Let's go over to this one that is working. Because I want to show a few of the things you can do once this is kind of up and running a little bit more. So one of the things is like, this has access to your database schema. It knows a little bit about the data you've got in there. So I can say, write me the query to find the sum of all of the scores for all of the players that I can run in the Firestore Console.

So, I mean, I don't know what you would use this query for. But I want to be able to come in here and go into the Query Editor and run a query here. That way, I can maybe take that query and put it in my application somewhere later, or use that, or just get the answer for that thing. And that is one of the things I can do here. If I made the query, so it's working on that.

Is this leaderboard going? Leader-- reconfigured the database references to point to leaderboard collection. TILDE THURIUM: That seems important. BILLY JACOBSON: That is definitely important. Let me know if you hit other snags. I will. And again, more errors in the bottom. Do you hear these dings? It's like this does feel so summery. Well, let's see what these errors are.

Missing insufficient permissions. I mean, that's definitely-- TILDE THURIUM: Ooo. BILLY JACOBSON: That's definitely an issue. TILDE THURIUM: That could-- yeah. BILLY JACOBSON: So fix it. [LAUGHING] TILDE THURIUM: Back to our query. BILLY JACOBSON: OK, we're going back to this back to this query. I'm just going to give it a screenshot of this and be, like, I'm actually just trying to run it.

Knowledge, I'm just trying to run it in this Database Explorer. But it did write the-- it did write me a whole Python script to run and get this query. I think you can actually do basically Collection Leaderboard. And then-- I'm not, like, a Firebase. I'm not a Firestore expert. I can't write this query on the fly. What is this? What does this even do?

This just gets the collection. Query does not compile. Great. It's like, let's see if we can get one thing to work on this stream. That would be great. TILDE THURIUM: Yeah, do we need to tell it that we don't want a whole script we just want the Firestore query, or-- BILLY JACOBSON: Yeah. So what I did was I put in-- I put in the screenshot of this view.

So it was like, you're going to know where we are. TILDE THURIUM: Oh, that's so smart. I'm glad it can take an image and understand what's going on in that image and then make some changes based on that. BILLY JACOBSON: Yeah,. You can upload stuff from Drive, you can upload files, stuff from the camera, can upload a photo of my face being frustrated that this isn't working.

Something's dinged. Can you hear these things that are happening? TILDE THURIUM: I heard some of them earlier. I did not hear this one. BILLY JACOBSON: OK, Great. Wait, the build has finished. It did something in here. I guess it's added my database to the rules. But again, if I'm vibe-coding, I think this is how vibe-coding works. I think you just keep saying, it's broken, fix it.

I don't think I'm doing anything wrong. I think it just takes a moment to get it going. TILDE THURIUM: But if I was building this game from scratch five years ago, it definitely would have taken longer than this to get to this point. So sometimes success is a different error message. OK, what's going on here? BILLY JACOBSON: More-- this data's AI shared quota limits, pay as you go.

BILLY JACOBSON: TILDE THURIUM: That message was up there earlier, so I'm not super-worried about it. BILLY JACOBSON: Maybe I should just-- maybe I'm just going to make a Leaderboard Collection. TILDE THURIUM: Oh, maybe-- BILLY JACOBSON: It should have done this for us, though. So that I find confusing. TILDE THURIUM: Yeah, right. BILLY JACOBSON: Before I do it, I'm going to say, please make the Leaderboard Collection.

It does not exist. It's like, let's just be super explicit about that. Because it should be able to do that as part of the integration. Also, I want to say a lot of this stuff is super new features. Like, we're really on the bleeding edge of a lot of these features in here and new documentation. And things are coming out about these every day. So I think some of this is if you're trying out the freshest stuff, you're getting that mix of trade-offs of the stuff that is super fresh, but also maybe you get actually new

features or something. TILDE THURIUM: Do you need to manually create collections? They are created automatically as soon as the first document is saved to them. BILLY JACOBSON: OK, it was saving to the default database rather than my app specifically-named database. TILDE THURIUM: Oh, that makes sense. So the security errors we were seeing earlier were related to this problem.

And hopefully-- BILLY JACOBSON: Yeah. I think it's like I have five different projects within this-- five different databases within this project. And maybe that's part of the issue. TILDE THURIUM: All right, I'm refreshing. BILLY JACOBSON: I'm going to be so happy if we can do this at this point. TILDE THURIUM: OK, we have a database ID at least. BILLY JACOBSON: Yeah let's just give it all of this.

I'm just screenshotting this. I'm going to say nothing still, another frowny face. Acknowledging, sharing this media. But it's not giving any errors or anything. That's almost worse. TILDE THURIUM: Hmm. What about-- was there another one running where we were trying to query on the one that actually does have a back end still? BILLY JACOBSON: Oh, yes, OK, great.

This one, there's this leaderboard aggregate. Let's see if we can do this. Do this query. Total score. Database.collection. TILDE THURIUM: So this-- BILLY JACOBSON: Query does not compile. TILDE THURIUM: The Query Explorer is in JavaScript by default, looks like. BILLY JACOBSON: What is this? Wait, I can also use Chat with Gemini. So I'm just going to-- TILDE THURIUM: Oh.

BILLY JACOBSON: Gemini help. TILDE THURIUM: That seems useful. Let's try that. BILLY JACOBSON: I feel like there's a no-cost version of this, though. Get started. TILDE THURIUM: Could you click on no cost when that thing, or-- yeah. BILLY JACOBSON: No, I think that was just-- I think I just had to click Get Started. TILDE THURIUM: OK, cool. BILLY JACOBSON: Mmm, my query doesn't-- [LAUGHING] My fat fingers, my query doesn't what?

Doesn't compile. TILDE THURIUM: I do that all the time. BILLY JACOBSON: It doesn't compile. Let's see if we can give it-- TILDE THURIUM: Great, and then you give it the query. BILLY JACOBSON: Yeah, let's see if we can get a little bit help there. TILDE THURIUM: Thinking. BILLY JACOBSON: I feel like I've been using Gemini in so many different ways, and I need to do a better job of keeping all of my parts next to each other.

Well, at least we did get this sign-in with-- TILDE THURIUM: Yeah. BILLY JACOBSON: That works, so that's great. And sign in, sign out. Wait, what-- did I just see a leaderboard? So login to save your score with leaderboard. That'd be great if that were true. TILDE THURIUM: It looks like it's still running in the background, so I imagine it's trying to fix that screenshot that you sent earlier.

BILLY JACOBSON: OK. TILDE THURIUM: Oh, wait. So you need to have imports or-- BILLY JACOBSON: I don't think so, because it should just be able to, like-- TILDE THURIUM: Yeah, that'd be weird to have to do your own imports in the query Explorer. OK, hey, it worked. Amazing! BILLY JACOBSON: OK, great. So it's a yeah. This we're able to get that, and then introducing query.

Oh, we can also do a query explanation here. TILDE THURIUM: Oh, that's so cool. BILLY JACOBSON: Yes, it's going to walk us through all the different stuff it's getting. OK. How's this going? It's running dev server. That's always going to make me happy if it's rerunning it, restarting it. TILDE THURIUM: Yeah, I think that's just going to-- BILLY JACOBSON: That's just Canvas.

TILDE THURIUM: Oh, OK. Glad we can still read the code, kind of take a peek at what's going on. BILLY JACOBSON: Yeah. And let's see, maybe we can add a new feature to the other-- to this one that is working and is connected to the database. So I'm going to start a new chat with this one because this one actually does work and is connected to my database.

And let's say something like, when you catch 10 green scoops you can unlock a new background. And maybe there's just like-- something fun that appears. And they don't have to be 10 scoops in a row of green, just 10 scoops total. TILDE THURIUM: Love it. BILLY JACOBSON: It's like, why not see what we can get there? And we can add that feature. And then after that one goes, let's also store that state.

So when the user has unlocked that unlock, let's store that in our Firestore database. TILDE THURIUM: So, can it take multiple paths at the same time? BILLY JACOBSON: I can't add it. But I've just got it queued up ready to go because it's updating this Canvas and going from there. Let's see. There are also a few things within this which is nice. It's like I just click the Edit tool, so I can highlight certain elements.

I can say I don't like the way that looks or I want to change all of that or look at different designs for this. So I think ASU is one of my-- when I'm trying to build a really beautiful web app or web game, ASU is typically where I'll go. Because it just gives me such a nice baseline and it's really opinionated about the TypeScript code it's writing and the frameworks it's using.

I find that all to be very, very beneficial versus just going into something like Antigravity and saying, make me a web app for this. It's like there are a lot of stuff in the prompts that make that better. TILDE THURIUM: OK, Now-- BILLY JACOBSON: It's added this new feature, and let's also store that state. So let's-- tracks every green scoop you catch, just 10 total, mint madness.

And it's like now, of course, I won't get any mint ones. TILDE THURIUM: That's just how this works. BILLY JACOBSON: This is how it works. You know what I'm going to say. Make mint scoops drop every other time. They should-- TILDE THURIUM: That's a good idea. [INAUDIBLE] this up a little bit. BILLY JACOBSON: Super. Yes. TILDE THURIUM: Since we are getting close to the end of our stream, while we're doing this, I wanted to encourage folks in the audience, thank you so much for following along.

If you have questions, drop them in the chat. And when we are done here, when-- we will answer them. But let's see if we can get the mint feature to finish. So while we're collecting questions. BILLY JACOBSON: Yeah, that'd be a nice way to wrap things up. Let's see there. What is it adding in here? It's, like, moving so quickly. TILDE THURIUM: OK, did this one-- OK, this is the same one with the mint scoops?

BILLY JACOBSON: This is the one with the mint scoops. And then I'm waiting to also make them really common so we have something-- something good to show. But let me see. I wonder-- I want to pull up some of the other resources we have for this-- TILDE THURIUM: Yeah, that'd be great. BILLY JACOBSON: --that we're going to be talking about. We can just take a look through the blog of some of the stuff that you can do.

Yeah, I actually haven't played around with the Google Workspace stuff. And I feel like that's a really great way to say maybe you've got-- you're at your company, maybe you want to take-- everyone's got some Google Sheets or Google Docs and you want to apply some level of, you want to transform all the documents or aggregate them, or be able to do things with them.

And the Firebase Authentication also is going to work with a Workspace Integration. So you can do the sign-in with Google, and then also get access to the Google Sheets to do those things and adding an AI layer on top of those things. And I think that's going to be a really interesting thing to play with. Let's see, what do we have? This-- to set it, ran, finish this, it should work perfectly.

TILDE THURIUM: OK, so this is the one we were trying to add the leaderboard. BILLY JACOBSON: Oh my god. TILDE THURIUM: Oh, my god, it worked. Yay. BILLY JACOBSON: That was a really crazy. OK, and let's see if it put it in the database. Oh my god, it added it to the database. TILDE THURIUM: Hooray. BILLY JACOBSON: OK, that's a really big win. Honestly, when I was doing this the first time, I mean, it took probably about 30 minutes to do all this anyway.

So it does, like, this stuff can take time. OK, and then I'm adding this thing to make it super common for that. So great. OK. My high score is 20. And it ended up coming up with a pretty similar schema to the one we had done before, we've created that, the score, the user ID. This is great. TILDE THURIUM: Awesome. BILLY JACOBSON: We finally have a leaderboard.

Wait, do you still have this link that I sent you? TILDE THURIUM: Yes, I think I do. If I click Start Game, is it going to play? BILLY JACOBSON: Yeah. I think you might have to refresh. Also log in, make sure you do your login, TILDE THURIUM: I'm going to refresh. I'll refresh so it makes sure I'm logged in. BILLY JACOBSON: I'd sent this to Tilde earlier because I was like, I'm going to send you the link so you can-- TILDE THURIUM: And it's asking me if I trust you as a developer.

And I do, so, OK, cool. Now you can't see what I'm doing, but I'm playing the game. I'm going to catch all the tomatoes so that it ends here. BILLY JACOBSON: We hear you. We can hear you playing with all the-- TILDE THURIUM: Oh, that's funny. I didn't realize my sound was on. But after that, then we can wrap up and take some questions. So-- BILLY JACOBSON: I'd love that.

TILDE THURIUM: I'm not getting any tomatoes. OK, there we go. There we go. OK, my score, I'm-- BILLY JACOBSON: Oh, I already see you in here. OK, so you're in the database, which is great. And then when I refresh this to see the top scores, OK. TILDE THURIUM: Amazing, huh. BILLY JACOBSON: Oh my god. OK. We made a multiplayer game, finally. It took us a while, and I think one of the things with this is like, this was a really simple feature we were adding.

But I do think the level of adding this is the same level as adding a full amount of crud to your create, read, update, delete to an application. So wow, this took us some time. Again, it was faster than doing this ourselves and also moving this. So let's see if this mint thing works now, too. That way, we can at least get a double feature of some of the stuff that we had wanted to do.

TILDE THURIUM: Oh, it looks like you're getting a combo there. BILLY JACOBSON: Getting a combo. That's also a feature that when I made this, it just started adding this. Oh, my god. I should have kept track of how many mint scores-- mint ones I got. Oh, my god. TILDE THURIUM: Ahh! BILLY JACOBSON: So this is out of the mint feature, which I love. Do you like mint ice cream?

TILDE THURIUM: I love it. BILLY JACOBSON: What's your favorite ice cream flavor? TILDE THURIUM: Ooh. BILLY JACOBSON: We've been looking at ice cream, and we haven't even spoken about ice cream flavor. TILDE THURIUM: Probably, like, chocolate chip cookie dough. I don't know, I need a little texture in it. Mint is nice if it has chocolate chips. There's so many good flavors, it's really impossible to pick a favorite.

BILLY JACOBSON: I kind of love a cookies and cream. I'm in the-- we're in the Google New York City office. We are in the original Nabisco building where Oreos were invented. I don't know if Oreos were invented there, but I think they were made. Oreos were in the building. TILDE THURIUM: All right, well, since our mint feature works, this is good. Is this a good time to wrap up?

BILLY JACOBSON: Yeah, well, I want to get a tomato. OK, it's got the new score for me. And then I also want to see if it did add this tracking to the aspect. OK. I didn't see it added it. TILDE THURIUM: Total scoops, OK. BILLY JACOBSON: We've got the total scoops. That was another feature I added. So maybe it wasn't-- maybe it needs a little more finagling to get that.

But I wanted to show at least, like, we were able to add authentication. We were able to get a high score in the end. We were able to add features. Like, there are a lot of the parts here. And this is very hard to do on a live stream. TILDE THURIUM: Yeah. BILLY JACOBSON: But when we-- let's-- we can do some of our closing thoughts and go over some of the things that we did and where we're going to take this for next steps.

TILDE THURIUM: Yeah. Amazing. BILLY JACOBSON: And some questions as well, you know. TILDE THURIUM: Thank you so much for taking us through all of this. So Holly Lopez from LinkedIn has a great question. AI Studio now offers one-click integrations for both Cloud SQL and Firestore. For a developer vibe-coding their application, how should they decide between going relational or non-relational?

BILLY JACOBSON: My thought would be, like, to default always to just non-relational right now. I think both kinds of databases can really support most features right now. I think-- I think you could look at query performance on certain things. But I think really, in this day of development, a lot of it is based on what your experience is with. So maybe that's why I'm like, go non-relational because that's just what I'm more experienced with.

But, I think, yeah. I think the features can be pretty compatible. You're getting similar availability. You're getting similar scalability. It's kind of like what is the stuff that you're-- is more aligned with what you're trying to do? Also, I think if you're vibe-coding, non-relational, it's going to be a little bit easier as you're adding new fields and features and things.

You don't have to lock down your schema as much. TILDE THURIUM: That makes a ton of sense. I think we have time for one more question. Carmen [? Fajardo, ?] also from LinkedIn, asks, what are some simple, fun project ideas I can build using AI Studio, Cloud SQL, and Firestore? BILLY JACOBSON: Well, just in that question, I also want to say you're probably going to only want to use one database-- or one type of database for your project, choosing between one or the other.

And I actually love to go to in AI Studio. If you want to show my screen for just a second, I go to the Gallery View. And you can see all the types of applications you can make. Because there's a few different frameworks here of what it's able to do. There's this multiplayer snake game. Well, this would actually have been really fun to throw on top of Firestore as well and have multiple people, like, synced in real time there.

If you've got-- again, I think web apps are great for A, assuming that's what it's going to make. I think if you're like, I wish my Gemini chatbot would do this thing or would be able to interact with images or something, or be able to do that, I think ASU is a great way to build a quick layer on top of your LLMs and agents, like just building out like a personal website, yeah, doing video and image editing.

But then there's also lots of games. So I think the Gallery is what I would recommend to go to be like, what can I build? OK, these are the types of things you can build. Pick something that you want to build. Pick a problem that you're having or pick something you want to make to give people a fun time. TILDE THURIUM: Love it, yeah, very inspiring, a lot of pretty apps in there.

Well, I just wanted to say thank you so much for joining us. Thank you, Billy, for vibe-coding like a pro and staying cool. BILLY JACOBSON: Oh, my god. TILDE THURIUM: And thank you, audience, for joining us. I'm excited and inspired to try building something a little more complex with AI Studio than I've attempted previously. But Billy, before we sign off, do you have any closing thoughts?

BILLY JACOBSON: Yeah. I mean, we struggled a little bit today. But that being said, in under 30 minutes of vibe-coding time, we were able to add authentication with Firestore in Firebase. We were able to connect a vibe-coded app to a database. And we were able to add new features to that application that interact and integrate with that database, and also see ways to query that database, get code to do all of these things.

This could have taken hours to do just a year or two ago. So there is so much impressive stuff there. And it's really changing the way that we're going to be developing. We're going to share a bunch of links to go check this out and get started. If you're trying this out, also, find me on LinkedIn. Ask me some questions about this. I'm putting out some videos playing around with this a little bit more.

I'm always doing lots of different database stuff and playing with that and always just curious about what people are trying to do and helping people solve problems. So this has been really fun to have this challenge and have you with me till the end and make me, make me feel comfortable trying all this stuff out. TILDE THURIUM: Amazing. Thanks again for walking us through that.

For everyone watching, if you want to try building your own game or app or whatever, you don't even need a credit card. You can deploy up to two full stack applications on the Google Cloud Starter to your right now, completely free. And we'll see you next time on Google Cloud. Enjoy the weather wherever you are. Thank you so much, and have a wonderful day. [THEME MUSIC]