APIs, Acquisitions, and Event Emitters

Show Notes

This week, we discuss building companies on top of API integrations and recent acquisitions that we've been following closely and dig into some tech we're both using in our daily work. If you feel like you have a lot going on in your world right now, we also tease our upcoming episode on Cal Newport's newest book, Slow Productivity.

- Postman acquires Orbit! Congrats to the team!
- Discussing building companies that are heavy on integrations
- Autocode shut down
- Cloudflare acquires Partykit
- Using Turbo at Craft
- Calendaring and staffing in Craft
- Neverending conference room app
- Slow Productivity by Cal Newport
- Podcast Interview with Cal Newport
- Cal Newport's website
- Events and Event Emitting
- Building and learning on Game Engines

Full Transcripts

CJ: What's up, Colin? How's it going? What's

Colin: Hey, how's it going, CJ? We are back. Build and learn. How's your week looking?

CJ: Pretty good. It looks like you dropped in a link to an exciting announcement. What's what's the deal?

Colin: it looks like you're wearing a celebration t shirt, but

CJ: Yes.

Colin: CJ is wearing his postman shirt today probably from some sort of DevRel collaboration or events. But my former startup Orbit appears to have been acquired by postman. So congrats to the team over there. And it sounds like they're going to be working on the Postman API network kind of more shifting gears towards Postman's developer community of APIs and things like that. But long time coming. So kudos to the team and Josh and Patrick for leading that effort.

CJ: Yeah, it's it's been an interesting couple of years for Orbit, for sure. And yeah, it's good to see that everyone landed at a pretty cool spot. I, I like Postman a lot. I've been using it way more recently. And yeah, I think I have been surprised at how much it's increased my productivity. And I think like a big part of it is just like, staying organized with collections for all the different API integrations. And then under that, like having folders that automatically sync and then having different environments. So you got like your production environment, your local environment and variables and writing, like, I don't actually use the tests feature of postman for for testing, but I use it for like saving and writing variables that were the result of like a previous request. So you can say like, yeah, with Twilio, maybe you make an API call. That creates a conversation and in that response, Jason, you want to save off the conversation ID in a variable, like a postman variable that you can then use in other requests later. So yeah, I've been, I've been loving it. I think for a while I jumped between insomnia and a couple other different rest clients, but have you, yeah, have you been a postman postman user for

Colin: I've, I've, had an account for a long time. I've been using it more because we have the API spec from discord that's feeding into the collection there. And I'm going to actually be at post con at the end of this month. So. Probably right when this episode comes out. So if you're going to be at post con come find me, but yeah, we'll just be geeking out on API as I imagined at post con and learning more about, you know, best practices around APIs, but we've been, I think we have like 1. 7 I guess, 1700. People who are subscribed to updates to the API through Postman. That's kind of another feature as, as, as we update the spec, it updates the collection, and if you're subscribed to changes and you can see that downstream and we, we aren't using any of the test suite things or like the runners. I've been really curious to check out the runner feature and just see what else we can do. We have a bunch of different. Auth tokens and we need to document those better in there. And sometimes specs are like the technical thing, but not the how to use this thing. So we're trying to just figure out how best to show that, make that show up in postman so that you know what goes where and how to go get it and all of that stuff. So. Yeah, pretty cool. I use I use paw, which is, I guess now also was acquired, I guess a few years ago, but it's the rapid API client locally, but I only use it for myself. And I think the benefit of postman is that like figma style multiplayer of like, you know, back when I think figma has won the game on most things because it's multiplayer. What was the other one that was really popular before figma sketch. Yeah. And You know, Figma kind of ate their lunch because it just wasn't as multiplayer, and I'm sure Sketch is today, but Postman's got that, that it's great for teams, so having workspaces and all of that.

CJ: Yeah. Did I read correctly that orbit is basically going to shut down like the existing.

Colin: It looks like

CJ: yeah, orbit's closing down. They're pivoting, but I think like there's, there's pretty good alignment between the audience that orbit was going after and the audience that postman is serving. And so like basically just continuing to grow developer communities, making it easier for people to connect with other. Yeah. Folks that are using your API,

Colin: Yeah, and I

CJ: to make a lot of,

Colin: I just have what's in Patrick's announcement email here. So I don't know anything beyond the, the blog posts that are public, but yeah, the Orbit team will be working on the Postman API network. If you're using Orbit, Orbit users have 90 days to wind down export their data, so no more new data. There won't be new data ingested and things like that. So, which there's a lot, there's a lot of data flown through. I think we talked about it on the show. Some of the things that that I spoke on at RailsConf around that whole network integration suite of how we would integrate data and pull that in. I imagine they'll probably use some of that. We'll see. It's pretty cool.

CJ: it, it also like just taking a step back and looking at this acquisition, it's another data point that building a company around like lots of API integrations still does not seem to. Work like perfectly right. Like which is disappointing. Cause that's like the favorite kind of thing that I like to build. So I don't know. It's what, do you have a sense of like the trend there or the pattern there, or like things that people ought to look out for if they want to go down the road of numerous or, you know, building an API integration company,

Colin: Yeah. I think, I think like you and I have more experience than that, than the normal engineer, I think, or not the normal engineer, but the, you know, the average engineer has probably dealt with some APIs, but you and I have had to integrate with dozens and dozens in one app. Right. Okay. What I like about the acquisition is that it's proving and showing that there are startups still being acquired by the companies that are not the Microsoft's Googles, but that tier below that Postman has a great user base, great community. They have the ability to buy companies. So things like that are great. Cloudflare has been buying a bunch of companies, things like that. So it makes for a healthy ecosystem. If people are still wanting to start something, I think, which is great. You're right. In that if you focus on the integrations, you can spend all your time there. and lose sight of the problem that you were trying to solve for the customer in the first place. And there's this long tail of integrations that like, is the, the nth next integration really going to add product market fit, or do you need to solve the problem for people who use one or two of those integrations and just say like, yeah, we are the best tool for this. And I've thought about that. Like if I ever did build co working software. I would say it's the best co working software for Stripe users, period. Like, I would not want to touch PayPal or any of the other hundred payment providers. And people will probably then give you reviews of like, oh, they don't support X, so I'm not going to do it. And it's like, yeah, but it's just a really, really long bridge to nowhere when you're integrating every single thing under the sun. Because then you got to support them all, maintain them all, answer questions on all of them. You got to learn them all really well.

CJ: Mm hmm.

Colin: that's kind of where I'm thinking about it. I still love integrations and APIs and all of that, but I do think quality over quantity is probably the winning formula going forward.

CJ: Mm hmm. Yeah. It also seems like at some point, Orbit was encouraging people to build their own integrations, right? And just like use the Orbit API, but build your own integration. I am struck by the fact that like Zapier, Make. com you know, if this than that, like these types of companies where it is purely like the integration platform that those they're able to be successful. And I wonder if it's because they've reached some sort of critical mass where they have enough integrations where they can get people to use it. And then by people using it, that encourages third parties to build their own. Apps like on top of it. And that just like creates a network effect that continues to drive more integrations from third parties. I don't know. Like, how do you, yeah, basically, how do you reach that that critical

Colin: Yeah.

CJ: to get people to use

Colin: Well, and with Zapier, like the Orbit Zap, we had to maintain it, not, but right. So like. They don't have to learn if someone wants it, someone's going to build it and it doesn't have to be that company that builds it. Sometimes, sometimes it can be a third party dev. You're right. Make a lot of this is like user generated or third party supported integrations, which come with their own issues. Right, like if you release a new feature and then it's not in the third party thing then that can be harder and you can't go make a third party go add a new feature or something Or maybe they don't implement it the way you want them to or how you would do it make is a good example There is another announcement that i'll share in in the show notes too, which is that auto code is shutting down and They are one of these similar tools, like API integrate with all the things, but it was also like kind of replete. Like you could write code in the browser and do chat bots and things like that. And when you dig into it, it was run by a very small team. I know about them because of discord. There's a lot of discord bots or rather a lot of people learned how to build discord bots using this. And they even talked about this on Twitter at auto code. A lot of people learned to use the APIs and build bots here, but then they went, they graduated off of auto code. Like as soon as they were, they learned it, they would go spin up their own Heroku or their own box somewhere, and then they would have their own app. And the person who ran this. is going over to OpenAI because there were a lot of GPT bots that were built with this. So, as far as I can see from the announcement, AutoCode is going to get shut down but they have this really cool project that's called Instant. dev that they run, so I'm curious to see It's an open source thing. They basically have said, like, if you want to take your auto code projects, you can spin them up with instant. dev on CloudFlare or wherever you really want to host it. I don't know if it actually is CloudFlare. There's like a bunch of acquisitions that I'm now kind of getting crossed in my head because the other one that I'm kind of excited about, this is just the acquisition show. Is partykit. io is being acquired by CloudFlare. And this is like a really cool way of adding multiplayer and collaboration, like, like y. js auto merging of documents and things like Google Docs style. And if you go to partykit. io right now, CJ, you see my cursor and I see your cursor. So this powers that like Figma style multi thing. And I think if you hit slash, it doesn't work on the website. Okay. But they had the ability to type and then the, the typing would happen. And even in that background you can see that the, the background is changing based on your cursor. So, this like multiplayer state is handled by PartyKit. And so, they just got acquired by Cloudflare. So like, there's a theme here of APIs. State. multiplayer. So if you're building something out there, think about, you know, how you can build that like network that you plug into all these other things, because maybe one day when you do want to get acquired, you now have this like rich relationship with a bunch of companies that will be like, Hey, like half of our, half of our users are coming from your tutorials. Maybe we should just buy you.

CJ: Interesting. Yeah, I have, I've been really impressed with how well Repl. it has been able to, like, go from kind of a toy browser thing where you can write a little bit of code and run it To like now they're pretty legit like hosting company that starts with browser, like a browser editor that is multiplayer and collaborative. And yeah, I, they've been doing a really, really good job. I think of just continuing to build insanely fast and releasing features and like really, really fast. Especially for like younger and newer junior devs, apparently like a lot of Audiences, folks who are graduating from like scratch and they want to run something and they don't want to set up their environment. And so they just throw it up on replit and off to the races. So yeah, interesting to hear that. Autocode is shutting down this party kit thing. I think I heard about this on a syntax FM episode, but I never went and played around with it. It looks really

Colin: think I first found it as a way of adding a Stripe like customer satisfaction type thing to the bottom of every docs page where you could technically do it with like a key value stored anywhere, but you still need that. Like you click the thing and then it updates the counter and it would actually update across to everyone who was on the docs at the same time. And kind of like giving an Instagram post, like a heart. Right, you can add that interaction and the cool thing is if you're on the docks when someone likes it, you see the little animation pop up and just a little bit of surprise and delight, but also just like, if you're reading a thing and you're like, Oh, I'm getting a lot of value out of this and then you see all these hearts pop like popping up, you might also be inclined to click it as well.

CJ: Yeah. This is all stuff too, that you can achieve with, uh,

Colin: Tell us more.

CJ: and rails. Yeah. Like we've been learning a ton about turbo. At craftwork and most of the team comes from a react background. And so they want to make the application like they have a lot of expectations around how the application can be built in a very front end, like single page appy way. And so there's features that we're adding that really. Would typically lend themselves more to a react based application. But we have made it really, really far with just hot wire and turbo streams and things like that. And so we have a lot of. A lot of pieces of the application now that will make a request as a turbo stream to the server, the turbo stream web components come back to the client, and then we'll update or replace or move certain things on the page instead of reloading the entire page and an example of that is as part of our messaging feature, if we receive a message from a customer, It will go and like live up, like live broadcast and update notification counters and things like that on anyone who's currently active. So yeah, like everything that you kind of like know and love from a Slack application or discord, right. Marking something as unread and telling you that it's unread through these turbo streams is pretty. Pretty sweet.

Colin: Across multiple clients. If you're on, if you have a desktop app, does Kraftwerk have or plan to have a desktop type? Or sorry,

CJ: We call it crap. We're

Colin: or I guess mobile rather.

CJ: yeah, we do have, so we have a react native app that is mobile, but we don't have any web sockets integrations yet with that. So it's, it's on our mind and we've got sort of the the cable. Action cable stuff working so we can broadcast Jason when things are updating and then use that. You can kind of like listen on any device for those broadcasts or any device that can run JavaScript. You can listen for those broadcasts on certain channels and then update the UI based on those. So yeah, we've got a few little hooks in place, but yeah, party kit maybe we need to build like. The turbo party kit. There's probably something like that. All right. I bet.

Colin: I think the, the advantage of party kit for like a static site generated site is there was no backend. Right. And so party kit is the backend. You are building your backend. And so I think you already have what you need. There might be some patterns and some cool, like if you look at their examples, you can be like, how would we build this? In rails with turbo, and I think that would be the equivalent, but you know, with a lot of people doing thing and on all these like static deployed sites and cloudflare and all that, oftentimes you don't want to, you know, mind doing some of this stuff. I think they're more intense stuff was the YJS, the like, we're going to both edit the same sentence and there's going to be a merge and a diff and who's going to win. Yeah. Those kinds of things are painful to do. So sometimes it's nice to just let Yjs or PartyKit or the integration between both handle that. So,

CJ: Got it. Okay. This makes a lot of sense.

Colin: I could also be getting some of this wrong, but that's, that's my interpretation of PartyKit.

CJ: okay. Yeah. It seems like you do have to have like for Yjs. It's expecting that you have some server. So maybe there's like a, a rails version where you implement the,

Colin: and then you have a Yjs front end. You can build your own Google sheets, Google docs.

CJ: Yes, which we've talked about, we've rebuilt so many things at craftwork. It's like, okay what, what's next? What are we going to do next? I think next is calendaring, which is funny because I know you've got some more updates about the calendar. One, one thing before we move on from party kit, I noticed that TL draw is one of their kind of like Late, like logos that they have is in terms of like, who's using party kit and TL draw. com is the site that had that really epic demo where you can put in your open AI key and then you can just tell it like generate a game that does blah, blah, blah. And then it'll just spit out a drawing.

Colin: I see. Yeah, I'm assuming I can share this project and then I bet both of our cursors would show up on TLDraw. So, you know, most apps, we kind of expect that these days. Figma is, I don't know if Figma is the one that really moved the needle on that, but it's the one that comes to mind the most. In terms of like everyone should just be able to join and see things party kit has a cool little demo that's just called cursor party And that's the thing that powers all the cursors on your screen I'm working on bringing that into discord just as an example app But it's unclear like what's going to happen with party kit as part of the acquisition So i'm waiting to see where that lands first So,

CJ: Got it. Got it. Very cool. Let's

Colin: What are you doing with calendars

CJ: yeah, so we're, we're just now starting to figure out like how to algorithmically schedule crews and painters onto projects. So as the crew continues to grow, like, I don't know, I can't remember how big, but let's just say. Once we get to 50 plus painters it becomes really challenging for a single person to keep in their head, like who's out sick, who's on PTO, who can hang drywall, who can, you know, who, who knows how to work the pressure washer, who knows how to handle asbestos, et cetera, et cetera. And then. matching that up with projects. So like maybe there's a project we want to send the A team and we want to make sure that they have like an epic experience with a very specific crew or painter or whatever. So we're trying to build out like these different features that you can attach to a like a painter or in, Even down to like leveling them, marking up their skills, having a bio avatars, like a bunch of statistics about them. And then on the other side, like, how do we figure out based on what we know about a project, what are going to be the skills that are required to execute on this project? Like from the estimate, can we tell. This is going to need a pressure washer, or this is going to need to have one of those tools that like vacuum cleans the popcorn ceilings off or something. And then based on that, try to algorithmically people to places. So gnarly calendar problem. But we'll see, it should be fun.

Colin: Nice.

CJ: What's going on with yeah, what's going on with the conference room booking stuff at the collective.

Colin: So I played around with trying to build some of this with open AI and just sitting down and just banging it out. And it's just, it's doable. The surface area is just immense. Like all the edge cases. And I don't want to solve for all of them because it's just for us. But then I have been tinkering, as I mentioned, like, do I build this so that I can just, like, put it out there as a SaaS type thing that's just, add your rooms, add your iPads to each room, and it goes, and there's no, it's not co working specific, you could use it in a yoga studio, a gym. I still, I think, want to do that because there's just like so many fun things in there, like, and like getting my hands on, like, it would mostly run itself, I think. I could drop the link in some co working groups that I'm in that they're always fighting over what software they use. There's enough gyms and yoga studios that I think would pick it up organically, but Four days from now is when ours stops working. So it's like, I have a lot of things going on and part of me is just wondering if we just pull the trigger on paying for it for another year, use it. I just checked it ends up being about 125 a month. And that's where it's like, it's, it's worth that obviously. So we'll probably just do that and it'll give us another year. And I need to not wait until 11 months from now to revisit it. Which I don't think I will, because I have a pretty good start of it. And it would just be like, it's a React native app that runs a React, checks the Google APIs. And this is an example of, we would only support the Google API. Like I'm not doing this for Microsoft calendars and

CJ: hmm.

Colin: else is out there. No, I don't even know what people are using anymore. But Yeah, so I think that's where we're at. We'll probably just pull the trigger on it, get it, get it set up again. I mean, it's still set up, so we'll just keep everything working and then we can add people to it. And yeah, they're, like I mentioned in our previous episode, they're really pushing this upsell of like having people book desks before they come in. And so it's really designed for this hybrid work environment type thing, which we're really not. So like the first screen you log into on the mobile app is book your desk for the day. We have to teach everybody, like go down here to the calendar, like the conference room page, and then book your room and all that. So we'll just do that. I think that decision made commit to it. And yeah, we'll see how it goes from there. We'll see if that whole like cow wind idea from last episode becomes the thing and bake it in there.

CJ: Yeah. Are there pretty good support for calendaring? UI packages for react native on iPad.

Colin: So I was just looking at turning all the calendars that Tailwind UI has into actual, like, they're beautiful, but they're static. And so you need to go in and create all the hooks for moving events around on the screen. For mobile, it would be more of a different UI of like, just tell us what day, we'll show you what's available. So it will be a little bit different on phones, but I think most people would book through the website. Maybe we make like a slack thing that lets you just like slash book. And we just launch us, launch a temporary screen that you use. And then it knows who you are based on your slack and all of that. But.

CJ: Cool. That'd be awesome. And I, yeah, there's, there's been a few things where recently we're moving off of services and that just creates a lot of pressure to get something completed and shipped and out the door. We're shutting down. One of our communication channels. And so that was like, we have to have like our new communication channel set up and running and like tested and everyone moved over by X day. And it was a good forcing function. It's like, okay, like we've got to hurry up and like, make sure this is live and working.

Colin: It makes sense when it's your

CJ: can be stressful.

Colin: but for the co working space It's like this needs to not take up more of my mental space

CJ: Yes, absolutely. Yep. Yep. Yep. A hundred

Colin: Which leads into just more of a recommendation and we can talk about this more in depth in the future But I was listening to a podcast where Where the guest was Cal Newport of like deep work and digital minimalism. And they have a new book out called slow productivity. And this is for anyone who feels like there's just a lot going on right now. Like if you feel like your day is dictated by Swiss cheese of meetings, pings, slacks and discords and text messages and social media a lot of really refreshing takes and we'll, we'll put a link to the podcast because it's like a really fast introduction to it. And more of an interview style. And then if you're on Spotify premium, it's free as an audio book there. I've, I've started listening to more books there and getting rid of my audible subscription. The subscription fatigue continues. But trying to consolidate that and the big, the kind of the overarching theme is they actually are rooted most of their stories and talking. They're not talking to, but referring to the stories of, of people who have made these huge accomplishments in their life, like Marie Curie Jane Austen, Benjamin Franklin. And it's like a lot of stuff's out there. Like you should have the same schedule as Ben Franklin. And it's just like uber productive schedule. His is this, alternate take where if you zoomed in on any one day of their lives, you might catch them just at a park. The next day, they're just on a walk and they're thinking about and observing and focusing on like this problem that they've focused on for years in their head, but they're taking vacations and they're living life. And then there's this intense season where they publish, right? Or they create this thing. So like day to day, there's not this hundred percent hustle culture and productivity. In fact, you have to take those breaks to let things just run in that background thread. So really refreshing. There's a lot of tactical things of like you work for a company and you might not be able to take off Fridays, but here's how you can kind of simulate like, like blocking, tackling your schedule. If you can't use like the base camp cycles thing of six weeks on and two weeks off, he's like, you could probably work hard for six weeks and then coast for two weeks and people will remember you for the six weeks and not the two weeks where you were slacking off. So a lot of really good tactical things if you're looking for like, okay, that sounds great. How do I do this? How do I take time off? So it hit me right where I, when I needed to hear it. So I was like, okay, let's go binge this.

CJ: Yeah, I know you shared it. I haven't listened to it yet, but I, I really want to get into it. Cause it also is like perfect timing for me. I was just telling Mike this week that like, I owe everyone something right now, like, you know, I, I've like promised things to everyone and it's a tough spot to be in. So thankfully he jumped in and helped a lot.

Colin: That's a big part of it, right? Sometimes we, we, we care a little too much and put it on ourselves. And so yeah, let's both finish, let's listen to that podcast at least, and we can chat about it more in depth in the future. And honestly, I would not be surprised if we could get Cal Newport to come talk to us too. So

CJ: Yeah. Be great.

Colin: he's doing the book tour right now. So

CJ: Yeah. Deep work was huge. So

Colin: you're struggling with it, definitely check it, out. I think the other thing you want to talk about, make it all.

CJ: Sure. I mean, this is, this goes back to the integration stuff a little bit, like make. com similar to Zapier. It's just like another version. I was working with a client who reached out for some. Questions about a Stripe integration they were building. And they built like this really sophisticated Stripe connect flow in make like entirely with like no code click and set up HTTP calls and built like this giant series of like 20 API calls to onboard like an indie person onto their platform. And so I was inspired to use it for some nurture campaigns that we're going to do. And We've been looking at it with the team just to set up like some simple triggers based on events that happen inside of the Kraftwerk backend, basically. And then some simple end points where you can fetch information about customers to know whether or not you should we should message them. And then you can build like some surprisingly sophisticated workflows directly and make one thing that I've like, that I like about Zapier that I haven't been able to figure out and make I'm sure it's possible is that is using timers, like, okay, you get this trigger, wait a day, check to see if you can send them a message, if so, send the message, and then start another timer that lasts however long. And it's kind of a pattern that I've noticed. At lots of different companies that I've worked at. And maybe this is like a potential startup somewhere. Someone can take the idea. The problem is there is some event that's happening or some major thing that's happening and you want to trigger. Automations that are time based that surround that event. So in our case, we're going to have a paint project. And two days before the project happens, we want to send an email. That's like, Hey, we're coming in two days, one hour before the start time on the first day, we want to send a, Hey, here's the crew that's coming. Here's a picture of the crew, whatever. During the event, every single day, we want to send like these daily updates. After the event, we want to send a request for reviews, very similar to in vacation rentals, where you have a booking that's coming up and you want to message the guest. And you'll say like, Hey guest, here's the wifi password. And here's the like lock code. And then after they check in, you want to say, Hey, how's it going? Do you need anything? And after they check out similarly, you want to say, Hey, can you send a. Send us a review or like, you know any feedback about your stay. So these like I don't know. I feel like there's, there's a platform probably where you can build just a series of events that happen around a start date and end date. And those can act as like a template that will fire off triggers that happen at all those different points.

Colin: Because the edge cases are what happens if we move it out a day. If we cancel, we don't want the other things to happen. Like if it's downstream, if someone isn't going to be home to let in the crew, so it needs to shift by hours, but then it can't be on a weekend. Like there's so many little things where it's like, actually, if my house is being painted on Friday and Monday, I probably do want the Saturday email. But if the job ends on Friday, Maybe all the emails go out on Friday or maybe it's still Saturday. And I see this with e commerce, less like subscriptions to like, I, I do a subscription box for food delivery. And like, I have to pick my meals on a certain day and sometimes I'm not going to be here on a Tuesday, so I have to. change it to a different day. And I can only imagine, I mean, that one's a little bit simpler cause we're not trying to coordinate people's, like you were mentioning all those calendars too. Like now do we even have the crew available to do those things? Yeah. I wonder if there is a service out there for that. Immediately I start thinking about, cause I think sidekick has this concept of like groups of tasks and so you could cancel the entire group. And you can schedule them too, but then you got to make sure you get your time zones, right? There's so many things that can go wrong and if you did everything relatively then it kind of works But time zones will still be there

CJ: Yeah, we are using sidekicks like scheduling for some stuff, like you can send a scheduled message. And we're using it for like debouncing a couple of things and I don't know, we've got like a couple of features in there, but yeah, maybe we should look into that. I like that idea of like, okay, as soon as a project is scheduled and locked in, then we just like schedule a template that has like series of. Jobs. And at any point you can just like cancel the whole group and then, or like update the entire group, basically just like delete them all and then generate them again or something.

Colin: Yeah.

CJ: yeah, that's a good idea. We built it basically from scratch using DJ celery, like the Django Cron job tool and a bunch of database calls at my VR. But

Colin: that's more of like a polling and should I send something? Should I send something? I really like the evented way of doing this, but then there's a lot that could go wrong too. So you almost have to event and then verify that this should still be sent before you send anything. Like, am I still valid?

CJ: Yeah, the way that we built it there was like, we built the polling, like the, we built the event, the eventing on top

Colin: Mm hmm.

CJ: So like we had a job that ran like every minute

Colin: Event emitter. Yeah.

CJ: would check. Yeah, exactly. It would check the database, like, and then based on the statuses of different things and the timelines of things, it would just fire events. Yep. And then those events were. Then everywhere else in the entire application, you can build it as like, just like a subscriber or consumer of all the events and say like, Oh, you know, this happened, let me go fire off these emails or Slack messages or whatever

Colin: Nice.

CJ: later on. Yeah.

Colin: Yeah. These are the things they don't teach in bootcamps.

CJ: Yes.

Colin: These are the things that only experience can can do. But I think these are like kind of fun questions for like more real world interview questions. I would think like, Hey, you need to send an email when a job is done. Like, what are the ways you could do it? What are the trade offs? I like that.

CJ: Yep. And then what happens? Yeah. What happens when it moves and yeah.

Colin: I think that's much better than like, you know, reverse this binary tree that you'll never do in this job ever.

CJ: right. Yeah. Yeah.

Colin: Proof to me that you've written, that you've written all the leak code problems and all that stuff.

CJ: Yeah. Speaking of leak code, you're learning game engines. What's going on with

Colin: Yeah. So for work, I'm trying to figure out, we have a good sense of which game engines are most popular. With game developers, but then you always have those, again, the long tail of game and, you know, just like APIs. And so I'm trying to decide how we're gonna do integration, like, tutorials, mostly. We're not, do we create like a starter for Unity, a starter for PlayCanvas? There's a lot of these HTML5 ones. Play canvas kaboom, things like that. So just looking to kind of make it easier for people to get started. We released the docs at GDC and then it's been fun to watch in discord. Like a lot of people just figuring it out and figuring out what they can do. And I'm going to be taking all of that and compiling it into the next series of tutorials of like, yeah, we forgot to tell you how to do this, even though it's just right there. Like it's in, it's in the SDK. People have figured it out, but we could do a tutorial around it. Yeah. I'm excited to do a bunch of video content around it. So part of that is learning Unity because Unity requires not only our SDK, but you also have to drop something into Unity to talk back and forth and almost actually event, you have to omit the events from discord into Unity, into your game and then catch them and then respond to them and vice versa. So we don't currently give you that. And I'm trying to think through like, what do we do in our Unity games that we can. Kind of open source. And then we want to talk, like, we're going to talk to unity too and say, Hey, dev rel over unity. Like, what do we want to do together so that they can maintain the unity piece? We can maintain the discord piece. So I don't have to become, again, it's this exact same problem with the API. It's like, we cannot be experts in all of these all the time. Maybe this is where some of our partners like we have some of our partner activities are built in play canvas Cocos there's there's there's a lot out there good dough It was cool at GDC to like go and see what people are using for all these different things, too But yeah, mostly just having fun with it. My first unity game is a cube that spins in 3d space That's it's all it does but it's a it's a start I think the goal is to like every person who joins Should get their own cube and we'll just see if we can get that to run. And then you run into the party kit problem of, now CJ's cube moves, how do we tell the other cubes that CJ has moved?

CJ: Mm Hmm.

Colin: turns out all these problems are the same at the end of the day.

CJ: Yep. Yep. Yeah. We're putting boxes. Usually we're putting boxes on the page, but you put a cube on

Colin: true, 3D boxes.

CJ: this is the future.

Colin: cameras, I mean that is the biggest difference, right? It's like you're like rendering cameras and then moving the camera versus moving the cube yeah, it's it's fun at the end of the day. We're getting to make some games. So I think that's gonna be fun

CJ: What a cool opportunity to, to just learn lots of different game engines. Like I, I assume you'll come away with just like if nothing else, like a hello world level understanding of all the different game engines and like how to, you know, from supporting people and answering questions and building tutorials and demos, like what a cool opportunity.

Colin: I won't steal Shae's thunder, but she's working on a really cool series as she's the other dev rel at discord Around gaming so that's all I'll say for now, but for the actual Like tutorials, I'm trying to decide like it feels like it falls under my job description. So I'm trying to figure out like Does it make sense for me as DevRel at Discord to be releasing like a little tutorial or video on each of these? Or do I go maybe stream on my own and, you know, in my own time and do the Colin learns all the game engines, you know, late night edition and do it off, off work time. So, yeah, maybe a little bit of both. We'll see.

CJ: Yep. Opportunity to strike a balance and and also, like, network and connect with other teams. That'll be cool.

Colin: Yeah. This is the how do you avoid burnout when you're chronically online?

CJ: yeah. Yeah. Exactly.

Colin: cool. Awesome.

CJ: Good episode. Let's wrap it there.

Colin: Sounds good. Where can people find notes for the show?

CJ: yeah. Head on over to buildandlearn. dev to check out the links and resources that we mentioned. And yeah, if you're feeling generous, why don't you head over to your podcast player of choice and drop in a five star review. And if you leave a review, let us know let us know how we're doing. Give us some feedback. We'd love to hear from you. And yeah, we are just over 40 episodes now, so we have been pretty consistent. It feels good.

Colin: 1 percent

CJ: yeah, I guess. And yeah, until next time

Colin: Alright, we'll see you next time.

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