"In our universe, the parts that people pay for is interesting."
Interested in building your own SaaS company? Follow the journey of Transistor.fm as they bootstrap a podcast hosting startup.
Hey, everyone. Welcome to Build Your SaaS. This is the behind the scenes story of building a web app in 2020. I'm John Buddha, a software engineer.
Justin:And I'm Justin Jackson. And I'm just an idiot from the Internet. Follow along as we build transistor.fm.
Jon:Oh, 2020.
Justin:2020. Welcome back,
Jon:Back in the microphone chair.
Justin:Yep. Back in the microphone chair. People have been wanting you to be back. Yeah. Tired of I'm back.
Justin:Tired of me talking.
Jon:I'm back. I wish we could have a redo on 2020 so far, but Mhmm. That's that's a longer story Yeah. Which I will not record here.
Justin:A little bit of a rough start. But, again, I think I was bit. I think we're only 6% of the way through 2020. So you got so much time, John.
Jon:Yeah. I don't I never look at a year like that. Although, I read books like that now because I use a Kindle. Oh. So I'm like
Justin:With the percentage. I never
Jon:I don't I don't know what page am I, but I'm like, I'm 24% done.
Justin:That's true. Do you think those percentages give people a baseline anxiety?
Jon:I don't know. I don't I'm not too anxious by it.
Justin:I got can I recommend a book right off the top? This is an old book. It's called The Timeless Way of Building. It's by Christopher Alexander. It was actually expensive.
Justin:It it was $56.58 Canadian.
Jon:It's probably not print anymore, I would guess.
Justin:Yeah. It it it's old print. Like, when you get it, the you can tell I I think it was printed on a machine, like, not digital. And it is fantastic. Even if you're not interested in it's it's loosely about building.
Justin:But I have found it just so good for the soul. He's using, like, houses and towns, the places we live, as a way for us to examine kind of just, like, the patterns of life. And and so I'm I'm looking at everything through this lens now. So I was just thinking, you know, it's quite popular. There's this Twitter account that gets retweeted all the time about, like, percentage of the year left or whatever.
Jon:Right.
Justin:I was just thinking and then you said, oh, yeah. In Kindle, I know how much of the book what percentage of the book I've completed. That's an interesting pattern, both of those. And sometimes those patterns get implemented, or we allow ourselves to be exposed to things like that. But we never think, like, is this good for us?
Jon:Yeah. I mean, it's weird. Like, yeah, Kindle. I don't I don't ever get really get anxious about the page or how much is left and unless it's going slowly. Mhmm.
Jon:But also with Kindle, you can toggle it. So it's like it does actually have page numbers that refer to the actual paper page. You can switch to that if you want. Oh, nice. You can also switch to how much time there is left in reading it based on how fast you read.
Justin:Oh, wow.
Jon:Depending on the size of the book, that is anxiety causing because it's like sometimes it's like you have 16 hours of reading left or
Justin:whatever. 20 years.
Jon:20 years. I think I read the Harry Potter books a few years ago, finally, all of them. But in Kindle, you can it was, like, free for prime members or whatever. Free for all 7 books as one book. Oh, wow.
Jon:Basically, you download it as one book. So you when I started it, it was like, you have 72 hours left of reading or well, that's just like, oh my
Justin:You know, there's this whole movement towards, like, the quantified self and, like, the quantified everything. And there are some things that maybe we just shouldn't quantify.
Jon:Yeah. Probably.
Justin:Because if you're gonna enjoy something Yeah. You know, it's I'm actually a big fan of short books. I love, like, a book I can just grab and just read and be done in an afternoon. For me, I'd almost pay more for that.
Jon:Yeah. Yeah. I don't mind long books. I like shorter chapters.
Justin:Oh, interesting.
Jon:Better stopping points.
Justin:Mhmm.
Jon:So if you need if you only have certain amount of time to read, you can you know, 10 minutes and you're done with the chapter and then
Justin:Yeah. You can just, like, let it go. Yeah. The back to this book for just a sec. I think it it actually intersects with something that you and I have talked about.
Justin:When you work for yourself or you work remotely, there can be a sense of, loneliness or sometimes anxiety, sometimes a a kind of direction and, like, you don't know what direction to go or a sense of not being grounded. Mhmm. Is any of this making sense or am I Yeah. The one thing that I have found helpful for me, these patterns that I I and I kind of started them by accident, but I have this one pattern where I get up and I walk to my office, which is about 30 minutes. And often I'll listen to podcasts, but I'm trying to increasingly not do that all the time and just pay attention, like, be in the moment and pay attention to what's happening.
Justin:Mhmm. And it's amazing the things I notice on the way to the office. Like, I don't know, like, a certain type of moss on a tree. Today, I noticed that it it froze overnight, and so the sidewalks are really slippery, but only the new sidewalks. The old sidewalks that were made in, like, the late 1800 that are, like, more, gritty.
Justin:You know? Yeah. They're not slippy. And it I know this is silly. This is probably boring for people.
Justin:But there's something about that mindfulness and that pattern, that tradition of walking to my office, even though I could drive and it'd be I'd be here in 5 minutes, that's been really helpful for me in my work life. Just having this this feeling of yeah. Of course, I'm going to walk. And then when I'm walking, I'm, like, kinda and it's this it's this the spirit of this is hard to explain. But I I think you can probably understand what I'm saying.
Justin:You know, whenever you feel in the moment or whenever you do something continuously that almost puts you in a meditative state.
Jon:Mhmm.
Justin:Like, maybe it's running for you or Yeah. Cycling or swimming.
Jon:Yeah. I mean, running for me, I I rarely ever listen to anything.
Justin:Mhmm.
Jon:Like, I don't usually wear headphones. I just run and just pay attention to stuff around me.
Justin:Yeah. Have you have you ever had success with actual meditating?
Jon:No. I've I haven't really tried though either.
Justin:I wonder I wonder if that's because that's a big trend for founders and then Silicon Valley. I've always struggled with it. And as I was walking today, I'm like, this is way better than meditation for me.
Jon:It's possible you get, yeah, it's possible you get the same benefits from it or I get the same benefits by running. I mean, it might, I don't know. It might be the same, yeah, the same brain effects that you get. Mhmm.
Justin:It's it's interesting because in the in the Jewish and I think the Christian tradition, meditating, like, that word doesn't mean sitting still. It means to repeat over and over again.
Jon:Mhmm.
Justin:So you'll like if you're meditating on something, you're, like, repeating a concept over and over again or or, a phrase or something. It's like considering something kind of in the moment, but there's this pattern to it. When I think about walking or running or cycling or swimming, there's always this cycle. It's like stroke, stroke, breathe Yeah. Or whatever.
Jon:Yeah. Oh, yeah. Absolutely. Yeah. When I I mean, I would swim for hours.
Jon:Right? And it was we're basically all you were doing was paying attention to your stroke and your form, and and that's a that's a pattern. That's really all you think about.
Justin:And I think to me, that is kind of the benefit of meditation is that meditation often kinda anchors on the breath, which is, like, breathe in for that. But I'm just opening people's minds to the idea that maybe there's other things like, you know, your steps. Walk, walk, walk, walk. You're running. You're, cycling.
Justin:It's like, you're you're you're, you know, there's this, like
Jon:Yeah.
Justin:And then swimming. And, I found that interesting. And those kinds of things, like, if you leave them out of your life for too long, like, if you haven't gone swimming, like, Jamie, my friend Jamie in Ireland, he, he goes swimming. And I think if he doesn't go swimming, he's, like, not good. So he swims all the time.
Justin:And I'm guessing that part of the attraction is just that you're in the water. You're closed off to every other kind of input because you're underwater. Yeah.
Jon:I mean yeah. Almost yeah. Sound too almost. Mhmm. Yeah.
Jon:Yeah. I I mean, I I've definitely felt it in the last month that I've gotten well, I don't know, the last couple months I've gotten out of that habit or that rhythm of working out as often and especially swimming. Mhmm. But, yeah, I can I can certainly relate to that?
Justin:And even even this pattern of you and I talking on the show every week. And also, I think it's easy. We have a Tuesday call that I think is easy for me to skip. Like, do we need to talk? Nah.
Justin:But there is something about the pattern of that, the continuousness of that, the rhythm of that, that all feeds into really how well we're doing. I think that's just something good to keep in mind.
Jon:Yeah.
Justin:Like, when I was depressed, the first thing my doctor told me to do was, like, quit drinking booze and start exercising more.
Jon:Yeah.
Justin:And part of it, I think, is just getting into these patterns that kind of contribute to an overall wellness. It's not nothing happens overnight. But as you kinda engage in these things over and over again week by week, they're healthy for you. It is I think there is something about that of, again, with you and I making sure we do connect even if we don't feel like it or whatever.
Jon:Yeah. I mean, I was I never regret it, whatever we do, certainly. It's it's never like that was a waste of time. It was always something always good comes out of it.
Justin:Yeah. You've never regretted it? Never. Not once.
Jon:Except that one time.
Justin:No. No. But I I think that,
Jon:you know, you've like, you so you walked to the office today, but you didn't listen to podcast, right, or anything anything? Yep. Or look at your phone, maybe, I don't know, maybe you did, but I always wonder, like, what so in Chicago, right, you got the train and the buses, and you go on those things, and almost everyone's doing something, looking at their phone or whatever. Yeah. I always wonder, like, what would happen if all of a sudden they just all the phones just disappeared?
Jon:Like, what would those bus rides and train rides be like? Yeah. Would people would just be looking around at each other? Like, what do we do? Or would they actually talk?
Jon:Or what I maybe they they notice things they never noticed because they're just looking their phone the whole
Justin:time. I don't Context is important. And, like, when I'm driving my car, I'm not paying attention to anything. Everything is whizzing by so fast
Jon:Yeah.
Justin:That you're almost in a different mode. I'm not saying that people can't engage on public transit, but I can 4 or 5 blocks away, and I could see him coming towards me. And I know we're gonna have some sort of interaction. Right? Because we can see each other.
Justin:To to ignore each other as good Canadians would be, you know, it would just be rude. And so we had this brief moment of laughing about how slippery the sidewalks were. And it was literally in passing. But the environment in this case, contributed to that interaction. Whereas if we get on the bus, it's just it's a it's a bit trickier because I'm in I I'm already feeling constricted because I'm in this metal tube.
Justin:I can't escape. You know, I can't take a different path. I can't like, I have no choices. And so I I understand why that might lead to let you know, to more antisocial behavior.
Jon:Yeah. Yep.
Justin:Which is it's just like anything. Like, the activities we do matter and the context we're in matters. Again, this book is just, like, opening me up to that idea. Like like, the way we build our houses, the way we organize our towns, all of these things lead to, you know, contribute to our lives. And then, you know, I've thought about walking versus driving a lot, because just the difference in terms of how connected and grounded I feel is night and day.
Justin:Or even opening myself up to being the type of person who goes into a coffee shop and talks to people. Yeah. You know, like, I it's a switch I had to flip, which was and once I did it, that pattern kinda contributed to my overall feeling of connectedness and life and all those other things. 15 minutes in. So so so sorry, folks.
Justin:That I'm not sure if that was helpful or not. Tell me what you think at build your sass. Let's get back to what people really wanna hear about, which is, John, what have you been working on?
Jon:What have I been doing? That's a good question. I have not been totally absent. I've just been haven't been recording the show. Yep.
Jon:Yeah. I have been working on a few things behind the scenes. I mean, a lot of it's, you know, customer service and just fixing fixing bugs. And one of the things we talked about before the holidays or early December was hoping to have some time over the holidays to like, you know, let your mind kinda wander and think about some new stuff or trying to redo some parts of the application that we've been wanting to redo and, one of those was rebuilding our dashboard so that it is, well, a little bit more flexible, a little bit more mobile friendly, not really not really changing it necessarily. We're not gonna redesign the whole thing.
Jon:Mhmm. It's gonna be similar. We're just gonna update kind of the the design library we use. Yeah. We've been using up to this point, we've been using semantic UI, which is just all kind of this all in one, design library.
Justin:And that's both CSS and JavaScript. Right?
Jon:Yeah. It's CSS with a handful of JavaScript components, that make, you know, a few things easy to do. But it's really it it's nice for what it is. It's tricky to get things working well in mobile, and it also really hasn't been updated in a long time. Mhmm.
Jon:So it's just kinda like falling by the wayside. It uses jQuery, which is fine. I mean, it's no problem with that, but it's it's just like I don't know. We needed something a little more flexible. So, we used we ended up using Tailwind CSS for our marketing site, which I eventually grew to like.
Jon:And so, the idea was to use that for our dashboard. So, I've been kind of playing around with that for the last couple weeks and just building out a base, like, first of all, first, getting it integrated into a rails app. I just started a new rails app fresh just for this. Oh, wow. Just to make sure I could get tailwind integrated easily within like the whole deployment process and the whole asset pipeline that rails has.
Jon:And then eventually we'll just take extract out what I did and, and port it over to the actual.
Justin:Was there was there any hiccups in that process?
Jon:There were a few. There's some good, tutorials online. I I forget exactly what the hiccups were. But
Justin:Oh, so so other people have done have had to do this. You're not the first person to
Jon:Yeah. No.
Justin:Use Bootstrap and I mean, Bootstrap tailwind and, end rails.
Jon:No. No. It's mostly, like, because, the preferred way to do things now is with Webpack and Webpacker.
Justin:I've heard I've heard web people do not like Webpack.
Jon:I don't know. I don't know what the alternative is. There's so many
Justin:But but people complain about it and say it's the worst. Is it the worst?
Jon:I think it's people on the Internet. They complain about everything. So well, it's it's fine. It's fine. I don't know.
Jon:It's not the worst. Okay. It's fine.
Justin:It's not the worst. Okay.
Jon:It's fine. If people have alternatives that are better, like, by all means, let us know. But, seems fine. It it took some getting used to it. I mean, you're you're basically, like, configuring everything with JavaScript.
Jon:Mhmm. Like, Webpack is a is a JavaScript, like, asset library, but it so you're like con you're like configuring CSS with JavaScript. It's weird. I don't know. I guess that's the way things are going.
Jon:So yeah. I know. It's basically just a minimal a minimal Rails app so I could get things going, use the, you know, using the the templating language with with rails and stuff like that, and just building out a basic framework for our dashboard, like navigation menus, the basic layout, you know, some special components we use, form styling, stuff like that.
Justin:Mhmm.
Jon:And, it's been nice. I I've been just kind of playing around with it, kind of just, I'm still getting the hang of it and all the little, you know, different things you can do with Tailwind. Eventually I'll end up extracting all the crazy HTML I'm writing into actual tailwind components that are you can reuse over and over. Mhmm. But, yeah, it's been nice.
Jon:It it works great in mobile. I mean, it's super basic right now. It doesn't it's not functional, but, there's a lot of things. I, you know, I got in touch or you got me connected with Adam Adam Wadden, who's one of the authors of it. But I have a few questions I can ask him about, I don't know, upcoming versions of Tailwind or how to do some sort of, like, animation transition stuff that I think he's building into it.
Justin:Oh, cool. It's cool that the Internet does allow us to connect with people.
Jon:Right.
Justin:Like when you're learning something, what, what I've realized, I mean, maybe other people are different, but what I've especially learned from Adam is he reaches out all the time. Like, he he messages me and other folks a lot to get their feedback on things, to ask them how they do things. He'll ask publicly on Twitter and get a bunch of responses. And that ability to get like, connect with folks and solicit their ideas or get their opinions or
Jon:Yeah.
Justin:Jump on a a tuple, you know thing
Jon:and Yeah.
Justin:I never know. I mean,
Jon:I know you know Adam pretty well, but I I'm always like, am I bothering these peep like, they have a lot going on. I mean, Adam seems busy, and he's doing a lot and probably has a lot of people asking for stuff. It's like, I don't wanna just like, I don't want him to be tech support. Yeah. Because there's there's a community around tailwind too, which you can I can just go and ask her Google stuff?
Jon:But
Justin:But when you're this is, like, a little bit different, I think, because he's my friend, and I introduced you to him. And so now you guys are friends.
Jon:Yeah. Right.
Justin:And, also, I think, okay. I can see how this can be tricky, but, like, I don't want people I don't know just always reaching out to me and asking me constant questions. But on the other hand, I'm I'm open to some of that. And, also, I think just like anything, if you're part of the community on the web that is constantly sharing your journey and talking about what you're doing and making connections and contributing. You know, if your avatar shows up enough in my life, I eventually, I'm gonna be and and if I like you, eventually, I like, I'll be open to anything.
Justin:You know? Yeah. Right. A guy reached out to me, and I could, honestly, I couldn't remember him. But he he reached out and he said, hey, man.
Justin:We we talked at Laracon after your talk. And and I remembered briefly kinda having the, like, conversation. And he asked me to post something for him on Product Hunt, which I normally don't do. But because we'd had some sort of connection, I was like, yeah. I'll do that.
Justin:That that that's fine.
Jon:Yeah. Nice.
Justin:Anyway
Jon:It's been good. I think the the main thing that I'm a little bit, I don't know, concerned about is that we we were using some of those components within Symantec UI that that help with, like, I don't know, like, modals and calendars and auto completes on drop downs and stuff like that that I'm gonna have to find some alternatives for. Yeah. And that involves, you know, either custom JavaScript or finding a library that's just native JavaScript. It doesn't use, jQuery.
Justin:So does semantic UI have, like, a calendar, like, module or something?
Jon:It had a it had a module that someone else built
Justin:Okay.
Jon:That you'd that used the semantic styling
Justin:Yeah.
Jon:Which was, like, super easy drop in. And I haven't found I haven't found an alternative that works similarly because we have calendar there's a 1,000,000 calendar plugins, but not many of them allow you to choose the time. Mhmm. Because we we have a calendar thing that's like, choose a date you wanna publish an episode on and choose a time you want it to be published. Yeah.
Jon:And the time part is just like I I mean, it's a weird UI interaction anyway. There's I I don't know. There's no great way to do it.
Justin:But This was an exact conversation that Caleb Porzio and, Colburn had on their podcast, No Plans to Merge. And I think that was part of Caleb's inspiration to build Alpine was Right. He wants to he wanted to create I don't think he's like, the calendar parts there yet, but he was like, this is ridiculous. Like, if you've ever had to make a calendar, this is nuts.
Jon:I'll have to reach out to him because you actually connected me to him too. I I was about to talk about that. So I I actually looked into Alpine and started using it for our new dashboard, and it seems to be I mean, it's it's like exactly what I've been looking for, which is a JavaScript library that's not jQuery that allows you to do kind of on page interactions in a way that it's not built around a library that's meant for single page apps like Vue or React. It looks like Vue. It's like you actually write it like you would Vue, syntax, but it's meant for, you know, pages that are rendered on a server, sprinkle in some JavaScript, do things like, I don't know, showing, hiding menus, doing animations.
Jon:There's two way data binding, so you can, you know, if you're typing into a form element, you can update text somewhere else. There's a lot of nice stuff like that, but it's, you know, it's every page reload you're running JavaScript. It's not it's not you're not gonna have this whole library built around this single page app where you Mhmm. Have to control the state of the page Yeah. In JavaScript.
Jon:So it's been brilliant. I mean, I had it up and running in 5 minutes and was doing what I wanted
Justin:to do. Oh, nice. Yeah. I wanna try it out because I remember, like, I had tried to build a little drop down thing, and Adam showed me how to do it in view. And then you came and looked at it and said, ah, this is too heavy for a drop down, and then you rewrote it in in, vanilla.
Justin:Yeah.
Jon:I mean, I I don't think you'd really wanna use Alpine for that even if it was just that. If this is one drop down, like, it's still a live a whole library you're loading. It does a lot of other stuff. But if you're building a dashboard with a bunch of different interactions, it kinda makes sense to
Justin:So do you think there's a world in which because Alpine's really new. Is there a world in which folks start building modules like a calendar module for Alpine? Or would it be I don't
Jon:thinks I don't think I don't know. Maybe?
Justin:This is that's like there's this there's because Adam is tackling with Tailwind. He's tackling well, with Tailwind components, which are these kind of UIs that they're building that I think they're eventually gonna sell. So it's like, if you want a dashboard UI, here's 3 good dashboard UIs. Or if you want a marketing page layout, here's 3 good places. And instead of spending a bunch of money figuring it out yourself, you just grab these and then you customize them.
Justin:And that's, like, one layer. But it does seem like there's this other layer on top, which is interaction based stuff. Right? Where where it's like, I need a calendar, and it's not as simple as a layout. You actually or because the Tailwind has a lot of form based stuff.
Justin:But anything above that, it feels like you need some extra stuff. And so I wonder if, like, are Alpine and Tailwind gonna have to get married at some point and create
Jon:But not necessarily. I mean, I think it can be that's that's yeah. That's another thing. It's like, I wanna find a calendar, but then I need to find a calendar that is either styled with Tailwind or I just, like, design it myself.
Justin:Mhmm. Mhmm.
Jon:But it's easy enough to design it if you if the markup's there and you can actually just customize it yourself. Mhmm. But the hard the hard part is the hardest part is the actually building the calendar itself and making sure it's, you know, things get triggered when you put your cursor in input. The right the right dates are there for each month. You can block off dates and say you can't choose these.
Jon:You can there's all sorts of stuff that need to happen. I don't necessarily think you wouldn't write that in Alpine. I think you'd just write vanilla JavaScript and then maybe there'd be an Alpine component to where you could easily trigger that JavaScript you wrote. That's why I just like, I just wanna find a calendar component that's written in vanilla JavaScript that I can just use.
Justin:Gotcha. So that
Jon:Like I said, there's a bunch, but almost none of them have time and the ones that do are terrible.
Justin:Interesting. It's weird that this is, like, so much of programming now is just looking for prebuilt components.
Jon:Right. Because it's like, I could build that on my own, but it would take me a month Yeah. Just for a calendar.
Justin:I it feels like there is a people are always asking me for, like because I'm I'm talking about how, you know, the market is the most important thing you choose, and everything else kinda gets based on that. And when they say, well, what's another good example of a good market? And I think that component type stuff is potentially a good market. Like, I don't know how much time you've spent, like, researching this so far. But if there was just, like, a killer, like, while there probably is calendar dot JS, I'm sure that's a thing.
Justin:But, you know, if there's a, a killer JavaScript calendar component that, you know, people work on all the time and they they've, there's a tailwind option and a bootstrap option and and you can just go and buy it for $99. To me, I would rather do that than spend too much time, you know, messing around. I think there's I I don't know. Like, making developers' lives easier is, Yeah. It's a
Jon:big there's a big market for that.
Justin:For sure. And especially now that so much of the jQuery stuff is so crusty. It's just like old. And it's like and how many times are you searching for a solution and you end up on an old jQuery page and you're like, okay. Like, this just isn't gonna work.
Justin:And, of course, if you're building your own little side project, and you have no revenue, it doesn't make sense. But at our stage, especially and I can imagine at enterprise scale, it's like, okay, we just need something solid to at least as a starting point. And if you trusted the developer behind that, I would pay for that. Because you there's also the danger with, like, kind of free whatever stuff that you never know exactly what you're getting. Like, you might start using it and be like, oh, man.
Justin:Like, they just a bunch of this is wrong.
Jon:Yeah. To yeah. To a certain extent. I mean, with open source. Sure.
Jon:You kinda know what you're getting and that you can see the code, but I I feel like it's hard to complain about it when it's free.
Justin:Yeah. Yeah. Well, and this is, I think
Jon:Which people on the Internet still do, obviously.
Justin:I think this is interesting because I just got an email from Caleb who like, he took a year off work. I think, actually, he's in his 2nd year now. And and he's been building these things, LiveWire and Alpine, for free. Like, he's just been using kind of his time off to do this. But now he's like, okay.
Justin:I need to make some money. And he's trying to figure out the way to do that. And right now, he's trying out GitHub Sponsorships, for example. And that that might work. Maybe that that is a a good way to do it.
Justin:You know, Adam, on the other hand, he's kinda having this struggle too. He's got Tailwind, which is this free open source thing. It's like, okay. Well, we've taken 2 years or whatever to build this, but what are we gonna do to make it sustainable? And what I've been advocating for him to do is to, you know, build these UI components and sell those.
Justin:Yeah. It'll be interesting to see what the market, how the market values some of this stuff. I I just kinda find it interesting from an intellectual point of view because we know that developers and software companies and Like, they're buying Adam's book, refactoring UI. Like, they're buying Adam's book, refactoring UI. They're buying, what's that rails, that rails gym that everyone buys?
Justin:Sidekick? Yeah. So they're buying Sidekick.
Jon:Yeah. That's a that's a great example because you don't have to buy that. Mhmm. But you can, and people do. Yeah.
Jon:And he makes a lot of money on it.
Justin:Yeah. Well, I mean, you don't have to pay for podcast hosting either. Right.
Jon:Right.
Justin:And and so those those are kind of the there's these distinctions that I think are interesting, obviously, like some things. Oh, this was the other I had this, I I was on Nathan Baschez's, well, he he writes this newsletter on kind of startup strategy. And we were talking about statamec. And I said, it's so weird because when people think about the CMS and word and website hosting market, almost all of the value chain or the value stack gets sucked up by DigitalOcean and, in our case, RunCloud. So we play we pay RunCloud to do the deployments, and then we pay DigitalOcean for the hosting.
Justin:But getting people to pay for the CMS, which is the part you interact with all the time, which is the software that has been thoughtfully built and maintained and iterated on. But in in our universe, our universe, people don't value the CMS because WordPress is free and and the only folks that have been able to make it work are the people that kind of push those 2 together like Webflow. Right?
Jon:Right. Yeah.
Justin:And in the podcasting industry, the same thing is true, actually. It's funny. You know, GarageBand and Audacity are free. And so the podcast creation tools are people don't pay for, but then the hosting they pay for. And so what people pay for is fascinating to me.
Justin:And and what in that value stack I don't know if that's the best way to describe it or value chain or whatever. But you know what I'm saying. Right? Like, there's all of these things you need to do to make something. The parts that people and companies are willing to pay for and the parts that they're not is interesting.
Justin:And then the parts that suck up most of the value are interesting as well. Mhmm.
Jon:Yeah. It's weird. I mean, I think people have gotten so used to free software that it makes it tough, but then if you are the person building these components that you're gonna sell, there is I think the customer purchasing them has more of an expectation of support and that things are gonna be fixed and things are gonna work. And, but it's also as the person building those probably not worth it to support everyone until you reach a certain amount of money. So Mhmm.
Jon:With open source, you have an excuse and you're like, look, it's free. I don't have a lot of time. Anyone can contribute. Yeah. Just issue a poll request, and we can do it.
Jon:But if you're the one charging money for it, it's kinda up to you.
Justin:Yeah. But it it does get a lot easier because I think those guys are doing support anyway. Like, the amount of times I've bugged Jack McDade for the whatever the 199 that we paid him or whatever
Jon:Right.
Justin:Is for statemic is like what what I've been telling Jack to do is I said not anyone's everyone's gonna do this, but I think you should offer static hosting and just make it for people that want. They don't like WordPress. They wanna use Static. Their developers want the flexibility of being able to, you know, edit everything themselves. But the marketing team just wants to be able to log in and edit something.
Justin:And then he gets to grab some of that value stack. Right?
Jon:Yeah. If he wants to support it.
Justin:But he's already supporting it is what I'm saying.
Jon:But he's not supporting the hosting. That's a whole other that's a whole another beast.
Justin:Yeah. But how hard is it, really? Like, we we're basically hosting.
Jon:Yeah.
Justin:How how hard is I mean, I'm not I'm not diminishing it. But with a 2 person team and a part time person doing customer support, I I don't know. I think there's,
Jon:Yep. I don't really know.
Justin:Like, Taylor Ott Taylor Taylor Ottwell supported Forge on his own as a one person. And I've had, you know, I've had projects that solicited tons of customer support where people paid once. And I think sometimes just like imposing a different model is the answer where you say this is, you know, Webflow costs. It's expensive. It's like $39 a person or something.
Justin:It's like, that's how much it costs. And people wanna use it so badly that they're willing to but if they made it open source, they'd still be supporting all those people. They just wouldn't be getting paid for it.
Jon:Right.
Justin:They just they just put a stake in the sand and said, no. We're we are going to charge for this. And if you want to access it, you've gotta pay.
Jon:Right. But I think yeah. I mean, with open source, I think that's why you end up seeing projects that are years years without an update and have, issues with some GitHub that are 100 long, and people are like, this is still active, and then they get angry. It's like, that's probably why they gave up. Yes.
Jon:Exactly. Wanna support it. Because everyone's yelling at them to fix stuff. Yeah. And it's all free.
Jon:So, yeah, I'd So
Justin:so I think here's the thing. If there is software that we like that we like, it is beholden we are beholden. It is it is incumbent. What's the word I'm looking for?
Jon:I don't know. Encouraged. I don't know.
Justin:It is something on us. It is blank. What is it, folks? You you tell me on Twitter. It is blank blank upon us to support those things financially.
Justin:Incumbent? But we are beholden to? I don't know. But because I I think the model matters.
Jon:Yeah. But a lot of people create these projects without the intention of making money, and then it becomes a burden and then they quit. I mean, there's
Justin:Yeah.
Jon:There's not an easy way to support them either.
Justin:I I think there is a and there's probably a middle line here where you can have something that is so foundational, like Tailwind CSS be free. But at some point, there needs to be an economic engine that runs that. And whether that's a, you know, one time license or a yearly license or a, you know, something that Yeah. That kinda runs it. Again, sometimes you can't fight the market, which is why I'm telling my advice to Jack.
Justin:He's like, man, it'd be great if you could figure out this part. We should we should probably actually wind
Jon:this down. And we we
Justin:we had we had, like, so many other things to talk about, but we're we're already hitting the the 40 41 minute.
Jon:So yeah. So updates to the dashboard are coming. It might be a while, but they are coming.
Justin:I I dig it. I I'm I'm looking at what you're working on, and I think it's also helpful for me because I understand a little bit of the Tailwind language. And so not just like and kind of how Tailwind works. Whereas, like, semantic UI, I had to, like, cut I'd never written any of it. And so it was more challenging for me to figure stuff out.
Justin:So getting guiding us both on something that I understand a bit better is exciting. Cool. Well, let's, you might have noticed there's no ads. We I I kind of feel good about not having ads.
Jon:So when I was when I was gone, you just fired all the all the, all the sponsors? What happened?
Justin:We haven't talked about it. You're like, hey. What's going on here? It's like it's like coming back to the apartment when you haven't been there for a while. What what'd you do with the fridge?
Justin:Yeah. We I I just people asked, and I said, I thought we talked about this, though.
Jon:No. We did. I'm just kidding.
Justin:People asked, and I said, I think we're just gonna, like, not do ads for a bit, and see how it feels. Because it is it it removes the pressure. Mhmm. Right? Like, we didn't have an episode 1st week of January.
Justin:And just not having to, like, kill ourselves to get an episode out was nice.
Jon:Yeah.
Justin:But we do have Patreons. A quick note about Patreons before John reads them. We've been reading out the URLs for all these names. I I'd like us to stop doing doing that, mostly because it's just getting it takes way too long. Yeah.
Jon:And
Justin:so and I don't think it's actually effective for the folks that are sponsoring. And so what I've done instead is I'm gonna have all of these URLs in our show notes. So if you wanna check out what the patrons are doing, just go to the show notes, scroll down, and you'll be able to see all of their projects. I think that makes more sense than us, like, spelling these out. Alright, John.
Justin:When you're when you're ready.
Jon:Yeah. Thanks to all our supporters on Patreon. We have Ward Sandler, Eric Lima, James Sours, Travis Fisher, Matt Buckley, Russell Brown, Evander Sassy, Prady Yumna Schimbecker.
Justin:By the way, I haven't been not been saying his name right.
Jon:No. I'm I'm
Justin:really trying Prady Yumna, but, I'm glad good to have John back.
Jon:Noah Braille, Robert Simplicio, Colin Gray, Josh Smith, Ivan Kovic, Brian Ray, Shane Smith, Austin Loveless, Simon Bennett, Michael Sitber, Paul Jarvis, and Jack Ellis, Dan Buddha, my brother, Darby Frey, Samori Augusto, Dave Young, Brad from Canada, Sammy Schubert, Mike Walker, Adam Devander, Dave Junta.
Justin:Junta.
Jon:And Kyle Fox.
Justin:And Kyle's at get rewardful dot com. He's a he's a monthly sponsor so he gets he gets the URL. Thanks everyone for listening, and we will see you next week.