EVERY SPOKEN WORD
70 min read · 13,953 words- 0:00 – 2:59
v0 adoption: users, deployments, and the “personal software” moment
- AGAakash Gupta
Tom Occhino, you are the CPO of Vercel, one of the hottest companies in AI, and the makers of v0, which everybody I know is talking about for AI prototyping. How big is v0? What numbers can you share with us?
- TOTom Occhino
Yeah. v0 has been used by about two million people since last year, and we're growing really, really fast. Even if you're not an engineer, even if you're non-technical, the era of personal software is absolutely upon us, and this has been the most exciting thing for me. I really don't think about the competition. I think about our customers and delivering as much value as I can, and I also think about my own use case.
- AGAakash Gupta
What are the other AI things you're using as a CPO in your day-to-day that help you? Why should I watch this episode?
- TOTom Occhino
In this episode, we're gonna talk about v0 as a tool, how to use it to transform not just the way you do your job. And then we'll talk about how the team that builds v0 built it, how they use it themselves, as well as more generally, um, Vercel's strategy for and approach to product development.
- AGAakash Gupta
An AI startup valued at $3.25 billion. In today's episode, we're gonna walk through a live demo of their hit product, v0, which is one of the leading AI prototyping tools on the market. We're gonna talk about how Vercel builds product, how v0 uses v0, and the future of product management in the era of AI prototyping. So if you're a product manager, designer or engineer, or even just someone founder using AI prototyping tools, there's a lot to learn. So let's get started. Really quickly, I think a crazy stat is that more than 50% of you listening are not subscribed. If you can subscribe on YouTube, follow on Apple or Spotify podcasts, my commitment to you is that we'll continue to make this content better and better. And now on to today's episode. Tom Occhino, you are the Chief Product Officer at Vercel, one of the hottest companies in AI and the makers of v0. And what I wanted to know is how big is v0 now? Can you share, in terms of users or revenue, how much you've grown?
- TOTom Occhino
Yeah. Nearly two million people have used v0 since we launched last year. Uh, we're growing fast. It's, it's sort of exponential here, and the uptake has been really, really exciting to watch. Uh, of those people that have used v0, many of them are deploying what they've built. Uh, we've had over two and a half million deployments to Vercel from v0, so building things that are out there and in use.
- AGAakash Gupta
Not just prototypes, which is, I think, the most common use case-
- TOTom Occhino
Okay
- AGAakash Gupta
... I've been talking a lot about, but actual apps. It's pretty amazing. So can we show people how v0 works and how you can build apps?
- TOTom Occhino
Yeah, absolutely. And I'd love to show some of the stuff that I've built for myself that I use on a daily or weekly basis. Uh, let me share a screen here. So, uh, where do you wanna start?
- 2:59 – 4:23
Live build #1: prompting a “better LinkedIn newsfeed” (and using prompt enhancement)
- AGAakash Gupta
So I love LinkedIn, of course. It's how I built basically this solopreneur business. But what if I wanted a better version of LinkedIn's newsfeed?
- TOTom Occhino
I see. A better...
- AGAakash Gupta
I'm curious-
- TOTom Occhino
Let's, uh, l-let's actually enhance the prompt here and see if we can create [chuckles] something that, uh, you know, is a lot better. So the first thing I did is I just said, "Look, my prompt was silly, but maybe you can embellish it a little bit."
- AGAakash Gupta
Okay.
- TOTom Occhino
Uh, and now we're gonna let v0 cook. Uh, let's see. It's coming up with a plan. Uh, it's got a project structure. I actually love looking at the thinking. So while it's actually, like, authoring all of the code, I'm, like, reading in, "Let me see the plan." Uh, we need some layout, navigation, a feed with different post types. Okay, we're gonna have post interaction components, user profile card and detail view. So the whole plan here, great. I didn't have to put any of the plan together.
- AGAakash Gupta
Yeah.
- TOTom Occhino
And now it's cooking over here on the side, so we'll watch it write some code.
- AGAakash Gupta
It's basically written-
- TOTom Occhino
It's actually created a whole app with multiple files
- AGAakash Gupta
... a product requirements document for us.
- TOTom Occhino
Yeah, basically put together a very lightweight PRD.
- AGAakash Gupta
Yeah.
- TOTom Occhino
Uh, and yeah. Now we're, we're authoring some code over here. It looks like we're building a nav bar. We've got our layout, our page. There's gonna be a profile component. I'm excited to see what it looks like.
- AGAakash Gupta
And we just let it go without a screenshot. Is that how you often prompt?
- 4:23 – 8:19
Live build #2: screenshot-to-UI clone with Apollo-style customization
- TOTom Occhino
Yeah, I think, um, I do a, a mixture. If there's something that I'm inspired by that I, I want it to be, you know, something that looks like this but with that change or with this tweak, I'll start with a screenshot, and I think we should look at an example of that. Actually, maybe we can, uh... Let's do that in parallel here. While we're cooking on our LinkedIn, uh-
- AGAakash Gupta
[chuckles]
- TOTom Occhino
... in the first, the first one, let's actually use a screenshot. So you had sent me, uh, a version of your logged in homepage.
- AGAakash Gupta
Yes.
- TOTom Occhino
Uh-
- AGAakash Gupta
So looking at Apollo.io, where I was last VP of product.
- TOTom Occhino
Yeah. Cool. So, um, let's see. Do we wanna make any changes or just create a clone of, of what's there?
- AGAakash Gupta
So I think what we wanna do is, uh, customize the homepage based on the product that people are using. And since Apollo, like all SaaS products, has, like, 10 products that people are using. For instance, me, I'm not using it to send emails. I'm using it for meetings and booking meetings. So for me, it should customize and show the upcoming meetings that I have. But if somebody's sending a bunch of emails, it should show, "Hey, these are the emails you've sent and the performance of those emails."
- TOTom Occhino
Let's try this prompt. So we'll, we'll take our, um, we'll take our screenshot that we've uploaded here. You can kinda see a little version of it.
- AGAakash Gupta
Yeah.
- TOTom Occhino
Um, and we'll try to take it, just emphasize upcoming meetings for this specific user, and let's see what we get from a screenshot. Um, while we let it cook, why don't we go back and see what's going on with LinkedIn over here? Okay, we're creating a pretty sophisticated application. Um, this, uh, there's gonna be a feed, there's gonna be suggested connections. Like, this is pretty [chuckles] amazing.
- AGAakash Gupta
[chuckles]
- TOTom Occhino
Uh, and we did not really give it much direction, so I'm very excited to use this.
- AGAakash Gupta
It's amazing how much effort it will go off and do. Like [chuckles] a human would never go out and do that much effort in one shot.
- TOTom Occhino
Yeah, exactly. And, you know, I think there's a few different ways to do this. One is, like, you can just get started and build and then iterate really quickly, and I like the iteration velocity of, like, just tweak this, just add that. But, you know, if you want something that feels more full featured, that feels like it's, you know, um, you could actually start from, from something you can actually use, and then you wanna tweak from there, I think you can-- we can really let it cook here. And again, that prompt enhancement really turned this into a proper PRD with a lot of features. It also obviously knows a little bit about the LinkedIn product offering, so it's building out mock data now, um, so we can actually fill in the newsfeed, which is awesome. Over here, we already have our version of the Apollo homepage that puts, let's see, scheduling meetings first.
- AGAakash Gupta
Nice.
- TOTom Occhino
Uh, we've got a view all meetings view. Let's see. Some email stats and meeting activity.
- AGAakash Gupta
So it pretty much followed it exactly, and it took a little bit of the Apollo styling elements. So if we wanted to ask it even further, like replicate the Apollo nav, could-- what would-
- TOTom Occhino
Yeah, let's do it
- AGAakash Gupta
... we see if it does that.
- TOTom Occhino
P-O dot po nav-igation as well.
- AGAakash Gupta
And then my traditional approach has been to do these feature enhancements, like, one step at a time. If we had another feature enhancement, like I want us to, once we click into that, be able to look at, like, whether people have paid us or something for the meeting, would you recommend doing that separately, like I typically do, or doing it at once?
- TOTom Occhino
Yeah. I'll usually, just because I like the changes to be atomic, I'll say like, "Let's do this, and then let's do that." Um, and then I can roll back individual changes, et cetera. But it's very good at taking, like, five different things and breaking it out and saying, "Okay, here's the five things I need to do," and doing them all at once. So it depends on if you want those incremental states or not. Um, but yeah, personally, I will do one thing at a time, and it's, it feels more like a, a pull request to me. Okay, my next pull request is gonna be adding the calendar widget. Then my pull request is gonna be look at the, this component.
- 8:19 – 11:58
Under the hood: multiple models, “online model,” and making code runnable
- AGAakash Gupta
Got it. So when you-- some of your competition, you're, like, choosing, like, a specific model that you might use, like in Windsurf, you'll say, "Okay, I wanna use Claude Sonnet 3.7 or 3.5." For you guys under the hood, you guys are using, I'm guessing, like, multiple different models for different use cases?
- TOTom Occhino
Yeah, that's right. You know, one of the things we don't want to do is expose all of the underlying sophistication. We really wanna pave a happy path. Um, so our model, you know, we call it an online model because not only is it, um, using the underlying LLMs, but it's then doing a bunch of work on top. Something like eighty-five percent of the code that the LLMs give back to you won't run by default yet, and they're getting better and better. So we then, um, iterate on the code that comes back and tweak it and fix it up based on everything that we know, and we do that on top of a bunch of different models.
- AGAakash Gupta
Got it.
- TOTom Occhino
Okay.
- AGAakash Gupta
Got it.
- TOTom Occhino
Let's see. We've got a new nav bar here. Um, this is great. [chuckles]
- AGAakash Gupta
And it looks exactly like our screenshot, so it's really good at copying design. I think that's why it's so useful in this prototyping use case we have here, because let's say I was the VP of product and I had asked the PM about this feature, they can come back with a prototype literally five minutes later.
- TOTom Occhino
That's exactly right. And this use case is really, really powerful because even if you're not an engineer, even if you're non-technical, you can demonstrate the idea that you have in your head with extremely high fidelity in very, very little time.
- AGAakash Gupta
This episode is brought to you by WorkOS. If you're building a SaaS app, at some point, your customers will start asking for enterprise features like SAML authentication and SCIM provisioning. That's where WorkOS comes in, making it fast and painless to add enterprise features to your app. Their APIs are easy to understand so that you can ship quickly and get back to building other features. Today, hundreds of companies are already powered by WorkOS, including ones you probably know, like Vercel, Webflow, and Loom. WorkOS also recently acquired Warrant, the fine-grained authorization service. Warrant's product is based on a groundbreaking authorization system called Zanzibar, which was originally designed for Google to power Google Docs and YouTube. This enables fast authorization checks at enormous scale while maintaining a flexible model that can be adapted to even the most complex use cases. If you're currently looking to build role-based access control or other enterprise features like single sign-on, SCIM, or user management, you should consider WorkOS. It's a drop-in replacement for Auth0 and supports up to one million monthly active users for free. Check it out at workos.com/akash to learn more. That's workos.com/akash. Today's episode is brought to you by Jira Product Discovery. If you're like most product managers, you're probably in Jira tracking tickets and managing the backlog. But what about everything that happens before delivery? Jira Product Discovery helps you move your discovery, prioritization, and even roadmapping work out of spreadsheets and into a purpose-built tool designed for product teams. Capture insights, prioritize what matters, and create roadmaps you can easily tailor for any audience. And because it's built to work with Jira, everything stays connected from idea to delivery. Used by product teams at Canva, Deliveroo, and even The Economist, check out why and try it for free today at atlassian.com/product-discovery. That's A-T-L-A-S-S-I-A-N.com/product-discovery. Jira Product Discovery: build the right thing.
- 11:58 – 13:08
Debugging & iteration: exploring the generated app and “Fix with v0”
- TOTom Occhino
Um, I'm very interested in going back to see where we're at with our LinkedIn clone because-
- AGAakash Gupta
Yeah
- TOTom Occhino
... this thing [chuckles] I feel like is probably a pretty full-featured app. We actually have images in here. That's fantastic.Um, trending topics. We've got a post composer. Okay, this actually [chuckles] seems to work pretty good. Uh, okay, let's see what else we have. I almost... Okay, there was one. I could, I could choose to fix this route with v0. It's like, oh, I haven't implemented that one, so I can ask it to fix it. But I'm interested in exploring what we do have. Uh, it implemented, uh, [chuckles] we have notifications. Uh, we can, we can click through those. Let's see. This is, like, a pretty sophisticated application. Um, I'm gonna ask v0 to fix that runtime error next, and we'll just see what that flow looks like. So that was me going to the profileMe route, and I'm gonna say, okay, let's try to fix this one.
- AGAakash Gupta
Okay.
- TOTom Occhino
Close while it cooks. It says, "The code returns the following error, page not found for profileMe." It's like, oh, let me look and see what's happening. I don't have that route. Let me implement it for you. So this iterative, iterative, um, you know, I'm exploring the thing that we're building and then kind of building it interactively, I think is, is a pretty fun way to do it.
- 13:08 – 14:04
Marketplace integrations: databases and AI providers in a couple clicks
- AGAakash Gupta
Yeah. And how does v0 work with databases?
- TOTom Occhino
Yeah. One of the things I'm very excited we added were these integrations. Um, so right now we have a number of integrations from the Vercel Marketplace that work sort of out of the box with zero need to go off and create accounts and all this other stuff.
- AGAakash Gupta
Mm-hmm.
- TOTom Occhino
The integration's really seamless. It's a couple of clicks. So if I wanted to back this with a proper database and then fill the database with mock data, I could connect, you know, Neon, I could create a store. I could, um, also connect not just databases, but other AI providers. So if I wanna add features from, you know, AI features to my generation, I can connect those seamlessly as well. So very excited, especially about, you know, Groq by xAI coming in here and offering, like, a, a very generous offering to get started and really explore what AI looks like to add and what these, uh, marketplace integrations look like to add.
- 14:04 – 15:40
Adding an AI post composer (Groq) and handling API key/runtime issues
- AGAakash Gupta
That would be fun to do. So could we try to add, like, a Groq-powered post composer? What would that look like?
- TOTom Occhino
Let's try to do it. Let's, let's add a... We're gonna do it live. Uh, let's add... We'll create a new store. Uh, I'm gonna try on the free tier to start. We'll continue. Start with that. Install it. Our [chuckles] product was created successfully, so we're done. We're back in our application. Uh, and now, let's see. It's thinking on maybe our previous, uh, request as well. Here we go. "I see you've added the Groq integration to your product. Um, what would you like to build within your newsfeed application?" Let's add an AI-powered post composer, uh, in the start a post flow. Let's see where it goes.
- AGAakash Gupta
Hopefully, some LinkedIn PM tries this. [both laughing]
- TOTom Occhino
Yeah. I mean, this is... You know, I really do like the... Somebody else has designed something that works really well, and I can start with that as my starting point, and you don't have that blank canvas thing. I'll never have that again. But yeah, LinkedIn has a, a, a model that works pretty well. We can start with that. Um, we can also add storage or AI to our, our other generation over here. Um, while that's cooking, I could also walk through some of my own generations. I don't know if that's interesting for folks.
- AGAakash Gupta
Yeah. As a CPO, what do you get time to generate? What is useful? What have you been generating in v0?
- 15:40 – 17:12
Tom’s personal v0 builds: changelog/filter tool, one-shot sneaker store, neighborhood button
- TOTom Occhino
So one of the things... Yeah, this is, like, my favorite thing. I, I don't really have time to sit down for hours on end and code anymore, but I still have ideas, and I still have little personal software that I want to exist. One that I created somewhat recently is I just wanna go back and look at all of our blog posts and change logs and just filter them by, like, you know, various things, various topics. So, like, I wanted to look for all the observability change logs. Um, and so great. I, like, built this thing that consumes an Atom feed. It was, like, a handful of prompts, and now I use this in order to pull together the, like, summary from a different product area. I can filter by, like, start dates. It built all of this UI for me, and here's the two observability-related change logs we've had in April. Um, so this is a tool. I actually use it. I, I love it. Um, I was on a call with a- an e-commerce prospect recently, and they were like, "How could v0 help change the way that we build things?" And I did this. I-- This was ridiculous to me. It, it one-shotted a sneaker store. This is literally the full prompt, right? And I did enhance prompt again, but this is only one prompt. I haven't touched anything. And the biggest thing that I wanted to demonstrate was real-time filtering, 'cause I feel like most e-commerce stores have filters that, like, you have to wait for a page refresh. It's really clunky. And this does real-time filtering based on price, brand, attributes. And they were like, "Oh my gosh, I could plug this directly into my back end and just use this with all of the media coming from the back end." And this was... I, I'm still kind of in shock that this was a one-shot.
- 17:12 – 22:27
From v0 to production workflow: export to IDE, Git-like iteration, and deployment scale
- AGAakash Gupta
And what's the workflow that somebody will typically use for that? They'll export this code into Windsurf or Cursor, their IDE of choice, or how do they typically go from here?
- TOTom Occhino
Yeah, you certainly can. I mean, we can connect to databases from right in the web browser. I love the web browser as a creation, uh, not just consumption vehicle. But yeah, you can take this code base, and you can export it into any editor, and then you can start to enhance it. Um, we're working on making it seamless to flow back and forth between the editor and the creation experience in v0, so you can kind of like, you know, every change is a- an atomic sort of pull request or a Git commit, and then you can actually bring that repository into your editor and bring it back into v0. Uh, it varies. Everybody's workflow is l- a little different, but we're pretty flexible about it.
- AGAakash Gupta
Very cool. What else have you built?
- TOTom Occhino
Uh, one of the other things, I'm very excited to try our Groq integration over here, but one of the other things that I'm, I'm just really excited about is, like, my wife used to ask me for this. Just, "I just wanna know what neighborhood I'm in." We lived in New York City, and we would go out to dinner in certain neighborhoods, and she's just like, "I wish I could just see what neighborhood I'm in." And we could kinda try to use Google Maps for this. There's, like, some, some services. But I was like, "I just want one button." So I actually turned this into a thing that I deployed, and I use this every week. I use this to figure out what location, whatever. It's just a super simple thing. But my wife loves it because it was, it was software that was designed exactly to her specification, and I just have it pinned to my home screen on my phone, and we use it, you know, whenever we go somewhere. It's like, "Oh, this is a nice neighborhood." Um, so this was a fun one I made for me. Um-
- AGAakash Gupta
That's a really interesting future after apps like v0 have hit the market, right? Which is that anybody can make personalized software. I love this. So it sounds like people can go to where.tomocchino.com to try it themselves.
- TOTom Occhino
[chuckles] Yeah, they can try it themselves. Absolutely. Give it a shot. Um, I-- Th-this is like the, the era of personal software is absolutely upon us, and, and this has been the most exciting thing for me. I used to have this list of all the things I wanted to build and no time to actually build them, and now I can build them again. Um, let's, let's see what we did over here on our LinkedIn Newsfeed with the Groq integration. Uh, user clicks Start a post and clicks on the AI Assist button. Okay. What would you like to write a post about? Uh, I actually do like this prompt. Share thoughts on recent tech trends-
- AGAakash Gupta
Okay
- TOTom Occhino
... in a LinkedIn style. [chuckles]
- AGAakash Gupta
[chuckles] I'm keen to see how it does.
- TOTom Occhino
Okay, let's see. Invalid API key. Okay, this is great. Let's see if we can fix it with v0.
- AGAakash Gupta
All right.
- TOTom Occhino
My favorite thing is fix with v0 because usually what are you gonna do? You're gonna go search for how to fix something, and it's like, "Oh, we can just ask them."
- AGAakash Gupta
Yeah.
- TOTom Occhino
Um, I'll fix the API key issue. Problem is we're accessing... [chuckles] Uh, let's see. A discerning voice can probably find it. Um, in project settings, we usually have, uh, API keys and things that we may need to pull. So I'll copy in case we need to put it in.
- AGAakash Gupta
And it's off chugging.
- TOTom Occhino
AI module does not provide export name. We'll fix that one as well.
- AGAakash Gupta
Runtime error. Okay.
- TOTom Occhino
[whispering] Fake this content. Yeah. The other... Let's see. All my project settings. Yeah, see no environment variables. Let's do that X API key. And I'm gonna just burn this API key right after. [both laughing]
- AGAakash Gupta
Don't forget that step. [chuckles]
- TOTom Occhino
Right. Yeah. There we go. Okay, this is trying to load an image that doesn't actually exist. Um, I'd love to go back to here. Here we go. Let's go back to this one and load this block. Restore and see-
- AGAakash Gupta
Okay, so you're gonna return back to an earlier version?
- TOTom Occhino
Yeah. I'm gonna restore the previous version right after we added the integration, 'cause now I've also added in the API key.
- AGAakash Gupta
Okay.
- TOTom Occhino
Uh, I may have gone back one click too far. Um, let's restore after. Did it wrong here.
- AGAakash Gupta
I feel like that's one of the big tricks here of using this, is these restore buttons. Just scrolling back up a little bit.
- TOTom Occhino
Yeah. I'm looking in my, like, different versions. Um, this was the one that we, we restored. So we have our AI assist, and let's see if we've added our... Okay, the API key was reverted as well, so I have to get our API key going. Um, but you know, we'll, we'll fix some errors here, and we'll get it working. Um, over here, let's see. Our-- I was wondering if we wanted to add any, like, database or any integrations to this, but-
- AGAakash Gupta
Yeah. I would be interested-
- TOTom Occhino
We can also continue the conversation.
- AGAakash Gupta
I would be interested to see both database and deploying, what those look like.
- TOTom Occhino
[lips smack]
- 22:27 – 27:22
Database + deployment closure: Neon meetings table, mock data, and live deploys
- TOTom Occhino
Yeah. We should deploy one of these. So, um, let's see. Let's, let's add one of our database integrations here. Um, I'm not sure what we wanna store in the database base, but we can fill it up with some data. I'm gonna create a new Neon store. Um-
- AGAakash Gupta
Maybe just, like, the meetings that we have coming.
- TOTom Occhino
Yeah. Let's do, uh, deploy here. We'll add a database for upcoming meetings, and we'll try to integrate the data from the database. So Neon gave us a database, created successfully. It's thinking about the integration we just added. All right. Let's see. Let's store upcoming meetings in the database. Please fill with, uh, mock content for the next month. And then we'll have to, we'll hopefully replace these upcoming meetings with, um, something from the database.
- AGAakash Gupta
Yeah.
- TOTom Occhino
So we're really, like, vibe coding here. Like, I haven't actually looked at any of the code that's been generated.
- AGAakash Gupta
Okay.
- TOTom Occhino
We're just kind of dictating what should be done. As an engineer myself, I like to actually go back and forth. Um, I'll go and actually make changes to the code and say, "No, not like that, just like this," and that's still fun. But if you don't have any coding experience, this is both a good way to still build amazing things and to learn how to code.
- AGAakash Gupta
Yeah, I think so. Or just somebody like myself who hasn't been coding a lot in the last three or four years. It's a good way to, like, get back into it.
- TOTom Occhino
Exactly. I mean, this was my thing. I've been in management and leadership for a very long time. I haven't been sending pull requests. I can't support the code that I author, right? Um, so this is a good way for me to be able to build again.Looks like we've created a, a meetings table. [chuckles] We're creating our demo table
- AGAakash Gupta
Yeah. The one worry one of my podcast guests had, he's a VP of product here. He was like, "We're kinda entering the golden age of the feature factory because we've allowed all the C-suite to create these prototypes for us." [chuckles]
- TOTom Occhino
It's true, and the C-suite does have a lot of feature requests. You know, you talk to one customer, and you wanna make their dreams come true. You're like, "Yes, absolutely. This is incremental. We'll add that." And now we sort of can. So we have to be discerning. You have to have strong opinions about what belongs in and out. We also can't let the XY problem thing happen. Like, customers ask for one thing even though they really want something different, maybe more foundational. So y- we still have those strategic conversations and make sure we're not just YOLO shipping net new features all the time. Uh, okay, let's see. We're gonna populate the meetings table with some mock data now. Sorry, I could've been applying that while we were chatting.
- AGAakash Gupta
I think that, uh, that-- it's actually emphasizing the PM skill set, though.
- TOTom Occhino
Absolutely.
- AGAakash Gupta
Because now everyone is getting into, "Hey, what are the things that actually are gonna move the business outcomes that we want? What are just one-off customer requests versus actual problems lots of our customers face?" And figuring out that prioritization of what to put in.
- TOTom Occhino
That's right. In a world where you can decrease the cost or time taken to build something, um, certainly you could try more things, but you really wanna be strategic and thoughtful about what direction you go in because it's very easy to go in the wrong direction now. Um, it's very tempting to just like, "Oh, we'll just try a bunch of things." I think the strategic thinking, problem-solving, depth of ownership is really, really important. I mean, the biggest job that, um, the most important job that PMs play is the, the sort of deep owner of a product. And you still need that. You can't have other people YOLOing new features into your product. It has to be cohesive. It has to feel like, you know, you're, you're taken on a journey and that it's solving real problems for you. So the PM skill set is as relevant as ever.
- AGAakash Gupta
One hundred percent.
- TOTom Occhino
Let's see. We've created our database. We're updating our application to fetch and display these meetings from the database.
- AGAakash Gupta
Okay.
- TOTom Occhino
[chuckles] Great. All right, we're missing our environment variable, so we'll have to get that auto-configured in the future. Uh, NEON_DATABASE_URL. I'm gonna go look at my URL. NEON_DATABASE_URL. Uh, I'd like to stop sharing screen so I can... Or maybe I can move this over here.
- AGAakash Gupta
[laughs]
- TOTom Occhino
Uh, so I can copy my database URL. And we'll paste it in. Great.
- AGAakash Gupta
All right. So we had to add the environment variable here.
- TOTom Occhino
Exactly. Okay. Now that we've got the environment variable, we're set up. Gonna recreate. Yeah, one of the things we're also working on is making incremental regenerations, um, much, uh, faster, so you can only update the part of the, the application that you need.
- 27:22 – 32:06
Team and org: v0’s lean crew, pillars of work, and leverage from Vercel foundations
- AGAakash Gupta
Okay. Very cool. What is the, what is the overall team you guys have staffed behind v0 right now?
- TOTom Occhino
Team is pretty small. You know, we're split into sort of three, three pillars on, on v0. One is the sort of research and language model and, um, you know, we have this, uh, dev one, uh, model that we use, we call an online model. So we're constantly iterating on that. We're also working on all of the fundamentals of the chat experience, so this core experience that we've been using. Um, and then the third pillar is around the periphery, so all of the, um, administration and the, you know, uh, billing and account settings and project settings. Um, team is pretty small. I would say there's less than fourteen people working on v0 all up across engineering, product, and design.
- AGAakash Gupta
Wow, super lean. [chuckles]
- TOTom Occhino
Super lean, yeah, and really tight-knit too. It's been really fun to watch the team cook.
- AGAakash Gupta
That's awesome.
- TOTom Occhino
We-
- AGAakash Gupta
How big is Vercel overall in terms of product design and engineering?
- TOTom Occhino
Ooh, engineering, product, and design all up, um, probably right around two hundred. Um, one of the benefits of, uh, v0 and many of the other teams is that they get to build on top of the foundations we've created for Vercel. So we didn't have to create a net new accounts system and a net new marketplace of integrations. Those things have existed, and then kind of bringing them together, uh, is, is much easier than building those things from scratch. The biggest one, obviously, is our deployment infrastructure. So at some point, we're gonna deploy one of these things we've created. I can deploy something else that exists here. Um, like I don't think I ever deployed this sneaker store.
- AGAakash Gupta
Mm-hmm.
- TOTom Occhino
But you can see that, like, when I de- when I deploy this thing, now you've got a decade's worth of managed infrastructure just w- you know, whirring into action, um, and creating a deployment. And, like, pretty soon, I'll have this open to the entire internet. Um, and then I can go further and customize my domain. I can add people to the project because this project will be backed by a Vercel project.So all of the, all of the everything you can do with a Vercel project, um, adding team members and customizing, you know, everything about it, uh, backs every one of these deployments.
- AGAakash Gupta
AI evals are one of the most important skills for PMs, and I know you know they matter. The question is, are you doing them right? Most teams are winging it with basic metrics and hoping for the best. Meanwhile, the teams that actually ship reliable AI, they've cracked the code on systematic evaluation. Today's episode is brought to you by the AI Evals for Engineers and PMs course by Hamel Hussein and Shreya Shankar. This live Maven course will teach you the battle-tested frameworks from Hamel and Shreya, who are the engineers behind GitHub Copilot's evaluation system and twenty-five plus production AI implementations. Four weeks, live instruction. Next cohort starts July twenty-first. Start shipping AI that actually works. Enroll at maven.com with my code AG-PRODUCT-GROWTH for over eight hundred dollars off. That's AG-PRODUCT-GROWTH. Today's episode is brought to you by the AI PM certification on Maven. Run by Miqdad Jaffer, who is a product leader at OpenAI, this is not your typical course. It's eight weeks of live cohort-based learning with a leader at one of the top companies in tech. OpenAI just doesn't stop shipping, and this is your chance to learn how. Run along with product faculty and Mo Ali, the course has a four point nine rating with a hundred and thirty-three reviews. Former students come from companies like OpenAI, Shopify, Stripe, Google, and Meta. The best part? Your company can probably cover the cost. So if you want to get five hundred dollars off, use my code AAKASH25 and head to maven.com/product-faculty. That's M-A-V-E-N.com/P-R-O-D-U-C-T-F-A-C-U-L-T-Y. And for people who don't know, Vercel, as you can hear with the numbers, a hundred and eighty-six people focused on this core business, 'cause you guys started that, what? Almost ten years ago, and v0 is really one of the newer things that you guys have built.
- TOTom Occhino
Yeah, that's right. And, you know, it's really nice for us to be able to bootstrap things internally. v0 sort of operates like a startup within a startup, but it gets to build on top of the foundations that were laid by everything else we built. Um, so yeah, this is, uh, very related to how we build products, is we wanna lay the foundation, lay out a North Star for where we wanna go, and then use the foundation to build the incremental path to getting there.
- 32:06 – 34:14
Who is the “developer” now? Internal demo days and dev-adjacent builders
- AGAakash Gupta
And is this a totally different user for you guys? It sounds like it might be, like, a different user and buyer. How do you guys kinda think about managing the difference?
- TOTom Occhino
Yeah. Is it okay if I stop sharing my screen?
- AGAakash Gupta
Yep.
- TOTom Occhino
Yeah. Um, it kind of is, yeah. So I think developers for forever, um, we are the developer company. We love building tools for developers. We are ourselves developers. But the definition of developer is getting a little bit wider. Um, it went from anybody who could build things using traditional software engineering techniques to anybody who wants to build things. Um, and that's been really fun to watch, especially internally. The evolution that v0 has provided is anybody who's sort of tech-adjacent, anybody who knows this thing exists, can build things. So, you know, we do a demo day every Friday. We do demo days. And demo days started out a couple years ago. Engineers would show up and demo stuff. Then, you know, designers came in, and designers would say, like, "Okay, we've got some mocks. We're thinking about some things. We're just demoing what we're thinking." Product managers would come in and demo end-to-end flows of certain things, not just features. But what's happened more recently is other parts of the business are coming in and demoing full-fledged applications. Here's my proposal for how we should build the new domains management experience. Um, uh, one of my favorites was an account executive came in and said, "Hey, you know, usually I jump on a call with a prospect, and we go through total cost of ownership of buying Vercel. And usually I will send them a spreadsheet. Um, and the spreadsheet, you know, it's lots of rows and columns and numbers and tabs. This time, I dumped all of that data into v0, and I created an interactive application for them to filter and look at their own growth of their company based on their success over time. I would never have been able to take the time to do this because I'm talking to so many prospects. But because I was able to build this one-time use software, the, the customer was so elated. They're like, "I can see it. I can understand how this is gonna pay dividends for us." So having account executives show up to demo days demoing products is amazing.
- 34:14 – 43:44
Competition, React as substrate, and why frameworks are becoming implementation details
- AGAakash Gupta
That's crazy. There's so much that's possible with this, but you're in a very competitive space. If I look at it, we had a Bolt CEO on the podcast. There's Replit, there's Lovable.
- TOTom Occhino
Yeah.
- AGAakash Gupta
We've done some Windsurf and Cursor demos as well. How do you think about competing in this space?
- TOTom Occhino
Uh, you know, I helped build React, and, and people used to ask the same question about React. "How do you think about React's competition?" And I gave the team the same direction always. Um, I really don't think about the competition. I think about our customers and delivering as much value as I can. And I also think about my own use case. Like, I actually am building something that I am excited to use. So look, it's tempting. Some competitor adds this feature or that, and you're like, "We've gotta catch up." I don't wanna play catch up. I just wanna build things that continue to add value for ourselves. Seeing that account executive, that product manager, our head of internal communications builds things now. Her feature requests that enable her to do her job better matter more to me than whatever feature some competitor's coming up with. So it's good to keep your finger on the pulse. You wanna make sure you're not missing a wave. Uh, our CEO, Guillermo, makes sure that we stay at the tip of the spear of all the latest trends, I promise. Um, but I direct the team to really stay focused on delivering as much value as possible to ourselves y- as customers and to our customers of tools like v0.
- AGAakash Gupta
You mentioned React. You're really well known for that. If anybody searches you up, they'll find tons of things with you and React. What's interesting to me is that most of these apps, and v0 included, they tend to use React when they're building. It seems like-
- TOTom Occhino
Yeah.
- AGAakash Gupta
What, what does that make you feel?
- TOTom Occhino
Yeah, it's, it's humbling for sure. I think when we started creating React, one of the things we loved was that it felt like it was lowering the barrier to entry for development. And because it did that, you saw a lot, uh, a lot more people building with React than were using other sort of libraries and frameworks at the time. And it picked up in popularity, I think, honestly, because it was more fun. But because it picked up in, in popularity, there's so many examples of open source React applications out there, and I think the models have ended up being trained on lots and lots of React code. You can certainly teach them to use other frameworks and, you know, I think like even v0, you can say, "Hey, build this in SvelteKit," and it does a great job. But by default, it's like, well, I know the most about React because it's kind of ubiquitous at this point. So, um, that was very surprising and, and humbling for us. But what I love about this next generation of tools is in the same way that React lowered the barrier to software development, these tools like v0 are lowering the barrier even further, or dramatically further. And the framework is becoming more of, um, more than ever before, somewhat of an implementation detail, if that makes sense. Um, frameworks are a construct that we made to enable the, like, sharing of code and the ability for many people, humans, to iterate on the same code base using conventions and APIs and, and now if I'm more and more able to sort of build all of this stuff myself and iterate quickly without fully understanding all of the complexity of the front-end code, or at least not understanding it first, then the framework becomes something that can be progressively disclosed over time. So, um, yeah, anyway, back to your question. I think, like, it's been, it's been really humbling to see how React has become the sort of substrate layer underneath all of this.
- AGAakash Gupta
Yeah. Almost every time I'm really looking behind the code of these apps that these prototyping tools are building, and they're using React. Speaking of which, can we close the loop now? Because people really wanna deploy apps and see the databases, can we look back at our apps and close the loop on that step?
- TOTom Occhino
Oh, yeah. Let's look. Let me get back into here and sharing my screen. Here we go. And there we go. I think we've got it. Yeah, here you go. Uh, it looks like we've added a bunch of meetings that are in our database.
- AGAakash Gupta
Nice.
- TOTom Occhino
Uh, we've added a meeting creation form. Oh, we've added a meeting [chuckles] creation form. Let me-
- AGAakash Gupta
Of course.
- TOTom Occhino
Let me full screen this, and we'll check it out. Of course, we have. Uh, so let's do a quarterly review. Uh, this is a new meeting. We'll do it April twenty-third from nine to ten AM, and it's gonna be in person this time. So let me... Create meeting. Okay. Zoom link or meeting room. Uh, I'm in a room called Midnight, so let's do it in there.
- AGAakash Gupta
[laughs]
- TOTom Occhino
Uh, and then I'm gonna add, uh, [laughs] add my personal email address and see if it emails me. Oh, I should not have disclosed that. Uh, okay, success. My meeting was created successfully. Uh, let's see where it showed up. Meeting scheduled, fifteen. Uh, okay, we have to implement the, the all meetings flow. Okay. Hmm. I kinda wanna deploy this one actually and just play around for a while.
- AGAakash Gupta
[laughs]
- TOTom Occhino
Um, add a layout. Yeah, view all meetings hasn't been implemented yet, but I assume that's where that would show up.
- AGAakash Gupta
Okay.
- TOTom Occhino
I'm tempted to go into the database as well. Um, we also deployed our sneaker store here, so, um, let's see. Okay, yeah. This just is live on the internet at-
- AGAakash Gupta
Nice
- TOTom Occhino
... v0sneakerstore8.versailles.app. Uh, so anyone can go play with that one. Um-
- AGAakash Gupta
So we haven't left people hanging. You can connect it to a database.
- TOTom Occhino
[laughs]
- AGAakash Gupta
You can make it a live app. That ends it for our live cooking session. We showed you guys how you can build multiple apps. You can use it one-shot new design. You can use the prompt enhancement. And I think one of the key lessons here is that there is no particular right way. It-- The way they've built-- you've built the chat, it can handle a lot of different things, and I think that's part of the magic here is it's like ChatGPT in that way. You can give it a misworded response. You can have a typo in your prompt, and it'll still work with it.
- TOTom Occhino
Yeah, that's right. That sort of flexibility and the fact that it kinda speaks to you in plain English, it's like, "Oh, here's the thing that was missing." Remember I had to copy in my environment variable. Eventually, maybe we'll, we'll make even that step go away. But, uh, it kinda guides you, and you can ask it plain English how to fix certain things for you. But then at the end of this, you can deploy real software to the internet, and that's what we did.
- AGAakash Gupta
So somebody's watching this, maybe they're not as technical as you and I. They weren't an engineer before. What else do they need to know if they wanna take, let's say, that e-commerce store right there and make it into a million-dollar app?
- TOTom Occhino
Make it into a million-dollar app. You know, one of the things I liked that you mentioned earlier is, like, the PM skill set is as relevant as ever. Um, you gotta build something that people are excited about, and you can take that thing and you can iterate on it until it's something that you're excited about, and then you can share it with somebody else and, and get them excited about it. But all the rest of the work of creating something valuable still exists. This isn't a sort of like, "Oh, I've, I've just YOLO'd something out into the, into the internet, so now I'm gonna get a million users." Um, I think actually what's gonna happen is the time to developmentUm, and iteration velocity goes out, time to development goes down. I think actually the products that deliver real value are gonna be the ones that don't really play games. They're like, "Okay, this actually helped me do something now that I couldn't do, do before." So the PM skill set is as relevant as ever, and, uh, actually finding ways to deliver real value to real people is the only way to get adoption. Uh, so you'll, you'll do marketing, you'll do-- you'll go talk to people, you do user research, you'll iterate on your product based on feedback. Um, and the way that you iterate is a little different, but the rest of the job has to be done.
- AGAakash Gupta
And what should people know about scaling and iterating? Should they stay within v0? Can it handle all of the scaling that might be needed to scale to that level, handling thousands or tens of thousands of users? Or should they eventually move into kind of like a IDE or something like that to handle a larger and growing code base?
- TOTom Occhino
Yeah, I think, um, it really depends. If you're starting out as a developer, you'll probably want to, uh, sort of eject into your editor, you know, connect things, make changes, and iterate from there, collaborate with your team, back it by a Git repository, et cetera. Um, if you're starting out as not a developer, you're just learning development, you maybe wanna stay in the browser in v0 for as long as you can. Um, but it, you know, either way, what you deploy is real software. When you deploy from Vercel, uh, from v0 into Vercel's managed infrastructure, this will scale to a billion users. Um, and so it really is about attracting your users and building something that, you know, gets, gets real traction. Um, it's not necessarily about the tools themselves holding you back. The thing that I love about a v0 project is that, again, it's backed by a real Vercel project, which has, you know, [chuckles] openai.com and, and, uh, all of these other, you know, um, Chick-fil-A's operations and, uh, underarmor.com. These are real products with real scale. And so, um, they're all backed by Vercel's infrastructure the same way that the thing that you just vibe coded would be backed by Vercel's infrastructure.
- 43:44 – 48:37
Vercel’s product operating system: product areas, frequent reviews, and lightweight planning
- AGAakash Gupta
Awesome. So I wanna peel back the curtain since you are the chief product officer. It's rare to get an opportunity to talk to unicorn CPO, pick their brain, understand how they're running their product team. So what is unique about how Vercel builds product?
- TOTom Occhino
Yeah. So, you know, by way of clarification, I think CPO in title, but I run engineering, product, and design, so we can talk about engineering as well, and as a former engineer myself, I think that's kind of where that comes from. Um, my counterpart is our CTO, Malte Ubl. He's a, an individual contributor and gets to go deep on everything, and so we partner really, really well. He goes deep on the tech, and then I help manage the org. Um, yeah, the way that we build products, uh, you know, where do you wanna start?
- AGAakash Gupta
[chuckles] Well, I guess planning is the most interesting thing. Like how do you even-- how does the v-- how are the v0 teams, for instance, planning-
- TOTom Occhino
Yeah
- AGAakash Gupta
... these are the big rock features we wanna do. Are they doing it on a quarterly timeframe? What fidelity? Are they building a v0 prototype to show it? [chuckles]
- TOTom Occhino
Yeah. Um, we do, uh, first of all, organization. Uh, we organize ourselves into product areas, and we have, you know, somewhere between twelve and fifteen product areas. Each of those product areas contains a number of products. Each of those products contains features as you'd expect. And each of those product areas has, uh, a leads team. So there'll be the, the leads for the domains product area, and there'll be the leads for the compute product area. And what we expect of the leads, uh, which are multi, you know, cross-functional, so engineering, product, and design in the leads for each of these product areas, is we expect that they are owning their roadmap and checking in very, very frequently. We do a more formalized, uh, planning process every six months or so, just to kinda reset and figure out if everything that we're working on is still relevant, if there's anything that new, we wanna make sure we're, we're missing a big boulder over here we wanna go after, et cetera. Um, but then we check in very frequently. So six months' worth of plans, I mean, the, everything is moving so quickly. There's no way that you could plan for six months at a time. So we'll do, um, reviews a few days a week. We do at least two times a week, we'll have these reviews where teams can come in and do a, a kickoff check-in. "Okay, here's our hypothesis. Here's what we're gonna build." They can do, uh, an execution check-in, so they can say, "Okay, we've, we've now been building for a little while. Here's what we're seeing. You know, we're gonna continue." Or they can do like a pre-ship check-in. So like, "We're about to launch. Here's all the things we need to consider from a pricing and enablement and go-to-market perspective." Um, so we do very regular check-ins with these product areas. We organize our Slack around these things. We organize, um, our meetings and our, uh, you know, hack weeks and things around product areas as well.
- AGAakash Gupta
Got it. Is there anything unique or interesting about your planning operating system? Are you doing it, you know, in Notion with lots of impact sizing? Are you doing it with OKRs, or is it just pretty normal planning process? [chuckles]
- TOTom Occhino
Yeah. We do use Notion pretty heavily for this, and then, you know, projects that are enumerated in Notion, and we size them, and we map them back to customer requests, et cetera. Then, you know, once, once we get into execution, we'll actually go into Linear. Um, both great tools for this. Um, I think, you know, Notion gives us the ability to connect to the rest of the organization. So one thing I like is we'll have like a PRD that actually comes from the field engineering team that then maps into an engineering initiative or a product initiative, and so we can kind of cross-reference lots of different types of materials that all ladder up to a singular initiative. Um, we, we take pride in our sort of Slack ops, so making sure that the relationship between Notion and Slack and Linear is all very cohesive. Um, but that's mostly about execution. I think for planning, we, we produce plan summaries for every product area, and then I create like a, you know, if that's the L3, then I'll create the L2. Here's my overall summary. Then I'll create the L1 for the executive team, which is like, "Here's everything you need to know that's happening." Um, some version of that we'll share with customers. It'll be customer-facing, and we'll take it to our customer advisory board, and we'll, uh, talk to prospects about what's happening soon.Um, but yeah, our, our planning process is pretty fluid. Um, we don't have a formalized OKR process. We tried one out about two-- a year and a half ago. Um, I don't, I don't wanna say there was organ rejection, but I just wanna say it was overfit, um, for what we needed. Vercel is what I describe as lowercase a agile. Um, we are moving quickly. We are jumping from, um, initiative over here to the next thing that comes up over here, um, pretty, pretty quickly. And so a formalized process felt like it was actually holding us back from being able to move a lot faster.
- 48:37 – 55:43
How v0 team uses v0 + the integrations feature story (demo-first, PRD optional)
- AGAakash Gupta
So now I wanna know how the v0 team uses v0, because I think-
- TOTom Occhino
Yeah
- AGAakash Gupta
... AI prototyping has blurred a lot of the lines, right? PMs are getting into early versions of design. Designs are-
- TOTom Occhino
Yep
- AGAakash Gupta
... designers are maybe iterating in v0 sometimes, not all the time in Figma, before they go to Figma. And then maybe engineers are even using v0 to kick off their engineering. Is that how it works on your team, or how are you guys using v0?
- TOTom Occhino
Yeah, I mean, as a company, we're using it many, many different ways. On the v0 team, the way they're using it is obviously they do a lot of just building personal software, and they're just tinkering, and they're dogfooding, and they're using it and giving each other feedback and, and making it better and better. But the, the other way that they use it that's perhaps different than what we showed earlier is they'll design one small piece of the app using v0. It's like, "Oh, I need the project settings drawer." And so they'll say, like, "Here's all the context on this project that we're building in." Um, and then they'll end up generating something that they then import into the actual v0 itself. So v0 is a massive application, as you can imagine. You can't one-shot a full fidelity v0, but what you can one-shot is, like, the settings page that you then iterate on. And so you iterate, rather than iterating in code, you can iterate in v0. So that's another thing that the v0 team does. Um, more generally speaking, how we use v0 as a company, I mean, we went into some examples, but everybody's using it for stuff that we wouldn't have even thought about. Um, we build slide decks in v0 now because it's easier to, you know, dump all the content that you want from a doc and then, you know, here, generate a slide deck for this, and then you can actually walk through a, a real slide deck without even going into, you know, a slide editor. So we, we use it for absolutely everything internally.
- AGAakash Gupta
[lips smack] Okay. And specifically on the role of prototyping, like, how should a PM think about prototyping? Should the prototype be replacing their PRD? Should it be after they have the PRD and it's been okayed in planning, then they go into the prototype phase? When do you really think about using AI prototyping to use it at its fullest?
- TOTom Occhino
[inhales] Yeah. In my mind, like, the sooner you can demo and validate your hypothesis, the better. Um, PRDs still play a role. I actually think that you can't capture, you know, all of the nuance and all of the edge case and the strategy, um, in the demo. But I do think these things, like the PRD can get a little thinner now, and it can be more high level, more strategic, more opportunity sizing, um, more, you know, analysis. And then the demo is what really, you know, a picture's worth a thousand words. Um, the mantra that we have is, uh, seeing is believing. So, you know, you used to be able to do this in a PRD. You could embed screenshots and different views and, and things like that. But, um, I think the real software will expose the edge cases a bit more quickly and kind of, you know, make it more real for people. I think it's also just more-- it's more enjoyable to watch somebody give a demo of a thing versus just talk through either a slide deck or a, a doc. So it's a more engaging feedback session when you're kind of demoing something. But yeah, there's, there's kind of room for, for both, and they-- I think they complement each other really well.
- AGAakash Gupta
A picture is a thousand words. A prototype is ten thousand words, right?
- TOTom Occhino
Exactly.
- AGAakash Gupta
'Cause you actually get to interact with the picture. So it's kind of the level up, and that's why I've been encouraging more and more PMs, more and more designers to get their hands on tools like this.
- TOTom Occhino
That's right.
- AGAakash Gupta
What are the biggest v0 features you guys have shipped recently?
- TOTom Occhino
Yeah, I think integrations is the big one. I mean, that's, that's very new. We, we tried two separate, uh, integrations, an AI integration and a, a database. Um, but we're also bringing the full power of the Vercel Marketplace here. So eventually we're gonna have things like observability, um, auth, uh, you know. Anything that your application, a modern application needs, you'll be able to procure it through the marketplace in two clicks. And I think that, you know, we take it for granted now how quickly I went through the flow of creating a net new account with the underlying provider, provisioning a resource, wiring up billing. In my cases, I chose, uh, free to get started, but, like, billing was also wired up, SSO. So integrations is the biggest feature we've added to v0, and I think it actually really unlocks real applications versus the prototypes of even just a few months ago.
- AGAakash Gupta
So walk us through in depth the story of that integrations feature. How did you guys roadmap it? Did the v0 teams pitch it back to you? How did you guys prioritize which integrations you were gonna build?
- TOTom Occhino
Yeah.
- AGAakash Gupta
How did you use v0 within that process? [chuckles]
- TOTom Occhino
Yeah. So again, integrations builds on top of the Vercel Marketplace. So we could do what you just described for that, which was a much bigger initiative from the past year, 18 months. Um, but in terms of v0, I think what they actually did was they started with, um, the foundations that already existed, and then they, they did, they went right into prototyping the flow. So with v0, they said, "Here's what we think. Here's where we think the button should go, and when you click it, here's the behavior we think y-y-you want." A big piece of what we wanted to make work was the generative UI piece of pasting in the URL. So if you saw that, it's like, sure, you could have directed me to go into the code and paste the URL into the code, the database URL, but we really wanted to make that seamless and in line. So there's a structured input for copying in environment variables, um, and we'll make even those even more seamless. But we prototyped that flow within v0, so it was just very meta. Um, but yeah, the team kind of, um-Had a, a, a list of all of the strategic new features that were either a combination of requests or things that we knew we wanted, and then we sequenced, we, like, ranked those. We have limited, uh, resources, so we ranked those features. And then we actually did do a, a early demo day of, like, here's what we think it should look like. We had a review where we talked about, um, the-- what we think this would unlock and how we wanna position it. Um, and yeah, there actually for that one, there, there wasn't a PRD for integrations. It really was almost exclusively demos and, uh, Loom videos and, you know, conversation.
- AGAakash Gupta
So demos, Loom videos, and it sounds like a couple key review meetings is how you were able to create all of the canvas for collaboration. You didn't even need a PRD. It was one of those features where people understood [chuckles] the impact, they understood the strategy, and so you didn't have to write that, which I think is the perfect example of how product development should look in this modern day and age. So let's say you were talking to your colleague. Let's say they're a CPO at a slower-moving company, 'cause it sounds like Vercel, you guys are embracing AI, right? You guys build these key AI products.
- TOTom Occhino
Moving fast.
- AGAakash Gupta
Makes sense.
- TOTom Occhino
Yeah.
- AGAakash Gupta
But a lot of companies, they're not embracing AI, right? I'd say 80, 90% of companies, they're not. They're just now getting their engineers onto Cursor maybe. Uh, whether their PMs have a v0 license, suspect, right?
- TOTom Occhino
Yeah.
- 55:43 – 1:15:15
AI-first product development: advice for slower companies, licensing, and the future of roles
- AGAakash Gupta
What's your-- When you're talking to those CPO friends, you know, what's your advice for them? How should they be thinking about the new way of product development enabled by AI?
- TOTom Occhino
I mean, the first thing that I would tell them is that it's actually really fun. So, like, this isn't a stressful transformation you need to dread. Um, just start tinkering. You know, just build something and, and you'll start to see it yourself. But I will say that, like, the more existential thing here is, like, everybody's moving really fast, and if we believe that iteration velocity solves all known, uh, software problems or maybe all known problems, um, you're kinda gonna be left behind, um, if you're not at least tinkering and getting started. Um, I think the, the idea that companies-- You know, AI right now is being bolted on as a feature for lots of companies. Um, that's not how AI's gonna work. AI is gonna be part of the fabric of how every company operates and every product they sell. Right now, there's literally an AI button. AI has an icon, right? The little sp-sparkle stars, right? But eventually, AI's not gonna have a button. It's not gonna be a thing that you plan, "Okay, what's our AI roadmap?" It's just gonna be, what's our roadmap? And AI is gonna be infused into all of it. So if you're not using AI and seeing the ways in which that it's transforming your own workflow and your own experience, how will you be able to transform your customers' user experience, uh, in a, in a sort of, like, tasteful and balanced and modern way? So yeah, I mean, my advice is obviously start, start tinkering yesterday, um, and incorporate, you know, in small doses. You don't have to go, uh, you know, 180 degrees. We weren't using any AI, now we're doing everything with AI. But, um, I think we should take this shift pretty seriously.
- AGAakash Gupta
And are there any steps they should be thinking about if they wanna buy their PM team v0 licenses? Like, what are the thing, the common concerns that come up and how you address them?
- TOTom Occhino
Yeah. This is interesting. So, um, in the engineering space, it's quite saturated. We started selling v0, uh, licenses to enterprises, and they're like, "Okay, yeah, but there's-- we're paying for this other tool. We have this, we have this." Um, but it turns out that there's significantly less friction for PMs, designers, um, and s- what I would describe as, like, dev-adjacent folks. So, um, we can do this, like, very start very small. You know, we just have a couple of seats. We're gonna just get some of our folks online, and we're gonna try this out for a while. Um, I would say start there. I think it's, it's totally reasonable to want to try something out before you commit and go all in for, like, years, times thousands of people. Um, but I also think you can develop some conviction about the way that you'll use it, even just from the free tier. So you, um, before you bring it into your company, you just start using it yourself, and then you think about the ways in which it'll transform your workflow. If you need to justify buying it internally, I think anytime anybody does the v0 demo of here's how my job gets a little bit easier and here's how I become a little bit more efficient, um, it's always a no-brainer. I mean, the value for price is just outrageous. So, um, yeah, I mean, how do, how do you get started? I would just say develop your own conviction about the ways in which it'll transform your own workflow. What are the integrations you'll use? What are the-- W-what days will it show up? In what meetings will a v0 generation show up that previously you'd present a doc, a slide deck, or something else? Um, and then, you know, that has turned into quite a bit of traction actually for our enterprise customers especially.
- AGAakash Gupta
Awesome. So we covered v0, how Vercel builds product, the future of product management with AI. I wanna talk a little bit about you.
- TOTom Occhino
Okay.
- AGAakash Gupta
So you're an engineer for your whole career. Uh, you joined Vercel as a VP of engineering. Now you've become chief product officer. What was that transition like?
- TOTom Occhino
Yeah. Engineer by trade. Um, I transitioned into engineering management, and then I was an engineer for about a decade at Facebook. Um, engineering director more, you know, toward the tail end, leading quite large initiatives. And so when I joined Vercel, it was really about bringing some of the infrastructure and developer infrastructure that, uh, companies like Facebook and Google had, bringing that to the rest of the world, and we can go into why. So starting as an engineering leader just made perfect sense. We already had a VP of engineering. We decided we were gonna split engineering in two. The hypothesis was, like, it's very logical to have an infrastructure organization and then a product engineering organization or a, um, platform. Some, some teams call it that. Um, and in my mind, that was, that was the role. I was just gonna help with engineering leadership.And I was excited about it. And shortly after I joined, uh, we collectively as an extended leadership team identified a bigger opportunity. The bigger opportunity was to get engineering, product design, and a handful of other functions operating as a single unit. And there was no single-threaded owner for all of this, and so you'd kinda hear different things depending on which function you talked to. And at the same time, G had been pushing us to become more design-led. Seeing is believing was a principle, um, but design was downstream of the assembly line process of development. Engineers are cooking over here and then sprinkling a little design on it, and hopefully product managers are shepherding some of this work along. So we actually had a, a con- conversation about, uh, restructuring all of R&D, um, which is engineering, product, and design, um, under me to, to sort of carve out these pillars, but ensure that they're all operating as a single cohes- cohesive unit and serving the rest of the organization better. I think it's very hard for the go-to-market organization to know who to talk to. Should I talk to the head of engineering, the head of product, or the head of design? They're all telling me slightly different things. They're saying we're working on the same stuff, but they're framing it in slightly different ways. So yeah, we transitioned me into the chief product officer role, leading all of EPD. Um, and since then, I think some things have been going a bit smoother. But yeah, I'm an engineer by trade. Um, I have been, uh, learning product and design to a lesser extent on the job, and obviously supported by an amazing team.
- AGAakash Gupta
What's your advice to engineering leaders who wanna make a similar shift to become PM leaders?
- TOTom Occhino
You know, the first thing that-- The, the moment I saw the light, uh, I was actually still an engineering manager. I wasn't even a director. Um, I saw the opportunity for me as an engineering manager to take certain work off the plates of my engineers that I thought was critical, but which they didn't enjoy as much as I did. And at the time, it was user research, talking to customers, writing up the document that explained the strategy for what the engineering team was building while they were burning through ticket lists, you know, or like their task lists. And I just called that engineering management because my team happened to be a team that was building developer tools, and we didn't really have many product managers allocated to developer tools. So when I eventually came into, like, leading a product organization, I sort of created a, a cleaner split between the roles and responsibilities. But one thing remains: the product managers have to be part of the team. You have to have complete trust of the engineers and your sort of counterpart engineering management, tech lead, designer, et cetera. And so I really try to foster a relationship between-- We were talking about those product area leaders. I really try to foster a very collaborative relationship there, where the Venn diagram of jobs I'm good at and jobs that need to be done for each of the folks is sort of-- has heavy overlap. Um, but I do think about product management as an extension of engineering or in many ways, um, it is the engineering, and then the programming is a implementation detail of the engineering, if that makes sense.
- AGAakash Gupta
I love that framing. It is the engineering, especially in the v0 world that we just demoed for you guys, so-
- TOTom Occhino
Exactly
- AGAakash Gupta
... I think that's really important. What's the story of landing this job? A lot of people wanna land a VP job at a unicorn, an AI unicorn like Vercel. How did you do it?
- TOTom Occhino
Yeah. I think, you know, my history in the space certainly helped quite a bit. Um, I initially was not looking to go back to work right away. Um, my story was there's a bunch of great people here that some of them came from my org. There was a couple people from my org that, that had moved on, s- but some of which I've just admired from afar. So when, uh, I was thinking about going back to work, it was like, okay, there's just-- there's really only a very small number of companies that I would entertain. And then it became about how do I complement the existing set of skills that you already have? What are the things that I'm good at, um, and that I enjoy doing? Those are different, different buckets. But what are the things that I enjoy doing and I'm good at that would actually complement and round out the rest of... For example, Vercel's leadership team was what I was looking at. And I think, um, G and I are, are sort of yin and yang. Um, he is much more technical than me. He is a much better engineer than me, but I'm technical enough to, you know, sort of influence and, um, keep up with all of the, the technology and conversations there. But the thing that I've spent 10 years, well, now more than that, but at the time had spent, you know, 10 years doing was, uh, engineering management and people management and leadership and performance management and, um, cross-functional partnership. So whereas he was an engineer by trade and an engineer as a CEO, I was sort of like a, a people leader. I had designed and built organizations that were designed and built to serve a purpose and to build something. And so we complemented each other in that way. So to anybody else looking to land one of these roles, find the ways in which you complement the existing leaders on the team and you augment and, and sort of enhance in, in various ways that they wouldn't be able to do on their own potentially. Um, I also think you have to work on something that's true to who you are. In many ways, React has been my life's work. I believe that Next.js and Vercel are an extension of the problem that I was trying to solve with React, which was I wanna level up the quality of software on the internet. I want open platforms to win. I want the web to win, and Vercel was just so aligned with all of that. And even if you watched Guillermo speak in the early days of, uh, Vercel and Next.js, it was always about the web and always bet on React and all these things. So I found a company that was very aligned with, um, the work that I had been doing for so long, um, and the leadership team of which I felt like I complemented and added something, um-It was a rigorous a-interview process, but at the end of the day, I think it was, uh, a, a very good match.
- AGAakash Gupta
And how did it get started? Did they reach out to you? Did you apply? Because I feel like at these high-level roles-
- TOTom Occhino
[laughs]
- AGAakash Gupta
... it's all kinda shrouded in secrecy. Nobody knows. [laughs]
- TOTom Occhino
Yeah. For me, um, it actually was-- I was sort of a referral, uh, from somebody who was already here. Um, and he actually orchestrated the first conversation for me to have with, uh, the CEO. Um, and I think that person had known of me, obviously, because of my work and my experience. So, um, I was actually a referral from, uh, somebody that I had used to work with, and, and that person identified, "Hey, we need more of this. Um, this is the, the type of thing that we're missing." And so that's actually where the conversation started. The hook was actually, um, uh, the CEO was, uh, perhaps testing me, but he, he challenged me on something that I believed in, and he sort of, uh, compelled me to write a, a very detailed, you know, explanation of my position on something, and he was like, "Okay, you should interview for this role." [laughs] And so I was being interviewed before I was being interviewed, if that makes sense.
- AGAakash Gupta
Oh, very cool. So the old thing of impressing your coworkers when you work at a place like Meta, they end up going to awesome places. They recommended you, and then when somebody reaches out, like Guillermo thoughtfully responding because he's kind of interviewing [laughs] you before the interview started.
- TOTom Occhino
Yeah. And I wasn't looking for a new role at that point either. I-- That was kind of the hook that made me say like, "Okay, maybe I'll interview."
- AGAakash Gupta
Very cool. Very cool. So you were at Meta before this. That was your life's work. [lips smack] What was a day in the life like at Meta?
- TOTom Occhino
I mean, it really depended. You know, I started out as a new grad engineer building user-facing features. Um, I helped build the What's on Your Mind box, me and a, a guy named Kyle, uh, you know, back when we switched from, uh, having just text posts to having, you know, photo uploads and, and video and other, you know, events and things you could create. Um, I worked on search. A day in the life as an engineer was, you know, we worked with a product manager. We burned through our task list. Eventually, we would identify a lot, you know, higher-level opportunities and products that we wanted to build. When I got into engineering management, um, I was very fortunate to work on developer tools, so I sort of moved away from directly influencing the product probably in two thousand eleven, twelve, um, and started working on tools that enabled other developers to build products and move faster with higher quality. We had a team called Product Infrastructure that was all about, um, you know, the-- a day in the life there was all about identifying bottlenecks for engineers and then figuring out ways to move them out of the way and, and speed everything up. Eventually, as a engineering director, I was overseeing, uh, React and the family of technologies that cropped up around it, as well as a team called WebCore. But the thing that I s- that seeded all of that, uh, was I created a team called JavaScript Infrastructure, um, and built that team. That turned into React and so much more. And, uh, then also I inherited something called WebCore, and we rebuilt facebook.com on top of the technologies that I was building on the other side. So a day in the life, you know, started out writing a lot of code. Then it was a lot of meetings, then it was a lot of meetings with PRDs and strategy sessions and, um... But always working on developer-facing tools. I think my biggest contribution was probably convincing the company to open-source React. I think it was at a time when people weren't convinced that open source was a good idea in general. Um, I was very passionate about open source because of where I came from. So a day in the life like that was a bunch of meetings where I'm convincing the company that open source makes sense, and here's why. Um, but yeah.
- AGAakash Gupta
Maybe a little bit of a seedling for Mark to open source everything they're doing in AI later. [laughs]
- TOTom Occhino
Absolutely. I mean, their, their open approach to Llama has been seeded from the success of open source projects like React. Open Compute was transformative back in the day, if anybody wants to go look up Open Compute. And also PyTorch. Um, it wasn't clear that PyTorch was gonna be the way that we train AI. Um, uh, at the time, there was a... It was a pretty saturated space. But open sourcing it and really investing in the community, um, is what made PyTorch so successful. So I think they're carrying that forward with open sourcing the models. I would love to see them open source even more.
- AGAakash Gupta
So I wanna end a little bit on future casting because I think you're uniquely positioned to do this. You've spent so much time in engineering. You now lead product designing and engineering at one of the hottest AI companies. What do you see as the future of engineering, design, and PM? We talked a lot about how those Venn diagrams are getting closer and closer. What does the future look like in the world of AI?
- TOTom Occhino
Yeah. One of the things I'd love to see is the rise of the design engineer, um, and I think we're gonna see a rise of the sort of PM engineer as well. Um, I think that these roles are gonna overlap more and more as the tools become more sophisticated and complement our existing skill set. Um, I was an okay programmer. Um, I, I love coding, but I was never the best.
- AGAakash Gupta
I'm sure you were awesome. [laughs]
- TOTom Occhino
Um, and so-
- AGAakash Gupta
Given your career.
- TOTom Occhino
Thank you. The way that I used to augment my engineering is, um, I would work with other engineers that were better engineers than me and augment their engineering. So I would do integration and testing and migrations and, uh, I would-- I was very obsessed with UX, so I would spend a lot of time on the pixels and the details. Um, and so I had other humans that complemented my skill set, and together, the whole was greater than the sum of its parts. I think that AI tools are gonna provide every individual with that complementIf you're very good at engineering, you're probably gonna wanna keep programming, but now AI's gonna help you with design. If you're very good at design, AI's gonna help you with implementation. So I think we're gonna see the, the fusing together of these roles, and a lot of folks are gonna be in these interesting hybrid roles where maybe you don't own the entirety of the product yourself end to end, but you really get to focus more of your time on the thing that you're good at and that you enjoy, and less of your time on the, what I used to describe as the tax associated with your job. Like, "Oh, I have to go write a PRD," or, "I have to go make a mock," um, or, "I have to go do this." So I think that's gonna be the evolution of, um, a lot of industries. Uh, AI is gonna augment us and be good at the things that we are not as good at or that we don't enjoy as much.
Episode duration: 1:15:15
Install uListen for AI-powered chat & search across the full episode — Get Full Transcript
Transcript of episode -n8T6S_sD7Y
