Skip to content
Roboto Studio / evidence

youtube / video

Vercel ship 2025: the good bits

Jono AlfordOriginal source ↗

Original video

About this video

Another year, another set of features we are rapidly trying to keep up-to-date with. Vercel Ship 2025 is here, and there's a whole bunch of goodies that dropped that we specifically care about.

Full transcript

Edited transcript from the original Roboto page

Hey, how's it going? So we're looking very on brand today. We're going to talk about Vercel Ship. So first of all, I'm going to tell you a little bit about it and we're going to do a whistle stop tour through all the different features and all the things that more specifically we find interesting because a lot of our stuff is focused around websites, clients, all that good stuff.

Um, so first of all, Bot ID. This is kind of interesting to us in particular because Bot ID is an alternative to Google reCAPTCHA. And if you've ever used Google reCAPTCHA, you know it sucks. Um, Google reCAPTCHA is like one of the worst things and you've always experienced it where it's like click three buses or click some crosswalks or do this or do that just to be able to fill in a form, and then as soon as you have that, people just drop off completely. So this completely removes all of that. Um, this particular tool can sit on any kind of route or any kind of like function, and essentially check if there is a bot. And you can see there's a very simple version of the code here where it's saying: is it a bot? Check Bot ID. If it is a bot, access denied. If it isn't, then totally fine. Um, that's a really, really cool functionality. It's probably the most important thing, as far as we're concerned, that came out with Vercel Ship. And it gives you more granular control over using these things.

And let me bring you on to the next one. So we got a couple to get through today. Uh, the next one is concurrent builds. So if you haven't experienced this, great stuff. If you have, this is very, very powerful. So it is where you basically make a whole bunch of changes to a website. And say the website takes two minutes, three minutes to build. Um, the first website, you made the change, but then uh oh, I left in a typo. So now we have two changes that we need to put in. So I do another build, and while the first three minutes is still building, you have to then wait the three minutes for the first one to finish, and then a new build comes in and does another three minutes, and it's six minutes later and you've actually seen the typo change.

Um, this allows for on-demand concurrent builds, which basically means um you can essentially run two of them at the same time or three of them or four of them or five of them all the way up to 32 at once. Um, and it's on demand. So it's not that you have to pay for 32 different um environments or whatever build systems. You just basically have um, whenever you need it, an on-demand concurrent build. So it's pretty cool, and it's, you know, it's another step if you'll see this in all of these different ones. Um, it's another way that Vercel is doing something where it's not price gouging. It's actually very, very nice. Um, so yeah, let's move on to the next one.

Uh, AI gateway. So again, if you're building AI right now, this is going to be helpful for you. This particular one is more about making the entire development experience easier when you know model 1.32 is going to change to model 1.33, or you know you're using OpenAI and then all of a sudden the next one that's better is on Gemini, or you know whatever system you're going to be using with AI. It's the idea that it can flick between any of them, any different model, any different vendor, and you just have one particular hub.

Um, now I think the uh what is it, the AI SDK already is basically being used by the vast majority of AI companies out there, which is really, really cool. So if there is something where it's kind of um an AI (I don't want to say wrapper, I'm going to say wrapper) um on top of you know some functionality, let's say uh video captioning, anything like that. Um, this is really, really useful because all the time these models are changing, like literally on a weekly basis. And this just stops you from having to go out, find the API key, make all the changes, find all the nuances of the new changes. This is just, you know, you throw in a different URL, literally one line. Um, and it's fixed, and that's the new model running.

Um, rolling releases. Now, if you are looking at this, first of all, why are you watching this video? Because this is far too large for this video. But essentially, rolling releases is when you have a massive, massive company, and you basically want to roll out a certain amount of um the new deployment to see if things are broken. Um, it's really, really powerful because it means that you can, you know, uh say you make an absolute dud of a change and you push it to prod. Um, and all of a sudden the performance goes down to 20%. This is going to be able to warn you before you distribute it to 100% of your customers, and maybe you'll find out at like 5%, and you'll go uh oh, I need to roll that back instantly. Hit the button, all good. But it's really nice, really nice uh development experience again.

Um, and I want to talk a little bit about the firewall because the firewall keeps getting improved, and literally only today um I got challenged uh with it. Well, somebody got challenged on the website with a DDoS, um and basically 12 people got denied, which is great. So it's always running. It's always fantastic. And frankly, if you're setting it up just nice and native, the way that it's done through Vercel, it just works. I haven't had to think about any of this stuff. It just does everything it needs to do. And that's exactly what I want: more hands-off stuff.

And then the Vercel agent. So this ties in very, very nicely with the firewalls because Vercel agents are very, very neat in the way that you can basically debug a good chunk of what's wrong. So for example, if I pick this here, I can drag this bit, and I can say, you know, uh what's what's happened here? What can I do to improve it? Um, how do I stop this from happening in the future? This is a great way of using like uh LLMs to be able to do a lot of the, you know, kind of grunt work that you don't want to have to do, and the debugging work that you don't really want to have to do, and just make your websites more secure and better and nicer.

And then finally, we have micro frontends, that absolutely nobody knows what they do. Um, at some point somebody's going to find out why we've built microfrontends, but there's now microfrontend support, which is great.

So yeah, have a great day everybody. Bye-bye.

Read timestamped source captions

0:03Hey, how's it going? So, we're looking

0:03Hey, how's it going? So, we're looking very on brand today. We're going to talk

0:04very on brand today. We're going to talk

0:04very on brand today. We're going to talk about Versailles ship. So, first of all,

0:07about Versailles ship. So, first of all,

0:07about Versailles ship. So, first of all, I'm going to tell you a little bit about

0:08I'm going to tell you a little bit about

0:08I'm going to tell you a little bit about it and we're going to do a whistle stop

0:09it and we're going to do a whistle stop

0:09it and we're going to do a whistle stop tour through all the different features

0:11tour through all the different features

0:11tour through all the different features and all the things that more

0:12and all the things that more

0:12and all the things that more specifically we find interesting because

0:14specifically we find interesting because

0:14specifically we find interesting because a lot of our stuff is focused around

0:15a lot of our stuff is focused around

0:16a lot of our stuff is focused around websites, clients, all that good all

0:18websites, clients, all that good all

0:18websites, clients, all that good all that good stuff. Um, so first of all,

0:20that good stuff. Um, so first of all,

0:20that good stuff. Um, so first of all, bot ID. This is kind of interesting to

0:22bot ID. This is kind of interesting to

0:22bot ID. This is kind of interesting to us in particular um because bot ID is a

0:25us in particular um because bot ID is a

0:25us in particular um because bot ID is a alternative to Google Recapture. And if

0:27alternative to Google Recapture. And if

0:27alternative to Google Recapture. And if you ever used Google recapture, you know

0:28you ever used Google recapture, you know

0:28you ever used Google recapture, you know it sucks. Um, Google recapture is like

0:31it sucks. Um, Google recapture is like

0:31it sucks. Um, Google recapture is like one of the worst things and you've

0:32one of the worst things and you've

0:32one of the worst things and you've always experienced it where it's like

0:33always experienced it where it's like

0:33always experienced it where it's like click three buses or click some

0:35click three buses or click some

0:35click three buses or click some crosswalks or do this or do that uh just

0:38crosswalks or do this or do that uh just

0:38crosswalks or do this or do that uh just to be able to fill in a form and then as

0:39to be able to fill in a form and then as

0:39to be able to fill in a form and then as soon as you have that people just drop

0:41soon as you have that people just drop

0:41soon as you have that people just drop off completely. So this this completely

0:43off completely. So this this completely

0:43off completely. So this this completely removes all of that. Um, this particular

0:45removes all of that. Um, this particular

0:45removes all of that. Um, this particular tool can sit on any kind of root or any

0:47tool can sit on any kind of root or any

0:47tool can sit on any kind of root or any kind of like uh function and essentially

0:50kind of like uh function and essentially

0:50kind of like uh function and essentially check if there is a bot and you can see

0:51check if there is a bot and you can see

0:51check if there is a bot and you can see there's a very simple version of the

0:53there's a very simple version of the

0:53there's a very simple version of the code here where it's saying is it a bot

0:55code here where it's saying is it a bot

0:55code here where it's saying is it a bot check bot ID if it is a bot access

0:57check bot ID if it is a bot access

0:57check bot ID if it is a bot access denied. If it isn't, then totally fine.

1:00denied. If it isn't, then totally fine.

1:00denied. If it isn't, then totally fine. Um, that's a really, really cool

1:01Um, that's a really, really cool

1:01Um, that's a really, really cool functionality. It's probably the most

1:03functionality. It's probably the most

1:03functionality. It's probably the most important thing as far as we're

1:04important thing as far as we're

1:04important thing as far as we're concerned that came out with Versail

1:05concerned that came out with Versail

1:05concerned that came out with Versail Ship. And it gives you more granular

1:07Ship. And it gives you more granular

1:07Ship. And it gives you more granular control over using these things. And let

1:10control over using these things. And let

1:10control over using these things. And let me bring you on to the next one. So, we

1:11me bring you on to the next one. So, we

1:11me bring you on to the next one. So, we got a couple to get through today. Uh,

1:12got a couple to get through today. Uh,

1:12got a couple to get through today. Uh, the next one is concurrent builds. So,

1:15the next one is concurrent builds. So,

1:15the next one is concurrent builds. So, if you haven't experienced this, great

1:16if you haven't experienced this, great

1:16if you haven't experienced this, great stuff. If you have, this is very, very

1:19stuff. If you have, this is very, very

1:19stuff. If you have, this is very, very powerful. So, it is where you you

1:21powerful. So, it is where you you

1:21powerful. So, it is where you you basically make a whole bunch of changes

1:22basically make a whole bunch of changes

1:22basically make a whole bunch of changes to a website. And say the website takes

1:25to a website. And say the website takes

1:25to a website. And say the website takes two minutes, three minutes to build. um

1:26two minutes, three minutes to build. um

1:26two minutes, three minutes to build. um the first website you made the change

1:28the first website you made the change

1:28the first website you made the change but then uh oh I left in a typo. So now

1:30but then uh oh I left in a typo. So now

1:30but then uh oh I left in a typo. So now we have two changes that we need to put

1:32we have two changes that we need to put

1:32we have two changes that we need to put in. So I do another build and while the

1:34in. So I do another build and while the

1:34in. So I do another build and while the first three minutes is still building

1:36first three minutes is still building

1:36first three minutes is still building you have to then wait the 3 minutes for

1:37you have to then wait the 3 minutes for

1:37you have to then wait the 3 minutes for the first one to finish and then a new

1:39the first one to finish and then a new

1:39the first one to finish and then a new build to come in and do another 3

1:41build to come in and do another 3

1:41build to come in and do another 3 minutes and it's six minutes later and

1:42minutes and it's six minutes later and

1:42minutes and it's six minutes later and you've actually seen the typo change. Um

1:44you've actually seen the typo change. Um

1:44you've actually seen the typo change. Um this allows for ondemand concurrent

1:47this allows for ondemand concurrent

1:47this allows for ondemand concurrent builds which basically means um you can

1:49builds which basically means um you can

1:49builds which basically means um you can essentially run two of them at the same

1:51essentially run two of them at the same

1:51essentially run two of them at the same time or three of them or four of them or

1:52time or three of them or four of them or

1:52time or three of them or four of them or five of them all the way up to 32 at

1:54five of them all the way up to 32 at

1:54five of them all the way up to 32 at once. Um, and it's on demand. So, it's

1:56once. Um, and it's on demand. So, it's

1:56once. Um, and it's on demand. So, it's not that you have to pay for 32

1:59not that you have to pay for 32

1:59not that you have to pay for 32 different um, environments or whatever

2:02different um, environments or whatever

2:02different um, environments or whatever build systems. You just basically have

2:05build systems. You just basically have

2:05build systems. You just basically have um, whenever you need it an ondemand

2:07um, whenever you need it an ondemand

2:07um, whenever you need it an ondemand concurrent build. So, it's pretty cool

2:09concurrent build. So, it's pretty cool

2:09concurrent build. So, it's pretty cool and it's, you know, it's another step if

2:11and it's, you know, it's another step if

2:12and it's, you know, it's another step if you'll see this in all of these

2:13you'll see this in all of these

2:13you'll see this in all of these different ones. Um, it's another way

2:15different ones. Um, it's another way

2:15different ones. Um, it's another way that Versell is doing something where

2:16that Versell is doing something where

2:16that Versell is doing something where it's not price gouging. It's actually

2:18it's not price gouging. It's actually

2:18it's not price gouging. It's actually very very nice. Um, so yeah, let's move

2:21very very nice. Um, so yeah, let's move

2:21very very nice. Um, so yeah, let's move on to the next one. Uh, AI gateway. So

2:24on to the next one. Uh, AI gateway. So

2:24on to the next one. Uh, AI gateway. So again, if you're building AI right now,

2:26again, if you're building AI right now,

2:26again, if you're building AI right now, this is going to be helpful for you.

2:28this is going to be helpful for you.

2:28this is going to be helpful for you. This particular one is more about making

2:30This particular one is more about making

2:30This particular one is more about making the entire development experience easier

2:32the entire development experience easier

2:32the entire development experience easier when you know model 1.32 is going to

2:35when you know model 1.32 is going to

2:35when you know model 1.32 is going to change to model one through 1.33 or you

2:38change to model one through 1.33 or you

2:38change to model one through 1.33 or you know you're using OpenAI and then all of

2:40know you're using OpenAI and then all of

2:40know you're using OpenAI and then all of a sudden the next one that's better is

2:41a sudden the next one that's better is

2:42a sudden the next one that's better is on Gemini or you know whatever whatever

2:44on Gemini or you know whatever whatever

2:44on Gemini or you know whatever whatever system you're going to be using with AI.

2:46system you're going to be using with AI.

2:46system you're going to be using with AI. It's the idea that it can flick between

2:47It's the idea that it can flick between

2:47It's the idea that it can flick between any of them uh any different model any

2:50any of them uh any different model any

2:50any of them uh any different model any different vendor and you just have one

2:51different vendor and you just have one

2:51different vendor and you just have one particular hub. Um, now I think the uh

2:54particular hub. Um, now I think the uh

2:54particular hub. Um, now I think the uh what is it the AI SDK already is

2:57what is it the AI SDK already is

2:57what is it the AI SDK already is basically being used by the vast

2:58basically being used by the vast

2:58basically being used by the vast majority of AI companies out there which

3:00majority of AI companies out there which

3:00majority of AI companies out there which is really really cool. So if there is

3:02is really really cool. So if there is

3:02is really really cool. So if there is something where it's kind of um a AI I

3:06something where it's kind of um a AI I

3:06something where it's kind of um a AI I don't want to say rapper I'm going to

3:07don't want to say rapper I'm going to

3:07don't want to say rapper I'm going to say rapper but let's say AI rapper um on

3:10say rapper but let's say AI rapper um on

3:10say rapper but let's say AI rapper um on top of you know uh some functionality

3:12top of you know uh some functionality

3:12top of you know uh some functionality let's say uh video captioning anything

3:15let's say uh video captioning anything

3:15let's say uh video captioning anything like that um this is really really

3:18like that um this is really really

3:18like that um this is really really useful because all the time these models

3:19useful because all the time these models

3:20useful because all the time these models are changing like literally on a weekly

3:21are changing like literally on a weekly

3:21are changing like literally on a weekly basis and this just stops you from

3:22basis and this just stops you from

3:22basis and this just stops you from having to go out find the API key make

3:25having to go out find the API key make

3:25having to go out find the API key make all the changes find all the nuances of

3:27all the changes find all the nuances of

3:27all the changes find all the nuances of the new changes this is just you know

3:29the new changes this is just you know

3:29the new changes this is just you know you throw in a different u literally one

3:31you throw in a different u literally one

3:31you throw in a different u literally one fine. Um, and it's fixed and that's the

3:33fine. Um, and it's fixed and that's the

3:33fine. Um, and it's fixed and that's the new model running. Um, rolling releases.

3:37new model running. Um, rolling releases.

3:37new model running. Um, rolling releases. Now, if you are looking at this, first

3:39Now, if you are looking at this, first

3:39Now, if you are looking at this, first of all, why are you watching this video?

3:41of all, why are you watching this video?

3:41of all, why are you watching this video? Because this is far too large for this

3:43Because this is far too large for this

3:43Because this is far too large for this video. But essentially, rolling releases

3:45video. But essentially, rolling releases

3:45video. But essentially, rolling releases is when you have a massive, massive

3:47is when you have a massive, massive

3:47is when you have a massive, massive company and you basically want to roll

3:49company and you basically want to roll

3:49company and you basically want to roll out a certain amount of um the new

3:51out a certain amount of um the new

3:51out a certain amount of um the new deployment to see if things are broken.

3:54deployment to see if things are broken.

3:54deployment to see if things are broken. um it's really really powerful because

3:55um it's really really powerful because

3:55um it's really really powerful because it means that you can you know uh say

3:57it means that you can you know uh say

3:57it means that you can you know uh say you make an absolute dud of a change and

3:59you make an absolute dud of a change and

3:59you make an absolute dud of a change and you push it to prod um and all of a

4:01you push it to prod um and all of a

4:01you push it to prod um and all of a sudden the performance goes down to 20%.

4:03sudden the performance goes down to 20%.

4:03sudden the performance goes down to 20%. This is going to be able to warn you

4:04This is going to be able to warn you

4:04This is going to be able to warn you before you distribute it to 100% of your

4:06before you distribute it to 100% of your

4:06before you distribute it to 100% of your customers and maybe you'll find out at

4:08customers and maybe you'll find out at

4:08customers and maybe you'll find out at like 5% and you'll go uh oh I need to

4:10like 5% and you'll go uh oh I need to

4:10like 5% and you'll go uh oh I need to roll that back instantly. Hit the button

4:13roll that back instantly. Hit the button

4:13roll that back instantly. Hit the button all good. But it's really nice really

4:15all good. But it's really nice really

4:15all good. But it's really nice really nice uh development experience again.

4:17nice uh development experience again.

4:17nice uh development experience again. Um, and I want to talk a little bit

4:19Um, and I want to talk a little bit

4:19Um, and I want to talk a little bit about the firewall because the firewall

4:20about the firewall because the firewall

4:20about the firewall because the firewall keeps getting improved and literally

4:22keeps getting improved and literally

4:22keeps getting improved and literally only today um I got challenged uh with

4:25only today um I got challenged uh with

4:25only today um I got challenged uh with it. Well, somebody got challenged on the

4:26it. Well, somebody got challenged on the

4:26it. Well, somebody got challenged on the website with the DOS um and basically 12

4:29website with the DOS um and basically 12

4:30website with the DOS um and basically 12 people got denied which is great. So,

4:31people got denied which is great. So,

4:31people got denied which is great. So, it's always running. It's always

4:33it's always running. It's always

4:33it's always running. It's always fantastic. And frankly, if you're

4:35fantastic. And frankly, if you're

4:35fantastic. And frankly, if you're setting it up just nice and native the

4:37setting it up just nice and native the

4:37setting it up just nice and native the way that it's done through Versel, it

4:39way that it's done through Versel, it

4:39way that it's done through Versel, it just works. I haven't had to think about

4:41just works. I haven't had to think about

4:41just works. I haven't had to think about any of this stuff. It just does

4:42any of this stuff. It just does

4:42any of this stuff. It just does everything it needs to do. And that's

4:44everything it needs to do. And that's

4:44everything it needs to do. And that's exactly what I want, more hands-off

4:46exactly what I want, more hands-off

4:46exactly what I want, more hands-off stuff. And then the Versail agent. So

4:49stuff. And then the Versail agent. So

4:49stuff. And then the Versail agent. So this ties in very very nicely with the

4:51this ties in very very nicely with the

4:51this ties in very very nicely with the firewalls because Versail agents are

4:53firewalls because Versail agents are

4:53firewalls because Versail agents are very very neat in the way that you can

4:55very very neat in the way that you can

4:55very very neat in the way that you can basically debug a good chunk of what's

4:57basically debug a good chunk of what's

4:57basically debug a good chunk of what's wrong. So for example, if I pick this

4:59wrong. So for example, if I pick this

4:59wrong. So for example, if I pick this here, I can drag this bit and I can say,

5:02here, I can drag this bit and I can say,

5:02here, I can drag this bit and I can say, you know, uh what's what's happened

5:04you know, uh what's what's happened

5:04you know, uh what's what's happened here? What can I do to improve it? Um

5:07here? What can I do to improve it? Um

5:07here? What can I do to improve it? Um how do I stop this from happening in the

5:08how do I stop this from happening in the

5:08how do I stop this from happening in the future? This is a great way of using

5:10future? This is a great way of using

5:10future? This is a great way of using like uh LLMs to be able to do a lot of

5:13like uh LLMs to be able to do a lot of

5:13like uh LLMs to be able to do a lot of the, you know, kind of grunt work that

5:14the, you know, kind of grunt work that

5:14the, you know, kind of grunt work that you don't want to have to do and the

5:16you don't want to have to do and the

5:16you don't want to have to do and the debugging work that you don't really

5:17debugging work that you don't really

5:17debugging work that you don't really want to have to do and just make your

5:19want to have to do and just make your

5:19want to have to do and just make your websites more secure and better and

5:21websites more secure and better and

5:21websites more secure and better and nicer. And then finally, we have micro

5:24nicer. And then finally, we have micro

5:24nicer. And then finally, we have micro frontends that absolutely nobody knows

5:25frontends that absolutely nobody knows

5:25frontends that absolutely nobody knows what they do. Um, at some point

5:27what they do. Um, at some point

5:27what they do. Um, at some point somebody's going to find out why we've

5:29somebody's going to find out why we've

5:29somebody's going to find out why we've built microrends, but there's now

5:30built microrends, but there's now

5:30built microrends, but there's now microrend support, which is great. So

5:33microrend support, which is great. So

5:33microrend support, which is great. So yeah, have a great day everybody.

5:34yeah, have a great day everybody.

5:34yeah, have a great day everybody. Bye-bye.

Questions answered

Editorial answers from the original Roboto page.

What was announced at Vercel Ship 2025?

The standout launches were BotID (a reCAPTCHA alternative), Vercel AI Gateway (one endpoint for many AI models), on-demand concurrent builds (up to 32 in parallel), rolling releases, an upgraded Firewall, the Vercel Agent for incident debugging, and microfrontend support. The shape is consistent: most of these features remove a workflow tax rather than adding a new product.

Read the original ↗
What is Vercel AI Gateway?

Vercel AI Gateway is a single endpoint that proxies requests to any AI model or provider. Switching from OpenAI to Anthropic to Gemini becomes a one-line change instead of swapping API keys, retrofitting auth, and rewriting client code. It pairs with the AI SDK, which already powers a lot of production AI apps, and is mostly aimed at teams that wrap LLMs in their own products.

Read the original ↗
What is Vercel BotID?

BotID is Vercel's bot detection product. You call `checkBotId()` from a route or function, and if the request is a bot you deny it. There's no captcha, no "click all the crosswalks" puzzle, just a yes/no decision the platform makes for you. It can sit on any route, not just forms, which is what makes it more flexible than something like reCAPTCHA.

Read the original ↗
Is BotID a reCAPTCHA alternative?

Yes. BotID is positioned as a reCAPTCHA replacement. The selling point is the user experience: reCAPTCHA's puzzles cause real form drop-off, and BotID handles bot detection silently in the background instead. Because it's part of Vercel's platform, it can run on any route or function rather than only on forms.

Read the original ↗
What are Vercel concurrent builds?

Concurrent builds let multiple deployments build at the same time instead of queueing. Push a fix on top of a still-building deploy and it runs in parallel rather than waiting another three minutes. They're on-demand and scale up to 32 simultaneous builds, so you only pay for the parallelism you actually use.

Read the original ↗
What are Vercel rolling releases?

Rolling releases gradually expose a new deployment to a percentage of traffic instead of flipping it to 100% in one go. If you ship a regression and performance tanks, you catch it at maybe 5% of traffic and roll back before it hits everyone. It's mainly aimed at large-scale production apps where a bad deploy is genuinely expensive.

Read the original ↗
What is Vercel Agent?

Vercel Agent is an LLM-powered debugger built into the Vercel dashboard. You select a chunk of logs or traffic, ask what's going wrong and how to prevent it, and the agent walks you through diagnosis and fixes. It pairs especially well with the Firewall, since most of the "what is this attack pattern" grunt work moves off your plate.

Read the original ↗
How does the Vercel Firewall work?

The Firewall ships native DDoS protection and challenge-based filtering on top of every Vercel project. It runs continuously in the background, blocks bad traffic without manual rules in the common case, and surfaces challenges in the dashboard. The Vercel Ship 2025 update tightened the integration with BotID and Vercel Agent so investigation and response are mostly hands-off.

Read the original ↗

Scope and context

  • Video authors are credited by the original Roboto page; individual transcript speakers remain unassigned.