Skip to content
Roboto Studio / evidence

youtube / video

The difference between a code-based and GUI-based CMS

Jono AlfordOriginal source ↗

Original video

About this video

Code based (Sanity CMS) and GUI based (Dato CMS) and how they work and the differences and nuances of using them. Get in touch below, bring your hardball questions.

Full transcript

Edited transcript from the original Roboto page

Hey, how's it going everybody? So I want to show you something real quick. The difference between GUI based CMSs and code-based CMSs. Now everybody has different opinions on this, but I'm going to give you my opinion. I think this is the right opinion and we'll go through it very quickly.

So essentially the two differences between them, and I'm going to show you two different examples. This is Dato CMS. This is their default marketing template and this is our Turbo template. They're very, very similar, but they're like the best-in-class, or at least we like to think they're the best-in-class between Dato and Sanity.

Now Dato is a GUI based CMS. And what do we mean by GUI based? Well, let me show you. It means when you start building schema and when you start building your content models, which is what you enter your data into, you have to drag and drop them. So for example, I can throw a piece of text in here. I can say it's a single line string, a multiple paragraph text, or some structured text, right? They all have their own proprietary way of doing it.

So this applies to almost every headless content management system. This applies to Dato. This applies to Contentful. This applies to Prismic. Prismic has a weird one. They're kind of halfway between the two, but we'll ignore Prismic. All of these have some form of kind of like data structure where you can pull drag and drop items inside of them, apart from Sanity. The other exception on this is Payload as well. Payload is also code-based, because they basically just copied Sanity's homework.

Anyway, going through the fields here. So you have your text, your modular content, your media. All of these are unique for every single system. And when you click them, you can drag them in. You can press single line string and I'm going to say, "Oh, this is the title of the page." Okay.

Now some of them will have localization on, some of them won't. There will be different validation. So you can see the validation here, and this is a very important one because we're going to come back to this in a second. But validation is essentially the way that you actually validate the field. And it might sound simple, you know, "Okay, it might be nice and easy," but what happens if you, for example, need to match a specific pattern? And some of these do support it. Some of them say, you know, URL or email, custom format, and this is where it starts usually going to regex.

If you don't know what regex is, it's a really, really complicated way of saying, "Oh, by the way, the third letter has to be a capital or something like that," or we can only do regular text and dashes. So this is kind of useful, but the problem here is, and this is what we always recommend, the same thing is GUI based stops at a certain point with validation. It also stops at a certain point when you need to do something custom.

So as you can imagine, their GUI is presented on their website, but as soon as you want to start doing things like, "Oh, by the way, can I integrate our custom component that we use on the website?" Or, "Can I create a brand new SEO validator that sits inside of here?" Or, "Can I make sure that if this website has Wikipedia, we don't reference it because we shouldn't be using Wikipedia pages to reference to?" Um, that's not possible with these validations usually inside of a GUI based CMS.

Compare this to, um, this is the Sanity version. You should always remember this. Um, this version has obviously a visual way that you can edit the page. You know, you can click on things, you can drag and drop, you can do all this kind of stuff. Nice and simple. So same fields, everything the exact same. However, there's a lot of custom stuff that you may want to do inside of here that Sanity allows you to do because it's code-based.

Now that's not the only benefit. There is some negatives as well, but the benefits are that you can also build custom things inside of it. So if you look here, this is the blog page on our Turbo Studio website. You can see we have things like create OG image field, image preview field. The reason why we use that is because I don't want to have to create a brand new image every time I push things to Sanity. I just use the OG image field that we've built to generate a very purposefully built image with all the text and all the data and a generated cat on there.

So it means that every single time we publish something to Sanity, we're doing it in a fraction of the time. And the idea, you'll hear this again and again, but the reason why we love code-based CMSs is because you get this progressively better and better and better kind of gains in publishing and what's the word that they use? They use content velocity. That's the word that we're looking for. So they use this expression of content velocity. The more you can do that, the less time you have to burn through marketers and things like that.

And again, the same principle here. So there's a lot of reusability and a lot of things that you would do in JavaScript. So this all sounds very positive. Why doesn't everybody just use code-based CMSs, right?

Well, there is kind of this is the negative bit. It's harder to build them. And anything that has a skill floor that's a lot higher, people go, "Oh I don't want to learn that." So it is more difficult. Now Sanity does have an entire learn section, but it's still quite a difficult tool to learn if you're not used to kind of like the paradigms of how a headless content management system works.

So what I would say is our personal preference is always a code-based CMS, but it is very important to know the differences here, which is that if you have a GUI based, there are going to be more agencies that can work with a GUI based CMS or a GUI based content modeling system. But it ultimately will be worse when you get to the point of "I can't do this anymore" or "I can't do this particular functionality because it's limited by the CMS itself," whereas something like Sanity, and by proxy I think Payload is similar, you will get to the point where it doesn't matter how complicated it is, it can be built. It's just a case of time and money that needs to be used to be able to build the thing.

And so you can see this here, nice and simple, but if you can read this and it reads kind of like traditional JSON, then you can basically build anything. And there is some really clever stuff that's in here. So there is things like AI automation in here because we don't actually want to write our FAQ questions every single time when we build a blog. We would much rather just take the entire content of the blog and generate the FAQs.

But the best thing to do if you were trying to weigh up the difference between what is a GUI based CMS versus a code-based CMS is just run the default templates from both, so from Sanity and from Dato and from any other tool that you're looking to potentially use, and see how they feel, and whichever one feels the best, go for that one. It's as simple as that.

But the other side of this is think also about how you're going to scale your website because if you want to be able to scale something that's like 10,000 pages with a lot of nuances, you probably won't be able to do it as well with a GUI based CMS.

I don't know anybody or I haven't seen too much talk about people coining the terms GUI based CMS and code-based CMS, and I don't see it thrown around a lot, but it's actually the core thing that changes how you build your website. So pay attention to it, and if you have any questions just send us a message over. Cheers. Take care. Bye.

Read timestamped source captions

0:04Hey, how's it going everybody? So, I

0:04Hey, how's it going everybody? So, I want to show you something real quick.

0:05want to show you something real quick.

0:05want to show you something real quick. The difference between GUI based CMSS

0:08The difference between GUI based CMSS

0:08The difference between GUI based CMSS and codebased CMSs. Now, everybody has

0:11and codebased CMSs. Now, everybody has

0:11and codebased CMSs. Now, everybody has different opinions on this, but I'm

0:12different opinions on this, but I'm

0:12different opinions on this, but I'm going to give you my opinion. I think

0:13going to give you my opinion. I think

0:14going to give you my opinion. I think this is the right opinion and uh we'll

0:16this is the right opinion and uh we'll

0:16this is the right opinion and uh we'll go through it very quickly. So, um

0:18go through it very quickly. So, um

0:18go through it very quickly. So, um essentially the two differences between

0:19essentially the two differences between

0:19essentially the two differences between them and I'm going to show you two

0:20them and I'm going to show you two

0:20them and I'm going to show you two different examples. This is Datau CMS.

0:23different examples. This is Datau CMS.

0:23different examples. This is Datau CMS. This is their default marketing template

0:25This is their default marketing template

0:25This is their default marketing template and this is our Turboar template.

0:27and this is our Turboar template.

0:27and this is our Turboar template. They're very very similar, but they're

0:29They're very very similar, but they're

0:29They're very very similar, but they're like the best-in-class or at least we

0:31like the best-in-class or at least we

0:31like the best-in-class or at least we like to think they're the best-in-class

0:32like to think they're the best-in-class

0:32like to think they're the best-in-class between Datau and Sanity. Um, now datau

0:36between Datau and Sanity. Um, now datau

0:36between Datau and Sanity. Um, now datau is a GUI based CMS. And what do we mean

0:39is a GUI based CMS. And what do we mean

0:39is a GUI based CMS. And what do we mean by GUI based? Well, let me show you. It

0:42by GUI based? Well, let me show you. It

0:42by GUI based? Well, let me show you. It means when you start building schema and

0:44means when you start building schema and

0:44means when you start building schema and when you start building your content

0:45when you start building your content

0:45when you start building your content models, which is what you enter your

0:46models, which is what you enter your

0:46models, which is what you enter your data into, um, you have to drag and drop

0:49data into, um, you have to drag and drop

0:49data into, um, you have to drag and drop them. So, for example, I can throw a

0:51them. So, for example, I can throw a

0:51them. So, for example, I can throw a piece of text in here. I can say it's a

0:52piece of text in here. I can say it's a

0:52piece of text in here. I can say it's a single line string, a multiple paragraph

0:54single line string, a multiple paragraph

0:54single line string, a multiple paragraph text, or some structured text, right?

0:56text, or some structured text, right?

0:56text, or some structured text, right? They all have their own proprietary way

0:59They all have their own proprietary way

0:59They all have their own proprietary way of doing it. So this applies to every

1:01of doing it. So this applies to every

1:01of doing it. So this applies to every single headless content management

1:02single headless content management

1:02single headless content management system. It's not just data. It's not

1:04system. It's not just data. It's not

1:04system. It's not just data. It's not just Sanity. This applies to Contentful.

1:06just Sanity. This applies to Contentful.

1:06just Sanity. This applies to Contentful. This applies to Prismic. Uh Prismic has

1:08This applies to Prismic. Uh Prismic has

1:08This applies to Prismic. Uh Prismic has a weird one. They're kind of halfway

1:10a weird one. They're kind of halfway

1:10a weird one. They're kind of halfway between the two, but we'll ignore

1:11between the two, but we'll ignore

1:11between the two, but we'll ignore Prismic. But all of these have some form

1:14Prismic. But all of these have some form

1:14Prismic. But all of these have some form of kind of like data structure where you

1:16of kind of like data structure where you

1:16of kind of like data structure where you can pull drag and drop um items inside

1:19can pull drag and drop um items inside

1:19can pull drag and drop um items inside of them apart from sanity. Another one

1:21of them apart from sanity. Another one

1:21of them apart from sanity. Another one on this is uh payload as well. payload

1:23on this is uh payload as well. payload

1:23on this is uh payload as well. payload also does this with its codebased um

1:25also does this with its codebased um

1:25also does this with its codebased um because they basically just copied

1:26because they basically just copied

1:26because they basically just copied Sanity's homework. Anyway, um going

1:29Sanity's homework. Anyway, um going

1:29Sanity's homework. Anyway, um going through the fields here. So, you have

1:31through the fields here. So, you have

1:31through the fields here. So, you have your text, your modular content, your

1:33your text, your modular content, your

1:33your text, your modular content, your media. Uh all of these are unique for

1:35media. Uh all of these are unique for

1:35media. Uh all of these are unique for every single system. Um and when you

1:37every single system. Um and when you

1:37every single system. Um and when you click them, you can drag them in. You

1:38click them, you can drag them in. You

1:38click them, you can drag them in. You can press single line string. And I'm

1:40can press single line string. And I'm

1:40can press single line string. And I'm going to say, oh, this is the title of

1:41going to say, oh, this is the title of

1:41going to say, oh, this is the title of the page. Okay. Um now, some of them

1:43the page. Okay. Um now, some of them

1:43the page. Okay. Um now, some of them will have localization on, some of them

1:45will have localization on, some of them

1:45will have localization on, some of them won't. Uh there will be different

1:47won't. Uh there will be different

1:47won't. Uh there will be different validation. So, you can see the

1:48validation. So, you can see the

1:48validation. So, you can see the validation here. And this is a very

1:50validation here. And this is a very

1:50validation here. And this is a very important one because we're going to

1:51important one because we're going to

1:51important one because we're going to come back to this in a second. Um but

1:53come back to this in a second. Um but

1:53come back to this in a second. Um but validation is essentially the way that

1:55validation is essentially the way that

1:55validation is essentially the way that you actually validate the field. And it

1:57you actually validate the field. And it

1:57you actually validate the field. And it might sound simple you know oh okay it

1:59might sound simple you know oh okay it

1:59might sound simple you know oh okay it might be nice and easy but what happens

2:01might be nice and easy but what happens

2:01might be nice and easy but what happens if you for example need to match a

2:02if you for example need to match a

2:02if you for example need to match a specific pattern and some of these do

2:04specific pattern and some of these do

2:04specific pattern and some of these do support it some of them say you know URL

2:06support it some of them say you know URL

2:06support it some of them say you know URL or email custom format and this is where

2:08or email custom format and this is where

2:08or email custom format and this is where it starts usually going to reax. Um, if

2:11it starts usually going to reax. Um, if

2:11it starts usually going to reax. Um, if you don't know what reax is, it's a

2:12you don't know what reax is, it's a

2:12you don't know what reax is, it's a really really complicated way of saying,

2:14really really complicated way of saying,

2:14really really complicated way of saying, "Oh, by the way, the the third letter

2:16"Oh, by the way, the the third letter

2:16"Oh, by the way, the the third letter has to be a capital or something like

2:18has to be a capital or something like

2:18has to be a capital or something like that." Or we can only do uh regular text

2:21that." Or we can only do uh regular text

2:21that." Or we can only do uh regular text and dashes. Um, so this is kind of

2:23and dashes. Um, so this is kind of

2:23and dashes. Um, so this is kind of useful, but the problem here is, and

2:25useful, but the problem here is, and

2:25useful, but the problem here is, and this is what we always recommend, the

2:27this is what we always recommend, the

2:27this is what we always recommend, the same thing is GUI base stops at a

2:30same thing is GUI base stops at a

2:30same thing is GUI base stops at a certain point with validation. It also

2:32certain point with validation. It also

2:32certain point with validation. It also stops at a certain point when you need

2:33stops at a certain point when you need

2:33stops at a certain point when you need to do something custom. So, as you can

2:35to do something custom. So, as you can

2:35to do something custom. So, as you can imagine, their GUI is presented on their

2:38imagine, their GUI is presented on their

2:38imagine, their GUI is presented on their website, but as soon as you want to

2:39website, but as soon as you want to

2:39website, but as soon as you want to start doing things like, "Oh, by the

2:41start doing things like, "Oh, by the

2:41start doing things like, "Oh, by the way, can I integrate our uh custom

2:43way, can I integrate our uh custom

2:43way, can I integrate our uh custom component that we use on the website?"

2:45component that we use on the website?"

2:45component that we use on the website?" Or, "Can I create a uh brand new SEO

2:48Or, "Can I create a uh brand new SEO

2:48Or, "Can I create a uh brand new SEO validator that sits inside of here?" Or,

2:50validator that sits inside of here?" Or,

2:50validator that sits inside of here?" Or, "Can I make sure that if this website

2:52"Can I make sure that if this website

2:52"Can I make sure that if this website has Wikipedia, we don't reference to it

2:54has Wikipedia, we don't reference to it

2:54has Wikipedia, we don't reference to it because we shouldn't be using Wikipedia

2:55because we shouldn't be using Wikipedia

2:55because we shouldn't be using Wikipedia pages to reference to." um that's not

2:58pages to reference to." um that's not

2:58pages to reference to." um that's not possible with these validations usually

3:01possible with these validations usually

3:01possible with these validations usually inside of a GUI based CMS. Compare this

3:05inside of a GUI based CMS. Compare this

3:05inside of a GUI based CMS. Compare this to um this is the sanity version. You

3:07to um this is the sanity version. You

3:08to um this is the sanity version. You should always remember this. Um this

3:09should always remember this. Um this

3:09should always remember this. Um this version has obviously a visual way that

3:11version has obviously a visual way that

3:11version has obviously a visual way that you can edit the page. You know, you can

3:12you can edit the page. You know, you can

3:12you can edit the page. You know, you can click on things, you can, you know,

3:14click on things, you can, you know,

3:14click on things, you can, you know, drop, drag and drop, you can do all this

3:15drop, drag and drop, you can do all this

3:15drop, drag and drop, you can do all this kind of stuff. Nice and simple. So, same

3:17kind of stuff. Nice and simple. So, same

3:17kind of stuff. Nice and simple. So, same fields, everything the exact same.

3:19fields, everything the exact same.

3:19fields, everything the exact same. However, there's a lot of custom stuff

3:21However, there's a lot of custom stuff

3:21However, there's a lot of custom stuff that you may want to do inside of here

3:23that you may want to do inside of here

3:23that you may want to do inside of here that Sanity allows you to do because

3:25that Sanity allows you to do because

3:25that Sanity allows you to do because it's a codebased. Um, now that's not the

3:28it's a codebased. Um, now that's not the

3:28it's a codebased. Um, now that's not the only benefit. Um, there is some

3:29only benefit. Um, there is some

3:29only benefit. Um, there is some negatives as well, but the benefits are

3:31negatives as well, but the benefits are

3:31negatives as well, but the benefits are that you can also um build custom things

3:34that you can also um build custom things

3:34that you can also um build custom things inside of it. So, if you look here, this

3:36inside of it. So, if you look here, this

3:36inside of it. So, if you look here, this is the blog page on our uh Robboto

3:39is the blog page on our uh Robboto

3:39is the blog page on our uh Robboto Studio website. You can see we have

3:41Studio website. You can see we have

3:41Studio website. You can see we have things like create OG image field image

3:44things like create OG image field image

3:44things like create OG image field image preview field. Um, the reason why we use

3:46preview field. Um, the reason why we use

3:46preview field. Um, the reason why we use that is because I don't want to have to

3:47that is because I don't want to have to

3:47that is because I don't want to have to create a brand new image every time I

3:49create a brand new image every time I

3:49create a brand new image every time I push things to Sanity Exchange. I just

3:51push things to Sanity Exchange. I just

3:51push things to Sanity Exchange. I just use uh the OG image field that we've

3:53use uh the OG image field that we've

3:53use uh the OG image field that we've built to generate a very purposefully

3:56built to generate a very purposefully

3:56built to generate a very purposefully built uh image with all the text and all

3:58built uh image with all the text and all

3:58built uh image with all the text and all the data and a generated cat um on

4:01the data and a generated cat um on

4:01the data and a generated cat um on there. So, it it means that every single

4:03there. So, it it means that every single

4:03there. So, it it means that every single time we publish something to Sanity

4:05time we publish something to Sanity

4:05time we publish something to Sanity Exchange um we're doing it in a fraction

4:07Exchange um we're doing it in a fraction

4:07Exchange um we're doing it in a fraction of the time. And the idea you you'll

4:09of the time. And the idea you you'll

4:09of the time. And the idea you you'll hear this again and again, but the

4:11hear this again and again, but the

4:11hear this again and again, but the reason why we love codebased CMS's is

4:14reason why we love codebased CMS's is

4:14reason why we love codebased CMS's is because you get this progressively

4:16because you get this progressively

4:16because you get this progressively better and better and better um kind of

4:20better and better and better um kind of

4:20better and better and better um kind of gains in publishing and and what's the

4:22gains in publishing and and what's the

4:22gains in publishing and and what's the word that they use? They use content

4:24word that they use? They use content

4:24word that they use? They use content velocity. That's the word that we're

4:25velocity. That's the word that we're

4:25velocity. That's the word that we're looking for. Um so they use this

4:27looking for. Um so they use this

4:27looking for. Um so they use this expression of content velocity. The more

4:29expression of content velocity. The more

4:29expression of content velocity. The more you can do that, the less time you have

4:31you can do that, the less time you have

4:31you can do that, the less time you have to burn through marketers and things

4:32to burn through marketers and things

4:32to burn through marketers and things like that. And again, the same principle

4:35like that. And again, the same principle

4:35like that. And again, the same principle here. So there's a lot of reusability

4:36here. So there's a lot of reusability

4:36here. So there's a lot of reusability and a lot of things that you would do in

4:37and a lot of things that you would do in

4:37and a lot of things that you would do in JavaScript. Um so this all sounds very

4:40JavaScript. Um so this all sounds very

4:40JavaScript. Um so this all sounds very positive. Why doesn't everybody just use

4:42positive. Why doesn't everybody just use

4:42positive. Why doesn't everybody just use codebased CMSs, right? Well, there is

4:45codebased CMSs, right? Well, there is

4:45codebased CMSs, right? Well, there is kind of this is the negative bit. It's

4:46kind of this is the negative bit. It's

4:46kind of this is the negative bit. It's harder to build them. Um and anything

4:49harder to build them. Um and anything

4:49harder to build them. Um and anything that has a skill floor that's a lot

4:50that has a skill floor that's a lot

4:50that has a skill floor that's a lot higher, people go, "Oh I don't

4:52higher, people go, "Oh I don't

4:52higher, people go, "Oh I don't want to learn that." Um so it is more

4:55want to learn that." Um so it is more

4:55want to learn that." Um so it is more difficult. Now, Sanity does have an

4:56difficult. Now, Sanity does have an

4:56difficult. Now, Sanity does have an entire learn section, but it's still

4:58entire learn section, but it's still

4:58entire learn section, but it's still quite a difficult tool to learn if

5:00quite a difficult tool to learn if

5:00quite a difficult tool to learn if you're not used to kind of like the

5:01you're not used to kind of like the

5:01you're not used to kind of like the paradigms of um how a headless content

5:04paradigms of um how a headless content

5:04paradigms of um how a headless content management system works. So, what I

5:06management system works. So, what I

5:06management system works. So, what I would say is is our personal preference

5:08would say is is our personal preference

5:08would say is is our personal preference is always a code-based CMS, but it is

5:11is always a code-based CMS, but it is

5:11is always a code-based CMS, but it is very important to know the differences

5:13very important to know the differences

5:13very important to know the differences here, which is that if you have a GUI

5:15here, which is that if you have a GUI

5:15here, which is that if you have a GUI based, there are going to be more

5:16based, there are going to be more

5:16based, there are going to be more agencies that can work with a GU GUI

5:19agencies that can work with a GU GUI

5:19agencies that can work with a GU GUI based CMS or a GUI based uh content

5:22based CMS or a GUI based uh content

5:22based CMS or a GUI based uh content modeling system. Um, but it ultimately

5:24modeling system. Um, but it ultimately

5:24modeling system. Um, but it ultimately will be worse when you get to the point

5:27will be worse when you get to the point

5:27will be worse when you get to the point of I can't do this anymore or I can't do

5:29of I can't do this anymore or I can't do

5:29of I can't do this anymore or I can't do this particular functionality because

5:31this particular functionality because

5:31this particular functionality because it's limited by the CMS itself. Whereas

5:33it's limited by the CMS itself. Whereas

5:33it's limited by the CMS itself. Whereas something like sanity and by proxy, I

5:36something like sanity and by proxy, I

5:36something like sanity and by proxy, I think payload is similar. Um, you will

5:38think payload is similar. Um, you will

5:38think payload is similar. Um, you will get the point where it doesn't matter

5:40get the point where it doesn't matter

5:40get the point where it doesn't matter how complicated it is, it can be built.

5:42how complicated it is, it can be built.

5:42how complicated it is, it can be built. It's just a case of time and money that

5:44It's just a case of time and money that

5:44It's just a case of time and money that that needs to be used to be able to

5:46that needs to be used to be able to

5:46that needs to be used to be able to build the thing. Um, and so you can see

5:49build the thing. Um, and so you can see

5:49build the thing. Um, and so you can see this here, nice and simple, but if you

5:50this here, nice and simple, but if you

5:50this here, nice and simple, but if you can read this, and it reads kind of like

5:52can read this, and it reads kind of like

5:52can read this, and it reads kind of like traditional JSON. Um, then you can

5:54traditional JSON. Um, then you can

5:54traditional JSON. Um, then you can basically build anything. Um, and there

5:56basically build anything. Um, and there

5:56basically build anything. Um, and there is some really clever stuff that's in

5:58is some really clever stuff that's in

5:58is some really clever stuff that's in here. So there is things like AI

5:59here. So there is things like AI

5:59here. So there is things like AI automation in here because we don't

6:01automation in here because we don't

6:01automation in here because we don't actually want to write our FAQ questions

6:03actually want to write our FAQ questions

6:03actually want to write our FAQ questions every single time when we build a blog.

6:04every single time when we build a blog.

6:04every single time when we build a blog. We would much rather just take the

6:06We would much rather just take the

6:06We would much rather just take the entire content of the blog and generate

6:07entire content of the blog and generate

6:07entire content of the blog and generate the FAQs. Um, but the best thing to do

6:10the FAQs. Um, but the best thing to do

6:10the FAQs. Um, but the best thing to do if you were trying to to weigh up the

6:12if you were trying to to weigh up the

6:12if you were trying to to weigh up the difference between what is a um GUI

6:14difference between what is a um GUI

6:14difference between what is a um GUI based CMS versus a codebased CMS um is

6:18based CMS versus a codebased CMS um is

6:18based CMS versus a codebased CMS um is just run the default templates from both

6:21just run the default templates from both

6:21just run the default templates from both um so from Sanity and from Datau and

6:24um so from Sanity and from Datau and

6:24um so from Sanity and from Datau and from any other tool that you're looking

6:25from any other tool that you're looking

6:25from any other tool that you're looking to potentially use um and see how they

6:28to potentially use um and see how they

6:28to potentially use um and see how they feel and whichever one feels the best go

6:30feel and whichever one feels the best go

6:30feel and whichever one feels the best go for that one. It's as simple as that.

6:32for that one. It's as simple as that.

6:32for that one. It's as simple as that. Um, but the other side of this is think

6:34Um, but the other side of this is think

6:34Um, but the other side of this is think also about how you're going to scale

6:36also about how you're going to scale

6:36also about how you're going to scale your website because if you want to be

6:37your website because if you want to be

6:37your website because if you want to be able to scale something that's like to

6:39able to scale something that's like to

6:39able to scale something that's like to 10,000 pages with a lot of nuances, you

6:4210,000 pages with a lot of nuances, you

6:4210,000 pages with a lot of nuances, you probably won't be able to do it as well

6:43probably won't be able to do it as well

6:44probably won't be able to do it as well with a GUI based CMS. Um, I hope this

6:47with a GUI based CMS. Um, I hope this

6:47with a GUI based CMS. Um, I hope this helps. I don't know anybody or I haven't

6:49helps. I don't know anybody or I haven't

6:49helps. I don't know anybody or I haven't seen too much uh talk about people

6:51seen too much uh talk about people

6:51seen too much uh talk about people coining the terms GUI based CMS and

6:53coining the terms GUI based CMS and

6:53coining the terms GUI based CMS and codebased CMS and I don't see it thrown

6:55codebased CMS and I don't see it thrown

6:55codebased CMS and I don't see it thrown around a lot, but it's actually the core

6:57around a lot, but it's actually the core

6:57around a lot, but it's actually the core thing that changes how you build your

6:59thing that changes how you build your

7:00thing that changes how you build your website. So pay attention to it and if

7:02website. So pay attention to it and if

7:02website. So pay attention to it and if you have any questions just send us a

7:04you have any questions just send us a

7:04you have any questions just send us a message over. Cheers. Take care. Bye.

Questions answered

Editorial answers from the original Roboto page.

What's the difference between a code-based and GUI-based CMS?

A GUI-based CMS (Dato, Contentful, Storyblok) builds content models with drag-and-drop fields in an admin UI. A code-based CMS (Sanity, Payload) defines those models in JavaScript or TypeScript files in your repo. The trade-off is straightforward. GUI is easier to learn; code lets you do anything you want with custom fields, validation, and components.

Read the original ↗
What is a code-based CMS?

A code-based CMS defines its schema, validation, and custom fields in source code rather than through a web UI. Sanity and Payload are the two main examples. Because the schema lives in code, you can drop in custom React components, write arbitrary validation, and reuse fields the way you'd reuse functions in a normal application.

Read the original ↗
What is a GUI-based CMS?

A GUI-based CMS (Dato, Contentful, Storyblok, and most of the market) has you build content models by dragging fields into a form-builder inside the admin UI. It's faster to onboard non-developers, but the level of customization is capped at whatever the vendor exposes through that UI, especially around validation and custom field types.

Read the original ↗
Sanity vs Dato, which is better?

Both are solid headless CMSs, and Dato's marketing template and Sanity's Turbo Start template can produce visually similar sites. The choice comes down to how custom you need to go. Dato is faster for straightforward content models; Sanity wins as soon as you need custom fields (like an OG image generator), regex-style validation, or AI-driven automations baked into the studio.

Read the original ↗
Sanity vs Contentful, which should I choose?

Contentful is GUI-based, Sanity is code-based. Contentful is the safer pick if your team has more content editors than developers and you want a settled, well-documented CMS. Sanity is the right call if developer flexibility matters; custom inputs, AI workflows, or anything beyond the standard set of fields will be easier to build there.

Read the original ↗
What is content velocity?

Content velocity is how fast a team can ship new content; write, publish, iterate. The argument for code-based CMSs is that the studio compounds. Each custom field (an automatic OG image, an AI-generated FAQ block, a structured author profile) shaves time off every future post, and those wins keep adding up across the year.

Read the original ↗
Is Payload similar to Sanity?

Yes. Payload is also code-based, with schema defined in TypeScript files. The video calls out that Payload "copied Sanity's homework" in a good way. If you've decided you want a code-based CMS but Sanity's hosting model isn't a fit, Payload is the closest equivalent.

Read the original ↗
How do I choose between a code-based and GUI-based CMS?

Spin up the default starter template from each candidate (Sanity's Turbo Start, Dato's marketing template, etc.), spend half a day in each, and pick whichever editing experience feels best. Also factor in scale; at 10,000+ pages with nuanced content models, a code-based CMS holds up better than a GUI-based one.

Read the original ↗

Scope and context

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