Enum Types, Coworking Software, and more Atomic Habits

Show Notes

Producer's note: This episode should have gone out as episode 48 ahead of Webhooks! This is our missing episode. Join us next episode for episode 50!
Colin has a fitness update: working on the lungs, breathing and stress in general. CJ is digging into enums and converting them to models at Craftwork. More to come on that topic soon. Colin continues to avoid building Coworking Software (to everyone's applause) and CJ is digging back into James Clear's Atomic Habits.
  • Colin: Fitness update / massage / breathing 
  • CJ: Big refactor from an enum to a model - evolving pricing models
  • CJ's sleek lidar mop vacuum 
  • Colin: Coworking Software Update: not building anything, trying out Joan
  • Colin: Internal discussion on Webhooks
  • CJ: rereading Atomic Habits
  • Colin mentions some Obsidian (more on that to come in future episodes)

Full Transcripts

Colin: What's up? We're back.

CJ: Hey, how's it going?

Colin: good. How's the week been?

CJ: Awesome. It's been pretty fast. I don't know. This feels like it flew by really quick, which is, is good. You know, it can be good and bad. I just edited our last episode and put it up. So if you are listening along now, you can head back to the last episode, learn all about our debate about monoliths and other things. Actually, that's not,

Colin: I was like, I don't remember having that, that debate.

CJ: Okay. It's funny because I saw that article. Do you remember that there was like a monolith, like a physical monolith that just appeared somewhere like out in the desert and then it disappeared and then it reappeared recently somewhere in Nevada?

Colin: Yeah, I just shared that there's a it's like fully mirrored monolith that just reappeared somewhere in Nevada again this last week.

CJ: It's, that is so interesting. And like, where did it come from? Who, whose is it? And I think the one that was in California last time, this was several years ago, like, like appeared, was there for like a few days and then disappeared and no one could explain like how it got there or yeah. What happened to it? It's

Colin: Yeah, I don't know. I don't know how big the new one is. I've seen pictures of it, but it's hard to get a sense of scale, especially because it's mirrored. I wonder like if it's It's got to be placed by like humans. Right. But like,

CJ: Yeah. It's like a crop circle types thing.

Colin: but then you gotta be like, okay, how many people are in on this? to be so aware of no one else seeing you place it. The amount of planning to make sure that no one is around, that no one sees you, you know, I could see like a number of people just keeping a lookout and then being like, okay, everyone's gone. Now let's bring it in. But also no photos, no video, no anything about anyone placing it. You know, that's hard to do these days. Cameras are everywhere.

CJ: did they, I mean, did they bring it in with a helicopter or something to like,

Colin: I think aliens

CJ: the darkness? Yeah. Aliens. Okay.

Colin: Where's the History Channel Aliens guy?

CJ: Oh my gosh. That's like the late night thing that I feel like the YouTube algorithm always just veers off a cliff. And if I wake up in the middle of the night, it's playing,

Colin: He's one of my favorite memes, so. It's always good.

CJ: yeah, nice,

Colin: mysteries, or, yeah.

CJ: Yes. Right. Yeah.

Colin: Yep I think we've been talking about it. Let's see if you've been editing the last episode. We probably talked about some fitness updates can do an update here still trying to figure out what the heck is going on with my breathing I am adding stress and anxiety to the list of things that it probably are not helping it, but I can't remember if I talked about in the last episode, but I had like this breath work massage that definitely helped and like, it was like focused on your diaphragm and the muscles that you'd use to breathe and your back and like completely unstuck me because I got it the day before. The RTO and it was amazing. So I'm going to do another one of those and mostly just Yoga, stretching, breathwork, exercises. I feel like such a tech bro, but a little Wim Hof, a little you know, all of those things. And then just trying to de stress and like, try not like, if I'm thinking about work, just write it down and put it away. Try to do fewer things. Slow productivity back to the, back to that episode.

CJ: Yeah. Did it bug you during the run or it felt good during the run?

Colin: Yeah. I mean, I think it definitely made it more like I would have been able to do it without the massage, but that like completely unlocked me for that race. And then I don't know that it was COVID because I tested negative like four times, but my partner got it this last week. And then I just felt super off and it could have been just more stress, allergies, cold, whatever. But I feel like I'm like right back to where I was before RTO. So it's like always another, always another thing. So if you're sitting in front of a desk, if you work at a computer a lot, you gotta, gotta spend that time, you know, away every, every hour I'm at the computer, I'm trying to spend two away, but you know, there's only so many hours in the day and that, that math doesn't math very well.

CJ: Would you recommend the the massage for people who are, yeah, like trying to get better at

Colin: Like when I, when I told the team that I had done it, all of a sudden they were like, all get, they're like, I need this info. Like I want, everyone would like to just be able to breathe a little bit easier. And it's not a thing that we really. think about, right? Like a lot of people don't like you'll go get a massage as like a relaxation thing. But I mean, it was, there was some painful spots, but they were spots that needed the attention. And yeah, it was super nice. I would, I need to figure out like how to get them. Like maybe we get like a discount for our, our running club. Maybe if you're, if you're in Reno, we get a discount for our listeners. But yeah, I would look for it. In whatever city you're in, if there's like someone who focuses on like intercostal muscles, breath work, things like that.

CJ: And with the Wim Hof stuff, where is that something you just like learned online or how did you learn like those breathing techniques?

Colin: so that I've been to a class locally which was interesting. It was really, it's, it's interesting to do it by yourself and you can watch YouTube videos on it. You should do it, you know, sitting down or laying down, not while you're driving, not while you're swimming or in the shower or anything like that. Cause you can like pass out if you don't do it. Right. But for me, I find when I do it, It's like a series of inhales and exhales and then long breath holds. And then you do another one and then you do another one. And what's really interesting is like, it makes your body more I think it's alkaline and you end up having longer breath holds each time. Like if you do three in one sitting, each breath hold for me tends to get longer and longer and longer. So I might go from like 50 seconds to a minute, 30 to two minutes. And it is really crazy to see that in like. one sitting. And so if you're really good about doing it every day or multiple times per day, you start to get longer and longer breath holds and you can feel it. And I can tell a really different like sense of like stress leaving my body when I do it, the ability to breathe a little bit deeper and things like that. So yeah, this is a, this is a breath work podcast now.

CJ: Yeah, I think that would be really good for swimming. Like I definitely noticed that if I, there was a period where I would bring Logan to the gym and he would do, he was doing like these rock climbing classes. And during those rock climbing classes, I would go swim. And I've found that even just one day a week of swimming for like 30 minutes helped feel like I was breathing better. Yeah, so that's kind of interesting. I don't know. I'm assuming you don't smoke. Yeah.

Colin: I do not.

CJ: I don't know. You do not. Okay. So yeah, I've definitely found that too, that like if I'm in a period where I'm vaping or smoking or whatever it's, I, I feel like way shorter of breath than when I'm not. And so like, that's probably another massive thing where, you know, if I go several months without like inhaling anything, then it's much easier to breathe. But

Colin: Yeah. That's the tricky one. Like I've never been a fan of like, I want like try a few things, but like smoking it's just like with running and the amount of stuff that I do with that, it's just like, I know it doesn't at all. Right. So I will stick to edibles and things like that when I want to have some extra relaxation. But.

CJ: Yes.

Colin: Yeah. I mean, just like so much focus has been in, I feel like in health and in tech around drinking lately. I feel like smoking is going to be the next one where we just, we just don't know so much about what vaping is doing to us either. And, but if you want to breathe easy.

CJ: Yeah. Speaking of that, I know, no, like in previous episodes, we talked about Peloton. One of my favorite Peloton instructors, Kendall tool is leaving Peloton. And I think the company she's joining is one of these like non alcoholic beer

Colin: Oh, nice.

CJ: Called like athletic brewing or something

Colin: I love

CJ: like a beer, like, Oh, you do. Okay. I've never heard of it. So like, yeah. What it's, it's just like a, yeah. Non alcoholic beer craft beer or something

Colin: Yeah. They have a bunch of different types. So like right now it's summertime. So I get like some of the They're like, like a Radler style beers, like more citrus style, but they've got like a white, a Belgian, they've got red an IPA and they're all in a I think they, they're very, I think they're based in Denver. It feels very much like a fitnessy Denver brand, but it's just nice. Like if you don't want to have a drink or you want to have something after a run or workout, like you can have this thing that is more than just water and kind of makes it into something nice. Cause there's so many people who want to replace drinking. They find like nothing really compares, but if you like have that ritual of something else, you know, even liquid death or something like that can help. With that,

CJ: yeah, it's, it's interesting because I think a lot of people, well, obviously a lot of people use alcohol as like a social lubricant. And so I have seen a handful of different things pop up on Instagram and whatever, of people trying to come up with their own chemicals that have similar, like, I guess, anxiety reducing properties that are also in a way, some sort of social lubricant. And in the past I've done, so I have a buddy. Jeff who, like, hosts Kava ceremonies. I don't know if you've, like, been to one of these, but that, that was really, like, eye opening and surprising to me. It's like, it's a chemical or, like, a, it's a drink that you can't mix with alcohol or you're not supposed to. It's, like, very bad for your, like, liver and kidneys and such. And so we'd go to these Hangouts basically where it is a very connected social experience and you're drinking this drink together and it's not alcoholic in any way, but it does give you like I don't know, some sort of recreational benefits and like soothing, calming benefits. So, yeah, I don't know.

Colin: Yeah. We have a tea lounge in Reno, the yoga studio. And they have Kava.

CJ: Oh, nice. Very

Colin: Yeah, so Kava and Kratom as well, which I don't know much about, so I will not try to talk about it. But, another one of those things that has some effects and it's, I, I don't know much about it. But, yeah, I mean, I think that social lubricant thing is, is interesting because it's like, it has made me try to figure out how to go to bed. Events where I don't know people if I know I'm not going to drink. It is a learned behavior It's you know, I find myself to be pretty social But like sometimes I like I don't want to fake it and that's where it's like alcohol can make that easier And I also don't necessarily want to only have fun if i'm drinking. So there's like this balance of of things there I'm curious. What do you know what she's doing at athletic because going from peloton to athletic is like very big difference

CJ: I'm assuming she's going to be like an influencer. But I don't, yeah, I don't know.

Colin: very cool

CJ: yeah, so we'll see, but yeah,

Colin: update.

CJ: that's it.

Colin: What are you working on this week?

CJ: Oh gosh. So I wrote, I wrote and published this blog post Couple of days ago about some learnings that we've had with rails over the last year. And one of them is around enums and when to use them and when not to use them. And so we're working on this massive refactor can to convert one enum into a model, a proper model with a relationship, but it really like stem, this particular refactor stems from a thing that I've seen now a few times lots of different startups, and I think it's worth chatting about, and I don't know. The best practices here or the best way to go about this. But every time that I'm working with startup founders, they just love to experiment with pricing. They just like want to try lots of different pricing models. And like Kraftwerk is no different. And we started off with like this very simple, transparent flat rate pricing where, okay, if your room is, is small, medium, or large, And you want to paint the walls. It's like a fixed 200, 400, 600 or something. Right. And it's just like this flat rate amount for a service that we're going to provide. And over the last year, we've learned a lot about the business and a lot about how to align the value that we're adding with the amount that a customer should pay. And I think that's where the tension lies in, if I reflect on all these different situations, it's between like. The business trying to align the incentives and align the value with what the customers are getting and trying to do that in a way that makes it profitable to run the business. And so in the craftwork use case, we're talking about stuff like, Oh, if it's, if we need to add an extra coat of paint, that's going to take longer, it's going to take more supplies. So, you know, one room that is just drywall that's fresh drywall is going to require. More work than a room that's pre painted or, you know, we're just doing a repaint. And so that is this concept, or maybe there's this concept of like modifying it. Right. And so then you can think of a data model or an approach where you're building some object oriented relationships where you can apply modifiers on top of some flat rate base pricing. But then we have these buckets that are actually like not granular enough. And it would be ideal if we could do it based on the actual square footage, like the surface area, square footage of the wall and like the linear feet that we need to cut and things like that to get like even more specific. And yeah, it's, it is something that will. We'll get better at, and there's a few things that we've picked up, but I'm definitely like noticing that this is a hard problem that I'm sure every startup is running into. And that's like, how do you properly price thinking back to my VR, this was SAS software that I think we initially were just charging like 40 per property per month or something, or maybe even like a flat 40 per month. And then it didn't, we didn't have any like additional fees No matter how many properties you have for this, like property management software. And then over time we were like, Oh, actually the more properties you have, the more value you're getting. So let's add like a per property fee. So now it's, maybe it's 10 per month, plus 2 a month per property. And then we're like, Oh, well, The value you're getting isn't necessarily the number of properties you're managing. It's actually based on the size of the bookings. So like if one person only has one property, but they're booking out at like 10, 000 a night and another person has a property and they're booking at a hundred dollars a night, like that's pretty different. So then do we make it a percentage based on like how much the bookings are? And then. Yeah, so I dunno, it's, it's, it's super hairy, but yeah, one of the things that I have found really valuable is having versioned pricing. So every time that we want to release a new price or set of prices or approach or algorithm for calculating a price, we have, we cut a version, almost like an API version, it's a pricing version. And a whole bunch of stuff is tied to that pricing version. And then we can like run all the calculations with the right models and such, but Yeah, it, it's, it's a problem that I'm curious if other people are solving this like really well and nailing it right out of the gate to make like super flexible pricing that evolves very easily depending on what the founder needs or,

Colin: Yeah, there's there's like two parts to that, right? Because you've got the technical How do you store it and calculate it and save it and use it? And do you use or stay on the old pricing and are they grandfathered in on the value metric side? Yeah, it's so interesting to think about like, you know, How do you pick a metric that scales with value too? Like when you're explaining that, like the, even the property one, it's like, well, if I have four properties, you know, I could see property being a value, a scaling value metric with transistor. What I liked about how they did it is that it's based on our listeners, not the number of podcasts where previously most were each new podcast was like 10 to 50, 10 to 20 a month or whatever. And that prevented me from making more podcasts. Right. So it actually prevents the user from doing the thing that you want them to do versus, you know, obviously like if we created 20 podcasts, they're all not going to be great. So you still want to focus, but the value metric for us is, well, I guess for us, it's different, right? Right. We do this for ourselves, but like the idea is you're paying by user. It doesn't matter how many podcasts and it lets you have like more. Hits it, that bat type of thing where we can try a few podcasts and see which one works. When you're talking about houses, it's like does a user, does a, does a homeowner or someone who's hiring you'd really think like getting their, their room painted. What is the value metric? Is it that it was painted or is it, do they truly think of it in linear feet? Probably not. Do they think of it in layers of paint? Probably not, right? It's either, is it done or not? And if they hired someone more traditional, that person, if it's going from drywall, is going to have to deal with the same number of layers of paint. So is it that it's cheaper? Is it that it's better? Is it a convenience? Is it like, there's so many avenues there. And I think with craft work, it's like all those things, right? It's. And then how do you price that scales so that you're not leaving money on the table for every time you'd paint, like, especially if you're losing money on every, you know, if you're like, Oh, we realized that these rooms of this size just don't make us this money. So we're only going to do rooms of this size or, you know, doing repaints is better than drywall or we get really good at drywall and drywall is actually better because we won't want to paint it our way. So there's a lot of things that aren't even represented in code, which is gnarly.

CJ: Totally. Yeah. And then, yeah, so I think the value they're getting is not having to do it themselves, like not having to paint it themselves. And it is often in contrast with other competitors in the market. So it's like,

Colin: it can't be like so much more than what someone else would charge.

CJ: exactly. Yeah. It's like, okay, this person could either go buy all the paint and spend 20 hours themselves to paint it, or they could pay someone. X dollars or they could pay us X plus, you know, 5 or whatever per square foot to do it. And then yeah, so I think it's, part of it is quality too. Like they'll see great customer reviews and they'll see examples of past work and social proof and all of this stuff that if someone has like very particular taste and certain style that they're trying to achieve, and then they would pick us. And. Yeah, like on the, on the business side, a giant part of the home services business is figuring out how to like nail your gross margin. And that's all like very relative to how long it takes to do something because a lot of it is tied up in labor. So like if you don't estimate correctly how long something is going to take, then You are going to like either way under or way overshoot the amount of labor that's involved. And then that makes it just like V huge variance in the margin per project. And like, that's the thing that you want to control for the most in order to have like a predictable and sustainable. Like home services business. And so yeah, it's also balanced with like, how much do we want to enter in? Like how much do we actually want to type in and is the sales team going through every single room and marking off, you know, like, Oh, this room has. Baseboards and crown molding and chair rail and. You know, this many windows, this many doors and blah, blah, blah. Sure. But then on top of that, are they going to be expected to measure the linear feet around all those things in the surface area, square feet. And yeah, I've got some fun, some fun little projects going on with the, the room scanning tools that are built in with the iOS. We're mapping stuff, but

Colin: need like a robot that goes out to a house and like scans everything

CJ: 100%. Yeah. Yeah. I don't know. Like we got a robot vacuum for the first time last year or something. And one of the first things it does is like goes through and maps out your house. And I thought that was the coolest thing ever. I had never seen something like that. It's like in 10 minutes, it spit out like this 3d rendering of our house with like the, the direction that the wood. Runs on the

Colin: Oh, well

CJ: so that it would like mop it the correct way. And wouldn't like go orthogonal to like the wood grain. I was like,

Colin: you have a nicer one than I do

CJ: It's yeah, it was like yeah, we'll have to put a link to it in the show notes. It's the

Colin: well because there's those they're like these like segue looking robots that they tried to do in offices to like let people Remotely be in the office or whatever and it's like an ipad on a on a segue Like something like that showing up someone's house and doing the iphone 3d mapping thing, you know, and just like somewhat Maybe you don't even need that if, if a Roomba is good enough. But like a Roomba kind of maps it out by like trying to navigate every inch that it can versus just being in the center of the room and then doing a few like spins around or kind of like how the those 3d models are made for, for showing houses and stuff like that with the, the 3d camera. That's pretty cool.

CJ: Yeah, I think this one might actually have a LIDAR scanner on the top of it. So that, yeah, it was I don't know. The future is here. The future is here. It's

Colin: there was a there was a hilarious meme of someone in a iRobot store and like they're surrounded by robot vacuums and the person working the store was mopping the floor and They're like, this is the future the robots have taken over now and we're doing their bidding.

CJ: yeah, yeah. That's like the, the coffee shop in. San Francisco airport that like, where there's like a robot barista, but like the humans still have to like refill the cups and like refill the napkins and stuff, it's like, okay we're taking away the, yeah, the fun jobs.

Colin: This one's nice. I'm gonna have to look at this one. Very cool. Well, I'm back with another coworking update,

CJ: Nice. Where are we at? I know you were

Colin: So

CJ: so last week we talked, you had like a notepad on the door or something, right. And, or it was like, you got it to show green or red or yeah. So yeah. Where are we

Colin: Yeah. I mean, I haven't had a lot of time to play around with software, so I've, we're trying one more company. It's called Joan, J O A N, getjoan. com. It's cool because they have like, we already have iPads installed that are on mounts and powered and all that. So they do have an iPad app that we're going to try and it has a user app that you put on your phone and it's, I'm trying to figure out if it's just good enough because it has significant delays when I'm testing it and like my programming brain knows exactly what they're doing wrong and I also don't want to go build it so I'm like torn because it's like I need this thing to be a thing we can just pay and like it always is supported and it works and if I build it I'm going to be the one supporting it and making sure it always works and what happens when Google's down and all that stuff but what's really cool is they have these Kindle looking tablets that you can also buy that are, that they have like, I think like three months charge. And so you can stick them on rooms that don't have power cause they're just battery powered. So like our phone booths and rooms that we just don't have power, that we paid to have power put outside of each conference room and it was not cheap to do and I don't want to do it again. So. As we have other needs for other rooms, it's kind of nice to be able to, to do that. And I think like the value it's back to the value metric thing, like the pricing is very good. It's like per room and it's like, I think it's like less than a hundred dollars a month, whereas the other one was going to be 5, 000 a year or whatever that math is. So like we can handle. This very easily. It's just, is it good enough though? When I say, is it good enough? It was like, I doubt anyone's going to be booking the same room at the same time, but there's like a few race conditions that I don't think it handles very well. Like, it's just like, it's just not as good as our last system. So I think it's good enough. I think we're going to try it with you know, a few members and see if it works good enough that they don't accidentally book on top of each other and stuff like that. Cause we're using a whiteboard right now. Which is people emailing us and then us having to remember to put it on the whiteboard in that morning and that is not sustainable when like I'm not in town or if we're unstaffed for, you know, like coming up for a holiday, stuff like that. So,

CJ: Yeah. Yeah. This would be nice too. Cause then, yeah, people could presumably you could just book it from the, like their, either their user app or like the website or something.

Colin: yeah. Yeah, I mean, there's also, you could literally just use Google's like form, but it's just like not great for users to like have to go find this link. I thought about doing that in Slack and make like, cause we do try to like, we have a high percentage of our members who use Slack being able to like do slash book and make a little Slack bot and do all that. And it just pops up like the Google calendar booking form for that room. We'll see. Cause that is what, Google Calendar is the source of truth for all this, so like, we could go straight to the source on that, but and then on the like, less, the, the one that makes us money is the actual Stripe and membership side of things. And we've been finding that we've had some payments and stuff fall through the cracks because sometimes when we bill a member, if they're new, we need to send them an invoice and they need to like pay it and put a card on file so that we can then set up their subscription. And I'm sure there's probably a way to do all of that in one step, but like, depending on what day of the month it is or all sorts of factors, it sometimes gets sent to like an accounting person as an invoice and then Then we set up the subscription. Once the invoice is paid, sometimes we forget to set up subscription. So we use a spreadsheet that has all of our active pause, canceling canceled members. And then we have Stripe, which is doing all the billing. And I think it's time for us to have like just a really lightweight UI of. Of that spreadsheet of just who, who does Stripe think is active? Who does Stripe think? Cause it's not super easy to scroll through Stripe and like, see who's active and all that kind of stuff without going into each customer and then looking at each subscription. And just to have that so that we don't have to do it by hand anymore, because I did find, like I wrote a little CLI. Script to go audit everything. And that's how we found some of the missing ones. It's like, why are we not getting paid for these? That is super important. And then, you know, some of them have been a few months where it's like kind of our fault, so we feel like we can't always go get that money. But some of them are like, you have your own office and you knew you weren't paying. So it's, it's. It's unfortunately time to pay all at once, but I don't ever want us to be in that situation and us getting paid means that we can pay for conference room software and all these other things. So so working on that right now, it's just a little CLI thing that shows me everyone who's active and who's about to start and who's about to cancel and all that stuff. So,

CJ: Nice. And then you, are you like manually activating and deactivating keys or how does that

Colin: yeah, the system we use for that is from Slage. And. We had to log into their UI and then their phone app to add and remove people. That door system is like a thousand dollars one time and we just replaced it with a new one. So we found that it takes like six years for it to completely die because we use it. The door gets opened and closed so many times in a day that it takes about five years before it's just needs to be replaced. And that one does not have an API. Sadly there's no way, like we could probably get the logs, but we can't like create keys and stuff like that dynamically. So there's some really cool ones out there that do, but the, you need to have like an electrician and a certain door and the lock is expensive and then there's a subscription and all of that kind of stuff. So the slage one doesn't have a subscription. So we paid once we get, you know, it mostly works. And sadly, I think for coworking, a lot of software just has to mostly work. And if we, if we were paying for an actual coworking software and for a door system, like unfortunately the margins are so thin that we wouldn't be making any money, so it's, it's definitely a

CJ: Mm hmm. Yeah. Well, hopefully Joan works out. I think this, this looks super clean. I like their their offering seems to be exactly what you need for just like co working room space. I don't think you do the desk booking thing, but I think that seems like it's an option, but

Colin: Yeah. I'm, I'm having to guess that all of these companies are adding desk booking because they're being asked for it, or. Whether they're guessing that people want it and so they're building it so they can add more value and charge more money because I don't want the desk booking thing. Like no one here wants to choose which desk they want before they get here I could see it Like I have to do that when I go into the work office in san francisco because they just only have so many And the unfortunate thing is when you go into the Joan mobile app, the first screen is desks. And it's just like, okay, now I have to teach everybody. They'll figure it out if they want their room, but you gotta go to the rooms tab, and then you gotta find your room and all that stuff, so.

CJ: I was just reading something recently where people who are being asked to work in the office again, like return the return to office wave, the, what I'm hearing is that a lot of offices are having people come back, but they're not giving them a dedicated desk necessarily. I think that might be a little tough. Like you're, you're expected to go into the office five days a week or four days a week or something, but you're not given a dedicated desk. That might be kind of tough. And so. I wonder if that's also part of the aim is like, if you had one of these you probably know the term for it. What is it like when you have an office and, but no one has a dedicated desk, you just kind of like go in and flex into

Colin: Yeah, like flex space or hot desking cafe, hoteling, there's all sorts of words from, from,

CJ: Okay.

Colin: from the hospitality world.

CJ: Nice. Nice. Yeah. So you just like go in, hot swap your desk into whichever one you want that day, and then leave. But yeah, I guess as someone who wants like some stability and being able to just like leave your jacket at your desk the night before or whatever,

Colin: Yeah, and we have like we have resident desks for that where you have your own desk and then the other desk like in a perfect world I would love to get us to a point where we have like the same monitors at every desk and you just plug in but everyone has different setups so like at discord we kind of do have that because everyone has like a macbook pro and they're all usbc and you just Sit down and get get going. I don't actually don't know how they do that with keyboards and stuff I think our IT department has keyboards and stuff, but I I mean my 16 inch I'm usually fine just working on the laptop. And then when I'm here, I've got my full setup, but

CJ: Nice.

Colin: So that's the saga of coworking software, the never ending. I just

CJ: It

Colin: want to think about it anymore, but also I'm like, I don't want us to miss any missed revenue or just make, make our community manager's life a little bit easier. So she, you know, sometimes it's like she'll do the invoice and then she gets a tour or a member asks a question. And so then like that next step of setting up the scoops never happens Cause something else came up. So these are things that computers can solve for us. So we will use them for that.

CJ: Yeah. I think Stripe payment links now supports like starting a subscription too. So you could probably like, well, that doesn't create an invoice, but well, maybe it does actually, I don't know. It should create a subscription and the subscription should have an invoice the first time it goes

Colin: Yeah.

CJ: So yeah, you might be able to use payment links and then like looking. The billing portal. Wow. It's so rusty. It's so rusty. All the product names of like are

Colin: And I'm sure so many things have changed since you've been there.

CJ: Yeah, totally. Totally.

Colin: Yeah. I don't think we even use payment links. Like we, we send an invoice. And I guess it's probably using a payment link under the hood and stuff, but yeah, there's, there's some room for us to get better at this for sure.

CJ: cool. And then when you're, when they finally subscribe, then you get a webhook notification. So what's going on with webhooks? Let's like,

Colin: I'd be curious to hear what you think is like the purest form of a webhook. This actually might be a whole episode, maybe we just tease this for next week because we're already getting a little long here. But we're having a meeting internally about webhooks today. We do not really offer that many webhooks today. So that's all I'm going to say there. But like there is a way to build bots that use something called interactions, which are like webhooks today. So it's just been interesting to see different people with different backgrounds, different companies have very different kind of takes on webhooks. And my joke was like the, the, Elrond and Gandalf, like, you know, 3000 years ago, I was there. I was there when like I was there when webhooks were created. Like, and that's like the funny thing. And so like, I have this very specific take on them and I've used them so much for Stripe and Shopify and built webhook systems and consume them. You know, we why am I blanking on Chris, Chris and I did a webhook talk over at RailsConf a few years ago on just like the best practices around consuming them. And like, it's one thing to omit them, but it's like a whole thing to consider how they will be used and consumed. And, you know, are you requiring that people go query every time they get one? You know, there's all sorts of stuff there. So maybe we tee that up and we talk about webhooks. fyi next week. And kind of what we, what we both think, what do we want? What are, what's our dream webhook look like? Is it even webhooks? Do we like webhooks? I don't know. But I had to go check, because I've been in the webhook Google group since 2010. And it's mostly defunct now, and like spammers post in it and stuff, but it was created when like Jeff Lindsay was trying to come up with a name for what webhooks were, and trying to get people to like agree on what this like, you know, this notification across HTTP would look like. And I don't think we've really, it hasn't really changed too much. There's like PubSub and PubSubHubbub and all that stuff out there,

CJ: hmm. Yeah. Okay. Well, we'll save it. This is yeah, this is your teaser We're gonna go deep on webhooks next time

Colin: We love

CJ: Yeah, it's me too. I think Yeah, there's a, been meaning to write another article to like taking the workshop that you guys did, and then just kind of like maybe walking through it and talking about stuff. I like to sprinkle on top and things that we've added at craftwork and at previous companies that are like kind of handy to have for working with them. So yeah, that'd be great. Great to dig into you

Colin: Are these articles and writing a part of some new habits for you? Or is this like revisiting, revisiting some habits?

CJ: nice. Man, the transitions today are fire. You got that?

Colin: This is an unscripted show, CJ.

CJ: It is totally unscripted. Yeah. I am rereading atomic habits. I'm, I think the last couple of times I've, or like last, yeah, definitely the last time I went through it, I did it on like two X speed or something. I was like, ah, I know all this stuff. Let me just get a refresher this time. I'm doing the opposite. I'm savoring it. I just, it's just written so well, you know, you got to like, slow it down and, and just take little nibbles

Colin: You're going at half speed.

CJ: I'm going, yeah, 1. 0 is my half speed. And yeah, just the stories and trying to, trying to really, really absorb everything and all the, like, there's so many different frameworks and there's only a handful of things that I really remember. So I want to, I want to walk away this time feeling like I've got, you know, five different frameworks that are easy. To just pull out of the back pocket at any time and apply. So yeah, going through it slowly. The, the writing is not necessarily part of the atomic habits stuff, but I think there are just a handful of things I've wanted to make content about and I've been slacking. So they're finally bubbling up to the surface and making their way out onto the page. So,

Colin: Yeah, I've been trying to pick up more writing just because I am feeling like I have way too much going on in my head all the time and it needs to be just put out on paper so that it doesn't, like, Chanel doesn't want to necessarily hear about it all the time.

CJ: yeah.

Colin: So it's like, maybe, and then this helps, right? Us talking about these things always helps. It'd be my, my kind of venting time about some things, but I'm wanting to get into obsidian more just because I need some structure. Like I write, like right now I have 10 text mate files open where I just have different notes and like each one is a different. like context. So like one's work stuff, one's collective stuff, one's personal stuff, one's reminders. But then when I do long form writing and stuff that will eventually become either my own personal stuff or like when I'm doing revamps of like discord docs, obsidian is already in Markdown. So like it makes a lot of sense to have like this like scratch pad that I can keep that's not. a folder of a hundred different Markdown files. So I have not dipped my toe in the obsidian world at all. There's like YouTube videos on how to build second brains and all, and that's not what I'm trying to do. It's just, I just need to have like, I can pick up where I left off yesterday and not have to go searching for which Markdown file I was in yesterday.

CJ: right. Yeah. It's it's definitely one of those things where I have a lot of work stuff in linear tickets and in, in linear tasks, but everything else about my life is just in my head and it gets exhausting. There's just like so many things to keep track of. And

Colin: got to build that system, right? The atomic

CJ: exactly. Yeah. We fall to our yeah, we fall to the level of our systems. Exactly.

Colin: yeah, I mean like we just started, I guess we've been doing it for a few months, but like a shared Google calendar, Chanel and I, and I'm sure we'll end up with I guess that we can leave this here with that we're moving into a place together. So we're like kind of creating the operating system of like bills that have to be paid and Calendars and like I'm used to doing all that by myself So what does it look like to have that with another person and

CJ: Mm hmm. Mm hmm.

Colin: you know

CJ: Ooh, yeah. Shared calendar. Next thing, you know,

Colin: It's it's in there now We know we know we're doing this weekend so

CJ: Very cool. Yeah. I, it sounds like your new place is going to be super dope and you'll be close to trail running and

Colin: little refresh on life

CJ: congratulations from me and all the users.

Colin: you.

CJ: I mean, all the

Colin: All the users. That's very, that's very Tron.

CJ: Yeah. Yeah. Very

Colin: Cool. Well, good to chat this week. Where can we find all the notes for all the things?

CJ: Yeah. Head over to buildandlearn. dev and we'll have links to all the resources we talked about in the show notes. And yeah, we'll see you next

Colin: Adios.

CJ: 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