React isn’t good at anything, except being popular. That’s a bold statement, but it’s one that Josh Collinsworth stands by. It seems like nearly every major tech company has React in their stack. But why is a framework built specifically for Facebook so popular in the general developer community?
Josh Collinsworth, Senior Front End Developer at Shopify, wrote an article titled “The Self-Fulfilling Prophecy of React”. Even though Shopify uses React, Josh didn’t hold back his views on the framework. When React came about, it solved a major problem for Facebook. Since then, it’s been viewed as a solution to every problem and the tech community has been stuck in a loop of teaching React and hiring React developers. But for Josh, React isn’t a solution, it’s just a tool, and it’s not the best out there.
In this episode, Josh talks to Chuck and Robbie about his viral article critiquing React’s popularity, his favorite fonts, and what it’s like juggling fatherhood with side projects.
[14:04] - “If you look at the reasons you might actually pick a framework, React doesn't really tend to come out on top in any of those given categories.” ~ Josh Collinsworth
[19:51] - “I think a lot of people don't realize that it hasn't aged that well. It has kind of held itself back in some ways, and the tools that we do now have offer us some advantages that React maybe can't.” ~ Josh Collinsworth
[33:21] - “We're churning boot camp grads out with what we consider the minimum viable knowledge, and in this environment, that's React, and probably extremely little HTML and CSS.” ~ Josh Collinsworth
Connect with our hosts
Subscribe and stay in touch
Top-Tier, Full-Stack Software Consultants
This show is brought to you by Ship Shape. Ship Shape’s software consultants solve complex software and app development problems with top-tier coding expertise, superior service, and speed. In a sea of choices, our senior-level development crew rises above the rest by delivering the best solutions for fintech, cybersecurity, and other fast-growing industries. Check us out at shipshape.io.
Robbie Wagner: [00:09] Hey, everybody. Welcome to Whiskey Web and Whatnot, a podcast about Whiskey Web and Whatnot with your hosts, Robert William Wagner and Charles William Carpenter III with our guest today, Josh Collinsworth. What's going on Josh?
Josh Collinsworth: [00:24] Hey, thanks for having me. It's good to be here.
Robbie Wagner: [00:27] Yeah, thanks for coming on. So the reason we have you on here is a somewhat controversial blog post that you posted about the only thing React is good at is being popular. Or I'm paraphrasing, but we'll get into that in a bit. But if you want to give everyone a little bit, few sentences about who you are, what you do, introduce yourself.
Josh Collinsworth: [00:51] Sure. Yeah, I'm Josh Collinsworth. Right now I am a senior front-end developer at Shopify, but I also enjoy blogging. Sometimes that's for other publications. I wrote CSS Tricks Complete Beginner's Guide to NPM, but a lot of times it's just personal on my own blog. And if you've heard of me, it's likely that it's because of that article you mentioned that somehow wound up on Hacker News. And I had no idea what was going on. I just suddenly got an email from my analytics company saying I needed to upgrade.
Chuck Carpenter: [01:26] Looks like you've gotten more popular. We're going to need more money for that.
Josh Collinsworth: [01:30] Yeah.
Chuck Carpenter: [01:32] Yeah. We have an interesting connection there. I'm going to ask you questions about the Remix thing later. If you're going to have to rage quit now because everything has to be React and Remix.
Josh Collinsworth: [01:44] If rage quitting over React was my thing, I don't know if I'd have a job anyway.
Chuck Carpenter: [01:50] That's fair. It's funny, Chris has been on the show here and we did their show, too. And so it's funny that the CSS Tricks thing, although that's all gone. It's Digital Ocean now.
Josh Collinsworth: [02:04] Yeah, it's still around, but yeah, I think Chris, it seems like he's having a lot of fun doing personal blogging now and not really having to make everything about the SEO and everything. It seems like he's just going ham on that personal blog and I love it.
Chuck Carpenter: [02:20] Nice. Yeah. I don't think I've been to his personal blog in a little bit. I mean, I've seen some tweets and stuff, but yeah, you've inspired me. I'll go back, get into that. Speaking of, like, personal sites and blogs, I know Robbie was impressed with your site as well. Some accessibility there, which makes me think, like, we have a company website without the same considerations.
Robbie Wagner: [02:41] Yeah, we should do better. But yeah, allowing people to turn off the motion and change the colors and stuff, that's very cool. And yeah, our site has motion you can't turn off and you can't change the color, so we should do better on that.
Josh Collinsworth: [02:54] Well, your motion is far less obnoxious than mine, in fairness. I just have little pixels floating all over the place.
Josh Collinsworth: [03:00] Yeah.
Chuck Carpenter: [03:00] Yeah, it's always subjective.
Josh Collinsworth: [03:03] It's a Svelte Kit site and I really had a lot of fun building that out with that platform and slightly less fun keeping up with all the pre-1.0 changes to the platform, but I am excited where that's going.
Chuck Carpenter: [03:15] Yeah, that's cool. Yeah, we just ported ours over to Astro using, like, a sprinkle of SolidJS, and yeah, it's kind of fun. It's been enjoyable.
Josh Collinsworth: [03:25] It looks really nice. I was browsing around on it. I love the animations, and the design is really good.
Chuck Carpenter: [03:33] Thanks.
Josh Collinsworth: [03:34] I don't know why, but I especially love the little contacts. Link has that little colored ribbon on it, and I was just, like, oh, that looks so good.
Robbie Wagner: [03:42] It's little things.
Chuck Carpenter: [03:43] Sometimes it is. Yeah. All right, so let's get into the whiskey, though.
Robbie Wagner: [03:48] Let's do it.
Chuck Carpenter: [03:49] All right. So today we're doing another Wolves Whiskey release a quirky California company. I was excited to I didn't realize. So this is a thing with Willett out of Bardstown. Kentucky. They never tell us explicitly of how much of what thing is, but it looks like it's 114.7 proof. Let's see here. It's very low-content ryes. Only 51%. Aged for six years in New American Oak. Maybe that's the Willett stuff. Not sure. Starting to get a place of sweet more than spice. No barrel finishes, no gimmicks. Sounds like fun.
Josh Collinsworth: [04:26] Yeah. Let's get into it.
Chuck Carpenter: [04:27] Yeah.
Robbie Wagner: [04:28] It's from house A, South Rick 14. If anyone cares. That's pretty important stuff.
Chuck Carpenter: [04:35] And house H, South Rick 6. Between the 51%, rye? And the family estate one.
Robbie Wagner: [04:41] I've heard bad things about that one.
Chuck Carpenter: [04:43] Terrible. Yeah. All right. It's confusing how much stuff they do for these, like, blends and stuff. The last one was, like, made up from beers and then further distilled out to be, like, high-proof whiskey to a normal whiskey. Cinnamon.
Robbie Wagner: [05:07] Smells like a country field to me. Very wheat-like, I guess.
Chuck Carpenter: [05:14] Strange for rye. So when you walk outside, this is what it smells like for you?
Robbie Wagner: [05:19] Well, no.
Chuck Carpenter: [05:20] He lives in the country.
Josh Collinsworth: [05:23] There's a tiny bit of the nose of it. Like, my family would always vacation up in these condos, like up in the woods in Colorado, and there is just, like a tiny bit of it where you walk outside and you get that woodsy smell. Takes me back there.
Chuck Carpenter: [05:39] Yeah.
Robbie Wagner: [05:40] Yeah. Like, it feels like sitting around the campfire, but it doesn't smell like a campfire exactly. It just, like, has that feeling for me.
Chuck Carpenter: [05:48] I'm getting a lot of cinnamon initially in the smell and even in the flavor, so it's delivering on that. I see what they mean about the sweetness too. Seems to be kind of like syrup in there. I don't want to say maple or anything, but maybe like, I don't know, light caramel or something.
Robbie Wagner: [06:09] Yeah, a little of that.
Josh Collinsworth: [06:10] I might just be kind of talking out of my ass here, but it almost feels like it has that kind of texture to it as much as a flavor. Like, it feels very round, I think is the word in the middle of the palate.
Chuck Carpenter: [06:25] Yeah. Like it's coating a little bit, right? It has some thickness there, and it's not just.
Josh Collinsworth: [06:29] Yeah.
Josh Collinsworth: [06:30] That's a good way to put it.
Chuck Carpenter: [06:31] I get that.
Robbie Wagner: [06:32] Mine. It's, like, a little bit salty. You guys are getting that?
Chuck Carpenter: [06:37] Not at all.
Josh Collinsworth: [06:39] I don't think I would have said that. No.
Robbie Wagner: [06:41] Maybe it's my cup. Maybe it wasn't clean.
Chuck Carpenter: [06:43] Yeah, it could be that. I did just wash mine before because I want to make sure. I'm not always good about that.
Josh Collinsworth: [06:49] I ate some pretzels earlier, so if I was tasting it, I would think it was just still in my beard.
Chuck Carpenter: [06:55] See this is why I don't have one of those. I mean, not just because I can't really grow one, but also feels like a lot of excessive cleaning out of crumbs and things like that. You've got so many extra accessories. You've got beard combs and wax and oils and, I don't know, extra shavers.
Josh Collinsworth: [07:12] Yeah, it's not too bad if it's, like, this short. Mine and Robbie's are a fairly short. I used to have a very long one that was, like, down to my chest, and that one was more maintenance than actually having hair was, which I don't have anymore, as you can see.
Chuck Carpenter: [07:28] You'd think it'd be the opposite, right? You're just, like, letting it go and who cares? And braid it up or something else but.
Robbie Wagner: [07:35] it's a commitment.
Josh Collinsworth: [07:36] Yeah, I know. A great deal of effort goes into any beard that is not just pure. Like, I've been in the wilderness for six months.
Chuck Carpenter: [07:44] You still have the Harley on those days?
Josh Collinsworth: [07:50] Not much of a Harley guy.
Chuck Carpenter: [07:52] Okay. You weren't in. I thought you look like that guy in Sons of Anarchy. So apparently not.
Josh Collinsworth: [08:00] No, just a total hipster. Just a walking stereotype.
Chuck Carpenter: [08:04] Just a fixie. Right. That's it. That's the only cycle. That's what mine.
Robbie Wagner: [08:09] I can respect that, though. Like, I've tried to grow a long beard a couple of times, and it just gets too itchy and too much to maintain, and I'm just like, I can't do it.
Josh Collinsworth: [08:19] I always would make the joke that, like, your beard, when you grow it out, it has a very pronounced, awkward adolescent phase that you've got to get through. And that part is what you're describing, and it is truly terrible. And I've gotten that far again a couple of times. I originally trimmed it shorter because my son was born. His strong, sticky fingers were just all over everything, and so it's just like, this is not going to work.
Chuck Carpenter: [08:44] It's reasonable.
Josh Collinsworth: [08:45] Yeah. That was almost four years ago, and I still haven't gone back because it's just like, I can't get through that. It's just too much.
Chuck Carpenter: [08:54] Only so many times in life, you can get over that hurdle, and you either commit or you don't.
Josh Collinsworth: [08:59] Yeah.
Chuck Carpenter: [09:00] All right. Before we go too far down the path of whatnot which is what we're starting to do, but that's really where my expertise comes into play. Let's try and fake rate this. I've had now three little sips. I'm not really getting much more on the finish. I don't know. Is it me?
Robbie Wagner: [09:18] It's very mild. I mean, it's low rye, so it's not real spicy. It's a little bit of spice, but yeah it's.
Chuck Carpenter: [09:25] Trying to move it around my tongue and see if I'm catching any bitter or any, like, woodsy or any earthiness. I don't know. Not really. Maybe a little green grass in there. I like to eat that sometimes in the summer. So, Josh, you said you've listened before. So you know, we have a very highly technical scale, a rating system from one to eight tentacles. We've started segmenting it by types of whiskey. So this I think, is fair to just throw into ryes since it's a blend of two different ryes. Certainly don't have to just whiskies of all time or buy just ryes, whichever you like. One being horrible, eight being the most amazing. Please give me nothing else and everything in between. I'll let Robbie go first this time, though. Set the standard.
Robbie Wagner: [10:13] I'm not going to set a great standard. I'm going to give this a five because the price point is very high and it is not that great for that price point, in my opinion.
Chuck Carpenter: [10:25] Right. Josh, thoughts?
Josh Collinsworth: [10:28] Yeah, I was kind of leaning toward the five to six range because it's very good, but like you said, for the price point, it's not anything that knocks my socks off. You know, I feel like I could reduce the price by a massive percentage and not reduce the quality by very much percentage, so right. I'll agree with you, actually, on the five.
Chuck Carpenter: [10:51] Yeah. I think if we were taking into account, like, marketing and rarity and other things aside from flavor, and I was kind of feeling five six myself, which is a real shame because I like Willett Family Estate. I like the stuff that they're doing KBD, but then again, for $60, I can just get their three or four-year rye. Wherever it's at right now. And I think that's pretty good and does have a more unique flavor to it. So at much above that, probably due to price, I'm going to go five with you, too. It's not bad and it actually tastes a little different for a rye and I guess different than a lot of bourbons because you're not getting that even though I said syrup, you're not just not getting that level of sweet. So interesting. I'll be interested to see and like, try it maybe in a few days when it opens up more or put a drop to a water in there and see if it does something else. But right now, just kind of lacks complexity. So I'm going five too. Yeah, you've done it. You've done my work for me.
Josh Collinsworth: [11:52] How often do you have unanimous score?
Robbie Wagner: [11:56] We're usually pretty close.
Chuck Carpenter: [11:58] I think Robbie and I get kind of close, but all three of us. And Josh, you seem actually like you know a thing or two about whiskey. So the level of expertise in our realm, as we're known throughout the world, I think it's yeah, we're dialed in a bit. All right. You've got a really cool glass, too, so I'm not doing the Glencairn and you're doing, like.
Josh Collinsworth: [12:19] Thank you. Yeah, just a little snifter.
Chuck Carpenter: [12:22] Yeah, I like it. It's nice.
Josh Collinsworth: [12:24] I personally think I know how to fake my way through these things better than I actually know about them. I was a bartender and a server for a lot of years, and the joke I would always say is, anybody, listening? Who wants to know? Like, this is the trick right here. If you want to sound like you know what you're talking about, use adjectives that have nothing to do with taste. You can just, like, taste the whiskey and be like, it's a little bit precocious for me.
Chuck Carpenter: [12:51] Yeah. Because nobody is willing to challenge that. They're like, wow, okay, that sounds very specific. I'm not going to ask.
Josh Collinsworth: [12:59] Right, sure.
Chuck Carpenter: [13:00] I don't know what precocious means when it comes to a spirit. Yeah. No, I like that. That's a great trick. Let's get into a little tech and little web-esque things. I don't know if we want to dive right into the article du jour or some other more nuanced items. Robbie, what do you think?
Robbie Wagner: [13:18] I would just dive right in. I really enjoy saying bad things about React, so let's get right to it.
Josh Collinsworth: [13:26] All right.
Chuck Carpenter: [13:27] I like that you make a bold statement and then you go through with points to prove this is why. That's probably true, right?
Josh Collinsworth: [13:36] Yeah, I guess maybe I'll summarize just for anybody listening who might not have read the article, but I kind of have this opinion that the article is called The Self-fulfilling Prophecy of React. And it's called that because I feel like, at this point, React's popularity is just a self-sustaining cycle. We teach developers React because companies are hiring from React, and it just sort of keeps going. And it's the default choice for everything these days, it seems like. But if you look at the reasons you might actually pick a framework, React doesn't really tend to come out on top in any of those given categories, whether that's performance or bundle size or developer experience, or you can go down the whole list, pretty much. And basically, other than actual number of people who work in this thing, it just doesn't really tend to beat anything that's come along since, on top of that, I think it's steeped in a lot of both very Facebook-specific and very era specific opinions. And a lot of the frameworks that we're using these days, or they've come along since then have been able to evolve or start from better places than React has been. I'm the kind of nerd who gets annoyed when things are popular that shouldn't be. And so I wrote an article yelling into the void and I didn't expect the void to pay any attention but it did.
Robbie Wagner: [15:05] Yeah, like everything you wrote was things I would love to write about. But then I was like, well no one's going to read it because everyone loves React and people would just hate me more for writing it and it's like, okay, well but yeah, it was like there is someone out there that feels the same as I do and it was just so refreshing.
Josh Collinsworth: [15:26] I'm glad we can have this moment of kinship and that I can not be afraid to be the asshole that everybody thinks I am.
Chuck Carpenter: [15:35] I think that you made some very fair points that aren't just like this is hot garbage and you guys are stupid. Around the fact that when the decisions are made at that point in time and they are trying to evolve some of those decisions and they try to implement a few different patterns and things too, in terms of like memory management and things like that. But like at the end of the day, it was always just a few layers. There was a billion different opinions around everything that surrounded it which was going to affect it in a bunch of different ways and other actual frameworks versus libraries were coming along and solving some of those things by forcing opinions and then moving some things forward technologically or the way that you think about it at scale. And there's the other side of things. Like you make a decision and you make a choice and go down a path, and then you spend three years there and your application scales or the needs get stretched and maybe something you didn't think about. Edge cases come along the way, and you're still like, well, I've been doing this for three years, and you're digging your heels in, and or your manager says, well, we can only hire people because even out of college and boot camps, this is all they learn. Not thinking. Like if they actually knew programming fundamentals and the vanilla API, there's a lot of options to it. So you can't fault the people that were there at the time they made the decisions to solve their business case at that time, but then trying to apply it across the board forever and ever, mistakes could be made and you're going to be willing to pivot and make a good business case. I mean, I just think in that sense you made the argument behind what would be like a great discussion, like RFC discussion around like maybe we shouldn't be using this anymore because here are some points that could benefit us in a different way. And that's what I liked about it is it wasn't just like this is shit and I've got another smart way because I'm doing this other thing, hey, I'm working on this. And it was a bit more objective and fact-based.
Josh Collinsworth: [18:30] Right.
Chuck Carpenter: [18:31] And then recently, the core contributors and creators of a lot of these newer frameworks have now started to have some Twitter flame wars around it. I don't know if you notice some of that stuff, but putting out metrics about being ten times faster than yours.
Josh Collinsworth: [18:48] Right, yeah, I saw some of that. Yeah.
Chuck Carpenter: [18:53] Kind of interesting.
Josh Collinsworth: [18:54] Yeah. Evan You is not a guy I would want to piss off, is what I'll say about that.
Chuck Carpenter: [19:02] Well, again, I think very much like your argument. I mean, like you said, it wasn't necessarily an argument. It was more of like it was a blog post but like a white paper around. Like, this may not be the best thing, everybody's choosing it for kind of these reasons, but let's look at it holistically, and let's put some data behind some of the questions. And sure, that's exactly what he did. He got pressured with a massive marketing announcement and then said, well, I'm not so sure that's exactly apples to apples. Let's walk through it and see. Yeah, and I appreciate those perspectives.
Josh Collinsworth: [19:40] Yeah, totally. Me too. I think that's kind of what I was trying to get at was React has enough defaults and assumptions and ways of doing things baked in at this point that I say in the article. I think a lot of people don't realize that it hasn't aged that well. It has kind of held itself back in some ways, and the tools that we do now have offer us some advantages that React maybe can't. It maybe has sort of closed enough doors early enough in the binary tree that it actually can't get to that place anymore. That made sense in my head when I said it, and I pictured the binary tree, but I don't know if it made sense for anybody.
Chuck Carpenter: [20:22] Yeah, well, can you inverse it programmatically or on a whiteboard right now?
Josh Collinsworth: [20:28] I absolutely cannot.
Chuck Carpenter: [20:31] Oh, I'm sorry we can't hire you here at Whiskey Web and Whatnot. That was a joke. Anyway.
Robbie Wagner: [20:38] One of the big things for me is, like, seeing people tweet about I saw some guy the other day that was like, oh, I've just discovered Next.js. And it's like so good and fixes all these problems I have with React and has opinions and whatever and I'm like, okay, yes, it's a step better, but Ember has existed for a decade and has had opinions the whole time and it's just like easy to use as a developer and you don't have to spend all your time configuring Webpack. That's not necessarily the case anymore because they fell for the we need complicated shit and now we're going to have to do builds in Ember too. But I digress anyway. So it's crazy how people just don't even see the other tools. It's like all they see is React and then these frameworks built on React and that's all people really talk about and so it's just like yeah, it's just like just keep going and going.
Josh Collinsworth: [21:33] It's a little bit of a sorry, I didn't mean to interrupt you. I was just going to agree.
Robbie Wagner: [21:37] No, go ahead.
Josh Collinsworth: [21:37] There's a little bit of like when all you have is a hammer, the world looks like a nail kind of problem there.
Chuck Carpenter: [21:43] Yeah, exactly. And not everyone is willing to like step out of their comfort zone of expertise. Like I've been to the world of I escaped tables for websites and we intertwined everything and had nested inline styles and crazy stuff like that and fought for the world where we had a separation of concerns. And then, oh, all of a sudden we're adding interactivity and jQuery, and then, oh, now we have some tools and helpers to enhance our thinking. And I feel like it's just basically gone the other way around. Like education is around the way that you build a web application as well. Start with a Create React app and start to see some magic changing on the page. Isn't that cool? And this is what you're getting at. And so to try and dismantle that and have them come from a different point of view in thinking I think it's challenging.
Josh Collinsworth: [22:37] I was thinking about this today. I think what you're touching on there is I think people kind of forget what the problem was. So when React came around it was Facebook having lots of issues keeping the data layer in sync with the view layer and that was their problem and that reactivity was the big thing that they solved. And so it was because our problem is keeping those things in sync and so we are going to tightly couple those things and React is the way we're going to do that. And that's the right way to think about it. But people kind of forgot that middle step and they think our problem is whatever and React is the solution. Like React isn't the solution. React is a tool to get you to the solution. And your problem was that needed reactivity, that needed coupling and it's almost like we see what the solution looks like and we think, oh okay, well that's the solution. But no, it's just the appearance of the solution. We forgot the original problem.
Chuck Carpenter: [23:41] Yeah.
Josh Collinsworth: [23:42] I might have gotten a little too deep in my own head there, but I hope that makes sense.
Robbie Wagner: [23:46] Yeah. And I think somewhat related, like a lot of people just really like over-engineering things. Like there's a camp of people that want it to be hard, right? Like they want it to be painful. And like, I want to just sling a ton of JSX all day and I want to not be able to read anything and have to use class name and dangerously said HTML and then be like, look how cool I am, I did all this, you know. So it's like those kind of people love it for that because it's like, I'm a powerful engineer and I like doing this.
Josh Collinsworth: [24:17] I think a lot of people don't realize that that applies to them too. I think that React is not that easy to learn. I would argue it's not one of the easier frameworks or libraries or whatever you want to call it, to use either. JSX's especially got you riddled and arguably exists to do something you maybe shouldn't try to do in the first place. But, I mean, lots of things use JSX. Like Astro uses JSX. Like, that's great, that's fine. But what I'm getting at is, I think because there's a certain difficulty level with React, it kind of gives you a little bit of like dopamine when you pull something off. And I think a lot of people don't realize that maybe what they like about React is that React makes it difficult enough for you that you feel good when you do something, and you feel good because you did it in React and you don't feel good because you actually arrived at the best solution to the problem.
Chuck Carpenter: [25:11] I think that's true.
Robbie Wagner: [25:12] Yeah. It's no fun to write HTML. Like who wants to do that?
Chuck Carpenter: [25:16] Right. HTML. And thinking about state management, I think hooks, for me personally, I can see what they're trying to achieve in terms of singleton state without doing the weird reducer thing. But the loss, I think of component life cycles, which was very straightforward and easy to read and just made a lot of sense, I think the loss of that and because moving to functional components, what's the other thing that's going to give us some of these things in these hooks and use things? I think that's a really complex system to understand. So I think if you're like a master of hooks, good for you. And then also there used to be all this focus around, let's worry about performance, let's really weed out rerenders and things like unnecessary rerenders. And now it's just like, fuck, it doesn't matter if it rerenders 40 times for a state change. So you can show a modal or something. And all of that is super complex. And I think that, like you said, getting productive in that, in a way, makes you feel like a superstar because you're like, look at this cool thing I'm doing, and look at these weird things that don't really look like they relate to that to make it work.
Josh Collinsworth: [26:37]Right. You feel like one of the chefs at hibachi place juggling eggs. It's like dude you didn't have to juggle the eggs to make this dish.
Chuck Carpenter: [26:44] That's true. In fact, I'm not sure it made it any better. It could have made it worse, but it's entertaining. I don't want my eggs juggled. Whoa. Just the first whiskey. I think that a very non-straightforward, less readable complexity probably does empower people.
Josh Collinsworth: [27:04] Sure.
Chuck Carpenter: [27:04] And why would they want to get rid of that? You tell them they just need an HTML file and some CSS loaded in a link tag, and they're like, but what?
Josh Collinsworth: [27:14] Yeah, and that's what coming back to the aging point, too. A lot of that stuff you have to do, like manage use effects, like use memo, like making sure the components don't really render when they're not supposed to. Like, these are things a lot of other tools have solved for you and they're just taking care of. And React is still kind of stuck in those old opinions.
Robbie Wagner: [27:38] Yeah, it's like Dan was talking about Solid, where it's the opposite of how React works, where, like, React will rerender everything and Solid will only rerender the one thing that changed by default. Like, in React, you're doing everything you can to turn off the rerendering because you want to say specifically which thing to rerender, whereas it could just do that. You know.
Josh Collinsworth: [28:00] Yeah. This is one of the things I appreciate about Svelte as well, is that it just it doesn't need to have a virtual DOM or any of that management stuff. It's just like, yeah, I know where that is. I'll update that for you.
Robbie Wagner: [28:11] Yeah, I think a lot of that stuff is very cool. And Svelte is very cool. It's very popular. Also getting more popular these days. But it's just hard to see, like, there's no clear winner other than React on the horizon, I feel like.
Chuck Carpenter: [28:27] Yeah, well, maybe if Guillermo flips the switch and puts allows for other Vue layers or just says Next 14 uses Svelte instead.
Robbie Wagner: [28:38] React would die immediately.
Chuck Carpenter: [28:39] It would be the end. They need a challenge. Apparently, Next.js now is above Create React app in NPM installs or whatever.
Josh Collinsworth: [28:50] I would be far more likely to try Next if I could use Svelte with it. Although I don't know since Vercel owns both of those. I don't know why would Svelte Kit be around at that point if that was their plan.
Chuck Carpenter: [29:04] I suppose. Yeah, I don't know. It's interesting. I do agree with you and agree around the sentiment. So I've done a bunch of Next over the last few years because people have migrated to it to try and put some sensible guardrails in their React apps or oh, well, we did it with this weird stack over here. The next iteration and we're going to kind of like, let's have some rules of engagement and getting the router out of there. Like a router is a component. Sorry, your Remix friends. I think it's bananas. Everything is a component just drives me crazy. And in particular, a router in that way just feels like I don't know why I have to do this thing. So having an escape route out of a component reouter. Of a component router. Have another Mr. Carpenter.
Robbie Wagner: [29:53] Or a "reouter".
Chuck Carpenter: [29:55] Yeah, "reouter" is my next open-source project was almost reason enough. I liked a few of the other things, the API routes. So being able to kind of do some serverless-like things within this little folder structure over here is kind of nice too. So in that sense I like, okay, if I've got to be here, this is a nicer place to play.
Josh Collinsworth: [30:16] Sure, yeah. I am not using React on my own time.
Chuck Carpenter: [30:23] Really?
Josh Collinsworth: [30:23] These days. If I was, I would definitely go with Next. I'll be the first to admit like, we all kind of stick to what we know. And what I know right now is Svelte kit. And I am very happy and productive in that world and some of that is familiarity and that's fine. But I guess I can at least make the case for why I'm happy there.
Chuck Carpenter: [30:44] Yeah, I think it's good. I actually haven't done anything in Svelte kit, but we've done some components and Svelte and we use Svelte on one of our open source things and it's like, yeah, this makes sense to me. I think this is good. Okay. This is pulling in some and it gets really small. I like that. And it reminded me of the early waves of web components and what was it called. Polygon or Polymer?
Josh Collinsworth: [31:07] Polymer.
Chuck Carpenter: [31:08] Polymer. That was it. And like okay, yeah, this feels like a much good, like enhancement natural progression from like that thinking.
Josh Collinsworth: [32:39] Yeah.
Chuck Carpenter: [32:40] And so we've essentially lost semantic HTML, which was like a big part of the fight of getting to the separation of concerns and then saying, write our HTML documents. Just the basics of the information we're trying to get. And make them friendly to humans, friendly to machines. And then the internet becomes a little bit more of a friendly place in that way. And unfortunately, I feel like we've really lost all of that and then they're not incentivized to things like SEO and.
Josh Collinsworth: [33:10] Sure.
Chuck Carpenter: [33:10] The Google machine. They can control things too.
Chuck Carpenter: [33:58] I think the irony is they're not training them to get hired at Facebook, right? That skill set is not going to get you hired at Facebook, but maybe it'll get you hired at like doing ecom web work for Gap or something.
Josh Collinsworth: [34:12] Right.
Robbie Wagner: [34:13] Yeah, I think that's one of the biggest things is people just learn it so they can be hired, and then like, companies only hire people that know it because they think it's hard to hire people in any other stack. And like, we have a client that has been doing Ember for the past five years. I've helped them a lot with their Ember app and off and on and they have hit the critical mass where they've hired enough people that didn't know Ember that they were going to teach Ember that. Now everyone is like, hey, I'm a React developer and I'd rather do React. So they're going to pull that lever of like, let's spend the next three years rewriting it in React. And I'm like, no, this is the worst decision. Like, just teach everyone the thing you have it already written in.
Josh Collinsworth: [34:59] Yeah, any decent developer, I would say, who knows, one framework should be able to cross class into another framework. I agree that first one is the hardest one, especially if the first one is React. But like, the same fundamentals and principles apply everywhere and it seems like teaching some devs the new framework would be a lot less effort than refactoring your entire application, but.
Robbie Wagner: [35:24] You would think so.
Chuck Carpenter: [35:25] Yeah, you would think. And even investing in having subject matter experts who know both and giving them Like. Actually, there's some articles Nullvox, right? He wrote some articles like.
Robbie Wagner: [35:38] React for Ember devs or vice versa.
Chuck Carpenter: [35:41] Yeah. So, I mean, I don't think it's a hard one to cross, but if folks can't do that, then you have to start to wonder about, okay, how can I level them up? Or they make a choice. Maybe they're worried about attrition and loss. But unfortunately, as of this podcast, there's been a few dozen large tech companies lay off people. So there's a lot of talent out in the pool. There are options if you are hiring. I would also turn the lens back to an organization like that, is, if you're not getting your needs fulfilled, then you need to look at your hiring process. What aren't you asking there? What aren't you testing on? What things are you looking for? I mean, if you're bringing people who know React, are you looking to see what even just testing them, what they know and saying, okay, let's say you get presented with a challenge that this tool doesn't work for, what do you do?
Josh Collinsworth: [36:39] I kind of laughed when you said, like, the irony is that you won't get hired at Facebook with that set of skills. And I was just laughing, like, I'm sure that nothing Facebook tests for is probably going to get you really high-quality HTML and CSS.
Chuck Carpenter: [36:54] Right. Yeah, lots of algorithms.
Josh Collinsworth: [36:56] Do that inverted binary tree or whatever but.
Chuck Carpenter: [36:59] Yeah, reverse the binary tree. I mean, Max, who created Brew was on our last one, I guess, right? Our last published one, right? Yeah. And that's like one of his most famous tweets is around getting turned down for Google because he got tested on some whiteboarding stuff. Although Google uses Homebrew, he's like the creator of Homebrew can't get hired at the place that uses Homebrew. Fallacy in your hiring practice. I think maybe that highlights something. But anyway.
Josh Collinsworth: [37:31] Yeah.
Robbie Wagner: [37:32] Yeah. So any last things to say about React or alternatives before we move to some non-tech things?
Josh Collinsworth: [37:40] I would just say we all come from a place of our preferences and biases and everything. And I might come off when I'm talking about it like this, especially among, likeminded, companions in the web industry as self-congratulating hater, but I hope that at the very least, people will maybe take the time to just kind of check out the points and see if maybe there's something that we can agree on in there.
Robbie Wagner: [38:04] That's fair. It's very diplomatic.
Chuck Carpenter: [38:06] And I think I agree with that. Whether you agree or not, I think anyone should get something from your data points. And even if they just say, hey, these are my tools of choice, I'm going to go that direction. They still should glean something from, like, oh, that's interesting to know. Preact, doing similar things much smaller. Maybe I play with that at some point or I don't know.
Josh Collinsworth: [38:31] Yeah.
Chuck Carpenter: [38:31] I think there's something to be said without abandoning your familiarity.
Josh Collinsworth: [38:37] Sure. And maybe that's a better way to say what I was trying to say is that we can get very sort of siloed into what we're used to and working with it all the time and just kind of having that perspective of, oh, this is what other things are doing. This is how other things have progressed. That knowledge is valuable, whether you decide to jump ship or stay where you are.
Chuck Carpenter: [38:58] Oh, like the pun.
Robbie Wagner: [39:03] All right, so the real reason we're here, tell us your favorite fonts.
Josh Collinsworth: [39:09] My favorite font?
Chuck Carpenter: [39:11] That's why Robbie is here. I'm just going to put that out there.
Josh Collinsworth: [39:15] Okay.
Robbie Wagner: [39:16] No I just read that you were a font hoarder on your website, so just curious which ones you like.
Josh Collinsworth: [39:22] So I have been using RightFont as my font manager, which takes a second to boot up, but I want to say I have, like, 15,000 different ones right now.
Robbie Wagner: [39:32] How do you even know which one is there to use? So many to remember.
Josh Collinsworth: [39:38] Oh, well, that's just the $16,559.
Chuck Carpenter: [039:44] Just scroll through you type in the word, and type in the word you want to highlight for the logo you're doing or whatever, and just scroll, scroll, scroll until you see something.
Josh Collinsworth: [39:53] Kind of yeah. So I was a graphic designer before I was a developer.
Chuck Carpenter: [39:58] Me too.
Josh Collinsworth: [39:59] Yeah. Hey, everybody who's a developer either used to be a graphic designer, a musician, or a cook. That's where we all came from.
Chuck Carpenter: [40:06] Well, I was a photographer who could do photoshop that got into graphic design, then was a web designer for a while, and it was asked by a very smart VP of marketing. I think these aren't the same thing. Which direction do you want to go? And I got sick of managers and PMs and stuff telling me that the button should be red instead of green because stamp approval, and I wanted a more less, like, subjective bit of criteria, so I went that direction. Sorry to cut you off there. But I do feel like we have some similar background.
Josh Collinsworth: [40:43] Yeah. God, nothing got to me more in my designer days when it was just like somebody just walking by your desk and just saying, no, I don't like that. Change it. There's no discussion of why or whether that thing did or didn't meet the criteria or serve the needs of the client. It was just like, I hate purple, so no.
Chuck Carpenter: [41:03] Right, exactly.
Josh Collinsworth: [41:04] I don't do much design work anymore. Most of what I do is just for myself and my own projects. But yeah, choosing a font is probably about 30% of it.
Chuck Carpenter: [41:14] Robbie, what's your favorite font?
Robbie Wagner: [41:15] I like the one we have on our website. It's Pier Sans. I forget who it's by.
Josh Collinsworth: [41:20] Like P-I-E-R. That's a beautiful bit of synergy right there.
Robbie Wagner: [41:2] Yeah, I found it and liked the font, and then just because of the name, I had to use it.
Josh Collinsworth: [41:30] It is a nice-looking font. I wasn't noticing that as I looked.
Robbie Wagner: [41:33] Thanks.
Josh Collinsworth: [41:33] I like the ones I have on my website right now. Averta and Alkes, A-L-K-E-S are their names, but some people are very particular about coding fonts. I don't know if you guys fall into that category or not, but I cannot look at VS code unless it has the font I want installed on it. And that font is MonoLisa, which I think is beautiful, has an amazing personality, and also an awesome website. So I think it's monolitsa.dev.
Chuck Carpenter:[42:00] Dev I just used the one that Robbie picked.
Robbie Wagner: [42:03] That's what it is. It's MonoLisa. I got the business license and just dropped it in Slack like, you guys want to use this? Here you go.
Chuck Carpenter: [42:10] True. And then I think I've.
Josh Collinsworth: [42:12] That's fabulous.
Chuck Carpenter: [42:13] I always use that and just take your guidance on that one.
Robbie Wagner: [42:16] Yeah, I used input before that, and then when I found that I was like, it's all over, I don't need to look anymore.
Josh Collinsworth: [42:24] I was using Fira Code before that. And MonoLisa has just enough personality that's really like, interesting and quirky, but not so much that you feel like you're reading MySpace from 20 years ago or something.
Chuck Carpenter: [42:38] Not that there's anything wrong with that.
Josh Collinsworth: [42:39] Yeah, not at all.
Chuck Carpenter: [42:41] Yeah. People like what they like. All I know is that I make my font size huge.
Robbie Wagner: [42:45] 48.
Chuck Carpenter: [42:46] We'll always talk about that in the last few years. I don't know, just big. I just hit plus plus until it's big enough to see good from here. I'm approaching the age where reading glasses are also on the table for me. And I haven't bought them yet, but I'm real close. Probably going to need them soon. I've got contacts in, so like.
Robbie Wagner: [43:08] I don't have trouble seeing, but my eyes won't work, which is really fun. Like my left eye goes way off to the side all the time and my eyes don't work together correctly, but each one can see like perfectly. So that's kind of frustrating that it's like I could see well if they would just do what they're supposed to do.
Chuck Carpenter: [43:30] I'm going to need to contact the state of Virginia about your driver's license. It feels dangerous.
Robbie Wagner: [43:36] No, it works well enough for that.
Chuck Carpenter: [43:40] Well enough.
Robbie Wagner: [43:40] I have a Tesla, so it drives itself. It's no big deal.
Chuck Carpenter: [43:44] Okay, fair enough. You have a self-drive assist or whatever?
Robbie Wagner: [43:47] Yeah.
Chuck Carpenter: [43:48] I'm in Arizona where your driver's license doesn't expire until you're 65, so they don't even approach trying to like, gauge that again until you're already 65.
Josh Collinsworth: [43:56] Oh wow.
Robbie Wagner: [43:57] You don't have to go back at all until then.
Chuck Carpenter: [43:59] No.
Robbie Wagner: [44:00] Interesting.
Josh Collinsworth: [44:01] Yeah, sounds pretty nice.
Chuck Carpenter: [44:03] Yeah.
Josh Collinsworth: [44:04] I am nearsighted. I have astigmatism and I have color division deficiency, so.
Chuck Carpenter: [44:10] Sounds like you need a Tesla. I don't know what you feel about that and you certainly don't have to reveal your opinions of Elon on here.
Robbie Wagner: [44:17] But you can if you want.
Chuck Carpenter: [44:18] Still might be helpful. Yeah, you can if you want.
Josh Collinsworth: [44:21] My opinions of Elon are a matter of pretty public record.
Robbie Wagner: [44:24] That's true. I did read some tweets.
Chuck Carpenter: [44:26] Oh, did you? Well, I just came back to Twitter a few months ago and maybe it's a weird time but I don't know, I find this all somewhat entertaining. I don't care what people say. Kind of in the public and I go vote, do my thing and whatever, you know, spend my money where I spend my money. I think he's funny. He was pretty funny on SNL.
Robbie Wagner: [44:50] He was on SNL.
Chuck Carpenter: [44:51] Yes. The first autistic person.
Robbie Wagner: [44:54] Interesting.
Josh Collinsworth: [44:55] I did not know that.
Chuck Carpenter: [44:57] I watch a lot more TV than you.
Robbie Wagner: [44:59] You sure do.
Chuck Carpenter: [45:00] Well yes, because I'll stay up late and watch some extra things and whatever else. So you have at least one child from what I understand, yet you still have the time to be a hobby coder. I'm really, I'm amazed by this.
Josh Collinsworth: [45:14] Probably just mainly fortunate that he does really good at being on a schedule and sleeping when he's supposed to be sleeping. So I have an actual two or 3 hours in the evening to do something.
Chuck Carpenter: [45:28] I'm just getting tired by that point. So get home, we do dinner, kids do bath, get ready for bed, kids get to bed. They got to get up one more time maybe. But they usually sleep at like 8:30 and then it's like I've got an hour or so with my wife to watch a show and now I'm at the end.
Josh Collinsworth: [45:47] We have two categories of shows. Like the kind we actually actively watch and then the background shows that we don't really care about and we wouldn't actually watch or maybe even let anybody know we watch if we really cared what was going on.
Chuck Carpenter: [46:01] 90-day fiance. You're watching 90 Day Fiance, aren't you?
Josh Collinsworth: [46:05] Close. Love Island is the one I was actually thinking of.
Robbie Wagner: [46:08] Even worse.
Chuck Carpenter: [46:10] I haven't seen that one though.
Josh Collinsworth: [46:12] It's terrible. It's weird. Like reality, like dating TV is very different in the UK than it is in the US. In some very interesting ways. In a lot of ways, it's a lot more risque than what we would usually put up within the US. But at the same time, it's also a lot less dramatic. Oftentimes the contestants just like become friends by the end of it. It's just sort of funny that way.
Chuck Carpenter: [46:39] Interesting.
Robbie Wagner: [46:39] Less scripted drama.
Josh Collinsworth: [46:41] Yeah.
Robbie Wagner: [46:41] Interesting.
Chuck Carpenter: [46:42] Possibly. Very interesting.
Josh Collinsworth: [46:44] How did we get on that anyway? I was just going to say so we'll have background shows on and I'll spend like weeks or months on whatever the project is actually.
Chuck Carpenter: [46:54] Like word games in the app store.
Josh Collinsworth: [46:56] Yeah.
Chuck Carpenter: [46:56] I'm pretty impressed with that. That's what I'm saying there's that, like, I can play around with some stuff or whatever. Like, we have a couple of open source things, and I did an API for, like, we have this color management app or whatever. I can do that. I mean, whatever. But an app in the app store. I feel like an actual game. That's got a lot of logic to it. I'm pretty impressed.
Josh Collinsworth: [47:18] Thank you. It's just something I do because I really enjoy doing it. And the secret sauce is pwabuilder.com, which makes it very easy both to build a progressive web app in the first place. Like, you can just type in your URL and it will tell you what you need to do to make it into a PWA so it's installable that way. But then it also has ways for you to generate, like, actual Android and iOS packages from them. And there's a lot of steps to go through. Like, you have to download Xcode and a whole bunch of things. But at the end of it, I don't know a damn thing about building iOS apps. But I have two apps in the Apple App Store, at least until they decide they don't like web apps anymore.
Chuck Carpenter: [48:01] I mean, Robbie basically really took the lead on that. So the one that we have used, Electron.
Robbie Wagner: [48:07] Yeah.
Chuck Carpenter: [48:07] He went on that path, which seems very complicated.
Robbie Wagner: [48:10] Well, yeah, Electron wasn't bad, but the whole publishing to different stores and stuff is like just getting an Apple code to be able to publish. If you're a business, you have to have a Dun and Bradstreet D-U-N-S number to register, which is, like, a thing I would think not everyone would have, and, like, little things where it's just like, why? I just want to put this out. You have so many free stupid apps in the App Store. Just let it go you know like.
Josh Collinsworth: [48:41] Yeah. Oh, my God, there's so many hoops to jump through. Dealing with the App Stores is by far the worst part of that whole deal. They work very differently, but they both make you do just a million different things to get it in. My least favorite is the Play Store and how you can't even, like, save your app as a draft until you have actually uploaded all of the images that are supposed to go on the store listing.
Robbie Wagner: [49:13] Interesting.
Josh Collinsworth: [49:13] There's just a million terrible things about dealing with the App Stores. And if I had genie willing to grant me one web wish, it would just be like, let us put PWAs in the App Stores. That's all I want. I don't want another bundle. I don't want anything else. I think the Windows App Store already let you do this but.
Robbie Wagner: [49:33] They're desperate.
Josh Collinsworth: [49:34] It's obviously.
Chuck Carpenter: [49:35] Yeah, does anybody use that anymore?
Josh Collinsworth: [49:37] They're far behind Google and Apple and Google and Apple, they're highly incentivized to protect their walled gardens. They want to make those whatever value they can.
Chuck Carpenter: [49:47] Yeah, that's true. So why doesn't Linux Snap allow you to just do PWAs. That seems like the lowest barrier to entry.
Robbie Wagner: [49:56] Snap is so hard and the most.
Chuck Carpenter: [49:58] Difficult one to test and figure out. I have a Linux laptop just to test in Snap and it's not that fun.
Robbie Wagner: [50:06] It just doesn't work. It won't work. And then you go post on a forum from Ubuntu or whatever because they own Snap and all that and they'll just be like, why aren't you a better developer? You should know everything. Like they're just Linux bros and it's like, okay, cool.
Chuck Carpenter: [50:23] Yeah. Interacts.
Robbie Wagner: [50:26] Yeah.
Josh Collinsworth: [50:27] I feel like there was a point in my developer journey when I realized anybody who had that little Linux penguin sticker on their laptop was probably somebody I shouldn't try to go to to try to explain something to me.
Chuck Carpenter: [50:39] Yeah, they're not friendly. I mean, RTFM used to be a very common thing in our industry back in the day and it's a mentality, I mean, I think for plus and minuses. I think being helpful and leveling up people around you, like, kind of helps you. But conversely, I think like, okay, you need to go out there and fail a little bit. A little bit before you come to me. Fail a little bit, then come here.
Josh Collinsworth: [51:05] Sure.
Chuck Carpenter: [51:06] Try some and then great. Let me know that you took these basic simple steps.
Josh Collinsworth: [51:11] Sure.
Chuck Carpenter: [51:11] Did you open dev tools? Because sometimes, and I've experienced dev two with a few years experience, I've come across those who don't know what chrome dev tools are. Didn't know that was a thing and didn't know what breakpoints are.
Robbie Wagner: [51:25]That's what I was going to say is you can't expect them to debug when they don't have them been taught how.
Chuck Carpenter: [51:31] Right.
Robbie Wagner: [51:32] That is a big problem. I copied this from Stack Overflow, but it didn't work. Well, okay, how did it not work? I don't know, it just didn't. So yeah.
Chuck Carpenter: [51:42] Yeah. And maybe that comes back to the whole like we've taught. You've got accelerators, maybe even schools, just teaching people like, make the thing. This is how you make the thing. How do you fix the thing when it doesn't work the way we told you? I don't know. You'll figure that out, somebody on the job will show you. I don't know, maybe it's that. I have no idea.
Josh Collinsworth: [52:03] Yeah, I mean, you can't really expect somebody to come out of a boot camp, like fully prepared for a career. Right. Like you were saying, you have to have a certain amount of experience of failures and working your way through things to really get there. I think it's just like the critical thing is like if you're telling RTFM to somebody who has genuinely given it their best shot and they've come to you and you're just being an asshole to them, that's very different than being like, okay, tell me what you've tried, let's walk through this.
Chuck Carpenter: [52:35] Yeah, exactly. RTFM isn't necessarily like the appropriate answer at this point. I think there's a better way to get feedback given how people are getting into the industry, totally hear with that. I just think holistically as like an idea on a principle is RTFM, question mark.
Josh Collinsworth: [52:53] I think about this a lot as a parent too. Like, you have to sometimes let your kid work through things or let them learn that it's going to hurt if they do that and fall off the couch or whatever.
Chuck Carpenter: [53:08] Yes.
Josh Collinsworth: [53:08] There's always this balance in this scale of like, benefits and trade-offs, of how much protection is too much and how much leniency is too much. It's just a constant balance.
Chuck Carpenter: [53:21] Before we run out of time. I know we're getting close, Robbie, and you can certainly not answer this question. If you feel appropriate, but.
Robbie Wagner: [53:29] Where is this going?
Chuck Carpenter: [53:34] Oh, no. I like to scare you a little bit first. No, really? Okay. So you work at Shopify. Shopify recently acquired the Remix team. Open source software. I mean, Kent's not there anymore, but still, like, React, React, React. Given your stance on these things, I wonder, does that affect your day-to-day any? Your opinion position? How does that make things for you?
Josh Collinsworth: [54:04] Shopify has been all in on React since I joined and I mean, that's not my favorite thing, but Shopify is way bigger than I am and I took the job doing that and I'm fine with that. I am personally excited about Remix coming into the fold as I understand it and I heard about this news several weeks ago on the inside and couldn't talk about it and was pretty excited about it honestly because from what I've heard, there was a lot of back and forth Shopify as Hydrogen which is server-rendered React components specifically for Shopify. And there was a lot of talking between those teams about the best way to achieve server rendering with React. And so I think none of this is official. This is just kind of like what I glean from my position, but it seems like that acquisition is kind of a, hey, we're working on the same problems, let's work on them together and solve this and make this better for everybody involved. So I think it's a good thing. I think if you're going to be doing React, doing service side rendered is the way to go. So I'm glad at least that things are moving in that direction. I think Shopify, being the size of company it is, it has to take an approach where it wants there to be the most commonality between developers as possible. I don't know how recent this was, but by the time I joined a little over a year ago, they were moving all of their mobile development over to React Native so that there would be like as much cross-disciplinary functionality as there could be. So in a situation like that, you do have to weigh the benefits and trade offs. And I don't know if anybody was having this conversation or not, but I have to assume that at some point it was like, well, okay, React isn't maybe the fastest thing. And I think we do use Preact actually, on some places. But if it's the thing that everybody knows, there's velocity in that, too. So I guess that's a very long-winded way of answering your question. And, hey, I don't love React, but I'm excited that we're at least pushing React forward, and we're pushing commerce forward and giving people a really good route to build headless Shopify sites. And that's pretty cool.
Robbie Wagner: [56:22] For sure. So before we end here, is there anything that we missed? Anything you'd like to plug?
Josh Collinsworth: [56:28] You mentioned my word games, if you're into that kind of thing. The names of them are Quina, Q-U-I-N-A, and Hondo, H-O-N-D-O, and they are available for free on the App Store if you want to play them. Like I said, they're free. I don't get anything, but if you're into that kind of thing, then I'd be happy that you enjoyed them.
Robbie Wagner: [56:46] Cool. Well, thanks, everybody, for listening. If you made it this far in the episode, you should probably hit the five-star button and give us some ratings and reviews, because you clearly liked it. So we'll catch you next time, and please do that, or I'll know you didn't.
Chuck Carpenter: [57:07] Thanks for listening to Whiskey Web and Whatnot. This podcast is brought to you Ship Shape and produced by Podcast Royale. If you liked this episode, consider sharing it with a friend or two and leave us a rating, maybe a review. As long as it's good.
Robbie Wagner: [57:22] You can subscribe to future episodes on Apple, Spotify, or wherever you get your podcasts. For more info about Ship Shape and this show, check out our website at shipshape.io.