June 3rd, 2020 × #CMS#Headless CMS#Web Development
Headless CMS Break Down & Roundup
This podcast episode provides a breakdown of headless CMS options, including hosted, self-hosted and API-based systems. Scott and Wes discuss key considerations when evaluating CMS choices and provide an overview of popular options in each category.
Transcript
Announcer
You're listening to Syntax, the podcast with the tastiest web development treats out there. Strap yourself in and get ready. Here is Scott Tolinski
Wes Bos
and Wes Bos. Welcome to Syntax, the podcast with the tastiest headless CMS treats. Today, we've got a breakdown of both, like, why you might wanna use a headless CMS, what are things that you should take into account. We get this question all the time like, hey, Weston Scott. What headless CMS should I use? And the answer, unfortunately, is it depends. There's so much that you need to think about in terms of data and hosting and pricing and self hosted backups, images, things like that. So we're gonna go through a whole bunch of things to think about for a headless CMS as well as we're gonna rattle through a huge list of hosted, self hosted, and bring your own UI CSS for you. We're gonna get into it. Today, we are sponsored and, intentionally did not look at who Wes sponsoring today's episode. We booked this, like, 6 months ago. I told Scott before we added the sponsors, I said, whoever's sponsoring today Yeah. Because, obviously, we have several headless CMS sponsors on this podcast. I said, whoever sponsors today, we're not gonna we can't change it. We booked it 6 months ago. So one of the sponsors is a headless CMS, Sanity, and the other sponsor is FreshBooks, which is cloud accounting.
Wes Bos
We'll talk about both of them partway through the episode. We'll talk about Sanity, actually, in this episode as well.
Wes Bos
Hey. How are you doing today, Scott?
Wes Bos
I'm doing good. I was I was considering because I had written the word roundup in this episode title, I was considering doing, like, a get along little doggies kind of thing, like, you Node Wild Wild West thing, Jim West Desperado, you Node? I don't I don't know what that is. Roundup? Like a roundup? Isn't that where you, like, lasso all the bulls and stuff? Oh,
Wes Bos
did you guys have that commercial for Arby's?
Wes Bos
Round up. Yeah. That's that's the exact same concept.
Wes Bos
It's just that Arby's was using that as a a roundup, you know, roundup.
Wes Bos
$5 for 5 meat sandwiches. Round up. I remember, like, looking at that and be like, oh, that's disgusting.
Wes Bos
Yeah. I used to I used to dig Arby's. I'm not gonna lie. I'm not gonna I'm not gonna front like I didn't. But, no, I haven't done fast food like that in a little while, but I used to. Is Arby still a company? Would have to imagine.
Wes Bos
Did you know that RB stands for r the letter r and the letter b, which spells out roast beef? Roast beef.
Wes Bos
No. RB's.
Wes Bos
That's next level. Did I just blow your mind? That's awesome. Yeah. Alright. Well, we've got a massive show today, so let's get on into it. That's cool. Let's start, I guess, just with we were talking about, like, what is a headless CMS and and why might you wanna use 1. So a headless CMS is a content management system that you actually, Scott and I were sort of, like, putting things on the list here, talking about, like, what is even a CSS. So I think a headless CMS is a piece of software that runs on a server. You can log into it and manage your data. You can create new data types. You can create new pages. You can create new people, and then you can attribute different pieces of data to that. The part that makes it headless, because that's what a lot of CSS do, is that the data that comes out of that CMS is not coming out in terms of HTML or it's not rendered out in a theme or anything like that. The data just comes right out of it raw, and the format that that generally takes is it either comes out as a Wes API that returns JSON, a GraphQL API that returns JSON. There's a couple other ones that are out there, but, generally, it's either a REST API or a GraphQL API that will return to you the raw data, and then it's up to you to go ahead and take that data and do what you please with it.
Things to consider when choosing a CMS
Wes Bos
Yeah. We were having this discussion when we warp adding things to this list, and it was just sort of like, well, Node. That's not a CMS. And I'm like, yeah. It is a CMS. And then we realized that there is such a wide spectrum of, like, how much it does for you versus how little it does for you that are, like, what point is that threshold that it's no longer considered a CMS? I wrote down, like, is a hot dog a Sanity? Because that's, like, the same discussion. At what point does it stop being a sandwich? Scott was talking about Hasura Yeah. Which is a, like, a GraphQL
Wes Bos
API. Yep. And I was like, that's not really a headless Wes. And he's like, well, they have an interface. They have an interface. That's kinda just like PHP myadmin. Right? Like, you can edit the text box. But it isn't. But you can add data with it. There's the data fields. So it kinda is a a headless CMS. That's what I'm saying. It's funny be you say that, but, like, also, there's there's parts of my website that I don't have a UI for. And if I wanna edit that piece of my website, I just go into the database tool and and write some queries and edit it. So I guess it kinda is a headless CMS in that regard, and it's obviously it doesn't
Wes Bos
have the nice UI that most of them will have, but I think it is. I think it's definitely a conversation. I don't know at what point, because you made a really great ESLint, because you pretty much posted, is PHP my admin a c a CMS? And, obviously, the answer is no. It's a big no. But, like, Hasura is just the nicer version of what's going on there, like, a much nicer version, but it's still a nicer version of, like, a database interface.
Wes Bos
Totally. Granted, you can add another data, but it is a big conversation. Like, what ESLint? I Wes, it doesn't really matter. Like, none of this really matters because it's all up through the threshold of of whether or not it's user friendly. And I actually have a great idea. We could make a site that is just all of the headless CSS and then rated as to, like, who could use them. Could my dad use it? My dad could not use Hashira. My dad could use, WordPress, definitely.
Wes Bos
Yeah. It's like it's like a like, somebody who's Node non Wes development, can they use this thing to figure it out? Right? They're used to posting on social media. Right? Could a Facebook user use this? Yeah. So I'm
Wes Bos
building a Gatsby course right now, and I went down the road of trying out a whole bunch of different CMSs to see what would be best for this, and I ended up did going with Sanity. And what I learned is that there's this huge threshold between usability and and Node UI, and on the other end of things, there is total control over your your CMS, and then there's a lot of stuff Scott in between. And with most of them, you you have to sort of pick and choose which end of the spectrum you want. We'll talk about that a little bit more. A lot of people, like, assume that, like, oh, yeah. You use the headless CMS with Gatsby, and that that's why you would need it. But a headless CMS, the whole point of it being headless is that your front end is not dictated by the CMS itself.
Wes Bos
You don't have to have a static website, so it's pretty popular to use Gatsby or any of these static site generators with a headless CMS just because they don't have a back end for you to log in to, you you can use them with anything. So the whole idea is that you have your data, and you can pull it into your Bos app, your mobile website, your Android app, your static website.
Wes Bos
You can pull it into, like, a widget on a menu, a UI, or anything like that. The data is free for you to pull in at any time, whether that's on build at a static site generator or whether that's every single time a user loads a page or whether that's every half an hour you refresh the data and then cache that's maybe server side.
Wes Bos
It's such a good point. That JS the conversation. It's like, why would you need a headless CMS? Well, that's it right there. I mean, it's the same reasons why you Node an API versus why you just connect to a database. Right? Yeah. Exactly. You want to sort of normalize
Wes Bos
the access layer so that whoever or whatever needs to access the data is able to do
Wes Bos
so. Cool. So let's get into the next section, which is we're gonna talk about things to think about when choosing a CMS. Right? These are the sort of the feature set of various CSS, and some do the the each of these features better than others. And I wouldn't necessarily say there's any perfect one, so that's something to keep in mind here. It's really which of these fit your needs the best. So let's talk about some of these needs, and one of the big ones is authentication.
Wes Bos
Like, who needs to authenticate? Right? Do do other users need to authenticate, or is it just admins? Right? Because you can't really have a CMS without sort of admin CMS stuff. Right? So, obviously, the admin's going to need to log in. But what about users? How many users are going to need to log in? Is it going to be a mass use thing? Is there going to be a permissions and roles based thing? What does that look like? Right? Can users post to this site?
Wes Bos
That's a big deal too. Right? If users can log in, but they can just save things or whatever, that's a very different story than users logging in and posting things. I know I just think about the giant matrix of checkboxes that is the Drupal permissions, but it is totally needed because you can tweak every little permission there, and that is a big, big feature set. Yeah. Some of these CMSs have just a user. Someone can log in and do anything they want, and and some of them go super nitty gritty Wes someone can create content but not post it live. Someone can see something but not edit it. Edit it but not publish it. There's just no rules at all. So it's important to look at what do you need before you get into it. Otherwise, you could be I don't know, a month into a project and realize, oh, there's nothing to do that. And some of these things, they assume that you'll be writing your own auth strategy if you need that low level, fine grain control. Totally. The next 1 we have here is how easy is it to create your own data types? So if you want to go ahead and create a listing of stores, and every single store has a name and address, and then each of those stores has employees. That's like a relational another data type, which is a user. Right? And you can connect those those people.
Wes Bos
How easy is it to go ahead and create a new data type? So some of them, you can just log in and create your new data types just with the UI in there. So I'm thinking of, advanced custom fields and custom post type UI in WordPress.
Wes Bos
Prismic is like this as well. There's there's no, like, code story to it. You you can export it to JSON, and and put that in your your git, but you, generally, you just log in and use the UI to create it. Where on the flip side, there is a lot of CMSs that are entirely based on schemas and JSON documents and importing types and setting all the all the settings rather than check boxes in the UI, everything is done in code. So that's something to to think about as well JS who is the user that is going to be setting this all up? Is it a developer? If that's the case, then you can do it in code, or is it someone who just prefers to to do it in the UI? Because sometimes I look at these things, and I go, it's too much config Mhmm. To get this thing up and running. I'd just rather use a nice GUI. Just so you know, if if there was ever this conversation back in the day of Drupal versus WordPress, the reason why I prefer Drupal myself
Wes Bos
is because it was so easy to create new data TypeScript WordPress, you always had to install a plug in or get into the code to do it. So to me, it was always like that that was just such a easy feature of Drupal. It felt like it was, you know, the the easy part of it. Yeah. That's one thing I I never understood about WordPress is that the, like, 2 of the the most powerful things in WordPress, which is creating custom content types, creating custom taxonomies,
Wes Bos
and creating UI for custom fields.
Wes Bos
That without a plug in, those things are absolutely useless in in WordPress. Now you can do it in your functions page crazy because it's so easy in Drupal. Yeah. That is that is silly. And, obviously, there's a huge market, and almost everybody automatically installs those plug ins into WordPress anytime you wanna go. But it's funny that they've never taken that on themselves. Totally. Yeah. Because those UIs aren't even very good for those, no offense to those developers. I think those UIs could be much better. Oh, man. Oh, I'm gonna say I love advanced custom fields.
Wes Bos
Sorry.
Wes Bos
UI?
Wes Bos
Can I get a set up? UI? You can't say. I don't well Wes. So I don't know if you've ever used Drupal, but even, like, Drupal 7 or Drupal 6, like, even those versions of Drupal warp like, that that tells you what an interface for creating custom content types could be like, and it's just so much better. It's way better. So, like, after you've used that, if you use ACF, you're just like,
Wes Bos
what is this? No. Hold on. I wanna talk about this because, like, a huge portion of our audience uses WordPress.
Wes Bos
And, like like, for me, advanced custom fields is you create your your group, you drag and drop your your things, you set your settings, and then you you add your rules where you want these fields to show up, and you click on save. I'm I'm, like, wonder like, how can that get better? Like, what what does Drupal do? It's just the actual UI. The functionality is largely the same. So you click no. There's you know, it's basically like a table of fields, or you can group them together or whatever, but it's basically a table of fields. And then you can say, alright. I want a new field. What kind of field is this? Oh, it's a reference to another content or it's a image upload or whatever. You just it's like creating a a like a database table. You just say, here's the field. Here's what it is. Here's the field. Here's what it is. Here's the field, but it's in a big table, and there's none of these, like, groups by default. Right? The groups by default thing is weird to me, and it gives you a 1,000 options when you don't need a 1,000 options most times. You only need, like, 1 or 2 options, what the field is, what it does, and then you can elaborate with more options if you need them. But Drupal hides a lot of that stuff, so it's not just this cluster of information.
Wes Bos
I think you're you're talking about the Custom post types? Not advanced custom fields. Custom post types. That does give you 5,000,000 options, which is frustrating.
Wes Bos
Yeah. No. Advanced custom fields is where you so the custom post types is where you create your types, but the UI for adding custom fields is actually really, really good.
Wes Bos
Oh, yeah. But, yeah, I totally agree with you there. It it is very confusing. Yeah.
Wes Bos
Alright. Next 1 JS, can you create one off content TypeScript, can you take, like, a single page, and that page has very specific requirements, right, some specific fields. Like, is it an FAQ page? Maybe it needs, like, question and answer field, or is it just like a giant text box? But can you create these one off content types that are used for one thing does has Node purpose and that just exists? So that that's definitely a thing whether or not I mean, that goes along right along with the content types anyways.
Wes Bos
Like, a one off is like a very specific thing, like a page or something. Like an options page, settings Mhmm.
Wes Bos
Node page, UI, something like that. I find myself needing to do that in almost every project that I do. Word. Next 1 we have here is custom workflows.
Wes Bos
Do you have control over what the process to publishing looks like? When somebody publishes something, does it need to ping somebody? Can you hook into these specific things? So a lot of the UI only ones don't have this, but a lot of the code ones do allow you to hook in at these different steps in the content creation types, and you can do things like run it through a spell checker and come back or ping email somebody or save a revision. Another thing is, like, drafts, revisions, rollbacks.
Wes Bos
That's another really powerful feature that a lot of these CMSs will have. It's version control. I mean, it's version control JS really what it is. Right? Next is going to be how are images handled? This is always a big thing. Wes you upload an image, how easy is that? Some of these services require a little bit to get images up and going. Some of them give you a ton of tools out of the box, and others just make it pretty standard. Right? So what does it look like? How much options do you have over the cropping, the output, the con the control of images? That's that's such a big big one.
Wes Bos
Yeah. A lot of them don't have anything, and you'll have to go and reach for Cloudinary? Cloudinary ImageX, Image IX, whatever it's called, and go ahead and do that because especially if you're using Gatsby Image, a lot of these services will give you all of the pieces you need for Gatsby Image without having to resize all of the images locally, which is kinda cool, as well as, like, a UI for uploading images. So if you wanna create, like, a gallery of images, I found very fragile interfaces where you have to create a repeater, and then that has an image and a caption. And then if you wanna reorder them, it's a little bit of pain. And then I found, like, oh, this is a very common thing that you need to do. A gallery field would be really nice to be able to do that. You can drag and drop 6 images, re reorder them, add alt tags in that interface.
Wes Bos
So that's pretty common to do on a website, and I I felt like a a good chunk of the ones I looked at were lacking good gallery fields.
Wes Bos
Next one we have here is field UI. So the hosted ones generally don't allow you to create custom UI for the upload fields.
Wes Bos
They give you a list of 10 or 15 possible, upload fields like a gallery field, like I just talked about. So what what is the predetermined UI out there? And the UI is huge in terms of, does the person who's gonna be using this thing at the end of the day, do they enjoy it or not? Is it frustrating to create things? Like, I even a couple of them that I tried is that my Internet was slow, and I wanted to create, like, 7 different toppings for my pizza. Mhmm. So I just, like, I wanted to right click open the new topping form because I had a pizza, and then I had a topping type. And the the the topping type was related to the pizza. And in order for me to just quickly add 7 toppings, it wasn't like WordPress where I could just add 7 categories or taxonomies to something. I had to first go to the toppings, create all 7 of those, and then go back to my pizza and select them from the list that I had made. And then I was like, okay. This is kind of a pain. And then I tried to, like, right click open new topping in 7 different tabs so I could at least get the UI open nice and quickly. And then it was a button, and I couldn't open a new tab. And I was like, oh, this is too Yarn. And it's just, like, little things like that you don't think about when you're you're looking at it. But once you get into it, you're 2 days into it. You go, oh, this is Yeah. This flow sucks. I want I want the, like, WordPress add a tag UI, which is very easy.
Wes Bos
Yeah. Totally. I I I totally feel you on that one.
Wes Bos
Sorry. Last thing I just wanna say here is two way relationships.
Wes Bos
Oh, yeah. Does the data update on both ends? So if you have, like, a movie that has actors and then you have actors that have movies, if you delete a movie from an actor, does the actor's movie also update?
Wes Bos
That's super important. Otherwise, your data gets out of control really quickly. Yeah. Totally. It's all about relational. The ones that do relational data really well do a really good job there. I think that that's a a key feature in the CMS.
Wes Bos
Next one is going to be data validation.
Wes Bos
How much control do you have over individual fields? Again, this even goes along with permissions, but, like, validating individual fields to not only who can do it, but, like, what can they type in this field? Is this a a number field, image field? Like, what kind of what kind of data validation can you have, and how does that output in the API, itself? And so giving full control over those fields, how those fields work JS a a key feature and how you validate those.
Wes Bos
The one thing I had was pizza prices. I wanted to make sure pizza was at least $10 and and not more than $35.
Wes Bos
So, obviously, simple validation isn't a number, but I also wanted to make sure that it was within that within that range. I wanted to make sure there was no decimals in it. And then when when that validation goes wrong or it's not validated, can you provide custom error messages to to that person? And that's where the code Bos ones Node over over the just simple UI ones because you essentially can just have a validation function and run the code yourself and throw errors if you want. Next 1 we have here is hosting. Is it hosted for you, or do you need to host it yourself? How much is that going to cost? The other next point we have here is pricing. How much does it cost? If you need to add 15 people, like, it's pretty popular right now for services to charge based on how many people are in there, and and what I see happening all the time, I've done this myself, is instead of just adding more people JS you just share the password Yeah. With everybody on your team. Right? Because it's getting it can get expensive real quickly. Don't do that. So that's Node to think about.
Wes Bos
Wes. Don't do that.
Wes Bos
Next one is going to be content movability.
Wes Bos
So, like, a lot of these, you know, the classic CMS types, they give you access to just the database, but it would be really difficult to move your site from a WordPress using straight up the database. But luckily for situations like that, there's all sorts of data exporting plug ins to make that easy enough. But that's something you need to think about because this CMS might not be available forever. Who knows? What if you're still on Joomla? Like, what are you gonna do? I'm gonna well, I'm gonna have to figure out how to get my data out of Joomla now. I don't know the story is there. I'm sure they there's very exportable data. But once we had a a client who had their data in a custom cold fusion CMS that there was exists, and it was, like, impossible to get the data out because that wasn't built into the CMS. There was no sort of exporting. The community was dead. Here was this once used CMS now that we had the site that was so many years removed. And what did I have to do? I had to have one of our PHP engineers write a script to parse all the data out into a CMS and CSV values to get us all the data correctly so that we could import it somewhere else. And it's like, alright. That would have been really great if you could have just done that in the UI or a one click to get your data into a CSV or something.
Wes Bos
Totally. Almost all of these will allow you to have your data because that's that's literally what they do. Yeah. Their their API is to get your data out, but, like, I'm talking about, like, other things Tolinski schemas, users, revisions, custom field types, all of that information about how your UI is built. Can you also get that information out of it or not? Sure. Yeah. Totally.
Wes Bos
What else we have here is is there a course or real time API? Do you need that? So can you use this API from the browser directly? Do you need API key for that, or is it meant to be used proxied through some sort of server? Is there a UI that allows you to specify domains that are course friendly or not? Is there a real time API? Does there a real time GraphQL API? Can you subscribe to things, or do you need to do polling? It's good things to think about as well. Yeah. Totally.
Wes Bos
Next is going to be the API. Like, what does this API actually look like? Is it only for querying, or is it for querying and mutating or modifying? Is it for, like, a GraphQL API? Is it a is it a REST API? What does this give you? Like, what does this Scott out? What are the options? Can you choose if you want an XML output rather than a JSON output? Not that anybody would. But could you choose, like, a a JSON Wes API over a GraphQL API if you wanted, or is it just straight up a GraphQL API or just straight up a REST API?
Wes Bos
Also, importing data, how how easy is it to import data? I was specifically using the Sanity import Node, and the really cool thing that they allow you to do is import files. Pay for this sponsorship. They didn't pay They're gonna pay for a part of this podcast, but not this part. You can import like, you can also import data, but you can import images as well. You just give it a path to an image on your local computer. And as part of the import process, it will also upload the file, and then link that file to it, which JS pretty nifty because a lot of times, the data in the CMS is JS just stored as, like, a JPEG path, and then you'd have to provide that yourself, but, that sort of came along as well. So there's a lot Jeez. Lot of things to think about when you are picking CMS. That's why we have this massive ESLint, and this is why we can't answer the question as to, like, which one is the best? What should you go ahead and use? Because there is there's a whole lot of give and take in this sort of world right now. So when you're starting a fresh new project, you're probably gonna need to look for one of these CSS.
Wes Bos
And maybe you're making some money off this thing, and then you're gonna need a fresh fresh FreshBooks
Wes Bos
to do all your cloud accounting software. Yes. FreshBooks is the cloud accounting software for your small business.
Wes Bos
If it is painful to send out invoices, track who's paid you, do your taxes, see see what local taxes you owe, different currencies, all that hard stuff. FreshBooks makes that easy. Want you to check it out freshbooks.comforward/ syntax, and make sure you use syntax in the how did you hear about a section. It's gonna get you a 30 day unrestricted free trial. Thanks so much to FreshBooks for sponsoring. Yeah.
Wes Bos
Cool. So let's get into this roundup.
Overview of hosted CMS options
Wes Bos
We're gonna start with the hosted CMSs.
Wes Bos
These are probably the quickest to to get up and running. So the first one we have on list here is Sanity. Sanity JS kinda kind of interesting because it is hosted, but both ends of the story here, the the, like, the back end. Let's call it the admin UI. The admin UI can be hosted either on Sanity. Like, you you can deploy it or you can host it yourself. Their admin UI is called Sanity Studio, and it's a React application.
Wes Bos
And, obviously, the headless the front end of your your website is also hosted by yourself. So, like, how does that make Sanity hosted? Well, they give you Sanity Studio, which is a full blown admin UI that you can use to talk to Sanity API.
Wes Bos
But you can also because it is just code and because it is React, you have full control over creating custom content types, creating custom validations over how it's displayed in the sidebar, colors, every pretty much anything. Right? It's just it's just JavaScript at the end of the day, so you do have control over that, which is pretty Sanity. And that's actually the one that I ended up going with for my upcoming course. I intentionally, like, didn't look at it. Like, I I asked on Twitter, like, what should what should I use? I intentionally didn't, like, say I was checking out with Sanity because I knew that they were obviously were a sponsor of the podcast. I didn't wanna, like, taint that in any way, and the response was very heavily weighted in WordPress, Sanity, Strapi, and there was quite a few Drupal there as well. So, it's good to see that a lot of the community was there as well. Yeah. So next up is prismic@prismic.i0.
Wes Bos
And outside of what we've experienced via Prismic, from the sponsorship, again, my opinions here are not paid for. I have not had a ton of actual real world experience with Prismic. It looks really great, and I think there's a lot of really interesting features about it. One thing I really like is that they really emphasize the, content editing portion of things. It it just looks nice. Right? Like, the the editor looks Node. And I think that's such a one of these features in a headless CMS that's totally overlooked a lot of time JS what is what is the actual content editing experience like? And they have, you know, drag and drop, and everything looks really nice. A lot of, like, really nice design touches on here. So I I don't have the experience with it where I can say, like, oh, it does this and this and this and this and this, but I really love the attention to detail that they have done in the design of everything. Yeah. I also did check this out for my course, and, it was really cool because I just I talked to the folks behind it after I decided not to go with it for my course, and it was actually really good
Wes Bos
because there is no there's no code setup. You don't npm install anything to get going. You just create an account. You log in. You you click the plus button to create your types. You create all your fields. You relate them to all each other. You can create repeatable things and all that. That was awesome. It also comes with so for all of your images under the hood. The reason I went with Sanity over Prismic was because of the control over custom inputs. So they give you, 15 or so inputs, rich text editing, basic text, image upload.
Wes Bos
I don't know. There's, like, every every type of input you could you could think of, but as soon as you wanna make a custom UI for yourself, which is not in every every case, but sometimes you do wanna do that, then you don't have control over that. So sort of as a trade off for the ease of getting up and running, like, I I signed up and had data in my Gatsby thing in, like, 5 minutes. Which is that The the trade off for that is you don't have full control over the UI, but the UI is is pretty slick. Next up we have here is Contentful, also have been the sponsor of this podcast.
Wes Bos
I've not used them. Also known as Contentful.
Wes Bos
Is it Contentful?
Wes Bos
I don't know. I don't know. I think people just say it both ways. That's why it was the joke. Probably Scott Contentful. I don't Node. I don't know what it I mean, Content full? Scott content? I'm I I mean, this thing makes me content. I guess that could be a
Wes Bos
So they've been around for for a while. Have you used them before? Node. We used them in a Vercel up tutorials course.
Wes Bos
So Contentful or Contentful is, again, really easy to get up and running. I like that they have a lot of, like, features like the the webhook experience is really nice. The content editing experience, for the most part, is very, very nice. The the makes your data like a a 1st class citizen. It's all about your data. Right? Here's your data. There's tables of your data. Easy to access. Easy to edit. Everything works really well. In fact, it remind me of, like, what I occasionally wished WordPress would be like in a headless situation, and so I I really like those aspects of it. Now granted, I have heard from people. I I have not used it in this much of a a capacity. I have heard from others that it gets expensive.
Wes Bos
And, actually, just looking at it, the developer plan, $39 a month for the developer plan. That's 1 role.
Wes Bos
Node role, 24 content types, 5,000 records, $40 a month. That's expensive. So you're paying for that. Yeah. Maybe we should say what the prices are for these other Vercel as well because anyone who's driving right now can can get an idea of, like, where it starts.
Wes Bos
Sanity, the free plan is obviously $0, and then it goes up to $200 a month. That includes 20 users, and that's $10 per user past then, 90 day history retention. So that's kinda that's what Sanity is at. And then Prismic is sorta on the it's funny that we've had both of them sponsor, and they're very much on in different spaces because Prismic is $7 a month for for 3 users. So, like, if you wanna just get a quick website up and running, certainly, Prismic is a really good, use case for that, and it won't get too expensive on you real quick. And I think that's important to Node because, like, for a big company that's using this to power their thing, the difference between $7 $200 a month is is nothing. Right? Like, they're they have a payroll that is $300,000 a month, so they don't really care about couple $100 here or there. But then for some someone who's just building a website for a client, maybe a freelancer or something like that, then then the prices do matter because all of a sudden, something might be pretty pretty expensive if if if it goes up. So pricing is something you should definitely think of.
Wes Bos
Yes. You should always think about pricing before you spend the money. I I think we should maybe do, like, a Yelp dollar sign thing for these now. Now that we
Wes Bos
Yes.
Wes Bos
Honestly, like, this needs to be a thing. There's all these static site generator websites that compare everything, and there needs to be a website that
Wes Bos
compares all of these different headless CMSs as well. Cool. So the next one is going to be Datto CMS. Had you have you looked at Datto? It looks nice. The site looks nice. I have not used The most beautiful design ever. I have not used it myself. It's very You style without the grunge. Yes. Putting blocks of color behind text is my signature move. We need grunge. We need grunge on this thing.
Wes Bos
They have, video encoding and streaming built into it, which is pretty cool. So that's it looks like they use mux behind the scenes. Yeah. Yeah. Just really really cool. Like, a lot of these CMSs are not gonna roll their own image service or video service, so they just leverage using other services behind the scenes. That is pretty cool. Datto CMS, I'm going to need
Wes Bos
some help here with the pricing. It seems like because it's in euros. Right? This is the euro symbol. I don't know if you're on the site.
Wes Bos
It looks like it's free for the developer account, which is a single collaborator limits on quota, community based support. But it looks like they're the next plan up is €99 a month and then €1500 a month. So it seems like the pricing is quite a steep little jump up. So it seems like the for the developer, small project with low traffic, it's 0. But, eventually, it's going to get into, like, a $4 sign territory.
Wes Bos
That's a 107 US dollars to start. One thing, I'm looking at the docs for data right now, and they have looks like they have very fine grain control over roles and permissions.
Wes Bos
So you can add different rules about who can create, read, update, publish, unpublish, edit, and delete JS well as create other people,
Wes Bos
which is pretty nifty. So looks like they've nailed their permission story here. Yeah. Cool. Next Node, Storyblock. I use this for a Scott Try's video. The things I liked about story block is that they thought about the front end a lot if you needed a front end. Right, it it made the they tried to do a lot with, like, editor interface stuff where you could visualize your stuff as it's being typed. But I found a lot of the drag and drop tools to be a little confusing, didn't know where to go here or there, but they do make it nice and easy for you to get started with a boilerplate in terms of, like, oh, you wanna do a Gatsby boilerplate? Then, yeah, here. Just click Gatsby. You wanna do a, you know, view, whatever.
Wes Bos
What is the Vuex or any of those, go ahead. Nuxt. Yeah. Nuxt is the one I was thinking of, not the Redux thing. But, no, if you wanna do grid sum or Laravel or whatever, they make it really nice and easy to do that. I really appreciated that for pricing for this one, starts for free forever with 1 user. The basic plan is $7 per user per month, so it's a seat based pricing. $12 per user for the advanced, Wes for premium. It looks like the more features that it gets, if you need, like, custom workflows, scheduling, content staging, custom roles, import export, s three backups, you're gonna be paying more for that. I would say this is like a this is like a a $1 sign.
Wes Bos
I guess it's per user per seat, though. That it's a $1 per seat. So each time you add a seat, it adds another dollar to the Yelp score.
Wes Bos
That's great. Next 1 we have here is 8base. I have not tried this myself. Looks like they have a GraphQL API.
Wes Bos
8base was really confusing for me. It was nice. Yeah? I had to do Scott Tries video on 8base and just read their marketing copy because I had no idea what they did for a very long time. I was just like, okay. Well, what does this do? I don't understand. But then I think they it looks like they actually changed it. Hell, that's funny. They might have changed it. Their whole thing was, like, very marketing speak, and I was like, what is this thing? And now it just said build faster and better or something. It was like, get going faster. And I was like, well, what does that even mean? But now it looks like the very first thing, it says back end as a service professional grade software. Boom. Nice job, 8 Bos, for updating that. Shout out.
Wes Bos
So their pricing is I hate when companies do this. I get why they do it, but they do it based on, like, database rows and requests and how many 1 gigabyte an hour. Oh, it looks like they have serverless built in, which is pretty nifty. Mhmm. I always look at these companies that charge based on request and by the hour, and I'm like, I'm a developer. I don't know. Yep. I have no clue how many I'm gonna use, and that's why I like it when companies can sort of take a gamble and say based on the number of people using it or something like that. But it's $25 for a 1000000 database rows, a 1000000 GraphQL subscriptions, and a 1000000 GraphQL API calls a month, which seems like a lot, probably.
Wes Bos
Yeah.
Wes Bos
Scott and I are gonna get so many emails after this. Yes. I know. This is Every single company we mention here. The next one is Canadian based GitHub CMS.
Wes Bos
They have tried to get me to do a course on them for a long time, but I've not checked it out just yet. It looks like they are targeting more of a corporate world based on the website, seems to do a lot of request a demo, register for a webinar.
Wes Bos
Their website doesn't do a great job at actually showing the UI of the headless CMS, which is why I think they're probably trying to sell managers rather than developers or editors on the end of the day. But from what I've heard, lots of people have been recommending us to myself. You can, you can plug it right into Gatsby or Next or Nuxt or anything like that.
Wes Bos
Seems to be a pretty popular plus a Canadian out Yeah. Wow. Alright. Let's move real quickly into self hosted versions. So probably the most popular self hosted one that you can do, and this is what a lot of people are opting for JS headless WordPress. Why? Because, likely, you already have years years' worth of content already inputted into WordPress, and WordPress has a Wes API that you can pull your data out of. There's also WP GraphQL, which we had Jason who builds WP GraphQL. He's got hired by Gatsby now. That's a good option as well.
Overview of self-hosted CMS options
Wes Bos
Advanced custom fields, custom post type UI, custom plug ins, things like that in WordPress. Generally, all of these custom plug ins are saving their data as custom post types, custom taxonomies, and custom fields in WordPress. So if you have some sort of, like, something that sells tickets or a custom contact form or something like that, most of these plugins save their content as custom post types, and that means that you can then pull your data out of the API
Wes Bos
with that. Next up is Drupal, which has been around forever and ever and ever, shoots out an API. The admin interface is less friendly than WordPress' in some regards because it just gives you a ton of stuff. But once you tweak permissions and all those things and make it really nice and friendly and install a new admin interface, it is really a nice setup that I think a lot of people just don't reach for for whatever reason. Maybe they had never had an experience with it, but I always really liked working in Drupal in the CMS world. So I I would recommend checking out, Drupal.
Wes Bos
It's it's pretty cool. I haven't used it in a long time, well, mostly because I haven't done client work like this in a long time, but I might reach for Drupal again myself if I was reaching for a a PHP based back end for free.
Wes Bos
WordPress and Drupal, obviously, free except for if you have to buy plug ins? You don't buy plug ins in Drupal land. It's all free, all open source. Is it really? Yeah. Drupal sounds awesome. Like, the community seems like it just does not. They just kinda keep on chugging over over the time making awesome things. Someone linked me to this Contenta CMS.
Wes Bos
It's at con Contenta CMS.org.
Wes Bos
Contenta is an API first Drupal distribution. So it looks like it's a whole done for you headless CMS UI, and then it spits Scott, an API on the out out on the other end, which is pretty cool. So
Wes Bos
Next up is Craft CMS, which is a popular one, but it's a paid self hosted solution.
Wes Bos
And the pricing for this one is when you're solo, building a site for a friend, free forever. Okay? So you can get started and learn craft for free. And then, once you get into a pro, it's on per project basis rather than, like, a seats. Right? You just pay for the license. I like that. Hey. This is Craft CSS. Does this have any relation to XPression Engine? Oh.
Wes Bos
Crap. We transitioned from XPression Engine to Craft CMS. What are the differences between XPression Engine and Craft CMS? Most of what Pixel and Tonic used to offer baked into the CSS.
Wes Bos
So it seems like they're they are related. I'm not I'm not quite sure.
Wes Bos
This was one of those things. We used to use Expression Engine all the time, and it was a paid CMS. And you'd pay just for the project because it was it was nice. It was a nice experience that uses use that, PHP Node igniter, which is, like, sort of, it's Node like that precursor to, like, sort of a Laravel sort of system. Yeah. Laravel. Yeah. It's not the same code base, but, like, it was
Wes Bos
the PHP framework to use for a long, long time until Laravel came around. And, I haven't heard a lot of people using in a while, but I know it is still an active project.
Wes Bos
Next, we have Ghost.
Wes Bos
Ghost came out when Node became popular.
Wes Bos
Blocks. And it was like a Yeah. Yeah. It was like a blog. Node it seems like it's a full blown headless CMS built in node. I have not tried it in probably 6 years, but it seems like the people it's same same with Craft CMS. It seems like the people that use it absolutely love it. Let me tell you about something. I just went to the, like, what's new in Ghost three, and they offer, like,
Wes Bos
subscription and membership based accounts for, like, in in the CSS.
Wes Bos
Turn your views into an engaged audience with member sign ups in, like, paid seats.
Wes Bos
That sounds like a a really killer feature for this kind of thing. It looks like it's integrated directly.
Wes Bos
It almost looks like Braintree or something, but it looks through oh, no. Look. With Stripe payments. Cool.
Wes Bos
Wow. So that stuff's, like, built in. This is open source, but why it's paid but also open source. So what's the It might be the same as WordPress, right, where you can have 1 on there or you can host it yourself. Maybe I'm wrong. I like that approach quite a bit. This looks nice. I think I might reach for this. I wanna try it. Yeah. Me too. It looks Give me a Scott Tries video on this, please.
Wes Bos
Node coming right up, sir.
Wes Bos
Next is Strapi in Keystone.
Wes Bos
Tons of people tell me to to use Strapi. It's a open source headless CMS on Node. Js, which is pretty nifty.
Wes Bos
Keystone is very similar to that, a GraphQL API. You can create your schemas. It creates your UI for you and spits out an API.
Wes Bos
On the other end, you can also create your own custom input fields with Keystone. It is totally self hosted, which is pretty nifty as well. I bet we'll see a lot of Strapi in the next in the next year or so. It seems to be gaining some really good momentum right now. I have the last one here JS Joomla, and then I wrote j k because I I don't I haven't thought about Joomla in a long time. I was just,
Wes Bos
thinking this would be a funny option. Have you did you ever use Joomla?
Wes Bos
I did initially. I I used to do Drupal, WordPress, and Joomla all at the same time, and then I remember, like, just making a quick break, and I said, I'm only gonna do WordPress. So I dropped both Drupal and Joomla. And luckily, it was, like, the the right decision for me. Decision. Yeah.
Wes Bos
It's impressive. They're still going. Like, obviously, there's there's probably, like, millions of websites still built on Joomla that will never never switch over. Make it really easy to install via cPanel. It was just one of those icons. Install Joomla. Go.
Wes Bos
Next up is going to be an ad read and a totally nonrelated ad read to the rest of this episode. This ad read does not pertain to any of our opinions on any of this stuff, and it did not influence our decision to say nice things about them. However, this is the time where we do get to say nice things about them, and that's I'm talking about Sanity at Sanity Scott I o. Like Wes mentioned, they booked this episode, what, like, last Yarn, so, we didn't know that this this episode was gonna be. So The nice things we're saying here are very clearly paid. The nice things we said earlier are not paid. Yes. Exactly.
Wes Bos
Honestly, like, I did try out tons of CMSs before my next course, and I ended up going with Sanity just because, it strikes the right balance between control because it it is code that you run on your computer at the end of the day, and it just works, and it's done for you. The support is awesome. Like, I don't know. You if you if you sneeze and say Sanity on Twitter, they'll be there in 2 seconds chiming in. So it's an awesome CMS. I'd I'd recommend that you you check it out for your next project. They've they've got some pretty big customers that are running it. You you can count on their servers to be up, because it is a hosted version. They scale. They do all the, image compression and and CDN stuff for you at the end of the day, but then you also do get the control of being able to control what does the editing interface and workflow and validation and all of that stuff look like for me. So check it out, sanity.ioforward/ syntax.
Wes Bos
That's going to get you double the free usage tier. You can check out some some examples that you got there. Thanks so much to Sanity for sponsoring. Thank you for that conflict of interest. So next up is going to be the API here, and these are these are gonna be CMSs that they get into the conversation of, is this a CMS? And some of these are maybe a little bit more or less than others. Like Hasura to me, we had this conversation already.
Wes Bos
Yes. It is, like a database editing interface, but, yes, you can also edit your content on it, and it spits you out a nice GraphQL API.
Overview of API-based CMS options
Wes Bos
And you get accounts and subscriptions and all sorts of cool stuff. And then Wes just wrote Firebase. No. No. What are you what are you doing? That's a lot this is it's getting way too far away from his CMS.
Wes Bos
Fire well, Firebase has a editing interface. I don't know. I don't use Firebase. I'm sorry. They do. Oh, well, I I do. I don't, so let me speak on it. Let me let me just let's do a whole episode on Firebase without me using it. I can just teach you.
Wes Bos
No. It very similar to Hasura.
Wes Bos
Prisma, as far as I know, does not have a no. Sorry. They do. Prisma has a UI. Node do? And this is not pris Prismic.
Wes Bos
Prisma has a UI that is very similar to a database editing UI where you can edit your things. You can link relational documents.
Wes Bos
It's pretty pretty nifty, actually. I had used it. So I I miss Graphcool.
Wes Bos
I wished Graphcool would have Deno, like, like, stayed on that track. You know who did? Who picked that ring those those rings up? And and we actually forgot this one. I'll have to add it to the list, which is GraphCMS.
Wes Bos
Have you ever used GraphCMS? Have you seen that? Have you seen that? No. GraphCMS Have you seen this? Yes. GraphCMS, I actually used it for a course a while ago on an older version, and it was still pretty fresh.
Wes Bos
But it's been a while since I used it, and it's really cool. The thing I love about GraphCMS specifically is that it is sort of what GraphQL Wes, where everything is just done very for you in the interface, and it's it's out of GraphQL API.
Wes Bos
And at the time, there was, like, some relational data features missing, but it looks like it looks like they have, like, really stepped up the game here.
Wes Bos
They even have, like, ecommerce examples, Content GitHub, marketing apps, travel, Wiregrass, CMS. This thing looks really slick now.
Wes Bos
Not that it didn't look slick. The design was always slick, but it was, like, features that were missing. But it looks like custom roles and permissions, mutation API, management API, playground.
Wes Bos
Oh, that's just TypeScript deal. Playground, interactive schema editor. It has locales.
Wes Bos
This is one thing we forgot to talk about, which is Localization.
Wes Bos
Yeah. What if your website has multiple languages? Like, you have a piece of content. Like, what does that story look like? And somebody in the tweet said, it's important to think about that. And it looks like GraphCMS for $150
Wes Bos
a month per projects gives you 4 locales. So pretty pricey still. But The essential price is $40 a month, 30 in a month. So and that's that's doesn't get you a ton of stuff. So this one is definitely, like, a Contentful competitor Wes you're you're getting into the heavier, dollar signs. But there's a free developer plan if you wanna, like, try it out so you can sign up, and you don't have to pay to to get used to it. 1st hit's free. Next up, we have GitHub based CSS.
Wes Bos
So there's 2 I know of in this area, and that's Netlify CMS and Forestry dot io.
Wes Bos
I believe both of these work in the way that they give you a UI, but the actual data is not stored in a database. It's stored in a markdown file, so the data gets parsed
Wes Bos
and committed to a markdown file, which is pretty cool. It's really cool. I actually use believe it or not, I I was doing all of my on scottpalinski.com, I was doing just markdown editing. And then all of a sudden, I was like, you know what? This is all just markdown. These are all just basic fields. I wonder how easy it would be for me to drop in Netlify CMS to this. I just dropped in Netlify CMS. Keep in mind, my site is sapper, so it's, you know, it just it's it's just markdown. Right? So it doesn't matter what the platform is, whether it's Gatsby, sapper, con or GoodSum, any of those. Right? I just dropped it in, and now I have an admin interface to edit my markdown files if I so choose without having to get into my editor. And the thing that makes it nice for me is that the only other way to do this would be to add a markdown file on GitHub and have it whatever. So your site pushes a new version if you're doing a statically generated site.
Wes Bos
But since this is editing the Git file, you don't have to do a you don't edit your file locally then have to push out via Git. You can just edit it in this interface, and it takes care of the Git stuff. And if you're hosted on something with a continuous deployment like Netlify, then it's just gonna rebuild for you. And it's almost like working in a real CMS.
Wes Bos
We said many times on this website, don't give your client markdown files. Do not. Yeah. Like, maybe this is your actual option JS, especially if you need a very simple It's very simple.
Wes Bos
UI.
Wes Bos
Great. I think that that's a that's a pretty good option. So let's talk about pricing on these. 3? 3.99?
Wes Bos
Yeah. Because it's just it's just again, it's just files. You're just dropping files in your app, and they're they're running because, again, there's no database. There's no servers. Nothing. Everything's hosted in your thing. It's just giving it permissions to, to make those poll requests via your own GitHub. So I log in with my own GitHub. It's really slick system, but it's it's it's got I'm gonna tell you this. It's got just about 0 features.
Wes Bos
I mean, I don't wanna I don't wanna be mean about that, but it doesn't have a ton of features. It's just a nice admin interface for editing your stuff. I really even wish they had themes because this bright white theme really hurts my eyes. I wanted to make it, Node know, like, dark, and then I was like, well, I'm gonna install some custom CSS, and I don't wanna get into this. Oh, yeah. It looks like Forestry is free for 3 people per month. It syncs with ESLint Instant previews. You can host the UI on your own website if you want. And then if you want 5 users per website
Wes Bos
as well as a couple other support, oh, access control.
Wes Bos
That's kinda interesting. You access control with a markdown file.
Wes Bos
That goes to $29
Wes Bos
a month, which is pretty affordable, I think. Yeah. Cool. Next up is going to be other. These are all the others. Right? These are just ones that didn't fit in anything else. And, it's funny. A lot of people suggested some, like, spreadsheet based stuff. So some you know, you can apparently have an API with Google Sheets, which I haven't done. There's also the option to use something like Airtable, which is sort of like a more high powered table based software, which is sort of like a Google Sheets type of thing. It's like a relational data table, but they have an API too that you can tap into, and you can use Airtable as a a CMS.
Wes Bos
There's a couple out there. There's one called Sanity, which hooks up to Google Docs and just gives you, like, a JSON API.
Wes Bos
You laugh, but it actually kinda makes sense. I didn't laugh. Anytime that you want to like, I just built a spreadsheet last night full of, every single thing that needs an oil change and oil filter and a air filter and what type of oil it Node. And, like, the first thing I do is not install sandbags or something like that. The first thing I do is I just go and make a a spreadsheet. And the spreadsheet is the like the most low bar CMS, that you can get and you give yourself
Wes Bos
titles above it. So, like, maybe the spreadsheet is not a bad idea at the end of the day as well. Let's, let's look into the pricing. I'm clicking on the pricing link on sheddot com, and it's not doing nothing, not doing anything.
Wes Bos
Looks like they just launched a new website because this is different than what I remember. Pricing. The pricing button doesn't work. No. Well, maybe it's free then. There. If you type in forward slash pricing I get a white screen.
Wes Bos
So shout out shout out, Pricey, if you're listening, I'm getting white screen on your pricing. Pricey. It's probably
Wes Bos
Sheety.
Wes Bos
That is a little sheety, but they'll probably fix this by the time this episode releases.
Wes Bos
Tina.
Wes Bos
Tina. Tina is CMS, not a CMS. So, Tina is built by the folks behind Forestry.
Wes Bos
The idea is that it's a real time UI for editing on your website.
Wes Bos
So you can stick this into your website and open up pnpm editor right on the website, or you can just type directly into a content box on your website, and you can see how it looks in real time. And then the idea is Wes you hit save, where that data goes is is up to a plug in. So whether it goes to markdown files or whether it's saved in a MySQL database or whether that's saved in any other headless CMS that you need to, looks like. I I didn't totally understand this when I first saw it, but now I definitely do. They have a a button that says edit the site, and you can log in to GitHub and edit tinacms.org.
Wes Bos
A little bit of Yoda for you there.
Wes Bos
Next up, we have just straight up markdown. I don't Node. Mark it depends on if clients are using that. Don't just have straight up markdown.
Wes Bos
Next is going to be it's funny. I you have this listed here. I did not write this. You wrote Notion, which is an interesting content. I wrote it for you. I know I I felt like you did. So Notion does not have an API yet, although they've been saying they're going to get one for a long time. So we'll see if the Notion API ever arrives, but you could always use Notion as a really nice blogging platform. I found this really interesting project from Splitbee, which is an analytics company I just found out about. It is like a unofficial Notion API where they, like, scrape your Notion page that's public. And it gives you, like, the API data, and it gives you all the data, the blocks, the all this sort of stuff. And somebody had written a really great well, SplitBee did, not somebody. Somebody at SplitBee wrote a really great renderer for React for a Notion template because the API is kind of interesting.
Wes Bos
And so I wrote one for Svelte because, hey, I wanted to see if I could do it. And now on the site, on scottolinski.comforward/notion, that's a page that is, being written and edited within Node itself. And I wrote support for a bunch of the blocks, like Node blocks and lists and whatever. I'm still working on it, but it's it's a fun little project. It's just a little Tolinski, to see if I could do this kind of thing. Like, you just pass in a Notion ID page or the ID for the Notion page, and it just spreads out the page. It's not totally viable because you can't really work with pretty URLs, but it's a interesting idea. You could at least write something custom with it. Notion is probably the one of the best WYSIWYGs
Wes Bos
you can get, and I say that because Scott and I just had a, like, a 3 minute thing where we couldn't figure out how to unindent Yeah. A heading on our Notion stuff. We that was exactly how that went. Yes. It was very Microsoft Word, and we both tried dragging it sideways. And then it did the whole, like, Microsoft Word where it, like, made a table. And we're like, oh my gosh. What's going on? Anyways, besides that, I think Notion is an awesome WYSIWYG.
Wes Bos
It has all of the, like, user management and everything built in already, So I I wonder if that's maybe even something they have coming down the pipe.
Wes Bos
They said they have a CMS coming out, but they've been saying that for a long time. So who knows?
Wes Bos
JS that it? Is that everything that has to do with this headless CMS? Dude, the moment that we press publish, they're gonna say, what about this one?
Wes Bos
What's gonna happen?
Wes Bos
Well, I put out a tweet asking for them, and it had 446 replies. And I scanned all opportunity.
Wes Bos
To make sure we weren't forgetting 1 here. That was your opportunity to tell us Node that we missed.
Wes Bos
Alright. Let's move into some sick picks.
Wes Bos
Sick picks.
Wes Bos
You know what? I have a sick pick. I'm building a, fun thing right now, which is it's not that fun. It's a it's like a a rack for my weights in my gym. And because I wanted to fit a squat rack into, like, a smaller spot, but it has these, like, giant pegs coming out of the sides for where you put the weights. And it makes it really inconvenient. So I was like, I'm just gonna build my own out of some scrap wood.
Wes Bos
So Landon and I, yesterday, we just went to town building this this rack together. It was fun.
Wes Bos
I got to teach him about a circular saw and, you know, power tool safety. He's 2 years old. He's 3 years old, but, you know, he got to watch, and he thought it was fun. So it was re you know, I got to teach him how to use use some of this. Not obviously the circular saw, but I got to teach him how some of this stuff goes. And one thing I got to, show him was this orbital sander. And so I have this DEWALT orbital sander, and it's so dang awesome. I mean, nobody likes sanding stuff. So if you have, like, wood projects It's awful. Yeah. I just I plug this thing in. I I pnpm, like, a Velcro sanding thing on the bottom. It collects the dust for you, and, my gosh, it can make the the most rough edge of something, the smoothest darn like, I I even it's almost like getting into, like, territory. I'm, like, rounding full on rounding corners of the like, a 2 by 4 off with this thing. It it's so effective. I actually really love it. It's like what is it? The sander here, it's $60 for this thing. Neck my gosh. It it's really good. I've had it for a few years, but I I was just, yesterday, I was like, man, this is probably my favorite tool because it it really adds a level of fit and finish to projects that you can often ignore and just have them looking kind of janky. So, big fan of this. I need this. So I'm working on building some shelves for my office right now. I've got, like, a a palm sander, which is not an orbital sander. An orbital sander spins, and a palm sander just goes back and forth.
Wes Bos
And It doesn't like Like, I've I've got all the grits of sandpaper and everything, but it sucks. What it doesn't do is it doesn't go in a circle. So, I mean, like, it goes in a circle and then back like you're driving a steering wheel.
Wes Bos
Oh. Yeah. Yeah. Man, I need I need to get one of these because I'm I'm sanding stuff right now, and I'm so sick of it. I have all the grits of sandpaper. So I'm actually, I'm gonna pick another woodworking thing. So I'm building I'm building these shelves right now. I just went to, like, a local dude and bought some cherry, like a live edge cherry. Cherry. And I went on Amazon and found these awesome shelf brackets that are, like, just really modern looking. They're just black
Wes Bos
square tube. Can you hit me up with those shelf brackets? Because, I need to build some shelves. I was, like, just running the I was running the,
Wes Bos
the prices on just, like, going out and buying, like, a nice shelf versus you can just buy a piece of wood. Like, I'm not a woodworker here. I'm just a guy. I bought a piece of wood. You cut it. You rip it to size with a circular saw, and then you can go to town with Scott's orbital Sanity and sand this thing nice and smooth. And then some nice fella on Twitter told me to put polycrylic on top of it to sort of seal it up and give it a nice satin finish. And this it's look, I'm impressed with myself because, like, I don't have finesse in woodworking in these these types of things. Yeah. And these things are looking real good.
Wes Bos
And these cheap shelf brackets off Amazon, a hunk of wood, sand it down, put some polycrylic on it. So that's my safe pick today JS these shelf brackets that allow pretty much anybody to, make a nice looking shelf.
Wes Bos
Cool. Feel like a regular old dad over here because he Wes making shelves and building weight racks and all that stuff.
Wes Bos
Well, I I think it's just, like, a sign of the times JS you can't like, you literally can't go out and and buy something or or go out to a store and look at possible options.
Wes Bos
And you got lots of time, so it just seems like might as well just try build it myself. I'm not even getting wood. I'm using scrap wood.
Wes Bos
Beautiful. That's, I don't know. What am I say? That's the dream.
Wes Bos
Beautiful. That's yeah. That's the dream. Scott wood is the dream. So now is the part of the show we're talking about shameless plugs. There's we just plug stuff. We we we get sell y on you. Time to sell some stuff. So level up tutorials Scott.
Wes Bos
So by the time you're listening to this episode, the latest level up tutorials course will be released, and that is on Zapr. Now we're gonna be talking about static site generation with Sapper. We're gonna be talking about server side stuff with Sapper. It's basically the Next Wes version of Svelte. And if you wanna talk about no code to do some really good stuff, man, this is where it's at. You get animations baked into the library. So we got page routes and all this stuff. If you wanna learn about Sapper, head on to level up tutorials.comforward/pro.
Wes Bos
Sign up for 1 year today and save some cash.
Wes Bos
I'm going to shamelessly plug my YouTube channel. Just go to YouTube, search Wes Bos, and subscribe. I finally passed. We've been talking about this for, like, a year and a half. I finally passed the 100,000 subscribers Boop. Mark and got my plaque.
Wes Bos
So I sort of, like, shifted my YouTube strategy from Tutorial. They're little yeah. Like, they're, like, they're not full blown tutorials. They're just kinda me figuring things out and explaining how things work, and I've really enjoyed that. So check it out, youtube.comforward/westboss.
Wes Bos
Cool. Alright. Well, that's it for this one. In.
Wes Bos
Have a good one.
Wes Bos
It's latency. Peace.
Wes Bos
Head on over to syntax.fm for a full archive of all of our shows. And don't forget to subscribe in your podcast player or drop a review if you like this show.