[00:00:00] Joel: You built something very cool with CSS, for JS devs you built your own platform. You designed and released a course. That's lots of people have used and loved and you're selling that online, but first I wanted to ask you, and I've seen you talk about this before, and it's always fascinating to me how people learn.
Learning style
[00:00:19] Joel: New complex subjects. What is your approach when you're digging in and learning something? And I know recently you've done that with like 3d graphics, right? Like how do you think about, you know, like a new, challenging topic to get in there and learn it quickly and efficiently.
[00:00:34] Josh Comeau: Yeah.
[00:00:34] I mean, that's always the hardest is when you're starting something right at the beginning. Cause you don't know what you don't know yet. Right? You don't even know where to start something. I don't know that I have any grand strategies. I think that when I'm starting something new, there's really no choice, but to find some sort of tutorial or video or course or something that kind of walks you through those early steps.
[00:00:52] So we'll go and find that like with 3d modeling, I just spent a lot of time on YouTube. Right? 3d modeling is one of those things. Video is a really good format for it, because if for anyone that's ever opened a blender or a similar 3d rendering application, it's just buttons everywhere. It's like the cockpit of a plane.
[00:01:07] And so it's not the kind of thing you can jump in and just start experimenting with. And a text-based article would need to have so many screenshots. So, you know, I kind of thought, okay, video makes sense for this. Let me watch them. And then once I started getting my bearings, I would try to like extend what I've learned or do something similar.
[00:01:23] Right. So if you follow up tutorial that has you build like a little motorcycle, see if I can make like a bicycle or a car, right. Something that's in the same. I do all three of those things would be very complex. So not really super beginner friendly. But Yeah, essentially just try and switch the balance so that.
[00:01:38] Yeah. I feel like there's limited utility and watching someone do something right. Or even doing the same thing that person is doing. Right. Kind of copy paste here. Not copy pasting, but just like recreating their exact emotions. Right. That's a very good way to
[00:01:50] Joel: by numbers kind of.
[00:01:52] Josh Comeau: Yeah. Like it teaches you how to do the specific thing that you're watching the video.
[00:01:56] But then when you try to apply those skills to something similar, you realize very quickly like, oh, I haven't actually learned the general skill of 3d modeling. I've learned how to build this object and that object.
[00:02:07] Joel: You've learned how to make a donut.
[00:02:09] Josh Comeau: Right. Yeah.
[00:02:11] So it's a matter of trying to find that balance of starting by watching passive content and then more and more, and by, you know, once you get to a certain point, like now with 3d modeling and I'm still pretty much a beginner, like I don't know enough to do a lot of things, but I know enough to build a handful of objects.
[00:02:25] And so most of my time now it was just, I have this, let me see if I can model something on my desk or some like idea that I have in my head.
[00:02:30] Joel: And I think it's fantastic that you have that capability. I was a 3d model in my previous career and it's funny because just that particular topic at that time, it was literally, you went to. Barnes and noble and you bought the new writers book and you went through and it was screenshots and it was all step-by-step.
What makes a good course
[00:02:47] Joel: And I think it's really fantastic that we have this capability in these courses and we don't have to go to school and do that necessarily we can, but we have so many options available. What do you think, like if you're thinking about a course or, you know, courses in general what are the qualities of a really good course in your experience?
[00:03:06] Josh Comeau: Yeah. So my own philosophy around that. Is that actually two things I want to talk about. One is that it's really important to be entertaining and for the person to be enjoying it. I think that's why so many courses have such a low completion rates is that if it's like a slog to get through, then it's really hard to have the self motivation, right?
[00:03:22] It's not like when you're in school and there's external pressures on you. In most cases, you buy a course, unless maybe like your employer buys it for you. And there's an expectation there most of the time, it's just, you want to learn a thing. You buy the course and now it's on you to do this thing.
[00:03:36] Trying to keep it like kind of fun and lightweight. That's really important. The other thing, and we kind of alluded to this a little bit already is to try to make Sure.
[00:03:43] that there's an element of active practice. Right? So it shouldn't be that the person can watch the course on their phone. Like, I do like the idea of making things accessible to people who only have.
[00:03:54] But unless you're opening a code editor on your phone and actually trying things out, right. It shouldn't be that passive, there can be passive elements. So my course has something like 170 videos. So there's plenty of video, but those videos are sprinkled between other bits of content where it's like, here's an exercise and critically the exercises aren't just.
[00:04:11] Do the thing that I just did, it's a build this slightly different thing. I'm trying to incorporate some of that active learning where I'll show you a, B and C and I'll ask you to do D right. Like there's a little bit of an extension that goes beyond what we've covered.
[00:04:24] Joel: Do you give away the. The answer to those or is it always like, cause you know, like one of the challenges in book learning, right? Like when you're reading a technical book, they'll always have the, now do this section at the end, which is always the hardest, right? If you don't truly understand something and you encounter that, it's like, oh my gosh, I don't even know how to do this.
[00:04:40] Do I read the chapter again? Or, you know, like how do I do that? And I'm wondering, you know, like how, at what point do you release somebody into the wild to learn on their own. You know, without the support structure of, you know, like just do what I tell you. Right. And I think that's what you were saying, right?
[00:04:54] Like there's like follow the directions, just so, like I tell you, now you built that thing. Now build this slightly different thing. And you know, is there a balance between the guide rails, I suppose,
Balancing exercise difficulty with a solution video
[00:05:03] Josh Comeau: Yeah. So, in my own case, every exercise will have a solution video. And what I tell people is take five or 10 minutes on this thing, and it's totally okay if you can't figure it out in that time. One of the things, actually the first lesson in my course is all about trying to get people to have the right mindset.
[00:05:19] Because so many people are myself included. Like I'm not exempt from this. You want to be good at something and you don't want to struggle and you want to just glide through it, right? You want to be the genius that figures things out right away. You don't want to be the person that's kind of struggling through something.
[00:05:30] But the only way to learn something effective is to struggle. Like the only, we learned so much more from failing at something than we do from succeeding effortlessly. And so if we can change our mindset. If I spend 10 minutes on this and I make some progress, but I don't get the right answer. That is still like an incredible success, because you've learned more than you knew 10 minutes ago.
[00:05:48] Right? You experimented, you made a couple connections in your mind and you watch the video and that fills in the rest of the blanks. Right? Again, I want it to be fun. I don't want it to be punishing where it's like, here's this massively difficult problem that I've given you very little guidance for, and now you're on.
[00:06:02] So there, I still want to make sure that people are encouraged that it's totally fine. I also say that, like, I have this kind of idealized version of how this should go, where you try the exercises, you give it five, 10 minutes. You watch the video, but I make clear, like, this is your course. Like I'm not looking over your shoulder trying to make sure that you're doing it properly.
[00:06:19] If you want to watch the solution video first, go ahead. I don't think it's quite as effective, but ultimately it's a lot more effective than getting frustrated and never touching the course again. So
[00:06:28] Joel: It's like all carrot, no stick at that point. Right? Like you can literally push the button and just watch the video, but you are doing nothing, but kind of taking away from ultimately your own learning experience unless you already got it. And you're just reviewing and at the end of the day that's really none of our business.
[00:06:42] That's your business, right? Like
[00:06:43] Josh Comeau: Yeah, and this is something I've actually had to learn a little bit, because you mentioned right before I did this, I was developing curriculum for Concordia bootcamps, which is a local coding bootcamp. And in the coding boot camp, people have paid like over $10,000 and they're committed to this thing.
[00:06:56] Right? And so you can lean a little bit more into the.
[00:07:00] like having it be a little bit more frustrating, trying to optimize for effect rather than just like it being really fun and lightweight because the PR, you know, obviously you still don't want it to be miserable. You never want it to be miserable, but it's okay to allow like 20 minutes of struggling instead of five minutes, because you know that the person isn't gonna abandon the program based on that.
[00:07:18] And it's going to be more. But ultimately it is about finding the right balance.
[00:07:22] Joel: I think there's always a balance between the kind of direct support, you know, like you might have an a in a classroom style. Versus this idea of a self-paced course. So the balance even gets a little trickier when you're talking about that. I wouldn't suspect.
[00:07:34] Josh Comeau: yeah, that's a good point because it's true that in our bootcamp, we had people, myself included a lot of the time on hand to help people when they got stuck, which I try to make available to a degree and the course, right. We have a discourse community. People are encouraged to ask questions. But I'm not there 24 7.
[00:07:48] I have hired someone that's there part-time to help out as well, but you know, it's not the same where you're not going to be able to get someone immediately in like a one-on-one dialogue to be able to walk through problems with true. You have to be a little bit more generous with what you share so that people can unstick themselves a little bit more easily.
[00:08:04] Joel: I think it's interesting too, because the price point is different, right? Like if you were there full-time and it was you providing that, that service, like you would have to, you know, like the price would have to be much more expensive and then not be as inclusive overall. And so there's all sorts of challenges.
[00:08:18] I also think that there's an interesting idea of like what fun. ' cause to me fun is really kind of elusive. And a lot of times fun means that there's a little suffering that anxiety like excitement and anxiety, right. Are very closely aligned as emotions and feelings. So what is fun and how do you introduce that into like a learning experience?
What makes a course fun
[00:08:37] Josh Comeau: Yeah. And there's also just the dopamine hit of struggling with something. And then the light bulb goes off and it's like, oh, like now I get it right. And it's harder to have those moments or at least those moments aren't as impactful. If it was immediately obvious to you or you just watched a video and let that moment absorb the very concrete thing that I'm teaching, but miss the kind of broader connections to the other stuff we've been.
[00:08:58] We're learning.
[00:08:59] Joel: So, you built your own course platform and I think that's awesome. It's something that I've done too, and it's like, I wouldn't recommend it unless you really want to and you did really want to and I'm wondering why, like what, what didn't exist for you and why did you need to build your own platform?
[00:09:14] Josh Comeau: Yeah, So, the honest answer to this, there's like a half honest answer. I'll give you that one
[00:09:21] Joel: yeah, let's hear it.
[00:09:22] Josh Comeau: which is. In my blog and I have this blog, it uses MDX and I found it really useful to be able to embed whatever I want. Right. If I can think of something, if I can build it with JavaScript and react or any other technology, I can just drop it into the middle of my blog posts.
[00:09:35] So an example is I have a blog post on spring physics. It's one thing to describe spring physics, right? It's very hard in word. Easier with like a video. You can watch the spring, bounce back and forth, but even better. If I can have a little handle that someone can drag and release and notice how that effect changes, depending on how far they drag the handle, right.
[00:09:52] Being able to interact with it. And that's not something I think really exists in Mo, especially not. If you go the like commercial route of course, platforms that are intended for non-developers, right. There's kind of this growing movement of developer focused platforms. And maybe that will be able to let you do that.
[00:10:06] But certainly when I was starting my course platform, I couldn't think of anything. That could do that. Now that's the semi honest answer. The fully honest answer is I just want it to build my own course platform.
[00:10:15] Joel: Yeah. Like th the sheer challenge of it, like you want to sit down and have full control and build your own space on the internet.
[00:10:21] Josh Comeau: I'm a bit of a perfectionist. And I just, I knew that it, I wasn't going to be able to tweak anything off the shelf to be what I wanted it to be in terms of aesthetic and Polish and feel. It's also a matter of, I like developing and this is even true to this day. Right? I'm still, I'm working on my second course now.
[00:10:36] And I bounced between building content and building, working on the platform and that kind of variety makes it much easier to sustain the energy to do this. Long-term I think because it's not just 24, 7 content creation, I'm able to do a bit of content and then mix things up and add some cool platform feature that I've wanted to exist.
[00:10:54] So I think having that just as a developer, that what, other than my blog, I don't have any other major projects right now. I wanted to make sure that I still had that.
[00:11:01] Joel: Yeah. If you're consulting or working, you know, like on a job in a, at a service company, as a developer, and then you're constantly developing, but then at the same time, you're not getting the outlet of the content. And do you actively balance that? Is that something that you consciously think about or is it just as you feel or what needs to get done, how are you balancing the platform versus the course content creation?
Balancing platform work and content creation
[00:11:22] Josh Comeau: Yeah. there's definitely some amount of structure. So one example is Fridays. Aren't my, I do what I want day. It's kind of Like my day off, but it's usually I'll pick some fun tasks to work on and
[00:11:32] Joel: 20% time ish kind of,
[00:11:34] Josh Comeau: Yeah, exactly. And it's almost always something whimsical with the platform. So it might be like a fancy invitation flow or like the, for people who have seen screenshots on my course platform, there's these like connecting, I call them bridges between lessons in a given thing.
[00:11:46] And they kind of swoop around that was like a fun Friday project. Were there things that I can't really justify otherwise in terms of like, will this help me sell more courses? Probably not. Will this make the education process that much better? Probably not, but. Incrementally have an impact. And when you take them in aggregate, right? when you have five or 10 of these things, they really do create a much better user experience.
[00:12:07] So that's like the organized part, but it, a lot of it is like, as you're going through the content. Especially in my platform because there's kind of a blurry line between content and platform. So one example is that I have these, like, I call them mini games. Really. They're more like quizzes, but they have kind of novel input mechanisms.
[00:12:22] So one of them is I'm trying to teach you the terminology and CSS watch what's the declaration, what's a property and re rather than like, have this just be a multiple choice thing. I show you some CSS and ask you to select the appropriate subsection of that. Just with your, the way you would select text on the web.
[00:12:36] Right. Dragon select some chunk of it. Okay. And so that was the kind of thing where I had this content idea that then required a platform component of, oh, I need a mini game component and I need to handle this special input thing. And I need to create like, cause you know, not everyone can select, you have to have a lot of dexterity and a pointer device.
[00:12:51] So there is like a fallback where you can just kind of type in the part of the code that is applicable and all that stuff takes a lot of time. So
[00:12:58] Joel: Especially you're considering accessibility and you know, like you're going to have one way to do this, but maybe they need keyboard entry or lots of people want to, you know, so you were capturing the most and making sure everybody can participate.
[00:13:09] Josh Comeau: Yeah.
[00:13:09] and it is the only thing I haven't done really well, at least not yet is in terms of screen reader support. Right. So I do assume that you can see the screen. And a lot of that is that I'm building a CSS course, and I am not skilled enough to know how to teach CSS without. A visual aid, right?
[00:13:24] So much of it is just, here's a mock-up and design it or implement this design. But in terms of touch control, right? In terms of motor control, when I was starting to build the platform, I actually couldn't use a keyboard or mouse. I was having some nervous. So in fact, even the first bit of the platform in the first game was developed without those tools.
[00:13:40] So of course I needed to make sure that they were usable without those tools. And it's just, it's been something that I've tried to keep up with as well as I can. But you don't need a mouse. You don't need a touch screen or a track pad, right? If you have a keyboard, you should be able to do everything that you need on the platform.
Using games to make learning more entertaining
[00:13:53] Joel: that's cool. You mentioned mini games and this has come up a lot as I've talked to people about course platforms and instructional design. And I'm wondering how are you a gamer and has that affected your instructional design for that?
[00:14:05] Josh Comeau: Yeah,
[00:14:06] I mean, I am a gamer. I do, you know, it's, I don't think the games in my platform are going to win any like game awards. Like
[00:14:13] Joel: that's not their point.
[00:14:14] Josh Comeau: Yeah.
[00:14:15] But it is just a matter of let's take something, especially when I have something that's a little bit dry and I think I can make it a lot.
[00:14:21] like terminology and CSS, right?
[00:14:23] Like it's one of the most Dole things you can imagine, but you wrap it in the kind of I don't have no analogy comes to mind, but you deliver it in this mechanism and suddenly it's Not so dull, like it's a little bit more interesting to learn about the difference between a declaration at a property and a style.
[00:14:38] Right? Like it just makes it a little more interesting. And I think part of it too, is novelty, right? Like, and I've tried to make sure that the games themselves are like actually effective and the whole thing, isn't just about novelty
[00:14:48] Joel: Not just there is eye candy or whatever. That's all, it's all there for a purpose at the end of the day, man.
[00:14:52] Josh Comeau: But there is something to be said for the novelty of, oh, this is interesting, right?
[00:14:56] I've never seen this before. Not only because it makes the course more enjoyable, but it makes the content more memorable. So it actually, I think it makes it more effective if it's something new and interesting and different. And I think that sticks with people a little more.
[00:15:07] Joel: I know for sure. Like I've. White papers and research that, that while people are learning, occasionally you have to shake them up, right? Like if you drone on and on for three hours with the same tone and cadence, like you're just gonna lose people. Or if it's an online course, if it's the same thing over and over again, if there's no surprise at all, people just aren't as likely to engage.
[00:15:27] And I don't think completion rates or. Super important, but it is right. Like getting people through it if you want them to leave, because they've learned what they came to learn. Not because they got bored and just like, like petered out of the whole thing. I think.
[00:15:39] Josh Comeau: Yeah. And that is something that I was trying to be conscious of to you know, I used to work at clinic. And one of the things I learned to Khan academy is that when Sal Khan, the founder was starting, you know, it started as a YouTube channel. It's since developed into a much broader platform, but YouTube at the time had a 10 minute video limit.
Using a variety of mediums to engage learners
[00:15:54] Josh Comeau: That's how long your videos could be. And so we kind of had to find a way to take. Somewhat complex, like mathematical topics and break them into 10 minute videos and it wound up really working to his favor because it's hard to watch a video for more than 10 minutes. Like that turns out to be a decent increment where you can watch it for 10 minutes and take a break before the next one.
[00:16:12] And, you know, the fancy terminology that I've used is that my platform is multi-modality there's all kinds of different modes. Right. So, and I try to do kind of the same thing. There are a couple of videos that are on the longer side where it's like deep dives into a particular exercise or problem.
[00:16:25] But for the most part, the videos are like five, 10 minutes, and then there'll be like an interactive article and an exercise and a mini game. And it's, you're always bouncing between these different formats. And I think.
[00:16:33] that really helps you stay engaged for longer than.
[00:16:35] Joel: Yeah I've read that like learning styles is it's like one of those controversial kind of things that have talked about in. Instructional design circles, where it's more like teaching styles and, you know, like we all kind of absorb information in certain ways, but you know, like it's really about this variety of teaching styles and delivery, so that you're covering the gamut and in somebody that has, you know, may weren't learn one.
[00:16:57] In one mode is, might learn another topic in a different mode and we're always kind of cycling just the brains back and forth. So like instructional design matching that. And I don't think we see a lot of that. I see, you know, like you talked about the platforms that are kind of selling internet real estate, where you go in and you can slap your videos up there with some text underneath it's all same.
[00:17:17] And it's just by the nature of the tools that we have at our disposal.
[00:17:20] Josh Comeau: Yeah.
[00:17:20] I mean, it's one of those things where if you're building a course platform that a gardener can use and someone who teaches cooking or like there in order to be broad enough to support every possible use case, you have to be really generic and the tools that it provides because you can't build specialized tools for every particular niche and topic.
[00:17:37] So that's one of the advantages of I can actually build the tool that I think would be most effective for teaching this particular thing, without having to worry about whether I can kind of bend the platform to fit the shape of.
[00:17:48] Joel: Yeah on a topic by topic basis too. So if like one topic deserves something else or needs something else you can really dig in and that's very cool. Like that's
[00:17:55] Josh Comeau: Yep. And that's actually something I found that different modules in my course have a.
[00:17:59] totally different distribution, like the Flexbox module, for whatever reason, I found most of the lessons in that topic have a video, or maybe that's not all video, but most lessons will have a video. And for whatever reason, there's just a lot of things in Flexbox that really helped to like show you visually and say, okay, well here's this widget and here's why you do this.
[00:18:14] And this is what happens. And then often what I'll do is I'll put the build like a little interactive tool. I'll have a video that teaches something with this tool and then the tool will be underneath. So you can kind of continue those explorations.
[00:18:24] Joel: so like it's like watching them play.
[00:18:26] Josh Comeau: Yep.
[00:18:27] Joel: Yeah. That's great. Was there anything surprisingly, either technical or otherwise that about building your own platform that, that came up during the process?
[00:18:36] Josh Comeau: I mean, none of it was too unexpected. The only thing that really comes to mind is just that it took so much longer than I was expecting. I was thinking I would build the course and the platform in like three, four months. And I had the incredible luxury of doing this full-time. So I had left my job granted.
[00:18:50] I was dealing with a disability at the time. So I wasn't like with my, I mentioned my arms, I wasn't working at full clip, but I was still working reasonably. And it took me about 13 or 14 months to develop the course on the platform. It was about half and half, I would say, like half of that time more upfront was on the platform because I needed like user accounts and to figure out the stack and all of the different things that just go into any web application.
[00:19:11] And then of course, all the platform, all the con like the core specific stuff of the mini game component and all the little widgets. So it, it took a lot longer than I kind of thought right over a year full-time work which is why. And you mentioned this earlier that like whether or not most people should build their own horse platform, I would have struggled to do this.
[00:19:28] If I had other obligations, like if I was trying to do this, part-time on the side. I don't know that it's, unless you want to be really tightly scoped to a particular problem. And like, you know, there's always ways to do stuff. And it's just about figuring out the trade-offs, but I think it's probably a much more straightforward route to go the, using a pre-built or other platform, if you don't have like a good amount of time to sink into it.
[00:19:50] Joel: Yeah, I think, I mean, you went for kind of a grand scale, I think also, right? Like you, you, aren't teaching just a module. You are teaching people CSS as a complete picture. And I think that's a real, like both as a platform and the content challenges and to end up being rather significant when you, it just, you know, like you could scope that down and you could just teach somebody flex box, for instance, in the terms of CSS.
[00:20:10] And that would be a much smaller scope project, but you were swinging for the fences, so to
[00:20:15] Josh Comeau: That's a really good point. Yeah. There's 10 modules in the course, and I think most modules are long enough to be themselves. Of course
[00:20:21] Joel: yeah.
[00:20:21] Josh Comeau: I did the math a while ago and like I said, there's 170 videos, 225,000 written words, 500 plus interactive widgets and exercises. Like it really turned out to be a lot bigger than I thought.
[00:20:32] Joel: Yeah, grand scale, for sure like that. And it's great because you know, like it's ambitious and I, and but I think also, you know, like if somebody was sitting down to, to build their own thing, they could probably consider it a different levels. Right. Like, and I believe both strategies are great.
[00:20:46] And we've talked about it because, you know, like there's, Kent's epic react. Grand scale, right? Like versus other courses, like an egghead course that we produce, which is not right. Like it's something that somebody can do and we can do over the course of weeks instead of months or years which is always something to consider.
[00:21:04] Josh Comeau: Yeah. Yeah. That's a good point.
Instructional design process
[00:21:05] Joel: So what's your process in terms of. Instructional design. And when you sit down and you want to start working on a course, and you're going to design a course from end to end outside of the platform, like what's your instructional design approach.
[00:21:18] Josh Comeau: Yeah. So I'm doing this right now, so it's the perfect time to talk about it. I start with a markdown file, but and for the first, usually what happened is before I formally start before I'm working on this as my main thing, I'm just like in my idle time having ideas. So I'll just jot down thoughts like, oh, this is something I want to make sure I cover.
[00:21:35] Or this particular analogy is a really good way to explain this thing. Or like here's an idea for a project. And over the course of maybe a few weeks, I'll gather a bunch of these. And then it becomes time to like, okay, I want to actually start doing this. So I'll try to find organized piles of stuff.
[00:21:49] Right. So figure out what the modules are going to be and what should be in each module. Figure out what I want to cover in the course at all. Or what I think is better left omitted, which is something I really need to work more on because I, my approach has generally that the scope just expands and expense.
[00:22:02] And I'm trying to get better at like, no, actually we don't need to cover like every possible thing in the universe. And then like once. A solid enough skeleton where I have, let's say 10 modules. Every module has like 15, 20 bullet points underneath it, in terms of the different things I want to teach and some ideas around how then I start with the actual content.
[00:22:18] So, and this too, I kind of take like a. Like almost how I imagined you would carve something out of a block of stone where you start very coarse. It's like, okay, I don't need this huge chunk over here. And then you worry about the details later. So I'll just create a bunch of markdown files, just add like bullet points within them.
[00:22:32] Those bullet points will become paragraphs. I'll have a lot of like to-do comments like to do interactive, whatever to do video that covers these five things because what I've learned. If you spend time doing really refined versions of that now you'll realize two weeks later, oh, actually this is totally the wrong way to cover this.
[00:22:47] Or I don't need to cover this at all. And you've just wasted all that time. So I try to come up with like, as broad as possible at first, and then slowly whittle that into something that looks more or less complete in the past. I've done this module by module. So I'll finish all of module one, all the videos, all the interactive.
[00:23:03] And then I'll move on to module two this time around I'm thinking that maybe I shouldn't do that. Like maybe I should keep things a little bit course because. Obviously relations between modules and you can still have the same thing where you're going through module two and you realize, oh, there's this really important thing that we need to know at this point.
[00:23:17] And it makes more sense to cover it in the past. So I do think it's a, I've had a lot of success not going too detailed too soon. Right. So try to save a lot, especially like, it depends, what's difficult for you. In my case, videos are really hard. Like it usually for five minute video might take me two hours because I have to plan for it.
[00:23:36] I have to figure out what I'm going to do. It takes me five or six takes easily to do
[00:23:39] Joel: quick to be honest, like video is way harder than I think people maybe give it credit for it. It's challenging. Right? Like as
[00:23:45] Josh Comeau: And the thing that's really challenging about it for me at least. After take two or three, I'll start to get frustrated and that frustration will show in the video. And so I'll watch it the next day and I'll be like, well,
[00:23:54] Joel: just mean
[00:23:55] Josh Comeau: look miserable in this. So let me trash this and start again today. Yeah, there have been times where I've had to just ditch like many minutes if not hours of video, because I just didn't like how unhappy I looked in them.
[00:24:06] Joel: I've Kirsten mini of microphone. So I understand.
[00:24:08] Josh Comeau: that's the most that's I try to say videos for the end. And I also, I'm trying to think now. Like, if something is changing soon, like if I'm covering react and it's this like experimental suspense API, maybe don't use a video for that. Because if that changes next week, I don't want to have to re-record it.
[00:24:23] Right. Use articles that are easier to tweak and keep videos for the higher level ideas. You know, just in talking about how react works, that's probably not going to change fundamentally. So that's a safer thing to do video with, but it also, I think depends on the person, right? Maybe some people are just naturally charismatic on video, but struggle in terms of articles or these interactive things that might take them a long time to build.
[00:24:42] So I think it's about trying to optimize for your own personal what you're good at? What takes you the longest?
[00:24:47] Joel: I've heard of people that will like dictate, you know, like do their writing through dictation, whether they're speaking and then refine it later, you know? So you would speak it. And to me, like what you've described sounds a lot also like if you're going to sit down and write a book, right? Like we're going to outline the whole thing.
[00:25:01] And then, you know, we start at this low resolution picture and then we tighten it and we tighten it and we tighten it then until you're down to the video, which as you said to me, this is extremely. The videos are going to change where the text is easy to update. Video is very difficult to update.
[00:25:16] It's dance, it's hard to update. It's not super accessible because you then, you know, like transcripts and stuff, make it more accessible, but you know, like it's a visual medium. So, so, you know, like that balance between text and video and thinking about those modalities is really interesting as well.
[00:25:30] I think. How has been like maintaining your core so far? I think you picked a pretty evergreen topic, right? Like, I think there's a lot of CSS that's going to carry you for years, but what's the, like the maintenance process been like for you?
Maintaining your course
[00:25:42] Josh Comeau: Yeah.
[00:25:43] So there's been a lot. And most of the maintenance is my own fault. Like it's not so much that the language changes it's that someone will point out that I made a mistake or there's some like, or if like five or six people have the exact same question, but they're like, Hey, my code isn't working.
[00:25:58] Why isn't this code working? And they've all done it the same way then it's like, oh, well, clearly I'm not explaining this very well because so many people. So that's what is most of it's just been, that is okay. This thing, clearly there's a problem here in terms of the instructional design. So let me figure out how I can address.
[00:26:11] And I've probably done like 15 to 20% of the course has been redone since launch with those types of things. Maybe I'm exaggerating, maybe 10%, some likes it's not zero, but it's also.
[00:26:21] Joel: Yeah. Good job.
[00:26:23] Josh Comeau: Yeah I do think that part of me, here's another thing that's frustrating too, is because I'm doing that module by module.
[00:26:31] I'm embarrassed by module ones and two and three, I've gotten so much better at making courses. So module 10 is like, in my mind is so much better and the smallest number of people will see that, which is frustrating.
[00:26:42] Joel: it's at the very end and completion rates are what they are. So, you know, like, like yeah.
[00:26:46] Josh Comeau: yeah.
[00:26:46] So it is but there's no other way to Do it because I can't go in reverse order because I kind of need to know what's already been covered so that I can say, as we saw last module, like here's something I can take for granted. And then here's the new thing. I think it'd be a lot harder to go backwards.
[00:27:00] Joel: Do you think you'll spend time going back and actually redoing those the modules that are frustrating for you or you look at now and you're like, that is just not it anymore. Are you going to go back and actually refine those? Because you said you were working on new course, I'm wondering where you balance like, well, I'm going to make a new course on a different topic, or I'm going to keep refining this course that I've already created.
[00:27:18] Cause it could be, you know, like I know in my heart it could be better. How do you consider that.
[00:27:23] Josh Comeau: Yeah. So I really struggled with this and a big part of me did want to make version two of the CSS course right now, but it's true that most of the language hasn't changed very much yet, but it will container queries are right around the corner and there's all kinds of different additions to CSS that.
[00:27:39] are going to really change how to solve certain problems.
[00:27:42] You know, maybe it'll end in six months. I won't want to do it right when it's safe to use, because I want to have my own time experimenting with it and figuring out the best ways to use it. So the kind of resolution that I made with myself is there will be a version two of the course, probably in like a year or two.
[00:27:56] Like I'll wait until the content. Not only for my own personal standards, because a lot of this too, is that you're your own harshest critic, right? Like I've gotten very few complaints about the quality. And so really it is just, I look at things and I think they could be better, but most people look at it and they think it's good enough.
[00:28:11] So, I'm kind of using the fact that if I read it now, I'd have to redo it again in a year anyway, as justification for spending my time elsewhere. But it's a really good point that when I started on this journey, like I said, I thought it would take me three, four months to do a course. I thought I'd push out like two or three courses a year and I'd have like a whole catalog before, too long.
[00:28:29] Now I'm thinking like in my lifetime, maybe I'll have four or five courses. And even that might be because there is a maintenance. And there is an ongoing need for these courses and the world changes. So like I've heard from some course creators that aren't in the tech space, there's a piano creator that created a piano course.
[00:28:45] And he's had one course for seven years and the sales just keep getting larger and larger every year because he's making the course better. And because piano continues to be a thing that people want to learn. So I do think that it's surprisingly viable to just pick one or two things and create those courses and then continue to improve them over you at the time, rather than always jumping to.
[00:29:03] Joel: It's kind of a quality over quantity kind of question. And not that you can't make four or five high quality courses, but that idea that instead of trying to crank out several, you know, less ambitious courses every year, you're going to work on this and really consider it. I think that's a great approach.
Making really good examples
[00:29:20] Joel: One of the things I think people get hung up on and you seem to be pretty good at is this, you know, like the ideas for projects and interactive widgets and what's the secret sauce? Like how can we all be great at making awesome examples that people love to do?
[00:29:34] Josh Comeau: Yeah. that is a good question. And I don't have a, great answer. Part of
[00:29:38] Joel: it's a complicated answer at the end of the day. Right?
[00:29:40] Josh Comeau: I mean, I think that there's practical considerations, but ultimately it's really dependent on intuition. So it's a matter of like, I'm thinking, Hey, I want to teach this thing. I'll give you an example. Okay. And building a react course. One of the early lessons in that course will be thinking in components, Right. How do I take a design and figure out where to draw the boxes around what components should be, where? And I thought, well, drawing boxes would be a great way to do that, right? Make a little thing where you literally draw boxes on the screen and then I'll show you how my boxes were going. You can compare the two.
[00:30:07] And that just, I, it's hard for me to describe like how to come up with those sorts of ideas. They kind of just happen, but I think they happen because I have this blog that also has these interactive things that I've done over a hundred blog posts now. So a lot of it is just through like pure experimentation and practice over the course of years.
[00:30:24] But it is certainly a skill of worth developing because, and that is like, and this is kind of a related question. How do you come up with like an example that is both simple enough to illustrate the concept that you're trying to teach, but not so unrealistic, like where the variables are called foo and bar, right?
[00:30:39] Like you want to have something that has real world that looks like the code you would write in your job. But the problem is that the code that you write in your job has all these different dependencies and edge cases. And all of that complexity would be overwhelmed. It is hard. Like it's not something I feel like I've mastered yet.
[00:30:53] It's something that I'm still kind of working on and trying to find the best example that covers the most amount of ground with the least amount of complexity.
[00:30:59] Joel: I think what's interesting is that you describe it as a skill and that's probably the best way to look at it. It's not like you were born with this ability to spin cool examples. And, you know, like add fun, whimsical, widgets to blog posts. That's something that you sat down thought about and I've worked on for years to get better at, and you still aren't finished in that process at the end of the day.
[00:31:23] Josh Comeau: Yeah, exactly. And I think people that may be familiar with my blog, very few people are familiar with the fact that I had a medium blog before my custom blog. And I think I have like 50 or 60 medium posts and almost all of them are terrible. Like they are not worth looking at because I was, they were my first blog post.
[00:31:39] Right. it's I don't have the natural gift that the first blog post I write is fantastic. I don't know that anybody does, right. Some people are better writers than others, I suppose. There's so many different little things that you have to be aware of in terms of pacing and trying to forget that, you know, things, right.
[00:31:53] Like the curse of knowledge is a real thing where it's really hard to put yourself in the position of someone who doesn't know this thing that, you know, and that's, you're writing a blog post because you want to teach them something, but you have to know what it's like, not to know the thing. And it's really hard.
[00:32:04] So it does just take a lot of.
[00:32:06] Joel: it's just true across a lot of skills, right? Cause it say the same is true for programming computers. Like how did he get good at programming computers? It's programming computers, and it's always in how to get better at writing. It's like, right. Painting paint, like, you know, it's like, these are difficult skills that you don't get to like have a magic bullet that.
[00:32:21] Embeds this skill and to your hands and brain and our movements and all that fun stuff. It's just work. And that's a tough pill to swallow. Sometimes. I think it's good for folks that are willing to sit down and put in the work because it's definitely a competitive advantage.
[00:32:34] Josh Comeau: Yeah.
What are CSS for JS learners trying to achieve?
[00:32:35] Joel: So when people come to CSS for JS, what are they trying to achieve? What difference are they trying to make an a.
[00:32:40] Josh Comeau: Yeah. So, you know, actually, it's interesting because I think if you had asked the average person who was familiar with my blog or my Twitter account, what I was known for them, they wouldn't tell you CSS, like CSS was not kind of my thing. But what I, the thing that made me want to do CSS as a chorus was the realization that I knew so many people.
[00:32:58] And I was in this bucket myself, who, you know, react, developers, angular developers, who were really confident with the JavaScript side and who had picked up HTML a long time ago, but who still struggled with CSS, right? People who just couldn't seem to get their intuition going and would always have these moments where they're going along.
[00:33:13] Everything is great. And suddenly the box is in the wrong place. Or the flex thing is stretching too much or squishing to. And see us. This is like a challenging language to really develop that intuition for. Right. It's relatively easy to get started with, make the text, read with color, colon read, right?
[00:33:27] There's all these kinds of immediate CSS properties that you learn, but then the problems of how do you build like a fully responsive, robust web application that does what you expect in this very implicit language. A lot of the CSS properties that we write have all kinds of like secret mechanisms that they fire off.
[00:33:41] Right? There's things like containing blocks and stacking context and hypothetical sizes concepts that you would not run into in your day-to-day life as a.
[00:33:48] developer, but have this incredible impact on the. And I had kind of gone through this experience, this transformation on my own, where maybe like three, four years ago, I decided that I was really sick of having this experience of being knocked out of flow by some CSS is the same snippet I've used 10 other times and 10 other times it worked and now it's doing something different.
[00:34:05] And I have no idea why there's no error message. There's no console log. Right. It's just not, doing what I got. And my solution for that was to really try to understand CSS at a deeper language. So I would go and read the MDN article for the properties that I'm using and follow the links to the specification and try to understand and this was like a very time intensive process or the course of years, but it really helped me develop confidence with it.
[00:34:26] And because I was already reasonably confident with JavaScript and HTML, it felt like the final puzzle piece that was snapping into. And honestly, like, I don't want to oversell it because it's true. Like I S I still run into all kinds of problems and I don't mean to say that CSS has now, like, everything always works the first time, but I'm so much more equipped to deal with the cases where it doesn't do what I expect.
[00:34:44] Right. I have enough of a mental model in place that it usually doesn't take me that long to figure out what's wrong and how to fix it. And that's made a tremendous impact on just my overall happiness as a developer. And the fact that CSS just doesn't change all that. Often, those were kind of the considerations of like, why did I want to do this course?
[00:35:01] And so in terms of the very long winded roundabout, answer to your question about what people can expect to get out of it. Hopefully the goal is to give you that same sort of confidence with the language where you're still going to struggle with CSS every now and then, or you're still gonna run into problems where it doesn't do what you expect, but you'll have this kind of underlying tool set this mental model of how the language actually works, that you'll be able to solve those problems.
[00:35:21] You'll have like a. Procedures, you can follow to figure out what's wrong and how to fix it. You'll understand how the different layer modes work and how they're interacting to hopefully change like your overall experience as a web developer. Because as much as we try to avoid it with different tools and different, you know, obstructions, CSS is always going to be something that we need to write in one way or another, right.
[00:35:39] It's the only visual language the browser understands. And so it is really important to get comfortable with it. And that's kind of the goal of my course is to give you that comfort with this.
[00:35:46] Joel: And it's not, they're not going to have to visit MDN. It's just, here's this, here's a shortcut to give you the literacy. You need to jump ahead and solve a lot of those problems and have that kind of I don't know, reduce a lot of the cognitive load. I suspect at the end of the day
[00:35:59] Josh Comeau: Yeah.
[00:36:00] Joel: of CSS and just the problems that you can solve now that you could not solve before.
[00:36:04] Josh Comeau: I think that's exactly right, right. The goal, my, and this is maybe a little bit less ambitious, but still quite ambitious goal is that when you hit that moment of like you write the code, you run it in the browser and it's not doing what you expect instead of just being stuck and like, well, I guess I'll just throw random properties until I get what I want.
[00:36:21] It'll be like, okay, let me think this
[00:36:23] Joel: I know that move.
[00:36:24] Josh Comeau: I think we all do. Yeah. It's more so now that the idea is it's like, okay, so I have these properties, right? This is how this layout mode works. These are kind of, the constraints are on it. Oh, it's not working because I forgot to set my minimum width on this thing to zero.
[00:36:37] And so the Flexbox algorithm, isn't letting it drink below a certain point. Right. That's kind of the hope that I have is you're still gonna run into these quirks, but you'll have kind of, the tools needed to deal with them.
Building a following before launching a product
[00:36:46] Joel: So one of the things that I've noticed, generally speaking, when people talk about courses is marketing and this idea of marketing a course, and you know, like marketing is the most important thing I was wondering if you think that's true. And if like, how do you market your course? How do you think about marketing when you approach your course and the platform.
[00:37:05] Josh Comeau: Yeah. I mean, I do think it is really important that you can build the best course in the world. And if only like five developers know about it, it's going to be really hard. Like, you know, there, I imagine there is always word of mouth, so maybe it will kind of slowly grow out of a small group. But really it's a tremendous advantage to be able to have people that are already following your work.
[00:37:25] And this was kind of the reason I felt confident going in this direction, right. Because I did, I left my job and I spent a year working on a course. It was about actually it was six or seven months between when I started working on it. And when I had my early access. But still That's a lot of time to commit on something that you don't know will work.
[00:37:40] And the reason I was relatively confident with that was that I already had a blog. The blog had reasonable traffic. I think it was maybe like 50, 60,000 visits a month. And I had like a Twitter presence and I was starting to build my newsletter. My, you know, and it's just kind of a numbers game, right?
[00:37:52] It's a matter of I build this course and if the course is good I will be able to reach out to, you know, 10, 20,000 people immediately and let them know. Here's the thing that I'm doing. Some percentage of them will be interested in it. And that's kind of how you build that initial group that can then become your, the people that advocate for it and evangelize it for you.
[00:38:08] Right. If your course is good. Develop those sorts of relationships. And it'll, that's the model that I had seen work for other people, and that I imagined would work for myself and happily happy to report it. It seems to have worked pretty well.
[00:38:19] Joel: W what channel do you think was the most effective for you? Where you have Twitter and your blog and your email lists? What worked the best.
[00:38:26] Josh Comeau: so email definitely worked better than Twitter. I don't know. You know, I, I didn't take super close care to collect the right analytics, but what I could see to some of the referrals is that people that had come straight from Twitter they made up both a smaller amount of traffic and a lower conversion than people that came from email.
[00:38:43] But email. With only possible because of the blog. So I think like ultimately the reason the coursework was the blog, right? The blog is what gave people, both the exposure to me as a person and my work, but also the confidence that like, oh, this blog post taught me something. I bet if I buy the course, it will also teach me something right there.
[00:39:00] Wasn't really. Gamble of like, well, he seems like a nice person and all, but I don't know, like, will I actually learn anything? You can actually point to like, and actually what I did is maybe for five or six lessons, I just took the lessons out of the platform and put them into blog posts. They're not exactly the same.
[00:39:13] Cause like I had to remove the videos and the exercises, but in terms of the interactive widgets and the articles, that's all the same stuff. And then at the end of those blog posts, I'm able to write like, Hey, this was actually a lesson in this course. If you liked this lesson, you can go here to learn more about the course.
[00:39:26] And I think that's probably still the most. That and the email lists are how people continue to discover that.
[00:39:30] Joel: It's kind of a system that you described then, because Twitter's part of that too, because you're announcing people and they don't have to trust you to, you know, like read your blog posts, but to buy your course, they would need to trust you more. So they end up at the course and don't convert, but if where the articles end up, you know, getting them on your list or giving you more of a sense of trust, I think that kind of kind of cycle makes a lot of sense.
[00:39:50] Josh Comeau: I think, especially like maybe, I mean, I only have myself, you would actually be a better person to answer this question than me. But my course is priced relatively high. Right. It's certainly like in a different,
[00:39:59] Joel: I so disagree with that statement.
[00:40:01] Josh Comeau: well, compared to say like the $10 courses on you to me, right. There's kind of different categories.
[00:40:05] Of course.
[00:40:06] Joel: I think you're probably like a third of what you could potentially charge for it. I wouldn't say should, because it's your course, but that's where I'm at, but anyway, I digress. Go ahead.
[00:40:14] Josh Comeau: Yeah, You know, it's a matter of for someone to come and if they don't already know my work, why are they going to give me hundreds of dollars? Right. Like it's a pretty big ask in the best of cases. And I think the reason people are able to make that, to leap to that decision that it's going to be valuable for them is that they've seen firsthand what I can do to help them learn.
[00:40:33] Joel: you've built authority and trust and, you know, like you're giving them valued, so to speak. For free anyway, and proving to them that they can take a risk with, you know, like a bigger leap
[00:40:44] Josh Comeau: Yeah. And that's kind of my assumption is that the bigger, the price, the bigger the leap, right? So the more you have to kind of have already shown them, I think. If I didn't have a blog, but I did have an audience, it might make more sense for me to create a lower cost course, because then people wouldn't have as much reticence or nervousness about it because it's 20 bucks.
[00:41:03] It's a hundred bucks, right. It might be an easier decision to make than, oh, it's three, 400.
[00:41:07] Joel: I would challenge you to raise your prices and just see what happens. Just
[00:41:10] Josh Comeau: I've raised them a couple times. It's relatively small. And it's true. Like, you know, I already get a lot of people emailing me to say that it's just not within their price range. And I do feel a little bit, you know, it is
[00:41:20] Joel: I mean, they make books and there's all sorts of stuff that people can go do. That might be more in their relative price range.
Building trust with free content
[00:41:26] Josh Comeau: and that's something I've started doing. I feel good about it is I created a list of my favorite free resources cause there's a bunch. And so now whenever someone asks about the price. Like wants a discount. My response is always, well, look, there's many ways to learn CSS. Right. I learned CSS without my course.
[00:41:39] And here are the resources that I use that are free.
[00:41:41] Joel: Yeah that's wonderful. Actually, that's a fantastic idea and a great solution to that too, because it's true and you're being helpful. And then in the future, if their situation changes, then they're going to think about, you know, Josh camo, the helpful CSS person that, that gave me this list of resources.
[00:41:56] And now I'm ready to go big.
[00:41:58] Josh Comeau: yeah, hopefully actually on that side. I maybe a year ago I wrote a short ebook building an effective developer portfolio.
[00:42:03] Joel: great. I've read it.
[00:42:05] Josh Comeau: I appreciate that. This was also, there was, you know, at that point I hadn't really decided that I was building a course, but it was something that I had seen in my future.
[00:42:12] And the thinking here was, let me build this thing. It's going to be free. And. I'm going to be marketing it to people that are just at the start of their careers. So I had this kind of idea that people are going to download the book. It's going to help them get their first job. And then when I create a CSS course, a couple of years later, they're going to now have these higher paid jobs and they'll feel like, Hey, this person helped me once.
[00:42:30] I bet they'll help me again. It hasn't converted as well as our in fact, it's my lowest converting of my three list. Right. I had that list. I had my general blog updates list. People specifically who would want it updates about the course, right? That one was the highest because people wanted an information about the course. But for people who were only subscribed to the portfolio, book one, it was like a quarter or a fifth of the conversion of people that were only subscribed to my blog or to my blog one and maybe others. So I was surprised by that. And I got the most complaints too, like, cause I sent like five or six emails during
[00:42:57] Joel: please stop emailing me about your CSS course type of complaint.
[00:43:00] Josh Comeau: And like, whenever I would get one of those, I would check like, which list is this person subscribed to? And even though the portfolio, this was maybe like 20% of my list. They were like 60 or 70% of the complaints. So I don't know why that is. I guess maybe it's that a bunch of people just saw a freebie online.
[00:43:15] It wasn't super applicable to them, but it was free. So they joined the list and they completely forgot about it. And now here's some random person sending them all
[00:43:20] Joel: is like a deep strategy there. Cause you know, they, people talk about keeping your list warm and, you know, like bridging people from one, one interest to the, I mean you can like really get into like a deep rabbit hole. I always recommend Brennan Dunn's in terms of, if you really want to go deep on that sort of, of segmentation and personalization nerdery it, it does go deep and I also don't know.
[00:43:41] Generally go that deep. I like knowing about it, but it's like, you can really get complex with it and strategic, I guess, easier
[00:43:47] Josh Comeau: It is also,
[00:43:48] Joel: the noodle on the wall and see if it sticks as my kind of
[00:43:50] Josh Comeau: yeah.
[00:43:51] Joel: But.
[00:43:51] Josh Comeau: I mean, I've done a little bit of experimenting with paid ads and it became very clear to me very quickly that this was a viable route, But.
[00:43:58] it would require way more time than I want to put into it right now. So it's about balancing and I guess a solution to this could be hiring people or finding agencies that do this kind of thing.
[00:44:06] I'm kind of a, if I make maybe the biggest mistake that I make. Like just overall profitability is that I try to do everything myself. And part of that is just like, I don't really care if it's less, like I just enjoy doing it that way. I like the control that I have. And I like that. Like, no one else is depending on me.
[00:44:20] Like I can just do whatever I want whenever I want without worrying about anything. Like that's, I really enjoy that freedom. And if I was working with someone that required me to set up certain analytics, you know, that's overhead, that I'm currently not optimizing for.
[00:44:31] Joel: Well, then there's also like, what's good enough for you too, right? If you needed that and you're optimizing for maximum revenue that's one story, but if you're like, I want work-life balance. I want enough for what I need and you know, I want to create something quality that I enjoy and I don't enjoy managing people or whatever that means.
[00:44:46] And that's a, I think that's a Way to look at it. And you know, like in terms of your own personal mental health and just, you know, general health, it's just a great, healthy way to look at it. I think
[00:44:55] Josh Comeau: I agree.
Steady goals
[00:44:56] Joel: what's your most audacious goal with your course platform, if you were really thinking about it and you were you're like, where do I want to be?
[00:45:02] What's an audacious goal that you've set for yourself.
[00:45:05] Josh Comeau: You know, it's interesting. I don't really have any audacious goals and maybe I should. You know, my goal is always just to make a living, creating courses that help developers learn things. I suppose that, you know, my goal is for that to grow and for me to have kind of a wider and wider reach, but
[00:45:20] Joel: That's more reasonable than audacious. Maybe two, I guess.
[00:45:23] Josh Comeau: Yeah. Like, you know, I think a lot of people that do the kind of indie hacker thing have plans of raising money and hiring employees and becoming this world changing company. And I have zero interest in that. In fact, Like a bunch of people have mentioned to me now that the course platform, I should like build that as a SAS and white label it and sell it to organizations.
[00:45:40] And that probably would be a great business, but I have no interest in it. So, I guess like the most audacious thing about my goal is just that I want it to be. I want it to be growing every year until I reach a pretty substantial size of the market. But it's not really that I wouldn't call that audacious. I think, it's just, I want to do it.
[00:45:56] Joel: I think that's a reasonable, unhealthy look at it and I'd agree. It's not necessarily audacious outside of, you know, just the fact that you're running counter to what maybe is hustle culture or whatever you call it where people want to do a startup or build a SAS or, you know, be a billion dollar unicorn versus just, you know, helping a good set of people and make a comfortable living and not be stressed out all the time.
[00:46:17] Like that's nice too. Right?
[00:46:19] Josh Comeau: I mean, I think that they're both like, you know, if that's, if someone really wants to go that route and there's nothing wrong with
[00:46:22] Joel: know, I tear it
[00:46:23] Josh Comeau: a route that appeals to.
[00:46:24] Joel: Yeah, I think that, yeah, for sure. And I'm pretty much there with you though. I've I brought in more collaborators over the years and have learned to balance that, but at the same time, it's like, there's a level of enough and just kind of getting in there and doing good work and helping folks is pretty, pretty fulfilling in another.
[00:46:40] Josh Comeau: Yeah, I mean, I should also say to you, like, I've been doing this for less than a year, so maybe like, as this becomes more normal to me, my like kind of appetite will increase, but for now, it's just, I want to do what I'm doing.
[00:46:50] Joel: Yeah, Josh. I really appreciate it. Thank you. Thank you for creating a CSS for JS. I think it's an awesome resource and you really hit a sweet spot and you know, this idea that developers can not be so scared of. Cascading style sheets is a true thing. And I think it's going to be successful for years to come.
[00:47:07] I look forward to seeing what you do next, then. Thanks for chatting with me today.
[00:47:10] Josh Comeau: Well, I appreciate it. Thanks for having me on.