Community Session: Build Smarter Prototypes in v0 with Sanity MCP

Vercel| 00:45:35|Apr 15, 2026
Chapters9
Host Pauline welcomes the audience and introduces the topic of Sanity and the MCP within Vzero.

Vercel’s Pauline Navas demos building smarter prototypes with Sanity MCP in v0, showing live content modeling, querying, and practical editor workflows.

Summary

Pauline Navas guides a live community session from Versel to explore how Sanity MCP powers smarter prototypes in v0. Eveina from Sanity joins to demonstrate turning content models into a production-ready experience, using GROQ queries and portable text, all inside the V0 interface. The duo walks through adding Sanity to Vzero via MCP, creating a blog-like project, and building a London pub crawl app powered entirely by structured content. Eveina explains the benefits of content lakes, typed queries, and the Studio for editorial workflows, while showcasing how a single content model (pubs, areas) can drive multiple user journeys—from listings to quizzes to maps. The presenters emphasize fast iteration, best practices from Sanity’s agent toolkit, and the balance between automation and human editorial touch. Viewers get a sense of how to scale content without drift, thanks to references and a single source of truth, with live prompts and live coding attempts that illustrate both potential and caveats. The session closes with practical tips, community resources, and a look ahead at how MCP supports collaboration and future features.

Key Takeaways

  • To start with Sanity in Vzero, add an MCP (Sanity MCP) from the chat, authorize your Sanity account, and let the MCP server create a project and content models automatically.
  • Schemas in Sanity are code-defined contracts that structure content (e.g., Pub with name, slug, areas; Area with neighborhood data), enabling consistent data across the app and GROQ-powered queries.
  • GROQ queries let you fetch precisely the content you need (e.g., pubs, areas, features) with targeted parameters, helping you avoid over- or under-fetching while mapping data to your React/Next.js UI.

Who Is This For?

Frontend developers, content engineers, and product teams who want to prototype production-ready content models quickly in Vercel’s V0 using Sanity MCP, while maintaining editorial control and scalable content architecture.

Notable Quotes

""The MCP server can do now is to create a new project for you. it can create content and documents and content models and all of that stuff.""
Pauline explains what MCP can automate when you connect Sanity to Vzero.
""Everything is powered through that. I haven’t actually written any code. I’ve asked it to iterates on things with me""
Eveina describes using MCP to drive development without hand-typing code.
""You can structure what is a pub like a pub has a name, slug, areas... these things are just like structured ones""
Eveina highlights the content model approach for reusability and clarity.
""This is not hardcoded content anymore. I’m using the MCP to teach myself best practices""
The speaker notes the shift from static placeholders to best-practice-driven content modeling.
""We use Sanity at Love Holidays to power our home and our app... stored everything""
Eveina shares real-world usage of Sanity for a complex product.

Questions This Video Answers

  • How do you add Sanity MCP to Vercel's v0 in practice?
  • What is GROQ and how does it fetch content in a V0+Sanity setup?
  • What are portable text blocks and why are they useful in Sanity schemas?
  • How can MCP help prevent content drift when scaling a site with many landing pages?
  • What are the trade-offs between using MCP live versus hand-coding in a Next.js project?
Sanity MCPv0GROQPortable TextContent LakeContent ModelingNext.jsEditorial StudioReferencesMCP server
Full Transcript
Hi everyone. Uh it's nice to see some of you here already. Uh welcome to this week's Versal community session. Really glad to see you here. Um, if this is your first time joining us, hi. I'm Pauline Navas from the community team here at Versal. You've probably seen me lurking around our community platforms answering questions and well, now you can get uh you get you get to put a face to the name, which is always very exciting. Um, so yeah, before we kick off, uh, drop a message in the chat and let us know where in the world you're tuning in from. We've got folks joining from all over and it's honestly just one of my favorite parts of these sessions. Um, so today we're diving into something really cool. Uh, has anyone here heard of Sanity? Um, so today we're going to be building smarter prototypes in Vzero with the Sanity MCP. Uh we're going to be talking schema generation, real content, querying it all through your app live in real time. Whether you're already using Sanity or completely new to it, there's something in this for for you and for everyone. Um so without further ado, then uh let's get into it. Um super excited to uh oh see some of these chat messages coming through. So definitely keep them going throughout. We'd love to hear from you. And yeah, I'd love to welcome the sanity team here with us. Hey folks, how are we doing today? Nice. How are you? Good, thank you. It's so nice to chat to you and obviously we really love doing this with our like partners and folks that we collaborate with in the community. So, yeah, really excited to have you here. Um, I will get off stage now and let you two uh kick it off. That's great. All right. Um, so yeah. Hey, hey, Eveina. Uh, you're calling in from from our brand new London office, right? Yeah. Uh, I am in our London office. As of today, we have this office here, which is very fun. Um, so that's where I'm tuning in from. And I am, uh, calling from my not brand new home office in Oakland in the Bay Area, but also have an office in San Francisco. Uh, so we have like that interesting little bit of time lag which makes me us maybe kind of like interrupted each other, but let's see how it goes. But yeah, let's uh yeah, so we're from Sanity and we should probably start with kind of like unpacking what Sanity is if you haven't heard about of it. Uh, so Sanity is a content backend. Uh, which means you can define content models in code or via MCP as we are going to see pretty soon. You can store everything as structured data uh in a hosted API. We call that content lake which is like a database for content basically. You can query that query that content with something called gro which is like a query language for JSON and then you can have like typed querable content wherever you need it like in IV zero project. And I think maybe I should take like a little bit step back and like talk about how if you have built with Vzero, you probably have like seen that it will kind like put your content in markdown files or maybe in JSON files in your project, which is kind of like fine if you're doing like a quick prototype or something that's like simple like a blog or something. But when it's time to kind of get a little bit more serious and like do something that should end up in production somewhere or or be a little bit more complex in terms of the user experience that markdown stuff start to kind of be a little bit of a hassle. Uh what I've noticed not just because I'm working at Santi is that when I do these projects myself like agents will kind of start to struggle keeping things in sync when it's like spread over different files and so on. So you have to kind of coax it to do that. It would be nice not to have to do those things and and spend those tokens on actual building cool things, right? So that's where sanity comes in. Um, and we're going to show you kind like a demo or Lina is going to show you kind like a demo what you can do with it. Uh, but before we dive into that, I I feel like maybe I should show you how to add sanity to Vzero. Uh, so if we can get my screen up. So this is Vzero. This is my personal account. Uh we have made sacrifices to the demag gods. So hopefully this will go well. But how you add sanity is uh should be pretty simple. So if you have like this chat box, you can go in here on the plus and there's something called MCPS. An MCP is like kind of like a plug-in for agents like the way you connect an agent to another service. Um so if you add push the add new button here you get this list and we are here down here on on S70 and you now we should be able to just push this and you have like the configuration ready. So authorize so this like I am already logged in probably no actually not so um so you have to log in to account or make a new one. Uh let's go with this thing and then you can uh let's see yeah I work because I have like a lot of organizations and stuff you you won't have that uh if it's the first time but you can authorize kind of like with your account and stuff and then you're back and now now it's connected to sanity. So what the MCP server can do now is to create a new project for you. it can create content and documents and content models and all of that stuff. Um, and they it also comes with skills and so on. So like the agent can like tap into those for best practices and so on. And uh that that's it. And then now we can going to say like san uh make a new sanity project for my blog and it will like go and do that. Uh so that's how you get started. Um, but let's go into like exciting stuff and see what you can build. And this is where you come in, Eveina. This is where I come in. Yeah. And what's cool is Eveina joined us from a place called Love Holidays, which is a travel like travel as a It's an online travel agency. Yeah. Yeah. It's a travel agency as a service kind of. So it's kind of like this fairly complex application with like a lot bajillion landing pages for all the hotels and whatever. And you use sanity as kind of like the kind of like the configuration store for that service. Uh yeah, we we use sanity at love holidays to power uh actually our home like our both our website and our app. So we basically stored everything and did a lot of workflows in Sanity which is super cool. And Eveina, you you like you built this stuff uh in a team with Sanity before we had agents do all of the code. So you come from like this old world of like hand typing this code. And then what you're going to show us now is kind of like your first proper run with V0 and San MCP. So it's super exciting to kind like hear your perspective on like how how does this feel versus like the the old old way of doing stuff. But, uh, I'll shut up now and like let let you have the screen share and and kind of like, uh, take it from here. Awesome. I'm going to head in. Let me know. I'm going to switch screens now, but let me know if you can see everything fine as I do that. Am I showing the VCR because I can't see you. Yes, looks great. Awesome. Well, uh, yeah, you're right. So, what um I did was that I kind of wanted to Yeah. try this like try what what it looks like to um you know use V zero not hand type anything so I decided to be very much on theme so I'm in London we just opened a London office here um and uh I thought you know all Londoners a lot of people uh love the pubs and there's so many of them so I thought what if I build kind of like a pub crawl and a pub crawler so you'll see in a second uh maybe I'll just kind of show what it can do first uh and then we can go into some more details. Um but yeah, this is kind of like what I built. Like I spent probably three hours on Friday, three hours on Monday. So I haven't spent a lot of time on it. Um but I used the sanity MCP. So everything is powered through that. I haven't actually written any code. I've asked it to um iterates on things with me of course, but you can explore London. So you can explore London through the different areas. If you're familiar with London, I'm a north London person, so this is would be my favorite area. I don't really like South, so I like what it did here. South does it own thing. Hot take. Uh yeah, hot take here. Uh and then I have these kind of like we're obsessed with have these different pubs here. I have a little kind of email subscription here. I have areas here. I have actually a little quiz here that we can go into in a second. And I also have this thing which you can build your own crawl which is super exciting. Um and then yeah this similar this is just like about um has a bit more information but uh that's kind of it in a nutshell. Um so this this is super cool and kind of what I'm seeing here is like it's a a lot of like ways into the same content, right? Yes. like all these different user journeys like there's like the your like your typical listing stuff and then there's like almost like a quiz uh journey um and like build your own crawl. So like and I assume like that you are using the same pub pub pub content in a way. Exactly. So uh what I did throughout this maybe I'll just start with like how I kind of started. So maybe I'll go through like the kind of first prompt that I did. So I as an engineer when I used to do engineering full-time, I was very much someone that liked to plan a little bit ahead because I think you can catch things early then. Um so I planned and kind of like kind of iterated together with Claude uh and just kind of planned the kind of prompt. Uh so I can just go through kind of what that looked like first. Like that is not the finished date, but I thought it would be interesting to see my thought process there. But that's interesting. So, you kind of Yeah, you had like a little chat with Claude like to kind like tailor that first prompt before going into Vzero. Um, yes. Uh, I know obviously you can just kind of you can just vibe, right? Like you can just go ahead and do it. I quite like to just take a step back and think ahead of what I actually want to achieve. So, to not get get ahead of myself and I guess not over engineer things or not do too much thing at once. Like I I definitely want to like wanting to I have so many ideas. So I think taking a step back to plan um is something that I enjoy doing. So I'll just go through a pretty smart smart pattern like plan the plan in a way right plan the plan. I think uh as an engineer again I I used to like understand the problem what am I trying to do plan and then you actually code um and what I liked about this is that I actually got coding quicker right like I wasn't stuck in the plan mode but I'll just share quickly like this is um kind of what it did um it you know prompts like homepage the sign system it's an XJS application it's using chat CN UI some design direction I kind of wanted it to be very on theme So like different primary colors and all of that. Again, this is probably a little bit overengineered anyway, but I quite like to go a little bit deeper. Uh, and there's a typography. And then there's like the components to build. So as I go through this, you'll probably see that not all of these are actually there yet, but like there anymore because I iterated on it. Um, but yeah, homepage, um, these different sections. And you will also notice that um for what I did first was actually just to have some placeholder content. So that was actually not insanity but as I did throughout I actually used the MCP to kind of teach retach myself all the best practices that are actually just provided by the sanity MCP. So um yeah that was kind of it. Cool. And how did it go? Uh well it's working right like it's working. Uh, no, it was it was it was really fun. Like I um it's weird to not be in so much in control. I think that was like a a step that I had to be like, "Oh, actually, like I'm just going to sit back and like, you know, guide it." Um, but it was fun to see how much I could get done. And I feel like how quickly I can kind of um untangle the mess that's in my head sometimes to actually be something useful uh instead of Yeah. like instead of sitting and like planning. So, um, should we look at some code? Maybe let's let's zoom into like what did it actually do after that prompt, right? Like and how how does it use sanity? I guess that's what we're here for. Um, so yeah, I'm not sure if you're able to like are you going to like show the chat a little? Uh, I can show the chat. Uh, I was thinking if we could show some code as well, but um Oh, sorry. Swiping that way. Uh I actually think it would be maybe interesting to show like the last kind of thing I did because yeah um like I said I iterated on this. I asked it to kind of as I scaled it, as I added images, as I added more text and all of that, like I didn't want anything to be hardcoded. Um I'm thinking of this as kind of like a long-term project even though it's a prototype right now. Um to, you know, set myself up for more success later for collaborative approaches. like I'm thinking of this as like this is me and my friends that are like kind of managing this and everyone has different tastes and everyone has different things that they want to say. So, um I kind of yeah did it like that and at the end I made sure that like I didn't want this to be um hard like I said and instead of being like okay I'm going to go through all the code and do that or like iterate I kind of said can you use the sanity best practices um so that's kind of what I did here um like rhetorical question where where do you find the best practices for sanity uh well you can find it I actually have it here uh you can find it here if you want to like read what it is um it's in our agent toolkit um here but you can also just ask so I just basically asked in the chat to say like can you use the best practices yeah and I think I think the MCPS server has those on tap so you can like bring in those in the chat exactly so you yeah sorry I should have said that you you don't actually have to go outside you are just inside like I did everything exclusively inside but if you do want to bring this elsewhere you can yeah but also do print out the skill and like read through all the skills like Right. Yeah. No, but I think it's like it's it's valuable to read it though. Like that's what I did like like I said like I I kind of um went through what I was doing, right? And I was like, "Okay, cool. Yeah, it's doing this and this and this." So you you learn from from this as well. Uh that's just like I like to learn as I do it. But yeah, I was kidding. But like it's actually pretty interesting to read scale files and see like what are people how are they thinking about what's best practices, right? But yeah. Yeah. All right. But we can we can go through a little bit more I think maybe looking at what this looks like. I think so. Yeah. For example, if we look at the code here um like I said it's um we have the app part. Um so that's obviously the Nex.js app where it's like quering all the data and then we also have the sanity part. So we can look at the schemas and what that looks like. So we have the area schema, we have the homepage schema pub. Um and all of these have different fields. Um and yeah, this is kind of uh some of them are probably Yeah. Sorry. So what is a schema? Like what is the job that the schema does for us here? Well, you basically the idea is to uh not you have to structure your code in a way so it can be reused in many places, right? So instead of um having things hardcoded for example like I have structured what is a pub like a pub has certain elements. So pub has a name pub has a slug a pub has areas. So all of these things are just like structured ones and then I can pull that into different places in the application. So um for example the area these are East London uh all of these things these are neighborhood these some some of these are required because they should always be there some of them aren't required because you know they shouldn't always be there um you can have um an array of you know a list here. So like the features they have dog friendly they have live music they have all of these different things. Um so it's yeah it's uh it's all in code uh which is amazing for then you can power more things than just kind of um your application. Yeah and I guess like if you're familiar with like typescript and so on like these can be used with with the gro query to make types in your application. So like is it easier for agents to like understand if oh am I bringing in the right data and am I like implementing it the right way or will I have typescript errors that I have to fix. Right. Yes. And another interesting things, we won't show this in this demo, but like this game can also be used to make um like editorial interface like a place for for humans to kind like work with this content as well. Uh we call that sent studio like you can check out our docs and so on to to get up up and running with that. But but yeah, but you can also just use the MCP for this. Uh that works really great, especially when you're you're building alone, right? when you're building alone, I think the MCP works equally as well. And then when you want to, you know, collaborate with others like setting up the studio. Um, so this is all you mentioned earlier, this is all like in content lake right now, right? So this is all kind of structured in there. Once you want to have a studio, you just pull it into there instead. So um, so if you go back to like the visual mode, I think you had like a areas listing. Like like north north London, which is your favorite? Yeah, we pick North London. It's my favorite part because I live there. If you scroll down a little bit. So, yeah. Here. And here we have like filters and like uh I don't know about you, Eveina, like but those tends to be a pain to implement because there's like so many things to think about. They tend to be a pain. I have worked with filters a lot before. Search I think it's like search and filters are just like a pain. Uh there's a lot to think of. Um, so I'm super curious to like how does that work like with this like relatively short session and like how does the data quering look like? Uh, yeah, we can look at that. Uh, let's just like see like to just show that it's actually working. I think that's kind of nice. You have the different vibes, you have the different features, you have all these like these can obviously be extended. Um, but we can look at that here. Um, God, I'm like now I'm like where is this actually? So I think this is just pub query. Um live coding isn't my favorite thing or live showing. So um but today I learned there's a search feature in Vzero. Uh that's very useful. Yeah. This as as a v code girl from the start like this is very useful for me to just kind of search for things. Um and you can see here that we're kind of importing these different queries from queries, right? So this is from sanity. Um, and we are querying. Sorry, this is not what we're gonna go through. We're gonna go through the filter. No, that's fine. But, but at least what we see here is that like the the data fetching part is like it's not a lot of code. It's like basically a couple of lines with this Grock query. So, what you're looking at here is like the Grock syntax. Uh, so this is how we are pulling this data down from content lake. Right. Exactly. So we have all these different queries and and the good thing is that these queries can be very specific. So you're kind of like not over querying or under querying like you are actually creating the exact thing that you want and doing that in like the optimal way. Um and uh yeah and then uh yeah we were looking at the filters or something. Oh yeah, sorry. Yeah, I've actually not looked at this code myself. I I do want to say uh it's been very fascinating to just do this and uh I'm sure there's some parts where I can optimize this right and yeah but yeah it actually uses it looks like it uses uh query param stuff that's yes that's important it is using query param uh here we have some yeah sorry oh no sorry it was here yeah and some interesting use set uh use state patterns. It feels like fairly we have seen this type of wrecked code before. Yes, definitely. Um there's a lot of you know this can probably be optimized. So people are like scrutinizing this code like I haven't like optimized for it. Like I'm very like particular about doing these things as well. But we're vibing. We are vibe coding. I know. But I like to like look at code and I'm like, "Oh." Um, but it's um it's pretty cool to see how little code it is for what it is, I would say. Um, all right. I guess we're like, uh, time is flying. Um, oh, yeah, time is flying. I do. Can I show this? I feel like it would be cool to just go through like I didn't really show this in detail. Um, because this one is actually Oh. Um, I would say it's not very accessible, so don't do that. But what you can do is you can just add these pups and then you have here and all of this is also stored in sanity. So you we have like your location and all that. So you can actually store these things in sanity. Um and just pull it in and uh you have this little cute little print. I'm not going to do that because it's open and I thought some people like my father would wants to have something in paper. So I thought I'm going to add something for you know uh the the more uh the older generation. This this needs to be a paid feature for stag and hunt parties, right? I think so. I think this would be like it's cute. So like, you know, you can filter by board games like in the in the summer is going to be the World Cup. So maybe you want to filter by like World Cup showings, right? I think that would be cool. And and if I can just like quick like I just I'm proud of all my features, I guess. Yeah, go for it. You can you can just The quiz is also something that's like set up more for the future. you go through this and I am, you know, I'm kind of capturing the data up front in a structured way, but I am kind of setting this up for more editorial success later to have this insanity studio and kind of have more outreached emails. So, be a bit more Yeah. editorial. So, yeah. Again, like Yeah. So, this is just another way to kind of get to the the same like listing of of of pubs. Um although this one is a bit more curated of like you will actually get like a curated list so you won't actually get pubs here but yeah and like you can also imagine that like you can make even like make like a pub agent on top of this right so like you just talk to the agent and the agent will like recommend something. Exactly. We have agent context which is very new and you can basically spin that up and then you can just have that a chat interface instead if if you prefer just like not chatting to humans and wanting like you know you can just be like hey I'm looking for this um that is very very easily done um thanks to like the agent context um and that ships with the skill as well. Yeah. Um yeah and like I guess like you have like a map thing. Uh how how is it placing the pubs on the map? Um so uh I am actually let's look at the map more specifically. Um this is I think this is also the but it has like it's it seems like it uses coordinates. So this is all uh using coordinates that's also querable from content like um like this was like it's almost like we planned this right but like uh yeah like Grock has like this is like one of the like not not not too like known features of Grock. It has g location queries. So you can like say hey find a pubs that's like one one mile from me and you can like express that in rock which is seems also pretty useful in in an application like this. For sure. That would probably be a next feature of being a little bit like this is like kind of pulling in the pups that are already there but you can probably just be like oh I have I'm here like you know pulling these things. Um oh yeah you can use like your geo geoloccation marker right or something like that. Yeah, I feel like you can just give it, right? Like you could literally just give it maybe you give it to your like the to the chat interface and that will actually do it for you. Um that's pretty cool. Did we want to like do are we going to do like some some vibe live vibe vibing vibe live coding? We could we can try. We said earlier like live. No, but we could do that. I I know there's one feature that is not working at the moment. For example, if you filter kind of like this, you know, this is something that shouldn't work, right? Like you shouldn't be able to get to this state. Ideally, it should kind of just like um you know, um yeah, filter it out. Um but I or did you have something else in mind? Yeah, I also know like I know this because I've looked at before, but uh I think the the pub entry uh doesn't have like a rich text description field or something, right? Unless true, true, unless you added it. Uh, I haven't added it. No, you're right. You're right. And like I'm not sure if Vibe Vibe demo gods are more bene benevolent than uh like the good old programming demo gods, but like it would be interesting to see if we'll see if the Vzero and agent can like pull this off. So, how would we do the prompt here? We want we want like a rich text description field for pubs, right? I I did kind of u prepare this a little bit because I was gonna I thought it was nicer. Uh we do want a rich text description, right? Like we do want to populate more. So I kind of did do that and we have this thing called portable text. Um so I think something I learned and what I like to do is like add it to some one thing and then scale it as you go. Not everyone will do that, but just to kind of like make it quick and and and populated. So maybe we shouldn't actually do that here because I don't know which one. But um I don't listen to the pub schema and populate pubs. Okay. I was like just yolo yolo it Eveina like I know. Uh okay let's yolo it. Okay let's yolo it. Can you tell I don't like yoloing in front of I I can tell. Um I think I think we have like the more responsible approach but uh I'm always I'm always curious like how much can we throw at these agents like are they able to like sus it out and very often they are and I'm surprised they are um I think that's been something like I said earlier just like uh letting go of control which was actually nice when you when I did it when when I realized it was just doing its own thing right like I didn't actually I could do something at the same time I was like you So let's see what it's doing. So it's it's finding the portable text package which is good. It's already installed. I think I had Yep. Sometimes agents want to just write that themselves uh which is like a waste of tokens. Uh oh. So it it updated the schema. It deployed it as well. All right. Cool. So I don't have to say that I needs to do this. It's kind of just doing it on its own. I do have to allow it though. Uh certain things I think that which makes sense. Yeah, you want to be still in a little bit in control. At least I do. So yeah. So like every kind of destructive action it will like ask for your approval first like are you sure you want to do this? And I think there's like a always if if you know that like we're just wiping here. I like it's not doesn't matter. But but when you are like in in prod, you probably want to be a little bit more circumspect. it's reading it's adding it's quite nice that you also see what it's doing, right? Like I I like okay then I know like okay these are the files that I'm going to look at next if I want to look at it. Um because like we talked about this beforehand, but like it it feels like these tools are like just very powerful and they are like enabling people who haven't touched code before to build pretty cool things. But it turns out like knowing a little bit about code and like software engineering is very useful, right? Um, so, um, so like do like do be curious about what what the code is and and try to understand it and you can you can probably also just ask the agent to explain it if if it doesn't make sense, right? Yeah. Um, did it did it manage to do it? I'm looking at it now. Yes, there's the portable text here. Cool. The block. Um so portable text maybe portable text is uh a block content specification. So this is like you know in notion and stuff you have like different blocks you can insert. Portable text lets you do the same um basically including like rich text formatting and then since everything is stored as data it's very easy to take that content and implement it here in React or in a native app and stuff like that. So, yeah. Did it also? Yeah, there's a bunch of these. Uh, sorry. Did it also actually add the content to uh this is what I actually probably should check, right? Uh I'm not so sure to make it for the for this pub specifically. Oh, yeah. You're right. I actually not sure. Can you add some content to them? Let's see. Very exciting. Dot. It's thinking folks. I just wanted to jump in here actually. V0 is doing its thing. Uh it's so nice that people are still watching and clearly very curious about how sanity and vo work together. I did have a question though around the build process. So, Eveina, you you mentioned that you spent six hours in total. Uh, how much of that was like prompting versus reviewing output versus iterating? Uh, oh wow. Um, I feel like I was like I don't know how much time was spent on each like I would say um I kind of I started with like bigger prompts, right? And then I was like, oh, actually like I think it would be better to scale it down. So then I kind of just like iterated. I did spend a little bit of time with the permissions uh which would not be an issue for other people but because I have also many sanity instance right uh and I also kind of let our product team knows you know this can happen so it was like kind of like troubleshooting at the same time. Um I I would say I spent probably most time iterating together with it, but it was like a fun exercise like it's iterating on like, oh, I want this feature. No. And I realized actually this feature makes sense here instead of here. Like it wasn't like iterating because it was wrong. It was iterating because I was like I I kind of unlocked kind of new possibilities of what the content could do. Um and then as I was done, like I said, I kind of said, "Okay, now we're kind of done. Let's like look at it. Let's like delete some code. Let's, you know, optimize it to be better. Let's not have anything hard. Like all of these things that I wouldn't want that wasn't important in the beginning, but that's important for more of like an end state. So, um I was thinking of this as like a finished product that I can just give to people, right? Yeah. Yeah. Yeah. That makes a lot of sense. Nice. Yeah. Uh oh, it's giving me a little warning. This is the one. I think this is fine. Yeah, this is We're going to allow that. Um, are we good on time, Pauline? I realize maybe I don't know. Absolutely. Yeah, we've got about uh like 10 minutes, so feel free to show more of the demo. I think I'll just hang out and then jump in with questions as Vzero is thinking like now actually. Yeah. Um, a question I had was um you talked about um uh you used to work at Love Holidays and you had a lot of like uh landing pages. Uh so when um yeah so like loads of landing pages but how how does like sanity prevents drift um in terms of um scale scalability if that makes sense in in terms of but sorry can you repeat that so in terms of so um I was I was curious about how it st how it's this scale so for example at love holidays you had you said you had tons of landing pages uh and then in this Yeah. H how does sanity how does sanity prevent drift? I hope I Yeah. No, sorry. I think I conf uh Yeah. Or sorry, do you want to go? Maybe like drift of what? Like like the content the content. So for this for example uh you know I have defined what a pub is. I have defined what an area is. These things are just like documents right like these are documents with types. uh like yeah and and I could I'm I'm going to that's like one source of truth. So like let's say I wanted to build a separate landing page that has these pubs and areas but displayed in a different way like I could easily do that by just asking it to do that. It's not going to duplicate the code. It's actually just going to use the same thing. And if I now I'm doing it in with the sanit right but if I had a studio I could just update it in one place and that will kind of go to so it will flow into the right. Yeah. Okay, that makes sense. Yeah, like the the deeper technical side of this is like content lakes supports something called references. So if a one piece of content you can say, hey, I want to reference this pub entry. So when you encounter it, just pull that document in. So that's how you avoid having like duplication of the content uh all over the place and that's also what makes it easier for the MCP server like oh I'm updating the glory the glory that's the document I updated here and then wherever we are using this description that will be updated too right from one place. Exactly. Yeah. Okay. Okay. Great. Look. Wow. Yay. Look at that. Yay. Why it's not special? Oh why it's special? I thought it was not special. I was like, what? Didn't ask to see that. Uh yeah, this is amazing. It's cool to see it happening in front of you. Yeah. I I guess um as as you you've been doing this process, what what do you think is um what do you think you still need like a human for in terms of um reviewing this this whole process end to end? Um yeah, I mean so big questions. such a big question. Sorry about that, guys. Questions at 7, what is it? 7:30 p.m. here in London. Was it was it the agent that asked that or all me I think I mean this is kind of um you know I am reviewing it as I go and it's being able to do so much so quickly but I am also thinking about this like as something that I'm sharing with others, right? I like to have some sort of human input. So when it comes to like the more editorial side of these things like that's where I like you know storing it what in one place but then having some sort of like okay maybe AI has autogenerated some text but like maybe I want to add something specific to what I know about London and that's just special to me because I've lived here for six years you know these things like I think are nice touches to sites like this that are supposed to be very personal uh personal software. Yeah. Yeah. 100%. I I guess like following on from that, um do you folks at Sanity use uh Vzero for your day-to-day uh or any like AI agent tools? I guess uh I I this is was my I'm honest. This was my first time using Vzero. I've been meaning Yeah, I've been meaning to uh to use it. Uh it's just like, you know, my day-to-day now is more on the marketing community side of things. So I have been leaning towards that for the past year and I've been really enjoying getting back to some coding and now you know I can go from from nothing to this very quickly and showcase. So there I I'm starting to think of like how I can do this more you know every week to showcase certain things. Um so that yeah like I think we can safely say that at sanity we use we use most of the things um and like partly like for our own work in development but also like we have like MCP server support for v 0ero so we should probably use v zero to like understand if it's working well uh and so on so it's very important for us to kind like you like use these different tools to kind like understand what our users are are also experiencing, right? Yeah. And that's when I said earlier like that's kind of where I took my time to also understand it as I was doing it and not really like rushing in the beginning because I wanted to see like how is MCP kind of like responding to this and then kind of like um let people know. Yeah. Okay, that makes that makes a lot of sense. Um okay, cool. Uh I did have a question here. Um, is there a point in the workflow where um you would drop out of vzero and go manual? Um, I guess since this is your first time, Eveina, you using this, but I guess so far from your experience, have you felt like, oh, okay, I've done this now. This is enough from Vzero. I'm going to take this out and then take it local. I think for I think there's probably a world where I would do that because I think it's fun to do some handing. Uh wow, never hear that. I mean I I kind of miss it now that side of things. I like having some focus time and solving some areas but I didn't really feel the need here. Like the only thing I did jump off was like ideulate you know in claw just because you know I have I don't know skill set up like I have things there where I'm like my workflow like I like going in between things. Um but I don't see myself guess necessarily dropping out. I can just switch and I can just change the code you know in the code mode right. So like I can do that if I want to. Um um but yeah I guess the vio connects to GitHub as well right? So you can also have a repo for it. Yeah. Yeah. So, you can easily like drop in and out for sure. Yeah. But it's really weird because we have like a mix in the community who are purely like once they're in VZ, they never get out and it's becomes their whole like it's it's their editor. That's how they like develop software moving forward. But then you have folks like me. I prefer like doing a bit on Vzero because Vzero is very good at design and then taking it out after I get the, you know, the good design, the kind of skeleton I want and then coding the rest of it myself. Um because I'm I'm similar like sometimes I do miss like actually going through the code and cleaning stuff up and uh writing it. Um so yeah, it's always really interesting to me kind of how how people think about these things. And I guess if like you want to collaborate with someone else, maybe share like the GitHub repo like there's elements of that where someone takes it over and and you know um so yeah no this is cool you can collaborate in Vero as well right um I you can share at least uh you can share you can share and but I think once you share you have to duplicate the chat like it's almost like a new branch. Yes. Yeah. That's a good one. That would be fun. We could be like five point at the same time. Yeah, like little Google Docs or something. Yeah, that sounds good. Um, awesome. Is there anything else you folks are going to show us uh for the from the community today? I don't know. Like, is it obvious? Uh, I guess we showed how to to add the sanity MCP. Um, yeah. Uh, so if if you missed that, you should be able to go to our docs and find like the MCP server and and all of the instructions there or just like just ask the agent like how do I get and should this is what I did, right? I did ask just like what is it doing and you know so yeah and then uh yeah let us know how it goes. Um you can probably ask uh things in the versel community. We also have a community. You can join all the communities, right? But yeah, but it was super fun. It's a thing that drives it. Yeah, it's a thing that drives uh these dev tools forward, right? Community, everything. For sure. Yeah, we're on on Discord, so you can kind of like drop things there. We have a separate channel for the MCP, for example, with with engineers that are hanging out that can probably answer all the very intrinsic intrinsic is that a word? Very detailed questions you might have. That's the one. Yeah. English is hard sometimes. You also find Eveina and I on on social media like LinkedIn X, Blue Sky, whatever. We we're probably there. Even Instagram. Even Instagram. Incredible. Well, thank you both so much for your time. This was fantastic. And again, folks who have been joining, love the change of the hat there. We should have started with that. So sorry, forgot to switch my hat. I didn't get a hat. We'll have to do another like 40 minutes, I guess, because you have you have the real hat now. Um, no, this is fantastic. Uh, folks, thank you so much for joining. Uh, and yeah, I'm sure we'll have you on here again um as like Sanity develops and we see more of these like um collaborations between Versel and Sanity. But thank you both so much for your time. Amazing. How fun were they? Um, absolutely love these um, partners uh, session. Um, I think they're my favorite because I really love to see how um, people use Vzero and add stuff um, like layers on top of it to to make sure that uh, yeah, you can literally just build anything. Absolutely love that. Um, so we have a few more um, community events coming up um, pretty much every single week. So definitely uh, tune in to those. Uh if you go on community.versal.com/events, you should find a list of both our online and in-person events. Um and also next week if you are in React Miami, I will be there. So hopefully uh I can see some of you there as well. But yeah, thank you so much everyone for joining and yeah, we'll see you here next week.

Get daily recaps from
Vercel

AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.