Creating vs Consuming, Consistency & Fitness

Show Notes

This week, Colin and CJ discuss how differently we can feel when we get caught in the mindless doomscrolling traps of consuming content rather than creating things, interacting with other IRL humans, and more!

- Accountability/fitness update
- Quick update on Buckets!
- Consumption vs Creation
- Learning styles
- Badass Course Creators podcast: Raising the bar for online learning with Greg Rog

Next episode, we're digging into the Campfire codebase from 37Signals/Once.

glhf!

Full Transcripts

Colin: Welcome to build and learn. My name is Colin.

CJ: And I'm CJ and we're back again, just catching up on what we're working on, what we're learning. And we thought we might kick this one off with a little fitness update. So I, yeah, I mean, we, we talked about this a while ago and you as the listeners are holding us accountable to some fitness goals here. So Colin, you want to, yeah, why don't you give us a quick update on your fitness?

Colin: Yeah, for me, I'm trying to do the James Clear consistency over you know, doing like these Herculean effort type things. So I have a plan, a training plan from Hal Higdon marathon training plan. So I'm gearing up for just it's a 30 week plan. So it's not like one of those, like do a marathon in 12 weeks type of thing. It's very slow burn gets you back into just like, Knocking off the runs and then you'll start getting into the more marathon training plan. So I'm hoping to do a marathon in September with a friend of the show one of our friends Calvin, up in Washington. And and then potentially one in December in Honolulu.

CJ: Ooh, nice.

Colin: be my first time down to Hawaii. So that's the plan and just trying to get into the habit of it, have the rhythm of it, you know, even if it's, if it's a three mile run, it doesn't need to be a fast three mile run. It just needs to be done. So

CJ: hmm. Mm hmm.

Colin: that.

CJ: And what are the long runs in the first couple of weeks for that program?

Colin: My first long run this last weekend was going to be seven miles. So it's, you know, you still do the long run on Sundays, the whole church of the long run type thing. And so it'll ramp up to eventually, usually you do like, eventually you get up to like 20 miles. a few, maybe four weeks before the actual marathon, and then you taper off into the actual thing. And so you don't need to have run a marathon before you go do the marathon. But yeah, just getting into that and trying to weave in a little bit of things like kettlebells and strength. A lot of working on the knees. They don't work like they used to. So making sure that they have the strength that they need to support myself through that whole run.

CJ: Very cool. Is the, the marathon that's in Washington in November, is it, is it in Washington in November? I think I

Colin: September. Yeah.

CJ: or September. Okay. And is that one like a qualifying one for Honolulu or can you just go to Honolulu even if like, no, okay.

Colin: Yeah. Yeah. They're separate. This one's just, you know, my brother wants to do the Honolulu one. So I'm training with him and then Calvin wants to do the one up by him. So I'm training with him for that one. And, and for me, their accountability. You know, once you pay for a race, once you have it in your calendar, you, you can't just be like in the 11th hour, decide like, Oh, I guess I should get ready for that, which is a good way to think of like a lot of goals. Like if you want to try to like write a book, you're not going to be like. Oh, I procrastinated until the 11th hour and then I wrote the whole book. Like it just doesn't work like that. So it's good. You know, I could just do things like there's the Spartan races and, you know, all those kinds of races and things, but it'll be good to like, keep myself accountable, keep them accountable and have it on the calendar.

CJ: Nice. Yeah. I think the destination marathons are the ones that are most interesting and attractive to me because it's like, you've got, not only do you have like this big thing that you're planning for and you're prepping for, and you have it on the horizon, but all of that, like anticipation of like, Oh, it's going to be so cool to like fly there and be there and be in like a different place and experience like Hawaii after like all of this hard work and everything. So that seems. Like it would be awesome. On there's a instructor on Peloton that I really like Matt Wilpers. And he often talks about like, you know, plan out your year and make your trips like fitness related, or like have some thing that you're going to do fitness wise on a trip. And then even if you're not like going to do a race or something, you can still make it, you know, interrelated with your vacationing. And then you kind of like build your lifestyle around, like, you know, these healthy habits and things. And I don't know. It definitely, definitely seems attractive. So

Colin: I think when you go on trips, they try to like, you know, depending on where you're going, there's all these like excursion options and like side things. And, you know, honestly going on hikes, even if they're like with guides or you know, doing some back country stuff, like it's a great way to see those places. They tend to be less touristy. They tend to be not super expensive to see, like kind of more of the local take of it. When we went on the offsite in Portugal for orbit, it was funny because like, We were with this like outdoor adventure team that was taking us on this thing. And like, it was very apparent that we all sit at a desk and work inside all day. Like some people are super stoked to be outside and doing things. And others were like are we there yet? We're done. We're ready to sit on the beach. So yeah. How about your update? How's things going for you?

CJ: Things are going well. We've got our our accountability crew. We are in week seven of eight weeks. So we're doing like an eight week session and we're trucking along. We keep posting updates of every single meal and You know, our exercise routines and things like that. I think we've missed a couple here and there. And you always just trying to catch back up and get back on the train. So I am this past weekend. I waited in like two 16, which was down from like two 50 in the summer. So making tons of progress. And it's all just like consistency. Like you've got to kind of just show up and eat the right things every single day. And, I think that I've kind of found a pretty high protein diet that is sustainable, like relatively sustainable, which has been working really well for me, kind of just like it took me a while of like looking at every single thing I was eating and trying to figure out, you know, is this, or what is the protein content of this? What is the fat? Like, what are the macros of each meal or each like part of the meal and is there something I can swap out or swap in for something that's like a higher protein? And as a result, like yeah, I've kind of like narrowed in on a few dishes that I never would have had before. Like one is I'll have like Greek yogurt. In the morning, I'll have Greek yogurt with like scoops of protein powder, like plant based protein powder and flax seed and I just stir it all up and it sounds gross, but it's so good and it's just like become this, like, super high protein, like 30, it's like 35 grams of protein, very little net carbs, very little other stuff in it and it's really filling and so satiety is very high so doing that and then On the, like the exercise front doing a power zone challenge with on the bike. So we have like two 45 minute rides and then a long ride on the weekend. That's like between 60 and 120 minutes. And then five days a week I've been doing like a barbell, like dumbbell type strength training, just like a really low key, 30 minute a day, five day split. And, yeah, all of that seems to be working really, really well and yeah, feeling pretty strong and I'm really happy with the progress. So yeah, continue to

Colin: I've been seeing your, your updates on Strava. So I can see you're out there doing it.

CJ: nice. Nice. Yeah, I, I, it's like automatically hooked up to Peloton, which I love because it sends the rides along. And you know, like when you do like a strength workout, but I also use Peloton a lot for meditation and that like Postman's drama too. It's like, all right, CJ couldn't sleep that night. Obviously he did, like three meditations and like yeah.

Colin: noticed, I mean, I've noticed that they were on there, but I'm not, I haven't, didn't notice what times they were posted, but, you know, it also shows the Strava TriHards that you're out there stretching and out there taking walks and out there, you know, it's not always maximum efforts, like, oh, I just did this super long bike ride or bike, you know, run, things like that. So it's another tool, another accountability thing. Which can help. So, and I think like, you know, we're, we're, we're talking about this fitness stuff to kind of also hold each other accountable too. And like diet, nutrition fitness is all super individual. So I'm glad that you found some things that you like that work for you. It's not going to work for everyone who's listening. It's, we're not a fitness podcast, but. We pretend to be one on TV.

CJ: Yeah. And I think what's what does maybe resonate more with listeners is that it wasn't like clear. The answer wasn't clear for what to try or what to do. It was all very much like experimentation and learning and watching videos and trying to figure out which fitness influencers I believe and trust and you know, like reading these books about you know, And you know, white papers about different, like new research that's coming out about muscle protein synthesis and creatine and you know, should you take TRT or not? And like all these different things, you know, like so yeah,

Colin: There's a lot of that right now. A lot.

CJ: tons. There's tons. Yeah, totally. So yeah, one that's definitely on my list to research too, is like, what are the impacts of Ozempic and all of these like GLP one or whatever drugs that are supposed to be like You know, you get a shot and then you magically lose a bunch of weight and yeah, just trying to see how, how that's affecting people's like stomach longterm, you know, is it is it, you know, damaging their digestion or whatever. So yeah, lots of stuff to research and learn. And yeah, it's kind of like building your own health or something, but yeah, fun stuff.

Colin: Yeah. Well, this is kind of around the consistency and like what we do every day kind of like defines what, where we spend our time and our identity. And this thing that keeps coming up in the podcasts I listen to and some videos I've been watching has been this like concepts that I'd be curious to get your take on of if you're busy creating things. You should spend less time consuming things or vice versa, like in a way it almost I think now that I said it out loud like casts like consuming as bad and like when you hear like mindless consumption or like doom scrolling and Instagram and tick tock like they want your time and attention, which means that you're probably not going out and making your own things, whether it's content or code or. Working out or whatever it is, right? It's, it's time and attention. I'd be curious, like, what do you think about that in terms of like, do the things that you consume help you to be a better creator? Are they kind of like the yin and yang of like, you know, inspiration and creation or, or like, Oh, too busy, too busy creating things in a little vacuum over here that you know, it can't be bothered.

CJ: I, I need to think a lot more about this, but I, my gut reaction is that you have to consume a little to build like taste and it's important to see like what other people are doing to consider whether or not that's something you want to incorporate into your own. I don't think mindlessly scrolling is good or beneficial for like, for creation. I think if you go into it and you open up TikTok and you look at it and you say to yourself, I'm going to look at these TikToks because I want to see what they're doing to go viral. That is like a very different intention when you open the app than like, I'm bored or I'm tired or I'm anxious or I'm like, you know, like other reasons why you might like reach for a dopamine hit through through tick talk. And like it, those things are not good for you for sure. Right. Like the just mindless scrolling. But I think, yeah, if you can, if you're consuming intentionally to become a better creator, then I could see that, that would be totally positive and, and there's like absolutely a good way to do it. That said, I don't think anyone, or like, I would say most people are not mindfully consuming TikTok, Instagram, YouTube Shorts, or any of the, like, algorithmic feeds of anything. And yeah, personally, I have definitely fallen into a really unhealthy pattern of consuming mindlessly at night and like all the algorithms just want to show me like political shit now, and I'm like I'm very, very over it. Like I don't want to hear about political news and I just get sucked into it like on a daily basis where every time I open up any of the, these apps, it's just showing me like all of this junk like political propaganda stuff basically. And so it's definitely not good. And I'm also like. Trying to be better about when I open any of the social media apps. Like, what do I want to learn or what do I, like, how do I want to like grow from this experience? And so yeah, I'm trying to be a little bit better about it, but yeah, just throwing yourself off of the cliff into the algorithm is is definitely not, not the right way to go for sure.

Colin: Yeah, and I think like with most things, I mean, you can use them as entertainment, like we don't need to open them every time with like, I must get something out of it, like that's useful in my work or whatever, but tends to be that like, if you mindfully say I'm going to watch a show or like, I think A lot of people are moving to watching things on YouTube that and like it used to be that YouTube videos were super long and they became shorter and shorter and shorter. And now some creators that I follow are like creating series of like pretty like 30, 40 minute, you know, adventure videos and things like that. And I watch those like I would watch. Like a tv show and I'll watch one and then walk away from it and not necessarily Get pulled into the the algorithm or the next video. I think watching YouTube on like a tv you don't have that sidebar as much of like next videos It still kind of happens, but it's it's not I don't think they spend as much time on that Like how do we get you to click on the next one as much as they've done it on the web? Or probably even But yeah, I hear you. I mean, it's really easy to fall into. I think the whole Senate hearing thing that happened recently, some, a lot of that was like kangaroo court around. They already had soundbites that they wanted to, you know, tell tick tock and meta and all these, but there is a lot of truth in the fact that they. want you to use it more. And so their, their motivations are not always aligned with like what our goals are for what we use those apps for, or like what's the job to be done with Instagram, right? It's a lot of it is ads now, which are very, very good and very targeted ads. But I've been wondering myself, like, how would I feel Less of an urge to buy things if I wasn't on social. And now I like witness the, like, Oh, this thing's easy to buy right now. If I want it, I'll write it down and see if I still want it. And usually if it comes from the internet, it's probably not, not something that I need. Yeah, so that's, that's a good one. I think something for everyone to think about at home, just. How much are you consuming? Do you want to be creating more? It doesn't have to be a public thing. It might even be a thing for yourself. Just kind of time, time and attention.

CJ: Yeah. We've been, it's, it's, it's interesting too, when we try to help our kids learn how to be like thoughtful consumers and productive creators. Not like you don't, YouTube famous or anything, but like trying to help them understand that playing. Or like, yeah, consuming social media right now for them at their age, completely off limits, but there's also like a difference for them between playing certain games and watching, you know, documentaries and, and then like creating. And so we've tried to like carve up screen time into these. Different sort of scopes, maybe where if they are spending time on the computer to make a podcast or a video or a stop motion animation or to write a story or to draw or something like that, we feel much more comfortable with being like, yeah, sure. Like go be creative, use the tools, go 3D print stuff, go print things out, whatever. But if you want to just go on the computer and scroll through YouTube and watch people play video games. That in our opinion is like way less healthy than like, even if they were to just go and play the video game themselves. Right. Like they're at least like a little bit more engaged, but yeah, both like the yeah, just kind of garbage entertainment. That's trying to get them to buy stuff versus a little bit more thoughtful, like, okay, let's watch a documentary about space or something that we as parents have somehow deemed more valuable for their future. But yeah, I don't know. It's it's an interesting balance for sure. So,

Colin: Yeah. Well, speaking of building things, what have you been working on building lately?

CJ: Oh my gosh. So at work, we are we're building out a bunch of tools for calculating gross margin on projects. Lots of different calculators and estimators and caching data in certain places so that things render quickly. Also continuing to work on our messaging release for Twilio, which is coming along pretty well. And so we've been experimenting with like recording calls and routing calls and building all that kind of stuff. And then yeah, on the side, continuing to hack on buckets here and there. So buckets. cjav. dev, if folks are interested, it's going to be a little personal finance app. And yeah, like we, you and I chatted about this in all the different data providers. And it's funny watching Josh Pigford on Twitter, like just raging about how the data providers for all this financial data. There's like not one good one that will give you all the connections to all the banks and mortgage companies and you know, brokerage accounts and bank accounts and credit cards and all these things. And so went through the whole cycle of trying to integrate lots of different ones and then came full circle back to, back to Stripe. And it's still like, none of them are perfect. But it's been, it's been fun to hack on. So.

Colin: Yeah, I've got it. Running on my machine too and I've been playing around with figuring out where I can be useful and what we can add to it and I think it's funny that, you know, as you've been tweeting about it, so many people are like, just use maybe just use Josh's thing. It's like, well, we have our own little thing going on over here.

CJ: Yeah. Yeah. Yeah. It's partly, I mean, it's fun to scratch your own itch and it's also fun to have full control over it, you know, instead of it being like this open source thing where I definitely feel like Josh is going after like a global solution that has recently he's been talking a lot about like currency conversion and all these different features that will support a global solution, which I think is awesome. It's a great use case for, Open source and all these things to scratch our own itch. Like, I don't, I don't know about you, but I only have US dollars , so like currency conversion feature that can wait for you know, scale or something like that. So it's like,

Colin: Well, and some people have been poking him on that about like, should you not make a fully complete system for USD first before you start going wide? And I, I actually think like following the journey of lunch money which is a budgeting tool, like they were digital nomads. Jen from from lunch money. It's built by one person and she was moving around the world being digital meds and it needed to be multi currency first. Like it's really hard to go back in and be like, let's tack on multi currency. Like it doesn't work well. So I think they're probably right in starting it first. But there was a lot of really interesting conversations around. I don't want you to convert it. the other currencies into my money, I want you to keep them in the currency that they're in because they're in that currency. And you lose little tiny amounts of rounding errors and things when you do conversions. And if it's sitting in another account in France, you know, in another currency, like keep it in that currency and just keep the balances going in that currency. And sure, you could do like a total net worth in USD or whatever you want. With my like a lot of my interest in personal finance, it's so interesting to think about like how easy and like for us it is to just think in U. S. Dollars. But like most people in other countries have to be thinking multilingual, multi currency, right? They have a lot of them have investments in U. S. Dollars in the U. S. Stock Exchange as well as their home countries or others a little bit more diversified. So it's a wild world.

CJ: Totally. Yeah, I think yeah, maybe to paint a picture to like the initial idea was I, I mean, we both used mint for a long time to just like track balances and stuff. And we both use a different app for budgeting. So I use YNAB and you you're using co pilot. Shout out if they want to give us a affiliate link or something. Or yeah, we'll share, we'll share links to affiliate things. I'm sure we'll find them. So you can, you can try those out based on the show notes, but those are, those are great budgeting apps. I don't think what like we're trying to build as a budgeting app by any means. It's like, how can we look at our entire like financial wellbeing and make suggestions or adjustments or plans based on kind of where we're at. as a whole. And so, yeah, the idea of buckets is like you can put your, you can kind of like assign the money that's in different accounts into these buckets that you can track the balance of over time. So maybe you have an emergency fund and you have some goal for that emergency fund. So you can associate one of your accounts with an emergency fund and then see that in the dashboard as like your emergency fund bucket. Or maybe you have one that's like retirement and you have in your mind some number that you need for retirement that you want to retire early or whatever, like you can. have your retirement accounts roll up to and aggregate some balance over time for retirement. Same thing with real estate. And then all of that, obviously rolling up into some net worth calculation. One component of that is when you're tracking real estate assets over time, you want to try to get like, what is the. Estimated value. If you were to like sell this house today and Zillow has like a really legit data science team with pretty good estimates called Zestimates. It's like their little internal estimation thing or whatever. Yeah. Zesty. So Submitted we submitted some paperwork to try to like get access to their API. I have not heard back after the first kind of like back and forth with their support team. So if any, if we know anyone that works at Zillow, like let

Colin: to say, we might need to like flex our DevRel muscle here.

CJ: yeah,

Colin: Who's the Zillow DevRel?

CJ: videos and some shared content here.

Colin: Just,

CJ: But yeah, the rent cast. So rent cast is another API. We I think it was just bought by RealtyMole or RealtyMole bought rent cast or something like that. And we are using rent cast or we're using the RealtyMole API at Craftwork. And so I was like, Oh, like we can use that for now. And then I put in my own, like a couple of my own addresses and the property estimates were just like way off, like twice as much as I think they're probably worth. And so we'll have to figure that out, but yeah, you don't want your

Colin: multiply them all by two.

CJ: Yeah, exactly. Just, just double it. Just whatever, you know, like,

Colin: Yeah. I think we've been, we've been thinking too small here. I think we should just get Zillow to sponsor the podcast. I think

CJ: great idea. There you go. There you go.

Colin: house Zillow.

CJ: Didn't they do something like that? Or was that a different company? Redfin maybe? Or there was like some real estate property. It was Zillow.

Colin: I don't know. I'm, I'm a Redfin fan myself. I do like that. I don't know why their app is just. Less cartoony feeling to me than Zillow, so I'm not sure why, I don't know if it's the colors or what, but yeah, Redfin, Zillow, give us access to your APIs, please.

CJ: Yeah. I feel like there was a company, like one of those companies went out and bought a bunch of properties and then they couldn't unload them. like the, and they were like stuck with a

Colin: They both did that. They both became like the I buyer type thing where they were the very thing that they realized that like the hell is data. So we could arbitrage and buy houses and then sell them. You can still list your house with Redfin. So it like, it's like using. But Redfin is your agent and they get like a special marking on the UI that's like listed by Redfin and they probably have like lower fees or something like that. Man, but like in 2007 I worked on building out and this is before a lot of these APIs existed on this. There was this idea to build a website. You could sell your house to like, if you needed to move tomorrow, you could just get like kind of what you've done with craftwork, like get inspections and get all these different things done in one place. And there's so many steps when you buy and sell a house from inspections and escrow and all that kind of stuff. And unfortunately, this was like before. Any of these things, Zillow, Redfin, and it was just too far ahead of its time because we were trying to figure out, like, how do we send a text message to these people who only take text messages and phone calls and fax machines and like, just automate it via paper, but with texts and facts and stuff like that, and you know, and that's very much what Redfin and Zillow did. And then they, like you said, they found it really hard to actually, they were stuck with a lot of inventory and couldn't actually make. Money on those houses, even though houses have gone up in crazy value. So yeah, it turns out pure technology is, has more margins there.

CJ: Yeah. Interesting. Interesting. So yeah, maybe the someone needs to make a bad ass course about how to buy and sell houses. Speaking of bad ass courses, you see that transition,

Colin: all the segues today.

CJ: your segues were on point. I had to make like a, just as the cheesiest one.

Colin: Yeah, so I've, I've been binging a lot of course creation, dev rel, docs type content. So back that maybe that was where the consuming versus creating kind of came in. I'm sure it was mentioned multiple times, but one that stuck out to me was badass courses with Joel hooks really good podcast for course creators and course builders. And I actually think the podcast is called course builders with Greg rogue it's, I think it's their first episode, raising the bar for online learning. And what I really liked about the episode was they both are video course creators and. platform creators as well. Like they both, both Joel and Greg run their own course platforms. Greg actually runs two two different ones, two different code bases. And the really big question that they posed at the top of it was how do you actually approach sitting down to learn a new complex topic? So they both are video course creators. And I think their answer was kind of interesting that both of them are actually, they learn by reading. And so their, their, their own favorite method of learning is a little bit different than the stuff that they put out. So yeah, I'd be curious just to hear what your approach is to sitting down to a new thing.

CJ: I'm jealous because I, I wish that reading was my like priority version of learning, but usually it's video. And so it like, that basically means that like the videos that I make are just like lower quality versions of the other videos I've seen online or something, you know, like a collection of other videos. Yeah, no, I think like, first of all, learning by learning a topic by reading is. Obviously going to be very, very important for any career because most content will be available as written word, right? Like if there's documentation about an API, it will be written documentation. There's probably 2 percent or less of information available about how to use an API is going to be available. And so when, yeah, like learning a complex topic I guess like most of my experience in this case comes through Stripe. A lot of it would be. Read through the docs with a super fine toothed comb because Docs writers often try to be as concise as possible. And so there might be one sentence on a giant docs page that has the answer for something that you're looking for. So yeah, just trying to be like really, really thorough when you're reading through things. And then second is like trying stuff out. So just getting really quick at trying quick starts, following instructions and tutorials. And then also like. Yeah, I think I, I guess like recently too, I've been kind of like leaning a lot on chat GBT where I'll say like, okay, here's the pieces that I think I understand what, where, where are my blind spots? And then how would you do this? And then give me some alternatives to how you would do it. And then trying to like think through the implications of those has kind of been a, a little bit of a new approach, but yeah. What about you? How are you approaching these kinds of things? huh.

Colin: Yeah, I think, they brought up that it really depends on the thing that you're learning, which I would agree with. And part of that would be, like you said, what's available to learn with. ChatsDBT is definitely a new part for me. Not just telling it what I know or having it explain it, but I'll sometimes take, like, if it's extremely technical, I'll copy technical documentation and say, Okay, explain this. in a different way. Like I'll say, explain it like I'm 10 which is always funny when you, if you do the explain it like you're five, they like comes up with like very kid focused like metaphors and analogies and things. But you know, that can help to break it down. Tragedy is also really good at summarizing things and like, say like, give me steps or bullet points. And I don't know how much when you tell it to do that, how much it's still trying to pull from the outside. Right. And versus what it's been given. So that you always got to take that with a grain of salt and make sure it's not hallucinating and things like that. But for me, I would say like, I definitely like to go find a video like you do and just being able to do it. I think learning by doing is, is like, if there's a sample project, a quick start guide, pull down the tutorial, get clone, whatever it needs to be. And I just need to like, get it running and then maybe change some things to get it. to fail or break and then put it back and just kind of poke at the edges to see what's possible. I've been doing that a lot with the thing that I'm documenting right now because it's like the team that built it, we still can't talk about it. The, the team that built it. It knows it in and out, but I need to know it in and out to document it. And so I'm using it, breaking it, fixing it, thinking like, okay, all these things that I already know, do they still apply to this thing? Or is this like a new thing that I need to think about? And to your point, you know, how do we avoid having one very crucial, important line buried in the bottom of the docs instead of like, these are the things you should know before you start. So, that's been interesting and in a, I think like an episode or two from now, we'll actually get to talk about the thing, which will be

CJ: Nice. Yeah. So when you're thinking about these complex topics and yeah, I guess learning a complex topic, like saying complex topic to me is what is throwing me a little bit because a lot of like a lot of the stuff that we're working with, a lot of the API clients, a lot of the like SDKs and things, they're not that complex. It's when they're like, Yeah. For me, at least it's when they explode out into like bigger domains. So for one example would be like Stripe Connect. When you start like trying to facilitate payments on behalf of other people, and you know, as a platform like Lyft or Airbnb or whatever that kind of a topic where like, okay, using the SDKs is fine, but you also need to know like, here's all these different concepts and hold them in your head, like as you're going. And. Yeah, I guess in, in, in that sense, oftentimes, like when you're reading a book, right, like you can kind of get the main points as you go, or like you can be entertained as you go, but at the end, you're not going to get a quiz on it. Right. And when you read through technical documentation, and there's lots of different concepts, you almost need to like, Sometimes I, I definitely need to go back and like reread it several different times to just build in my head. Like what is the mental model for all these different components and where do they fit in? And like, what step in the flow are they involved in and trying to draw analogs to other things. So great, like couple great examples, the Twilio conversations API, like they have this conversation, the concept of the conversation, which is a set of messages between multiple different parties. And those are all conversation participants. So you have to like make API calls to create the conversation to create the conversation participants. But as a separate thing, you can create a conversation user Which can be a participant in a conversation user represents like, Oh, I'm a salesperson or a support person that works at the company that is going to like, you know, Act on behalf of the company in certain ways or whatever. And so those can also have roles and like all these different things. And it took me a long time going through the docs over and over and over and being like, why can't I just use conversations and conversation participants? Why do I need this like, other thing? And yeah, so I guess for me, maybe that's because I'm reading isn't my primary, it's like just I have to go over it over and over and over. So, yeah. I

Colin: Did they have any diagrams and things, or models

CJ: I did not see diagrams, but that probably would have been helpful. Yeah.

Colin: Yeah, I think the other thing to think about is that we've been doing this for so long too that like I realized the other day Do you remember when Oath was hard? Or is

CJ: Right. Right. Right. Right.

Colin: It kind of still can be because there's so many flavors of it But

CJ: Right. Yeah.

Colin: I was working on something in one step. It was like step step five do Oath and someone was like What? Like, this is like the, this is like the draw a circle and now draw the rest of the owl, and you're like, no, no, no, to me, doing the OAuth was only one step, but to them, like, that's its own guide. And I'm like, yeah, you're, you're right. And we have a guide on that. But for this, it is the tiniest, this is the beginning point. Like, if you do not, it's a prerequisite to understand OAuth to do this next thing. And so we do have to remember not to take, you know, into account like our, the curse of knowledge that we have when we think about these things, but there was, I remember having to like have this picture of a lot in my head and like this happens and then there's this handshake and where do I keep this thing and now it's very automatic or like a lot of the SDKs. Do it for you now, but it's important to know how it works because when it breaks, you need to understand how it works. So that's something I've just been trying to remind myself more about is that, like, how do we keep the beginner's minds when you're learning? And then now when you learn the next thing, you're not starting from zero, you're starting from a new starting place.

CJ: hmm. Yeah. I guess another thing that comes to mind sort of is using friction logging as yeah, as a way to start conversations about how things should work. So especially when you're on a DevRel team and you're providing product feedback to the product team. One way to do that is in these things called friction logs, where you just like write out your stream of consciousness of you trying to solve a problem with the tool that was built. And sometimes as you go through that, the product team will be like, Oh, whoa, like we, this is not what we expected people to think about that part of the documentation or that part of the API or SDK or whatever. And so let's have a conversation about that and try to make the developer experience better. Sometimes it's also like, Oh, I was just being. Like dumb and I missed or like completely misunderstood how that was supposed to work. But yeah, it can, yeah, writing a stream of consciousness to try to explain what you were thinking when you're trying to build something and then show it to the person, like the team responsible for building that can, it can also lead to some fruitful conversations and learning.

Colin: Totally.

CJ: Yeah.

Colin: All right. Well, I think we can tease this one for next time, but we can talk about it a little bit. There's been a lot of conversation about Campfire and the kind of one time, once business model of Campfire. We talked about it a few episodes ago and like, we're curious to see how it went and it went live. It got sold. The numbers that were kind of thrown around. A few weeks ago was that it had only sold, had only, in quotes, sold like a thousand copies or so, that's probably more now, but some people have just been, you know, armchair experting about whether or not that was a success or not. Basecamp is You know, such a big company and being able to release this. It's like kind of what, what is the motivation for this? Do they think it's the true business model? Ultimately it seems like a lot of people bought it just to see the code. and we went ahead and bought it so that we could see the code. So we'll definitely, we're going to be looking at it. And then we'll talk about it in a, in the next episode, but yeah, I mean, what do you think about this? Do you think that people actually want to host this themselves? Do you think that there's like this appetite that you want to have a server somewhere?

CJ: I don't think anyone, well, I mean, I'm sure there's going to be some people, but I, I would guess that the majority of people who've bought it so far are just interested in looking at the code that DHH wrote, or was kind of like responsible for in, in some way. And I, I'm really excited that this is available and also like. In the same way, watching the maybe code base evolve and, you know, getting to read this, getting to read the jumpstart pro source, getting to read you know, there's, there's a few other like open source rails projects that have been kicking off that seem really interesting. And so I'm, I'm just really excited that there's more. And then there are full rails applications that are going to be available some for free and some for money that you can go and read and see how other people are approaching problems. Because I think for a long time there, there really weren't any, right. It was like, you could see some toy apps online or, you know, some read blog posts, but you couldn't really dig into a full application source. Some company had used to actually run and execute their entire business. Maybe there, maybe there are some but yeah, I think that's like the most exciting part about it.

Colin: Yeah. Well, and whoever bought it, I think it already, it happened once. I'm not sure if there's plans to do it again, but DHH did a walkthrough of the code for anyone who bought it. And I, some people were saying like, If you want to think of this as a course, like it's cheaper than some courses. It's code written by DHH and team who created Rails. Now, you know, obviously now Rails is more than just DHH and it's a community effort. But if you want to see how, you know, DHH thinks about some of these things, that's what's motivating a lot of people to do it. I think they're doing a walkthrough around the CSS and design with one of their designers coming up. So it's, it's interesting. It'd be almost. Very. I would be curious to get recordings of those now that I have a copy of the code. And it could be sold as a course if and people can still host it themselves the way that it comes. It comes with an install script that installs docker. And downloads the code and all of that onto the server that it's meant for. And they're using like license keys and things like that. I'm mostly interested in, in looking at the hotwire and stimulus side of things. I don't think that there's like a mobile version necessarily, like using like hotwire and turbo native and all that stuff. But I could see that becoming a thing in the future. Two. My first pass of the code, there is a bunch of stuff in there for bots, and I remember the OG campfire had bots. Like it was, it was ahead of the time, you know, it was people were leaving IRC to go to campfire before Slack and before teams and all these other tools. So I think those things might happen. I just don't know because they're not getting recurring revenue and they're not gonna be able to resell like, hey. Here's a DLC like is there gonna be like a 20 add on to get bots and integrations, but a lot of people use integrations with slack and you're not going to go see like can't fire show up in Zapier for instance, you know, you're gonna have to make some HTTP requests to your own API, but we'll have to dig into the code. I haven't looked to see like, is there an API? I imagine That there is, or at least like some sort of webhook ingest or something like that.

CJ: And is it that they just kind of like took a snapshot in time and they're selling it as is at a certain version or is it getting updates? Like, how does that work?

Colin: From what I've seen, they've mentioned that it's major version. So you'll probably get whatever versions come from this, but they could potentially say like Campfire 2 is ready. And we redid the whole thing. And to be clear, this is not the original Campfire that they packaged up from 2008 and threw over the fence. Like it was rebuilt. There's some things that. You know, I wonder, I'm sure they use it internally because they're a decent sized team with like having been in large communities in Slack and then now working at discord. I'd be curious to see like some of their design choices around like having. Avatars and who's in the server, like going horizontally. If you have over even a hundred people, like scrolling sideways, a hundred times is, is rough. What does pagination look like when you have thousands of people in a campfire? What do rooms look like when you have that many people and notifications and all that kind of stuff? So yeah, chat apps are challenging, like you've got persistence and you've got, you know, I think one of the benefits of this is that you don't have the problem that you have with slack where you can't, if you're on free slack, you don't get more than 30 days of message retention. So if you're really wanting to have a quote unquote free, as long as you maintain it solution, it does seem like a pretty cool thing that you can run. And if you're a fan of. 37 signals, then you have another thing to look at.

CJ: it's interesting because we are building internally, we're building like this customer support interface that is very much a chat app. It's just, well, like customers will receive the messages as SMS or as email, but internally it has like, you know Like bot integration, where we're generating responses with different AI tools and then being able to like auto complete. And we have like our own little mini co pilot thing going on. And the, as a team, we decided to build a lot of that and react just because it was like a little bit more interactive on the front end. And so looking, I'm kind of curious to see, you know, inside of campfire, how are they solving all these things without react? And they're just kind of using stimulus and hotwire and. They're able to build a world class sort of solution without too much JavaScript or so it sounds like, yeah, be cool to see.

Colin: Totally. I'm excited to dig into it. It sounds like even for some of those like bot things it might be interesting to look at for you guys to see if there's any, anything to inspire there. And you know, I'm, I'm still curious to see how all these things Work with, I don't think this project uses tailwind because they don't want to use all the dependencies and things, but like, I'm always curious to see like the front end, both design and JavaScript or lack of JavaScript. If not needed to do like these live updates and refreshes and HTML over the wire and all that kind of stuff. So stoked to dig in.

CJ: Totally. That's probably a good spot to wrap it up as always. You can head over to build and learn. dev to check out all the links and resources in the show notes. And we will yeah, drop some affiliate links to budgeting tools you can go sign up for. So,

Colin: All right. We'll see you next time.

CJ: All right. Bye friends. All audio, artwork, episode descriptions and notes are property of CJ Avilla, Colin Loretz, for Build and Learn, and published with permission by Transistor, Inc. Broadcast by