Designing Courses Around Mental Models with Josh Kaufman

We can sort of categorize courses and other educational content into two different categories.

The first is a targeted instrumental style, where the learner is taught procedures and technical skills. It's important to learn these skills in whatever subject you are learning but this type of course lacks the greater context and can leave you wondering how everything fits together and where you'd actually apply these skills.

The second type operates on a higher level of concepts and patterns. It teaches the learner mental models and forms the context surrounding the skills of the domain.

It's necessary to learn from both types but you may notice that there are a lot more of the first type. And part of the reason for that is that it's a much more challenging instructional design problem. Both the delivery method and content of the course have to be different.

Which for Josh Kaufman this has meant building a custom platform for his Personal MBA course that he's designing. Some of the challenges have included reducing the cognitive overwhelm that comes with very large courses, structuring the course around a 1to1 asynchronous relationship with the instructor, and designing a system that has the learner revisiting content for spaced repetition.

All of that fits together to create an experience that is more likely to keep learners engaged through to completion and better reinforces the concepts being taught.


Full Transcript

[00:00:00] Joel: Hi Josh.

[00:00:00] Josh: Joel. Great to hang out with

[00:00:02] Joel: Yeah, same. So I'm really excited. One, I started out as a fan of your writing and the personal MBA is up there on my list of recommended books for anybody that wants to explore the business space and how to fight a Hydra is really something truly special. And I know it's something you're proud of and we love it around the house.

[00:00:19] It's just great. And I keep extra copies and I actually give that one out. What I wanted start with before we dig into that and talk about courses and core systems is how do you.

[00:00:28] approach a new complex subject when you set out to learn it? And I've asked this question in this series several times and you are the only person that's literally wrote an entire book that addresses the answer to this.

Learning complex subjects

[00:00:40] Joel: Like I know that there's a lot to this, but how do you, what's your kind of basic framework for a approaching, learning something new and complex?

[00:00:46] Josh: Yeah, I just by personality and inclination, I tend to rabbit hole on things pretty hard. And the book that you mentioned the first 20 hours is a book about how to acquire new skills, learn new things as, as quickly as possible. And I usually start just by, by being very specific about what it is I'm trying to do and constrain the topic as much as I can because otherwise it's easy to go off the beaten path waste a lot of time, do way too much research.

[00:01:13] Spend a lot of time like working around or learning. Around a topic instead of deciding exactly what it is I'm trying to do and then doing that thing as directly as possible. And yeah, I'll usually be very specific about what I'm trying to do just a little bit of research to, to learn how to think about this, learn how to approach it, find a few resources or guides or tutorials, and then jump into the practice or the implementation as, as quickly as possible.

[00:01:38] The general insight from first 20 hours is most people find the early stages of learning something new tremendously frustrating adult learners hate to feel stupid. They hate to feel like, I'm not doing what I want. I'm not accomplishing what I want. I can't do this. And so a lot of it is just trying to figure out like, how can you make progress as quickly as possible?

[00:01:58] So you can get that. Positive reinforcement. Like I'm getting better. I'm getting closer to what I want. And then how can you make sure that you spend a critical mass of time and attention early to get past that frustration barrier and to get to the point where yeah, I'm seeing this take shape.

[00:02:15] I'm seeing myself getting the results I want. That's exciting. That's motivating. And from there, it's really just. Spend as much time as you need to get the result you want and then figure out, should I keep investing here or should I move on and learn something else.

[00:02:28] Joel: I think in my experience too, like a lot of times we want some difference in our life or we want to do a specific thing and you have to learn it and then you're bad at it. Like you said, and that's really frustrating cuz you really just wanna do the thing you don't wake up in the morning and be like, oh, I'm really excited to read a book or take a course.

[00:02:43] And some people might be, but really it's about doing something and accomplishing something, some difference in your life that you want to achieve. And you have to go through this frustrating period of being a nube and suffering. If you want to get there.

[00:02:55] Josh: It,

[00:02:55] Joel: Are you a course taker?

What type of content do you learn with?

[00:02:56] Joel: Do you seek out online courses and take them when you're trying to learn something new?

[00:03:00] Josh: it really depends on the topic. Like I usually default to books usually because it's easier to skim and scan and focus on the most relevant parts than, there's a lot to be said for audio and video courses, but. Time is one of the big drawbacks of that. Like it's I can think of maybe a handful of courses that, that I've signed up for specifically, because I wanted to learn something about this specific topic and there was a targeted course that was already made on it.

[00:03:30] I think we share an interest in audio. So Curtis Jud is a he does audio for film has a YouTube channel. That's really good. And One piece of equipment. Sound devices has an audio interface called the mix pre series. And Curtis has a course specifically about the mix pre two, how to set it up, what all the controls are, how to get certain results or set it up to do certain specific things.

Good course outcomes

[00:03:55] Josh: And I remember signing up for that course. I'm like, I have a couple things I want to do. I went into the course. I found a couple of videos that were very targeted to exactly the things I wanted. I went through it and it was great. And I tend to default for courses around is it specific to my interest?

[00:04:12] Can I get a result from this relatively quickly? If so. Awesome. There are only a few courses that that I think really. Optimize for that. And I'm sad. I wish there were more like here's how to think about X or here's how to do this very specific thing. A lot of the courses that I see almost have this implicit default assumption that this course is the only thing going on in the learner's life.

[00:04:36] You're gonna drop everything and you're going to, spend, the next week going through these, tens or hundreds of hours of audio and video stuff. And that's not realistic. That's that doesn't fit into people's actual day to day life.

[00:04:49] Joel: I think it's a design problem where that difference that people are trying to achieve in their lives, where they're trying to go from a, to B is miss. And it's a focus on take the course versus make that difference in your life. And, they talk about completion rates and that this sort of thing is a success metric for courses, but really it's did this learner achieve what they were trying to do in their lives.

[00:05:09] And that can mean completion, or like you said, you, you bought a really great course, went in, watched the videos that were very specific to your needs and you were successful with that course because it was able to facilitate the difference you were trying to achieve in your life. And you sound great.

[00:05:22] So I assume that, that it was successful.

[00:05:24] Josh: Thanks. Yeah, it was a good course. And you can see where it comes from.

[00:05:28] On a marketing page for a course, it's like we have 60 hours of instructional content. Big in the sense of bigger is better. You're getting more for your money, all of that. So I don't think it's something that You can see where it comes from.

[00:05:41] You can see how it's rewarded but then you just end up designing courses that are really frustrating for a learner, because they may not necessarily be able to get the result that they're looking for in the time that they have available.

[00:05:53] Joel: 60 hours is a long time. And then, like you said, there, it, and fundamentally this is something just observationally is that there is a ton of focus and there's a ton of resources out there for marketing and like launching courses and not a lot in terms of how do we design something. That's.

[00:06:09] Excellent and effective for the learners to help them achieve what they're trying to do. Which actually leads it, like what are good qualities or what is the, what are the qualities of a good course if you're sitting down, maybe even as a learning designer or a student

The two types of courses

[00:06:21] Josh: Yeah I think there are two, two general magisteria of courses with very different objectives and very different

[00:06:29] Joel: outcomes ..

[00:06:30] Josh: So the first would be like, the Curtis Jud example that I brought up earlier, like very specific, very targeted, very niche. Here's the thing you wanna do.

[00:06:39] Here's a piece of equipment you want to use. Here's a technique you wanna learn. And the whole course is focused on how to get that particular. Yes, very targeted the other course, which is the type of course, that I've spent a lot of time thinking about and designing and and creating a system around is maybe call it the, how to think about fill in the blank course.

[00:07:04] It's very like the transformation or the end result is not necessarily like some straightforward, practical. You are not able to do X. Now you're able to do X ki kind of thing. It's a shift in understanding and insight and being able to see the world or relate to other people, or think about how you're doing things in a completely different way.

[00:07:26] And so for me my, my first book the personal MBA. Is essentially a book about how to think about business. It's a collection of mental models. It's a way of understanding what businesses are and how they work and what makes a good business and how you can make whatever it is that you're working in or on better over time.

[00:07:46] And so that's a very different instructional design problem. Then the very targeted, instrumental, how can you get this result as quickly as possible? And I think that the, both the content of the course, but then also the method in which it's delivered needs to be very different because, things like exposure to the information over a longer period of time is terrible for an instrumental course, because you're just taking too much time to deliver the end result.

[00:08:14] But for a how to think about course. That could be very beneficial. Things like spaced, repetition things like sitting with a concept and trying to apply it or ask questions about the learner's life, get them to integrate whatever it is that they're learning from an informational standpoint, like really integrate it into their experience and their knowledge, make conceptual connections hooks between what it is.

[00:08:38] You're telling them the information that you're deliver. And how they can imagine themselves acting about these things in the future or making decisions about these things in the future.

[00:08:48] Joel: Kind of approaching like their personal identity and developing a system around it. Instead of, I'm gonna learn to do this. It's I'm a person that does this sort of thing in their lives. Like transformational change in a lot of circumstances, I would assume. And to me it's like learning how to program computers and people focus very heavily on syntax and, applying syntax and applying syntax where, what is really difficult about being, an expert computer programmer.

[00:09:12] Is not the syntax. And you learn that after a while. And, but until you have internalized that it is, it feels impossible because you can't think about the problems and you'll do it and you'll learn some

[00:09:22] Josh: Totally. And I, you can see this division in programming books really well. So there's like the, I don't recipes or design patterns or algorithms book. Like here's how you, here's how to set up a Redis instance. And, here, the data structures you can use and here are some, recipes or common patterns or things that you can crib from, the stack overflow approach.

[00:09:43] How, like, how do I do this? And then you have books, like principles of software. Like very high level. How do you think about creating a program? What's important. What's not,

[00:09:52] Joel: I was just in this isn't video, but over my shoulder is Knuth's four part set of computer science is on my shelf right there,

[00:10:00] Josh: totally.

[00:10:00] Yeah. And it's, his work is. Fundamental instrumental, like really changes the way that you view this entire domain as a whole. And yeah, the way that book is written is completely different than a, cookbook or a set of recipes to get a particular result. And so yeah, it's, I think a lot of the, when we talk about instructional design or course design, it's really beneficial to think through what. What type of course is this for you, because not all courses are the same.

[00:10:30] Joel: I think there's a place for both too. Absolutely. You often need a cookbook. I want step by step because this is the exact problem I'm trying to solve. Just show me how to solve it. We don't, I don't need to learn how to think, just show me how to solve my problem. And that can be, like that can make the difference you need, like long term, it's the a systematic approach that really makes.

[00:10:48] The biggest change in my life personally, when I've experienced any sort of course or book or what have you,

Differences in instructional design across mediums

[00:10:53] Joel: one thing I'm curious about, cuz I know you don't, I don't believe you have any sort of public courses available, right? Like people can't go buy a course from you currently, is that

[00:11:01] Josh: Yet. Yeah,

[00:11:02] Joel: yet?

[00:11:03] That's a good one but you do instructional design and you do teach people and you do, probably more in the training than what you might call a formal course at this point. Is that

[00:11:11] Josh: Yeah. Not very well known. Personal MBA was a course before it was a book.

[00:11:16] Joel: I didn't know that at all.

[00:11:17] Josh: Yeah. So I I had been consulting with people coaching individual entrepreneurs for a while. And then I created a very early, this was a decade plus ago. And I don't know that course was online for a couple of years.

[00:11:34] And then the book came out and I wanted to focus on the book, but it was also taped and recorded. In the era before good audio and good video and lighting was easily accessible. And so at a certain point, the production Val, I just looked at it. I'm like, I'm embarrassed about the production value of this course.

[00:11:53] Like I need to redo it. What I'm doing now. Because in, in the interim, I learned how to program. I actually learned how to program in the process of researching the first 20 hours and some of my frustrations about how I did the first version of the personal MBA course. Now that I know how to program and I can actually control this system or control the frame in, in, in which the course is delivered, that's a superpower. Like I can do things with the course now that I couldn't do back then. And yeah, that's the core system that I'm working on. The things that I'm working on right now are really trying to do version two of the personal MBA course in, in a much better and more sophisticated way than version one was.

[00:12:33] Joel: I,

[00:12:33] think it's interesting. And you talk about, you, the personal MBA which I believe is the currently the 10th anniversary edition is out there. So that was a while ago, but it, you started developing that as a course first, and I'm always flipping back in terms of design, because I feel like a lot of courses that exist or that I've worked on, would've been well suited to be designed like a book versus designed.

[00:12:54] As a course first, and then I also, and you talk and it's like workshops and what is the design process? And I'm wondering what the difference for you maybe is between, if you're sitting down and thinking about a book versus sitting down and thinking about a course, is there a difference between process or how you would consider like the research and design aspect of those.

[00:13:13] Josh: I think there's a substantial level of overlap and it really depends on the book that, that you're working on. Something like a well constructed narrative, non-fiction sort of book a, a good example of this. This style done well is range by David Epstein, awesome book full of insights, and is structured in the form of a story or a narrative it's an, you are going through an intellectual experience and imaginative experience with the author and.

[00:13:42] I think the process of writing that sort of book and developing a course is very different. If anything, a lot of folks and David included the general approaches. You write this book and then you can structure something like a speech, like a talk like a training to abbreviate it a little bit, highlight the stories, deliver, that sort of.

[00:14:03] Narrative experience in a shorter format, but those books tend to be really difficult to adapt to courses because instructional design was not part of the process. It's something that kind of has to be shoehorned in later.

[00:14:17] Joel: Telling a story versus instructional design, I think maybe is a way to think about it.

[00:14:21] Josh: Yeah, totally. And, if you're focusing on the story you don't necessarily want. Leave out a bunch of that. That's the, story's the point.

[00:14:28] Joel: Yeah.

[00:14:29] Josh: And but for me I usually focus on writing how to think about fill in the blank books. It's not necessarily a narrative, although there will be stories and examples in it.

Designing around the mental model

[00:14:40] Josh: I think about my work as creating a collection of mental models, a conceptual idea about how something works in the world. Being very clear in isolating those for the reader. And so it's not necessarily narrative. It's here's how to think about something important. And then here are some stories and examples to help that stick in your mind a little bit better.

[00:15:00] And in terms of instructional design for the per the personal MBA course that I'm working on, it's structured very much at the mental model level. Here's this idea. Here's an explanation of what it is and how it works. Here are some examples, and then here are some questions or exercises to help you, the learner integrate this and figure out how does this can you think of examples of this in your own life?

[00:15:25] Can you think about examples of this in the world that you're already aware of? How might you apply this specific idea? In your business or in your career, or to accomplish the things that you want to do. And the discrete unit of the course and, the book is entirely structured around this idea is here's the mental model.

[00:15:44] Here's how to understand it. Here's what you do with it.

Creating a custom platform

[00:15:46] Joel: now you're creating a course and I know that you're building the course system, constructing your own course platform. To produce this and deliver it to people. Why not just use something that exists? Why not go to teachable and put it on there? Or one of the other perfectly fine platforms that exist for delivering a course?

[00:16:04] Why not use something like that?

[00:16:05] Josh: You mean aside from for fun

[00:16:07] Joel: Aside from, yeah, like aside from, I guess the personal I enjoy doing this kind of aspect, which is frankly I think that's really important, right? If you can and, want to then, I think it's a very good idea to, to do that sort of thing. But otherwise, like what's the, is it just pure control or what is it that you seek when you're designing and building a core system for yourself.

[00:16:25] Josh: Yeah the, so there's a practical element and then there's a kind of design problem element. So the design problem element in the, what got me thinking about this in the first place is that the personal MBA. If you go to the book, there are 250 give or take discrete concepts that are discussed in the book.

[00:16:44] And when you map that to the default instructional design of something like a teachable course or a T me course, or whatever it falls into have you ever signed up for a course and. You go through the payment thing, you have your login, you log in and then it just feels like you get a bucket of stuff.

[00:17:04] It's like welcome to the course. Here's everything,

[00:17:07] Joel: left hand side navigation introduction, video kind of good luck.

[00:17:12] Josh: Yeah. Totally. And with very little guidance, like you just here you go at a certain point, it, I would say probably beyond. 20 give or take course modules that design structure really breaks down. The learner logs in, and they are very overwhelmed by what they see.

[00:17:30] It's too much. There's too much to process and without some guidance or Helping people navigate through the course in a more systematic way. People can just get overwhelmed and say, yeah, this is not for me, request a refund or drop off. And they never get the value or the benefit from the course.

[00:17:45] And so one of the things that, that I thought a lot about, and I'm really curious to, to see if it works in the context of personal MBA. I wanna have a course instead of asking someone to all right, set aside six hours half a day's work to go through this thing from start to finish.

Reducing the cognitive load

[00:18:02] Josh: I wanna see if a course how to think about business course, that's delivered over a much longer period of time, how that does. And it's much more straightforward, less overwhelming for a person to receive an. Your next course module is ready. Here's what it's about. Log in the system automatically directs them to that particular lesson.

[00:18:23] It's maybe 10 minutes and then they go through the lesson. They market complete. The system keeps track of that. And then the next day they automatically get the next lesson without having to think about it, without having to find where they are in the core system log. Remember to log in, do all of those things like, can you.

[00:18:40] A system that really removes the cognitive effort and the friction from someone, going through this course from a to B can you make it much smaller, less intimidating modules just delivered over a much longer period of time?

[00:18:52] Joel: Kind of the crushing weight of the table of contents, right? Like you're staring at that and oh, here's 60 hours and it's just like your brain says, yeah. You know what? I could just Netflix right now. And I don't even have to think about this. And what's also interesting to me is cuz the personal MBA is not, it's linear because it's a book and it has a table of contents and you could read it back to front and it actually does read well, that's how I read it.

[00:19:12] But you don't have to, it is like something that you could go in and be like I'm really struggling with this right now. And maybe you knew it a little bit, or you'd read the table of contents and you could jump in and get something that's pertinent to your current needs without having to go through it in a front to back sort of fashion.

[00:19:26] And that sort of thing is really fascinating To.

[00:19:28] me from a course perspective too. Cuz I think we could probably think about these things more like that than a linear progression through a very rigid outline.

[00:19:37] Josh: totally. One of the features that I built in thinking along those lines, Was I call it random mode.

[00:19:43] Instead of going through the course from front to back maybe a learner goes through the course from front to back at first. And that doesn't necessarily mean that their engagement with the course has to end.

[00:19:53] They can continue going. And then the system will just give them a random concept. And there are enough of them in there for a person to be productively engaged with this course for potentially years. and as long as people are, the space repetition element is really important in terms of reminding people of certain things or, a certain amount of serendipity is a wonderful thing to have.

[00:20:15] And then it's also a value for money thing. If you're finding, spending time in this way is valuable. You could potentially do that for a much longer period of time. And that just increases the value of the course.

[00:20:26] Joel: Makes it more value on it also, I think you're what you're talking. It allows you to increase that identity and that system and your needs grow. And these lessons are something that you can learn again, or have repeated or learn at a higher resolution. And one of my favorite concepts that I learned from Kathy Sierra is this idea of spiral learning, where we learn the first pass and it's a low resolution and you just don't, like you get you, you just, you see it.

[00:20:48] It's like a lower resolution JPEG. You circle back, you do things in your life and you come back around and now it's like a higher resolution. You can see it and understand it. You're learning the same lesson. At a different resolution and like it can come out and like at the perfect time in your life where you can now see this and use it in a different new way, because you've advanced on several different fronts.

[00:21:06] And I, I love that concept.

[00:21:08] Josh: Yeah, that's amazing.

Introducing "fog of war" into the course design

[00:21:09] Joel: So I love this idea of progressive review and that's something it's like you come in and you don't have the entire map laid out. It's almost like fog of four, or, like you, you jump into a video game and you can see that you're gonna be able to take an adventure. And I was wondering if, like if. sort of, of playful interaction with the course has influenced what you built with your system.

[00:21:27] Josh: Yeah, a little bit. So I'm really just trying to, in, in the design of the system, reduce cognitive load as much as I can. And the jumping around, all of that is, is. Possible and encouraged, like the system keeps track of what you've seen. You're not gonna see things that you have already seen unless you opt in for that or want it.

[00:21:46] I've spent a lot of time. I think, the serendipity elements you can see it with with the cohort based courses. Yeah. You're signing up with. You're signing up for a certain amount of knowledge transfer information transfer, but you're also signing up for this serendipitous sort of community interaction that a lot of people find valuable.

[00:22:06] I think there's a time and a place for that. And I think that's also can sometimes fall into the trap of okay, now taking this course is your part-time job. Like it, the assuming that people are going to spend six hours. A week, doing this

[00:22:20] Joel: Showing up at a certain time, doing a certain activity, being responsible, having other people that are gonna be there at the same time, doing the same thing.

[00:22:26] that sort of thing.

Async mentorship with individual learners

[00:22:27] Josh: And I think that there's another way of structuring courses. That's a little bit more think personal individual mentorship, like a one on one relationship between. The learner and the instructor where there's a back and forth conversation that's happening. It's just asynchronous, so instead of hopping on zoom and having a call for an hour where, the instructor's teaching the material over and over again, like you can have videos, you can have audio, you can have the instructional information transfer stuff pre-recorded and at the learner's convenience.

[00:22:58] And then depending on the exercises or. The questions that you ask. If the system allows it, the instructor sees it and then can reply. And there, there can be a back and forth that's asynchronous and extremely valuable. And to the learner, it just feels like it's them and the instructor the person that they want to learn from instead of having this like mass group experience all the time.

[00:23:21] So I'm really trying to build, the serendipity for me in the course. What is it gonna be like to have a whole bunch of people going through this course and be at different parts of the system, different parts of the information thing. But there's this really interesting interaction of, let's say a learner has a particular experience and shares an example around a concept.

[00:23:43] As the instructor, I can take that, make it an example, update the course material. And now everybody who goes through the course after that is going to benefit from the experience of another learner going through exactly the same thing. There's something emergent and cool about that kind of progressive enhancement of the course material over time.

[00:24:02] Joel: It makes it, it's relationship based too. And I've always said, and people, cuz people will go out and I need a mentor in a certain thing and I'm like you can buy a book. And that is a mentor relationship. That person might not even exist on this planet anymore. But you can, learn from them and have that conversation.

[00:24:16] But what you're talking about is a growing system where this is an ongoing conversation that we're gonna have together and your work actually matters. And when you have something interesting, we can bring that back into it and evolve the overall system for everybody, including the, like that individual.

[00:24:31] Josh: Exactly.

Controlling your system

[00:24:31] Joel: Are you like testing? Do you, how do you test a new course system? Is this something that like you invite people to, or that you just work on until the big reveal happens and you Tido on folks or what's your kind of approach to like testing course material

[00:24:44] Josh: It's it, the material or the system

[00:24:47] Joel: the system, and the material.

[00:24:48] I don't know. I don't know how to separate them in a lot of ways personally, because of the, but Yeah the system itself.

[00:24:53] Josh: sure. I've had various incarnations of my system running in, in beta with other courses for a while. And also going back to your question about like, why build one instead of, I version one of the personal MBA course was on word WordPress with a bunch of plugins and whatever, and it broke.

[00:25:12] All the time. Cause WordPress is updating and the plugins are updating and the external third party systems are updating. And at some point somebody's gonna update something that breaks things and when it breaks, it's not their responsibility, it's your responsibility to fix.

[00:25:26] Joel: nobody gets mad at them. They get mad at you.

[00:25:28] Josh: That is when I made a holy valve that I would never use WordPress for anything ever again, if I could avoid it.

[00:25:33] Joel: Yeah.

[00:25:33] Josh: And one of the great joys. That worked far beyond my initial expectations in doing the beta version of this system is that I've had software running courses in production for, I think, six years now. And they are rock solid stable, because nothing changes unless I change it.

[00:25:53] You have to do security updates. You have to, a minimum amount of maintenance. But it's possible to develop a core system that is feature complete for exactly what you want to use it for. And if it's complete and there's, no, no major glaring security vulnerability that you need to patch right away.

[00:26:10] Like it just sits there and runs. And you have to spend a lot less time and energy thinking about it and maintaining it than, an external third party system.

[00:26:20] Joel: Something completely outta your control at that point. Like you're able to gain the control and stability because it's something you designed and can at every level fix or update or do what you need to do with your system.

[00:26:31] Josh: And you already know how it works. And so if you need to change something or add something or delete something like that's a much more straightforward process than delving into the. PHP ins of a WordPress installation to try to, duct tape and super glue something in or out. And, the downside of owning your own system versus a third party system is it doesn't improve unless you spend the time and energy and attention to make it do something.

[00:26:55] And so at least for me, I want to have enough control over the system that I can control the process and what the learner sees and what the whole experience feels like from start to finish. And that's not gonna change dramatically over time. Like I have a set of things that it really needs to do if it does those things.

[00:27:13] And the uptime is great and learners are happy. Like problem.

A technical explanation of Josh's course system

[00:27:17] Joel: Can you briefly and this will take us out here. I would like a brief technical explanation of the stack. The, what has gone into your core system? Like how does it run and how did you build it?

[00:27:28] Josh: Sure. So I learned Ruby in the process of researching first 20 hours. I love it. It is a joy to program in, and I do not use the vast majority of rails. I I use Sinatra and I love Sinatra because it's lightweight. There's no, auto, magical generator code things that are putting code in my code base that I didn't put there myself.

[00:27:50] And Ruby and Sinatra is the base. I use Redis as my primary. Database and single sore of truth version. I'm now on version three of my course system version two was on Postgres. And I found that at least for my for my uses was way overkill. It was very complicated. Schema migrations were a pain in the butt.

[00:28:12] It, there was a very long cycle time, like between me having an idea, implementing it and, going through all of the. Postgres schema stuff in order to make that happen. So with what I found is with core system, like you're dealing with really simple information. So a key value store is amazing.

[00:28:31] Reddis data types are perfect for this sort of thing. And if you wanna store strings and lists and arrays and sets and all of that good stuff like Redis already has it. Because it's text, it's relatively small. And and, over time Red's persistence and availability and backup capabilities become really great.

[00:28:52] And the. The benefit is the development time is very straightforward. Like you just keep notes on how you're. I just, I essentially have a text document. That's a schema file. It's a reference document for myself of like, where I'm storing things, what the keys look like.

[00:29:07] But from there, you're dealing with very small amounts of information. And so when it's in memory in Redis, The whole site is just blazing fast. And it's definitely a not so traditional stack. Most people still consider using reds as a primary store of value to be on the risky unorthodox side.

[00:29:29] For me it's been amazing. Some of the fun things that, that has allowed me to do is I have a version of the core system. That is optimized for group training experiences. And say for example I'm doing training for a corporation and there are 25 learners going through the course at the same time with reds, I can do something that would otherwise really bog down a system.

[00:29:54] Like for example I can put a on, on keystroke JavaScript thing in a comment field. And every time somebody, adds a character to their notes, it's throwing it up to Redis. And what that allows me to do on the back end is the instructor is I can have a module page and refresh it and I can see what all of the learners are taking in their notes fields, as it's happening.

[00:30:16] And if I shift from. Instructional delivery into something like a live conversation. I already have all their notes. Like I can read those in advance. I can call on people and say, Hey, you had a really good example about this. Would you like to jump in and explain this for the group?

[00:30:30] Like

[00:30:30] Joel: Love that

[00:30:31] Josh: I had one, one of my clients is that's pretty close to mind reading.

[00:30:35] Joel: It is.

[00:30:36] Josh: really cool. And because the overhead of Redis, because it's so fast, I can have thousands of requests per second, over a relatively small user base and Redis can handle it fine. And those sorts of things like understanding where the technology is and what cool things does this unlock that something like a teachable, like just would completely break and fall down trying to do that's really fun and really cool.

[00:31:01] Joel: It's it's a great space. Like you have a infinite space to explore And try new things and help people succeed.

[00:31:06] Josh: Yeah. And then, arch architecture wise, I just use a very minimal amount of JavaScript. I know enough to be dangerous, but I don't know enough to do like all of the, fancy front end react

[00:31:18] Joel: I know a lot to be dangerous

[00:31:19] Josh: Yes you do.

[00:31:20] Joel: it.

[00:31:20] Josh: Yes, you do.

[00:31:21] Joel: like I can be dangerous with JavaScript all day, Josh. I think we could geek out on this for hours and I look forward to in the future. I really appreciate you taking the time to chat with me. Thank you so much. And I look forward to seeing the personal MBA course and I will be signing up on day one.

[00:31:35] Josh: Awesome. Thanks so much. It was a pleasure to be here.

[00:31:37] Joel: Cheers.

Lets work together on your strategy to design, produce, and sell your course online.

You're an expert with an idea for a course you'd like to sell, but don't know where to start.

You've got a full internet of options for designing and selling your course.

Narrow down your options and get on the right path to successfully selling your course.

Get direct expert feedback on your course idea by entering your email below.

Subscribe Form image

There's no obligation. This isn't a sales pitch. We respect your privacy. Unsubscribe at any time.