Interview: Vercel’s Guillermo Rauch talks up AI-generated UI, unpacks Next.js relationship to React

Interview: Vercel’s Guillermo Rauch talks up AI-generated UI, unpacks Next.js relationship to React

Talking to Dev Class at the AWS re:Invent conference in Las Vegas, Vercel’s CEO Guillermo Rauch says he’s all-in on AI, the recurrent theme at the event. “I think AI is going to get embedded into every application,” he tells us.

The big new thing at Vercel is V0 (pronounced Vee Zero). “With V0 you just write in English what you want, and we create it for you. And that gives you your first version of the product. We just announced yesterday, vision support. So with vision support you can draw a sketch of your app or place a screenshot, and then we’ll create a UI that matches that. We don’t just copy pixel by pixel. We’re actually giving you an accessible version, we give you a professional UI. We’re doing our best to give you production-grade code,” Rauch says.

V0 designs can be amended by further text input, so like any other type of design it is an iterative process. It works by generating code using React, Tailwind CSS and shadcn/ui.

Is Vercel now competing with Figma, the web-based design tool which Adobe intends to acquire, if it can clear regulatory hurdles? “I don’t think we’re competing directly. I think we’re rethinking the approach,” says Rauch, who is also the inventor of the Next.js framework. “You can still take a screenshot from your Figma document, paste it into V0, and get a real-world implementation. What I think is going to happen is that a lot of people are going to go directly to V0, and perhaps skip some of those processes when it was not necessary.”

The appeal of V0 is the idea of reducing the drudgery of building everyday designs. Another aspect though is to end the notion of designers coming up with something that looks good, but which when handed over to developers proves difficult to implement. “We’re trying to make it such that you never again create an impossible design. From the get-go, you’re working on the surface that you’re actually deploying to,” he adds.

Next.js is a popular framework though a common complaint is that “Next.js is difficult to deploy anywhere but Vercel.” Rauch says that “the fact that for example, [AWS] Amplify just announced latest Next.js support, is evidence that Next.js is actually self-hostable. What sometimes gets confused is what is the responsibility of the application framework, and what is the responsibility of the infrastructure provider? AWS is not open source, and neither is Vercel. So I think developers would like to see better documentation of where one starts and ends, and we just improved our documentation for that on the Next.js website.”

Vercel, he tells us, is “an infrastructure services company,” and some new features depend on those services – though they are not necessarily exclusive to Next.js. “I’ll give you an example. We just announced that feature called partial pre-rendering” This is an experimental feature in Next.js 14. “What partial pre rendering does is that it marries the benefits of static at the edge with a dynamic stream of content that is user-personalized. Currently, it only exists in the Vercel infrastructure, because we invented it. And I expect other CDN providers, Edge networks, etc, to create it in the future. What we’ve done to give back to the community is that if Remix, or Nuxt want to use partial pre-rendering, we give them an open API to hook into that infrastructure capability,” he says.

Another issue is whether Vercel, which uses AWS, adds too much cost to hosting on AWS directly. According to Rauch though “we’ve actually created a lot of custom infrastructure on top of AWS. People need to look at their opportunity costs in iteration velocity. We’re seeing that on Vercel companies are reinventing themselves with AI at a faster clip, because they’re not worried about infrastructure, because they’re not putting their precious human resources towards optimizing the procurement and provisioning of those raw materials. They’re now more competitive, they’re now faster … are you looking at the world through the lens of cost optimization? Or are you looking at it as an opportunity for fast innovation?”

Is Next.js becoming too complex? “The world of web applications is actually deceptively complex,” says Rauch. “The folks in E-commerce actually found out this the hard way. When you go to a product detail page, and you see your favourite shoe, it turns out that these applications are incredibly complex, they have to render personalized recommendations, they have to accommodate for large spikes in traffic. We’ve done our best to give you a great developer experience and not hide any of the essential complexity of the web. And that’s in the service of making the web competitive with native and beat all the walled gardens. In order to beat the iOS walled garden, we’re going to have to put out every tool in our toolbox, whether it’s caching, whether it’s edge, whether it’s streaming, and also very rich client side interactivity. This is why we ended up with this server components model and the client components model, because we need client components in order to make a very rich experience. But we also need server components to make very snappy loading.”

Rauch also addresses the question of whether Next.js has hijacked React, becoming the only approved implementation for some new React features. “Vercel actually bet on the vision that Meta had,” says Rauch. “When people at Meta were coming up with the idea for React server components there was a lot of scepticism. In fact, a rival of Vercel went on the record saying this is an unproven architecture. When I started Next.js I really believed that because of the laws of physics, rendering had to happen on the server side, close to the database. When a user navigates through a website, we have to make sure that the computation happens as close as possible to the database, and then returns a stream of content to the client.

“When Meta also realised that the future of React was going to be more to server side, they had a pick a vessel to insert React into, and validate that hypothesis. And the vessel that was the most ready because of that long term investment was Next.js. I had to argue over the years with a lot of people that said that the future of React was client-centric. It was a fork in the road, a lot of people betting on the JAMstack world and a lot of people betting on the server world. It turned out that Vercel had positioned itself on the right side of history, and that naturally aligned the roadmap that Meta had with the one that Vercel had.”