About this video
If you're looking to build a Sanity website, we give you a list of table stakes to make sure you get with every project. Don't settle for less.
Full transcript
Edited transcript from the original Roboto page
Hey, how's it going? So I want to do this video because instead of just telling you, "Oh, we're the best Sanity and Next.js website builders in the world," I'd rather just show you all the features. You tell me whether you get this in the first version, and just keep an eye out for this because we're ultimately just trying to make sure that you get everything that you need first time round. We don't want to inherit anything.
So, um, let's start by looking at Turbo Start Sanity. This is our own template. It's open source. You can take it today and press one click deploy and you'll get everything that you see on the page right now. Um, this is called presentation, what you're looking at. Um, and it's essentially Sanity's answer to being able to navigate through a website and then be able to click something and edit it right there and then. It's the best of both worlds. If you've used something like Webflow or what is it, Visual Bakery Composer in WordPress, it's very very similar, but it's a bit more on Rails, which is a good thing.
Um, so what I can show you is you can turn this thing off called the edit overlay. The edit overlay looks like this. Um, but it's pretty difficult to navigate with it on, so what we do is we'll go to the homepage and all we'll do is we'll change the title here. So let's turn it on. Let's click the title and let's say "Hello everybody." Okay, now the cool thing is the one on the left is the version that you get. This updates in real time. You can see this, but the customers can't see this. Let's take the same URL and we'll do this on an incognito browser.
Now this is really interesting. So this also encompasses something called Live Content API. We'll come back to this, but can you see how this version doesn't have the new text? This version has the new text. Now in a traditional way, what would happen when somebody hits publish is it would build the website. It would take roughly two minutes to see those changes in real time if it's kind of like a server side website, or it is an incremental static regenerated website. If it's client side, which you shouldn't do, it will show up immediately. That's not a good thing though. So if you want the best SEO, you want to probably be doing something that's ISR, so incremental static regeneration, or SSR, server side rendered.
Um, so let's hit publish and let's see what happens. So pay attention real quick. So publish, I'm going to flip here. Hands off any second. Boom. Cool. So instantaneously I didn't have to refresh the page. This is an incognito website. We're not looking at anything with any kind of cookies or anything. It's just instant that it loads.
Um, this is Live Content API. As far as I'm aware, I don't think at the time of recording this anybody else is doing this. Um, the first thing you may be questioning is how much API usage is this going to take and is it going to burn through the quota really really fast? Now we have a couple of clients that have tens of thousands of customers always hitting the website. Very very large websites. And they haven't even hit the quota for Sanity yet. And even if they did hit the quota, which is 250k API invocations, um, as soon as you hit another 25,000, guess how much it is? $1. Right? So even if you hit 500,000, you're talking $10 cost a month. It's worth every penny.
Um, so let's flip back real quick. So inside of here, this is kind of like the last thing I want to show you, um, is the idea of different routes. So now we're able to say, "Oh, okay, let's go into here. Let's click into blogs. Give it two seconds. Let's click into uh, one of these pages, and then we hit edit, and then we hit the title, and then we can change it in real time." So that's the actual presentation side of things that's in there. Um, I just want to kind of focus on that too because this is going to come into use, especially with what we're about to show next.
So if we look at structure and we look at Pages, this is another view inside of Sanity. This is kind of like, think of this as more, uh, almost like how you handle a traditional database. This is a great way of showing the contents in isolation. Um, but you can see here that we actually have two different routes that are on the same sort of URL route. So /Services Consulting and /Services. This is difficult to build inside of Sanity, and you should have this by default. Uh, the reason for having this is because it's incredibly easy to then build nested pages and nested features on the website, and this always comes up every single time.
Um, so when you're inside of one of these, let's say that we have this page here. Uh, we've made some changes to it. I'm happy with those changes. Uh, some more changes. Cool. Hit publish. Let's check what this looks like. I can hit this button up here that says "Open in presentation" and I can very easily start working on this. Give it two seconds. There we go. Cool, cool. So you could change everything inside of here, and this is the presentation view again. Really nice to work with. Really easy to use. But you also want the ability to be able to go onto pages like Consulting and do the same thing.
Now these are going to look exactly the same um because I've just duplicated it, but ultimately if I go into here and you'll notice I'm on Services Consulting, let's change the color of the page or some stuff on here just so you can see the difference. Um, so this is Consulting page and the other one will go back again. So let me hit publish on this. Um, and then the other version is the services page just so you can tell the difference. But to be able to build this, you want to make sure that you've got it because I see no end of websites that don't have this built in. Um, and it just means that at a later date you're going to have to do some work to be able to create new routes, to be able to create nested parent-child routes.
Um, but you can see now so this is services. This is /Consulting. This is all working in real time. Um, all of this functionality comes. All of it's kind of polished. Feel free to download this yourself. So again, Turbo Start Sanity, go to the Exchange. It's on the Sanity Exchange. Featured at the minute. Play around with it. Tell us your thoughts and make sure that you have all of these features if you're going to build a website.
So yeah, hope that helps. Take care. Bye-bye.
Read timestamped source captions
0:02hey how's it going so I want to do this
0:02hey how's it going so I want to do this video because instead of just telling
0:04video because instead of just telling
0:04video because instead of just telling you oh we're the best sanity and nextjs
0:06you oh we're the best sanity and nextjs
0:06you oh we're the best sanity and nextjs website builders in the world I'd rather
0:08website builders in the world I'd rather
0:08website builders in the world I'd rather just show you all the features you tell
0:10just show you all the features you tell
0:10just show you all the features you tell me whether you get this in the the first
0:12me whether you get this in the the first
0:12me whether you get this in the the first version and just keep an eye out for
0:13version and just keep an eye out for
0:13version and just keep an eye out for this because we're ultimately just
0:14this because we're ultimately just
0:14this because we're ultimately just trying to make sure that you get
0:15trying to make sure that you get
0:15trying to make sure that you get everything that you need first time
0:17everything that you need first time
0:17everything that you need first time round we don't want to inherit anything
0:19round we don't want to inherit anything
0:19round we don't want to inherit anything so um let's start by looking at turbo
0:22so um let's start by looking at turbo
0:22so um let's start by looking at turbo start sanity this is our own template
0:24start sanity this is our own template
0:24start sanity this is our own template it's open source you can take it today
0:25it's open source you can take it today
0:25it's open source you can take it today and press one click deploy and you'll
0:27and press one click deploy and you'll
0:27and press one click deploy and you'll get everything that you see on the page
0:29get everything that you see on the page
0:29get everything that you see on the page right now um this is called presentation
0:32right now um this is called presentation
0:32right now um this is called presentation what you're looking at um and it's
0:33what you're looking at um and it's
0:33what you're looking at um and it's essentially sanity's answer to being
0:35essentially sanity's answer to being
0:35essentially sanity's answer to being able to navigate through a website and
0:37able to navigate through a website and
0:37able to navigate through a website and then be able to click something and edit
0:38then be able to click something and edit
0:38then be able to click something and edit it right there and then uh it's the best
0:40it right there and then uh it's the best
0:40it right there and then uh it's the best of both worlds if you've used something
0:42of both worlds if you've used something
0:42of both worlds if you've used something like uh web flow or what is it visual
0:44like uh web flow or what is it visual
0:45like uh web flow or what is it visual Bakery composer in WordPress it's very
0:48Bakery composer in WordPress it's very
0:48Bakery composer in WordPress it's very very similar but it's a bit more on
0:50very similar but it's a bit more on
0:50very similar but it's a bit more on Rails which is a good thing um so what I
0:52Rails which is a good thing um so what I
0:52Rails which is a good thing um so what I can show you is you can turn this thing
0:54can show you is you can turn this thing
0:54can show you is you can turn this thing off called the edit overlay the edit
0:56off called the edit overlay the edit
0:56off called the edit overlay the edit overlay looks like this um but it's
0:58overlay looks like this um but it's
0:58overlay looks like this um but it's pretty difficult to navigate with it on
1:00pretty difficult to navigate with it on
1:00pretty difficult to navigate with it on so what we do is we'll go to the
1:01so what we do is we'll go to the
1:01so what we do is we'll go to the homepage and all we'll do is we'll
1:03homepage and all we'll do is we'll
1:03homepage and all we'll do is we'll change the title
1:05change the title
1:05change the title here so let's turn it on let's click the
1:07here so let's turn it on let's click the
1:07here so let's turn it on let's click the title and let's
1:09title and let's
1:10title and let's say hello
1:12say hello
1:12say hello everybody okay now the cool thing is is
1:15everybody okay now the cool thing is is
1:15everybody okay now the cool thing is is the one on the left is the version that
1:16the one on the left is the version that
1:16the one on the left is the version that you get this updates in real time you
1:18you get this updates in real time you
1:18you get this updates in real time you can see this but the customers can't see
1:20can see this but the customers can't see
1:20can see this but the customers can't see this let's take the same URL and we'll
1:22this let's take the same URL and we'll
1:22this let's take the same URL and we'll do this on an incognito browser now this
1:25do this on an incognito browser now this
1:25do this on an incognito browser now this is really interesting so this also
1:26is really interesting so this also
1:26is really interesting so this also encompasses something called live
1:28encompasses something called live
1:28encompasses something called live content API
1:30content API
1:30content API we'll come back to this but can you see
1:32we'll come back to this but can you see
1:32we'll come back to this but can you see how this version doesn't have the new
1:34how this version doesn't have the new
1:34how this version doesn't have the new text this version has the new text now
1:37text this version has the new text now
1:37text this version has the new text now in a traditional way what would happen
1:38in a traditional way what would happen
1:38in a traditional way what would happen when somebody hits publish is it would
1:40when somebody hits publish is it would
1:40when somebody hits publish is it would build the website it would take roughly
1:42build the website it would take roughly
1:42build the website it would take roughly two minutes to see those changes in real
1:44two minutes to see those changes in real
1:44two minutes to see those changes in real time if it's kind of like a a server
1:46time if it's kind of like a a server
1:46time if it's kind of like a a server side website or it is a incremental
1:48side website or it is a incremental
1:48side website or it is a incremental static regenerated website if it's
1:51static regenerated website if it's
1:51static regenerated website if it's client side which you shouldn't do it
1:52client side which you shouldn't do it
1:52client side which you shouldn't do it will show up immediately that's not a
1:55will show up immediately that's not a
1:55will show up immediately that's not a good thing though so if you want the
1:57good thing though so if you want the
1:57good thing though so if you want the best SEO you want to probably be doing
1:59best SEO you want to probably be doing
1:59best SEO you want to probably be doing something that's ISR so incremental
2:01something that's ISR so incremental
2:01something that's ISR so incremental static regeneration or SSR server side
2:04static regeneration or SSR server side
2:04static regeneration or SSR server side rendered um so let's hit publish and
2:06rendered um so let's hit publish and
2:06rendered um so let's hit publish and let's see what happens so pay attention
2:08let's see what happens so pay attention
2:08let's see what happens so pay attention real quick so publish I'm going to flip
2:10real quick so publish I'm going to flip
2:10real quick so publish I'm going to flip here hands off any second boom cool so
2:15here hands off any second boom cool so
2:15here hands off any second boom cool so instantaneously I didn't have to refresh
2:16instantaneously I didn't have to refresh
2:16instantaneously I didn't have to refresh the page this is an incognito website
2:18the page this is an incognito website
2:18the page this is an incognito website we're not looking at anything with any
2:19we're not looking at anything with any
2:20we're not looking at anything with any kind of cookies or anything it's just
2:21kind of cookies or anything it's just
2:21kind of cookies or anything it's just instant that it loads um this is live
2:24instant that it loads um this is live
2:24instant that it loads um this is live content API as far as I'm aware I don't
2:26content API as far as I'm aware I don't
2:26content API as far as I'm aware I don't think at the time of recording this
2:28think at the time of recording this
2:28think at the time of recording this anybody else is doing this um the first
2:30anybody else is doing this um the first
2:30anybody else is doing this um the first thing you may be questioning is how much
2:33thing you may be questioning is how much
2:33thing you may be questioning is how much API usage is this going to take and is
2:35API usage is this going to take and is
2:35API usage is this going to take and is it going to burn through the quota
2:36it going to burn through the quota
2:36it going to burn through the quota really really fast now we have a couple
2:38really really fast now we have a couple
2:38really really fast now we have a couple of clients that have tens of thousands
2:40of clients that have tens of thousands
2:40of clients that have tens of thousands of customers always hitting the website
2:42of customers always hitting the website
2:43of customers always hitting the website very very large websites and they
2:44very very large websites and they
2:45very very large websites and they haven't even hit the quota for sanity
2:47haven't even hit the quota for sanity
2:47haven't even hit the quota for sanity yet and even if they did hit the quota
2:49yet and even if they did hit the quota
2:49yet and even if they did hit the quota which is
2:50which is
2:50which is 250k uh API invocations um as soon as
2:53250k uh API invocations um as soon as
2:53250k uh API invocations um as soon as you hit another 25,000 guess how much it
2:55you hit another 25,000 guess how much it
2:55you hit another 25,000 guess how much it is $1 right so even if you hit 500,000
2:59is $1 right so even if you hit 500,000
2:59is $1 right so even if you hit 500,000 you're talking $10 cost a month it's
3:02you're talking $10 cost a month it's
3:02you're talking $10 cost a month it's worth every penny um so let's flip back
3:04worth every penny um so let's flip back
3:04worth every penny um so let's flip back real
3:05real
3:05real quick so inside of here this is kind of
3:08quick so inside of here this is kind of
3:08quick so inside of here this is kind of like the last thing I want to show you
3:10like the last thing I want to show you
3:10like the last thing I want to show you um is the idea of different routs so now
3:12um is the idea of different routs so now
3:12um is the idea of different routs so now we're able to say oh okay let's go into
3:14we're able to say oh okay let's go into
3:14we're able to say oh okay let's go into here let's click into
3:17here let's click into
3:17here let's click into blogs give it two seconds let's click
3:19blogs give it two seconds let's click
3:19blogs give it two seconds let's click into uh one of these pages and then we
3:21into uh one of these pages and then we
3:21into uh one of these pages and then we hit edit and then we hit the title and
3:23hit edit and then we hit the title and
3:23hit edit and then we hit the title and then we can change it in real time so
3:25then we can change it in real time so
3:25then we can change it in real time so that's the actual presentation side of
3:26that's the actual presentation side of
3:26that's the actual presentation side of things that's in there um I just want to
3:28things that's in there um I just want to
3:28things that's in there um I just want to kind of focus on that two because this
3:30kind of focus on that two because this
3:30kind of focus on that two because this is going to come into use especially
3:32is going to come into use especially
3:32is going to come into use especially with what we're about to show next so if
3:35with what we're about to show next so if
3:35with what we're about to show next so if we look at structure and we look at
3:36we look at structure and we look at
3:36we look at structure and we look at Pages this is another view inside of
3:37Pages this is another view inside of
3:37Pages this is another view inside of sanity this is kind of like think of
3:39sanity this is kind of like think of
3:39sanity this is kind of like think of this as more uh almost like how you
3:42this as more uh almost like how you
3:42this as more uh almost like how you handle a traditional database this is a
3:43handle a traditional database this is a
3:43handle a traditional database this is a great way of showing the contents in
3:46great way of showing the contents in
3:46great way of showing the contents in isolation um but you can see here that
3:48isolation um but you can see here that
3:48isolation um but you can see here that we actually have two different routes
3:50we actually have two different routes
3:50we actually have two different routes that are on the same sort of URL route
3:52that are on the same sort of URL route
3:52that are on the same sort of URL route so/ Services Consulting andservices this
3:56so/ Services Consulting andservices this
3:56so/ Services Consulting andservices this is difficult to build inside of sanity
3:58is difficult to build inside of sanity
3:58is difficult to build inside of sanity and you should have this by default uh
4:00and you should have this by default uh
4:00and you should have this by default uh the reason for having this is because
4:02the reason for having this is because
4:02the reason for having this is because it's incredibly easy to then build
4:04it's incredibly easy to then build
4:04it's incredibly easy to then build nested pages and nested features on the
4:06nested pages and nested features on the
4:06nested pages and nested features on the website and this always comes up every
4:08website and this always comes up every
4:08website and this always comes up every single time um so when you're inside of
4:11single time um so when you're inside of
4:11single time um so when you're inside of one of these let's say that we have this
4:13one of these let's say that we have this
4:13one of these let's say that we have this page here uh We've made some changes to
4:14page here uh We've made some changes to
4:14page here uh We've made some changes to it I'm happy with those changes uh some
4:17it I'm happy with those changes uh some
4:17it I'm happy with those changes uh some more changes cool hit publish let's
4:21more changes cool hit publish let's
4:21more changes cool hit publish let's check what this looks like I can hit
4:22check what this looks like I can hit
4:22check what this looks like I can hit this button up here that says open in
4:23this button up here that says open in
4:23this button up here that says open in presentation and I can very easily start
4:25presentation and I can very easily start
4:26presentation and I can very easily start working on
4:27working on
4:27working on this give it two seconds there we go
4:29this give it two seconds there we go
4:29this give it two seconds there we go cool cool so you could change you could
4:30cool cool so you could change you could
4:31cool cool so you could change you could change everything inside of here and
4:32change everything inside of here and
4:32change everything inside of here and this is the presentation view again
4:33this is the presentation view again
4:34this is the presentation view again really nice to work with really easy to
4:36really nice to work with really easy to
4:36really nice to work with really easy to use but you also want the ability to be
4:39use but you also want the ability to be
4:39use but you also want the ability to be able to go onto Pages like Consulting
4:41able to go onto Pages like Consulting
4:41able to go onto Pages like Consulting and do the same thing now these are
4:42and do the same thing now these are
4:42and do the same thing now these are going to look exactly the same um
4:44going to look exactly the same um
4:44going to look exactly the same um because I've just duplicated it but
4:46because I've just duplicated it but
4:46because I've just duplicated it but ultimately if I go into here and you'll
4:48ultimately if I go into here and you'll
4:48ultimately if I go into here and you'll notice I'm on Services Consulting let's
4:50notice I'm on Services Consulting let's
4:50notice I'm on Services Consulting let's change the color of the page or some
4:51change the color of the page or some
4:52change the color of the page or some stuff on here just so you can see the
4:53stuff on here just so you can see the
4:53stuff on here just so you can see the difference um so this is Consulting
4:57difference um so this is Consulting
4:57difference um so this is Consulting page and the other one will go back
4:59page and the other one will go back
4:59page and the other one will go back again so let me hit publish on this um
5:01again so let me hit publish on this um
5:01again so let me hit publish on this um and then the other version is the
5:03and then the other version is the
5:03and then the other version is the services page just so you can tell the
5:04services page just so you can tell the
5:04services page just so you can tell the difference but to be able to build this
5:07difference but to be able to build this
5:07difference but to be able to build this you want to make sure that you've got it
5:08you want to make sure that you've got it
5:08you want to make sure that you've got it because I see no end of websites that
5:10because I see no end of websites that
5:10because I see no end of websites that don't have this built in um and it just
5:13don't have this built in um and it just
5:13don't have this built in um and it just means that at a later date you're going
5:14means that at a later date you're going
5:14means that at a later date you're going to have to do some work to be able to
5:16to have to do some work to be able to
5:16to have to do some work to be able to create new roots to be able to create
5:17create new roots to be able to create
5:17create new roots to be able to create nested parent child Roots um but you can
5:20nested parent child Roots um but you can
5:20nested parent child Roots um but you can see now so this is services this is SL
5:24see now so this is services this is SL
5:24see now so this is services this is SL Consulting this is all working in real
5:26Consulting this is all working in real
5:26Consulting this is all working in real time um all of this functionality comes
5:29time um all of this functionality comes
5:29time um all of this functionality comes all of its kind of polished feel free to
5:31all of its kind of polished feel free to
5:31all of its kind of polished feel free to download this yourself so again turbo
5:33download this yourself so again turbo
5:33download this yourself so again turbo start sanity go to The Exchange it's on
5:35start sanity go to The Exchange it's on
5:35start sanity go to The Exchange it's on the sanity exchange featured at the
5:36the sanity exchange featured at the
5:36the sanity exchange featured at the minute play around with it tell us your
5:38minute play around with it tell us your
5:38minute play around with it tell us your thoughts and make sure that you have all
5:40thoughts and make sure that you have all
5:40thoughts and make sure that you have all of these features if you're going to
5:42of these features if you're going to
5:42of these features if you're going to build a website so yeah hope that helps
5:45build a website so yeah hope that helps
5:45build a website so yeah hope that helps take care bye-bye
Questions answered
Editorial answers from the original Roboto page.
What should you expect from a Sanity CMS agency?
Working visual editing through Presentation, Live Content API set up so changes show instantly without a rebuild, dynamic and nested routes (e.g. /services and /services/consulting on the same project), ISR or SSR rendering for SEO, and a sensible base template like Turbo Start. If those aren't in the first version they ship to you, you'll be paying to retrofit them later.
Read the original ↗What is Sanity's Live Content API?
Live Content API streams document changes from Sanity to anyone currently viewing the page, with no rebuild and no refresh. In a traditional SSR or ISR setup a publish would normally trigger a build before visitors saw the new content; with Live Content API the update appears instantly even in an incognito window with no cookies set.
Read the original ↗Should a Sanity website use ISR or SSR for SEO?
Either is fine for SEO. The thing to avoid is full client-side rendering, where your content shows up immediately for editors but search engines see an empty shell. ISR (incremental static regeneration) and SSR (server-side rendering) both deliver the rendered HTML to crawlers, so they're the right choices for a content-heavy Sanity site.
Read the original ↗How much does Sanity API usage cost at scale?
Sanity's Growth plan includes 250k API requests; once you exceed that, every additional 25k costs $1. So even a site burning through 500k requests a month is paying roughly $10 in overage. Live Content API on top of that is rarely the thing that pushes a project into expensive territory. Roboto Studio's largest clients haven't hit the included quota yet.
Read the original ↗Can Sanity handle nested page routes?
Yes. `/services` and `/services/consulting` can both exist as separate Sanity documents and render through the same dynamic route in Next.js. It needs to be designed in from day one because it touches the URL slug field, the page query, and the route resolver. Retrofitting it later is painful, which is why it should be table stakes from any Sanity agency.
Read the original ↗What is Turbo Start Sanity?
Turbo Start Sanity is Roboto Studio's open-source Next.js + Sanity template, available on the Sanity Exchange. One-click deploy gives you Presentation mode, the Live Content API wired up, dynamic and nested routes, and a working page builder out of the box. That's the same baseline an agency should be starting every project from.
Read the original ↗Is Sanity Presentation similar to Webflow?
Conceptually yes. You click on a piece of content on the rendered page and edit it in place, the same way a Webflow Designer or WordPress Visual Composer works. The difference is Sanity stays "on rails": the underlying content model is structured, so editors can't accidentally break the layout, and developers keep clean queryable JSON for the front end.
Read the original ↗Scope and context
- Video authors are credited by the original Roboto page; individual transcript speakers remain unassigned.