{
  "$type": "site.standard.document",
  "canonicalUrl": "https://devtools.fm/episode/166",
  "description": "This week we're joined by Jamon Holmgren, the founder and CEO of Infinite Red. Infinite Red is a software consultancy that specializes in building React Native apps. We talk about his early days of coding, starting a consultancy, remote culture at Infinite Red, React Native, community and Chain React, and building his new game Into the Dawn.",
  "path": "/episode/166",
  "publishedAt": "2026-03-01T00:00:00.000Z",
  "site": "at://did:plc:tnliqml7jfchh6dltyi2senj/site.standard.publication/3mnv7bnfeyg2h",
  "tags": "infinite red, jamon holmgren, into the dawn, react native, react, javascript, programming, coding, developer tools, software development, web development, programming, coding, developer tools, software development, web development",
  "textContent": "{/ TAB: SHOW NOTES /}\n\nThis week we're joined by Jamon Holmgren, the founder and CEO of Infinite Red.\nInfinite Red is a software consultancy that specializes in building React Native apps.\nWe talk about his early days of coding, starting a consultancy, remote culture at Infinite Red, React Native, community and Chain React, and building his new game Into the Dawn.\n\n{/ LINKS /}\n\n- Personal Website\n- Twitter/X\n- GitHub\n- LinkedIn\n- Infinite Red\n- Into the Dawn on Steam\n\n{/ Paste show notes /}\n\n{/ TAB: SECTIONS /}\n\n[00:00:00] Intro\n[00:02:20] Early Coding and Game Making\n[00:11:21] Starting a Consultancy\n[00:16:25] Remote Culture at Infinite Red\n[00:27:05] React Native\n[00:35:35] Community and Chain React\n[00:41:14] Building Into the Dawn\n\n{/ TAB: TRANSCRIPT /}\n\njamon: we invite our competitors there and they invite us to their conferences. I have my competitors on my podcast all the time, and it's fine. The way that our community is, it really feels like. A rising tide lifts all boats. It's not just all us versus them.\n\n[00:00:22] Intro\n\nandrew: Hello, welcome to Dev Tools fm. This is a podcast about developer tools and the people who make 'em. I'm Andrew, and this is my co-host Justin.\n\njustin: helli,, everyone, we're really excited. Jamon Holmgren on, uh, sorry, uh, didn't quite pronounce it right, but, uh, you're\n\njam. You're the, uh. And CTO of Infinite Red. Um, and we're really excited to talk to you about that. But before we dive before we dive in, uh, would you like to. A little bit more about yourself?\n\njamon: Sure. Yeah. Well, well, thanks Justin and, and Andrew for having me on. Uh, really appreciate it. Um, yeah, I, uh, I grew up in the Pacific Northwest, still live here, um, southwest Washington state with my wife, uh, and three of my four kids, the, the other one has moved out.\n\nHe just turned 21. He's married himself and, and has his own kids. So I am a grandpa as well. Uh, she, she's one years old. Thank you. Uh, it's, it's, uh, it's, it came, came very quickly, more, more quickly than I expected, but, um, and I've coded since I was, you know, 12 years old and always loved coding. Um, and I've run a consultancy now, uh, two different ones, um, kind of back to back for 10 years each, so 20 years.\n\nAnd, um, I guess. Personal hobbies. Um, I play hockey. I'm a goalie, and I, I, you know, I, I play kind of a rec league here, which is fun. We just won the championship, um, a couple weeks, a few weeks ago. Uh, well, one of our many championships. We've been pretty successful and, um, and so that's a lot of fun. And my, my son also plays on that team and, uh, yeah, I don't know.\n\nUm, I'm making a game on the side as well and, and, uh, still enjoying, um, doing React native, which is kind of our main thing that we do at, at Infinite Red Consulting.\n\nandrew: Cool. So,\n\n[00:02:20] Early Coding and Game Making\n\nandrew: start with the games. 'cause it kind of is like your current point in your life,\n\nbookends on your program. So can 12 12 is So with programming. Like I'm, I'm a little bit i'm jealous. I tried high school\n\nin high school and never got anywhere.\n\nSo can you like us how you coding. Eventually leading to a software consultancy?\n\njamon: Yeah. Uh, you know, my dad, uh, got, he was a business owner, so he owned a excavation company. And he, he figured that he, you know, he's, he's much more of the type of person who would rather, uh, run an excavator than, than, you know, run QuickBooks, right? And so he thought, well. Rather than this mess of paper that I have in 1992 or whenever it was, um, why don't I go get one of these new like, personal computers out there and, and supposedly this will do everything for me.\n\nUh, turns out you still have to do a lot of work to, to make it work. But he got this 2 86, uh, it did not have any sort of programming on it other than it did have some like. Batch files. So when you started, uh, I don't know, you guys are probably a little younger than me, but there's, auto exec bat was kind of like, it would start when you started, your computer would run automatically.\n\nIt was just a script and it would, uh, it would show like a menu. And the menu had just like 1, 2, 3, 4, 5. And I remember one of them was like QuickBooks, or maybe it was even Quicken at the time, and really old. Version of that a, a word processor. And number five was games. And when you hit five and hit enter, I figured out, um, as I'm like poking around and, and trying to figure this thing out, um, it was just a five bat, which would then run and it would do CD back slash games, it would go into that.\n\nAnd then it would just do a DIR to like list it, you know, and Linux would be an ls. And then you could see all your games and you could run 'em. Um. So I was really intrigued by that little system there that like, and I don't know if I've even hardly talked about this part of the journey, um, but I was so intrigued by the fact that you could just have like a file and I could go in and edit it.\n\nI, I edited the menu. So really this is more like 11, I think when I was doing this, um, I figured out that you could edit the, uh, the batch files and I could change the menu. And so I added things. I added things to the menu that would pop up, you know, like, oh, uh. Various things. And I remember, I remember I added to that, that first menu I added Lucas, do not, this is my brother, my younger brother.\n\nDo not. I don't know, do not save over my stuff or whatever. Like I just wrote that in there. So he, he would, every time the computer would start up, he knew don't go and like, save over my stuff. Uh, that, that memory has been in there for a while. I, I haven't pulled that one out. Um, so I was really intrigued by that.\n\nBut of course, batch files are pretty limited what you can do. And I tried like poking around inside of, um, 'cause I, I figured out how to like edit. Somehow, I don't know what we had. We didn't have like Qba, but I could edit somehow and I went into an EXE file and I changed something and it was a game that was like a risk game and it just never ran again.\n\nLike we could never play that game again. It was just broken forever. And of course that was like, okay, you need to have a backup. How about some version control here? Don't just go change things. Um. And of course it was just garbage on the screen that I was looking. I was like, what if I just change one thing?\n\nWhat will happen? You know? Um, and so then my dad bought a 4 86 so he could run. That's right. He had QuickBooks or Quicken on the old one. He wanted to run QuickBooks and it wouldn't run on a 2 86, so he bought a 4 86 and this one came with Qba. And then I was like, okay, now I can like make my own programs.\n\njustin: It is, it is\n\nIt's, it's really fun hearing that story. Mm-hmm.\n\num. all there's all these like\n\ntalks about like local first software and malleable software and like all these things, like people are like, oh, I like, oh, I just like wanna edit my, my programs.\n\nuh, uh, it's funny that that's where we started. Yeah. It just used to be so simple. You just like pop up file change.\n\nworked and we're many years and many layers of complexity later.\n\nIt's like now hard again to like do these things. But, uh, it is fun to sort of connect it back to like. some of that nostalgia back.\n\njamon: Totally. Yeah. At least that's how I, I've always been, uh, I, I do remember in elementary school they had some Apple two Es. Uh, they had one, one Macintosh, you know, like a black and white screen one. And then they had, um, they had a Commodore 64 and they had a few other computers that I wish I knew today what they were, because I'm sure that they were.\n\nClassics, you know, uh, omegas or whatever. And, uh, but I do remember the Commodore 64 as well. And you could go in there and you had to type in your program. Like you couldn't just, you know. Run it from, there's no hard drive. Like you had to type it in or, or load it from, from a disc or a tape, I guess. I don't know.\n\nUm, so yeah, if you were typing something in from a book or something, then you could change it. You could make changes. And I, I think that that's a pretty common thing with people who learn to code young. They would usually have some random thing that they just wanna make one little change to. I know that like for some people it was like MySpace with the, with the CSS or what, what was the other one?\n\nOther than MySpace? There was. Neopets, um, you know, stuff like that. So these types of, uh, where you would, you would learn H-T-M-L-C-S-S just from, from wanting to tweak your profile or something. And then for other people it's like Minecraft. Um, mods or something along, along those lines. And, um, yeah, so for me, I, and I didn't, I didn't have the money to buy games, and I honestly, there wasn't a, like, I lived rurally, so like getting to a game store, getting to a computer store to buy a game was just sort of like, not really a thing for me.\n\nAnd so I thought, well, I can make my own games and plus. I want to, I want to like see what I can make. Um, and so I, I programmed probably, I, I estimate around 200 little games or apps or whatever over the course of my teenage years. Um, I was constantly spinning something else up. And uh, and one of my problems back then was just, I would be excited in the beginning, but then it turns out that building a game is hard work.\n\nAnd you get to a certain point and you're like, well, okay, uh, you know, this new game idea I have is gonna be better. And so then you jump over to that. There are, there are some benefits to kind of approaching it that way where, where I did get to kind of start fresh all the time and kind of refine my.\n\nHow I like to, rather than being stuck with some architecture that I'd have to like refactor everything to make, I could just start fresh and try a new pattern and try a new architecture, which was really actually, I, I usually look at it as a negative that I could never finish a game. But in a lot of ways it was good.\n\nIt was helpful for me to, to understand how to think about architecture and what were the impacts, when did I like bogged down? And then start over and can I, can I get through that part? Um. And, uh, yeah, it, you know, once, uh, once I, um, graduated from high school, uh, I had, I had worked for my dad in the summers, um, running equipment, you know, excavators, um, bulldozers, uh, things like that as a 17, 18-year-old kid.\n\nUm, and that was, that was fun. Uh, I enjoyed that it was. It was nice, but then my dad sold his business, um, became a full-time pastor and we moved to, uh, to Southwest Washington, not very far away from where we grew up in Oregon. And, um, and then I, uh, I did other construction, so I did, you know, framing and um, and worked for home builder, did home design, those types of things.\n\nAnd, uh, but all along I was building games, you know, I, I mostly did like. GameMaker when, you know, I, I got to a certain point, I graduated from Cub Basic to, to GameMaker. Um, and I always did 2D games, so, uh, but it is, it is pretty interesting to think about it as like bookends because, uh, yeah, I'm, I'm kind of back to my happy place now of, of making games and, uh, in this case, one game that I've been working on for now, working on two years, which would never have been a thing back then, but I've been able to.\n\nTo sustain it, hopefully all the way through.\n\njustin: With age brings patients\n\njamon: Yeah. Age and, uh, and treating my A DHD.\n\njustin: well. Heard that.\n\njamon: Mm-hmm.\n\n[00:11:21] Starting a Consultancy\n\njustin: So, uh, kind of kind of talking about this,\n\nthis, like pretty rich Um, you've you started your first, uh.\n\nlike pretty young too. You were 23 when\n\njamon: yeah, yeah. So tell us about that. Yeah, yeah. Uh, so I, I got married at 21. I was almost 22. Um, and then, uh, my wife had, uh, our son who is now 21, uh, when I was 23. And I was working for the home builder, uh, doing home design and stuff.\n\nAnd I just, you know. I enjoyed that company. In fact, our, our office is still in their building. I still am connected. Uh, my brother works there. Uh, and you know, I'm. I swing by their office all the time. So a really great company. But, uh, but I wanted to own my own business and it was more about owning my own business than it was like starting a consultancy or anything like that.\n\nI had been building little websites for a few years, uh, for various people. My church first, and then like kind of moving on to others. We just ask like, Hey, can you build a website? 'cause I don't know if you remember, but back in those days. Small businesses were sort of like, well, the Yellow Pages doesn't work anymore.\n\nLike, we gotta do something different. Um, and so they needed websites and they needed their maybe first really ugly website to be their second really ugly website that I made. And, uh, I, so I started doing a little bit of that. And then also, uh, my uncle had his own home design company, um, and was like, I've got more work than I can, than I can handle, so.\n\nI can, I can kind of like give you overflow work and stuff that I already knew how to do. So I did, I did 3D home design and websites when I first started. Uh, 'cause it was like, I can pay the bills while I'm kind of starting my, my web journey here. Um, but then 2007 and oh eight came and the housing crisis, just zero home design work.\n\nLike it was just gone overnight. It felt like. We finished up our last projects and my uncle like didn't really even have enough for himself, you know, not even, not even counting myself. So, um, so then it was just like, okay, well websites, you know, that's, that's all I've got. I didn't really kind of consider going and getting a job, um, because I was, I owned my business and I wanted to, I wanted to give that a go, and I'm kind of stubborn that way.\n\nAnd it was, uh, so, but it did start picking up like. The next couple years were tough for sure. Very tough. Um, really kind of. Like, we had two kids by then and, and my wife was amazing at, you know, being economical with things and, and I pushed really hard with my business and, and eventually got to the point where in 2009 I needed employees.\n\nAnd so I moved out of our spare bedroom, which was where I was, and, uh, and got that little office at the home builder, um, and started hiring. So that was, uh, I was doing PHP at the time. Um, did PHP. Actually for quite a while, uh, eventually switched to Rails and, um, and I was, uh, went from more websites. I still did websites for a long time, but it was a lot of web apps too, like building backend dashboards for, for different companies, manufacturers, you know, a lot of that stuff.\n\nAnd then it got, you know, it felt like we, I just got bigger and bigger projects. Um, built the company up to about 14 or 15 people, something like that. Including on a design team. Uh, and then 2015, I was just stressed because it was like just I'd been pushing for 10 years. You know, it'd just been like, just felt like I was pedaling really hard.\n\nUm, some, some years were better than others, but, uh, but I really needed a change. And that's when I ended up, uh, I had gotten into iOS development and I ended up meeting, I went to my first. Conference down in San Francisco and I met my future, uh, business partners, uh, Todd W and Gantt Leor, uh, as well as Ken Miller, who was an original founder.\n\nAnd we, uh, we hit it off and, uh, then Todd and I became friends and we started talking about. Um, the challenges that each of us had and then ended up, you know, long story short, this is a long story, but, uh, we ended up deciding that, hey, we should, we should look at seriously at merging our two companies.\n\nUm, he had about, I think around 10 people, but much more senior level. And then I had more junior level people that I had taught to code, uh, many of whom are still with me and, and have their own, you know, 10, 15 years of experience now. Um, but they were juniors back then, and. So then we did the merge and, um, it's been 10, 10 more years since then.\n\nandrew: Yeah, I can really see how like your early childhood experience has kind of led into that. Like, you like to\n\nprojects, like that's, that's consulting. You're doing a lot of one-off projects where you learn and go onto the next one. And with your dad owning his own business, it's\n\nfor you to go, wanna go, oh, I wanna do that too.\n\nAnd that those\n\njamon: Yeah.\n\n[00:16:25] Remote Culture at Infinite Red\n\nandrew: uh, infinite red is uh, what we should talk about next.\n\nWhat I know you for. Uh, you've got done a lot of really cool work. I've seen some of the apps, they look really nice. But one interesting thing is you guys were all remote before remote work was a thing essentially.\n\nUh,\n\nwe're we're, we're kind of ebbing away from those\n\njamon: Mm-hmm.\n\nandrew: but, uh, how do you look at like building and fostering remote teams like that, and how has the experience gone for you? I.\n\njamon: Yeah, no, that's a great question. Uh, my first company, we were not remote and I had that office and we, we moved around and kind of got bigger, you know, but within the same building, got bigger ones. And, uh, at the largest I had, you know, decent size for a 14 person company. Um, in fact, we were a little too big for the space and it was a.\n\nNice enough office for what we were doing, and I did really enjoy that. Like, that was, that was, those were some good times, even though they were stressful. And I worked long hours, um, when I met Todd and Gantt, well, Todd. At the time, lived in the San Francisco Bay area, now lives in, uh, he went back to his home state of Nevada, uh, and Gantt is from New Orleans.\n\nAnd so they were already remote because they had to be like everybody was in random. Mark Ricker, who's one of our principal software engineers, he's over, he was at the time over in North Carolina. Now he's in Utah. Just everybody was everywhere and there was no way we could do a merger if we had to decide on a city to live in.\n\nIt just didn't make sense. Um, and I had already been open to the idea of, of remote. I thought it was a cool idea. Uh, and uh, what I appreciated about Todd in particular was the intentional way he approached it. Todd's. Had multiple businesses, multiple consultancies. He's 10 years older. He has a lot of experience.\n\nUh, he really became a mentor to me in a lot of ways that I'd never had. He was, um, and so he, he really brought a, an intentionality to, um. To be in remote that I thought was great. And Todd's the type of person that when he comes into a real office, like a, like a, you know, an actual office, he's the person who will go around and say hi to everybody and good morning.\n\nYou know, most people like, kind of like just walk past each other and go to their desk. But he's the, he's the person that if you do that to him, like he's, he thinks you're being rude. Like, hey, say hi, you know? Uh, and so he does that online, you know, he's just constantly like checking in with people. He is, uh, he loves to, to.\n\nDo this thing we call kitchen table. Uh, long story why we call it, but it's basically a permanent zoom room that you can jump into and people are just hanging out in there and, and working together usually in. Silence together, but, you know, maybe a little bit of chitchat and, um, it's just about like, let's recreate as much of it as we can, but without having to uproot everybody from where they choose to live and, and go somewhere else.\n\nWe do only hire in the us which, uh, you know, there's, there's different schools of thought around asynchronous versus synchronous, uh, remote work. Um, what's worked for us is the synchronous remote work part. Uh. And you do have to be intentional. You have to work at it, and you have to accept the fact that it's not gonna be as good in some, some areas, but it's gonna be better than others.\n\nUh, and chief among them is that people can work, you know, live maybe by their, their family or, or wherever, maybe the climate they need or whatever. And you don't lose someone if they move from Denver to Connecticut, which one of our developers just did like, the only thing we notice is that. His internet got worse.\n\nUm, that's about it. Uh, and, and, and that's, that's kind of the, the, the brilliant part about it. Uh, but there's stuff I still miss about being in the office for sure. I mean, for sure.\n\njustin: Yeah, you, you have to,\n\nandrew: Go. ahead.\n\njustin: go ahead.\n\nandrew: Uh, yeah, just one little comment. Uh, I'm forced to go into work now in a hybrid structure, and it's, uh, it's like the worst of both worlds, but like those times when you are in the office next to the people you work with, there are those like little aha moments and like the communication is easier in some regards, but it's definitely a big old trade off.\n\njamon: it's a trade off. Yeah, it is. Uh, yeah, and, and we've kind of lamented to each other that, man, it would be so cool if we could be in the same office sometimes, but, um. We've made the most of it and we, we, we do things like, you know, I've got this sort of podcaster set up here, but most of our people do, even if they don't podcast, because we're on video calls all the time and we wanna sound good and we want the background to look decent.\n\nUm, we wanna do things like that, you know, no offense, uh, we, when we come in, like at, at the very first part of COVID, like everybody's like trying to come on Zoom and stuff, and they're like. You know, they like, they, they can't figure anything out. Like Zoom is just not, you know? And then as time went on, then, then that actually got a lot better because people started realizing this actually matters.\n\nI remember back in the day, and this doesn't happen nearly as often, but back in the day we would meet with people all the time who would be sitting around a conference table with one camera and you couldn't hear anybody and they came up with all kinds of things. To try to make that better, right? Like all these technologies, and it's like, no, just sit in, in one, one screen, one camera per person with headphones and a good mic.\n\nLike that's all you need and you're good. Uh, so yeah, we had to figure a lot of those things out. Yeah, \n\njustin: yeah, there's a lot of \n\nthere's a lot of challenges to. \n\nA remote culture, but I, I do think that like investing in \n\nbest thing in the quality is good. I like the \n\nidea. \n\nYeah. That was a thing that I saw a little bit \n\npandemic is like people \n\nof just like trying to, \n\npresence in some\n\njamon: yep.\n\njustin: Um. Yeah, it, it, it can\n\nIt can be hard, but\n\nI, I\n\nI, I think the hardest thing actually is running a hybrid\n\nsome people in the\n\noffice.\n\nremote and like to the people who are remote that happen in the office.\n\nThat's, that's tricky.\n\njamon: Yeah. I honestly, Andrew, when you, you mentioned that that was one of my thoughts is like, do you, do you feel like sometimes, um, people assume you'll know things because it was, you know, mentioned around the office or something like that? Or, or maybe your, maybe your setup is different. Where, where it's, it's been refined better than that.\n\nandrew: It's, it's such a big company that I don't\n\nall the benefits of like,\n\njamon: Uh.\n\nandrew: as a team. Like some\n\ninto the office and talk to nobody, which is\n\njamon: Yeah. Right,\n\nandrew: the purpose. It's like, I, I gotta drive two hours in the day and I got nothing out of this.\n\nthere's benefits. \n\njamon: yeah, yeah, yeah, for sure. Yeah. Yeah. I get that. Um, yeah, and, and we've even done, we've even done some things not to go, you know, too long on this, but I could do a whole podcast just on this stuff. But we've even done things like, like Slack, for example. Can be this massive fire hose of information.\n\nAnd so we have, uh, unfortunately I've had to sort of like be a little draconian in how I approach it. Uh, but like we have a Slack culture and it's very, very specific in how we interact because I don't want, nobody wants just a whole bunch of irrelevant information filling up their notifications. And so, um, as an example, we, we.\n\nVery conscientious about thread threading conversation. So you put like a title of what you want to talk about in your main, uh, channel, and then all the details in conversation happen in a thread, which means that when someone goes and looks at it, they can opt in. Like they can go in there and click on like get notified or just comment underneath it, and then they're like following it, right?\n\nUm, versus so if there's 50, if there's 50 messages back and forth about something, I see one. The very first one, and then I can opt in and go, like, read the 50 messages if I want. It's more like a, like clicking into a forum post rather than, um, a real time like stream of everything mixed. Like someone replies and you think it's about a different topic or something like that.\n\nWe'll even go back and update topics that someone posted a while ago rather than making a new one. Um, and there's other, other parts of this as well around how we kind of. Break up our channels where some channels are and some aren't. Which ones are required to be in, which ones you can just opt out of or mute.\n\nThose are all really things that we've put a lot of thought into. If you don't have that, then Slack just feels overwhelming, um, and it's just, you just can't keep up at all.\n\njustin: Uh, I, I went uh, I, I went to the\n\nwhich is a programming community here in, in Brooklyn, and they use this, uh, app called which is like an open source chat app. Um, and it, it. And it, it does everybody\n\neverything's And, always always, I always thought that that was a thing that like,\n\nhave done better like, give us, give us an that the default.\n\nMm. Uh, I still don't think don't think you can do that. Right.\n\nI know in Discord no Discord. You can have a thread.\n\nwill do that for you, but\n\njamon: Yeah, I think even Discord has some forum like thing that you can do as well. I don't remember. I think you have to be a community to do that. Um, I've bought, I've wanted this for years. Uh, I really, really wanted that because then if you, if you just make it that, like the first person who posts has to click create new post rather than. Reply, if you have reply and create new posts, that would just fix everything. 'cause then create new posts is always a new thing.\n\nAnd you could, yeah, you could choose maybe in a channel to just be like, this is just a freeform chat. And the other one is, no, this is more like high signal, low noise. Like let's make this, you know, very, very specific. We do things, oh man, yeah, I could go on forever. But we do things like. In some channels, they're almost like just agendas for the next meeting where you just put something in there and it'll have a prefix.\n\nSo it, for an owner's meeting, for example, we put om colon, whatever we're doing and whatever we wanna talk about. And you can still thread under that in chat if you want, but we just know that next time we're gonna talk about it and then we put a little check mark like underneath it when we're done. And it's great for just having like.\n\nFree flowing agenda that we, we can also look back through and see. See? Uh, so there's ways to use Slack really effectively, and I've been in Slack cultures where they haven't really had any framework over the top of Slack. And it's, it's pretty awful. And I see why people don't like Slack.\n\njustin: yeah. another part of remote\n\n[00:27:05] React Native\n\njamon: Culture Culture of remote culture.\n\nYep. um, let's transition over and talk about, um, well, react native, I guess is a important topic. So, um, infinite red, like you and the, the, the company as a whole, like pretty early adopters of React Native. Um, so.\n\nSo it changed a lot. Oh yeah. Yeah.\n\njustin: Uh, \n\njamon: Oh yeah. Yeah.\n\njustin: Uh, it's, it's\n\nit's, it's It's evolved quite a, mm-hmm.\n\ncurious, like what is your experience working with it today? How has that transition been? Like, what does it, what does it look like?\n\njamon: Yeah, yeah. React native really came, so I was doing native iOS development and people kept asking about Android and it's like, okay, well I don't really know how to do Android, but I'll, you know, let's figure it out. And so we would build, eventually we started building some Android apps, but it just felt like such a waste of time to, to build the same app twice.\n\nAnd we, I had built like a phone gap, which is like, you know, obviously precursor to Cordova and whatnot. Um. I just never could achieve the, the results that I wanted. It felt more like a web app than a, than a mobile app. Um, and when the merger happened, we were looking around trying to find something better.\n\nReact Native came out, um, it was announced in like March or February of, of 2015, and then we merged in October. So it was a good timing. And then September the, and, or sorry, the, yeah, the Android version came out. So you had both iOS and Android. Todd went and did a spike into it and really kind of, because he was really dubious, he was like, JavaScript, I don't know, you know, like, this is interpreted.\n\nI don't feel like this is gonna be the experience we want. He came back and said, guys, I think it's, it's pretty good. I think it, I think it'll be good. And so. We, we had two projects we were gonna start that were native and we went back to them and said, can we change technology on you? Uh, instead of doing it in native, can we use this new tech?\n\nAnd both of 'em said yes. So Gantt and, uh, another developer that we had at the time led those two teams, um, in parallel building the new apps in React Native. And this was like zero point 11, I think was our very first commit. Um. And, uh. They, they shared a lot of information. They were going back and forth on stuff and they, it ended up, uh, resulting in our starter kit, which we still have out there after nearly 10 years, which is Ignite.\n\nAnd, um, you can, you know, build a new React native app with our preferences over the years. So in those early days, like major stuff was missing. There were definitely a lot of bumps along the road. Uh, we had to, uh, a lot of times write. Native code to fix things we had to, uh, commit directly or, uh, contribute directly to React native itself.\n\nUm, and we kind of went from that to later. Um, and of course, the stuff on top of it changed because, you know, you start out with, um, I don't know, like, I don't think it was Redux. Redux. I think we did use Redux on those first two. Like it was pretty new though. And we, so we used that. We also. Uh, navigation wasn't figured out.\n\nIt was like a whole lot of stuff. And then over time then more and more libraries sort of became more standardized because we, we got like react navigation, which is what most people use. Um, there's also expo router now, uh, which is built on top of that. But uh, there's also things like the transition from modern JavaScript, which was new.\n\nES 2015 or ES six, all the way to TypeScript and the adoption there, which I was dubious about at first. And, and it took me a while to kind of come around to it. 'cause I was a Ruby Dev. I was a PHP dev, I was JavaScript. I'm like, I've been shipping software for many years and I haven't needed types. I don't know what the deal is here.\n\nUh, of course now. I like types, but back then it was, it just felt like it was a waste of time to me. And, uh, I came around. But, uh, it, it was interesting because my role within Infinite Red, during that time, I went from being like the lead, lead dev as well as doing sales and, and. Operations and finance and everything for my company to just operations at first.\n\nLike that was kind of my role. Um, running projects basically and doing sales with, uh, with Todd. So Todd and I would do sales together and then we would split up the projects once we got the projects and we would run them each. And then, um, but eventually, uh, Ken left, uh, one of the original founders and, um.\n\nUh, he had been the CTO, so I moved over to CTO, which was way, a way better fit for me. And, and I, you know, I wanted to be near the tech again 'cause I just felt like I was falling behind. And so got to lead the, the tech team. I eventually was doing sales myself and then Todd was leading operations. So there's a lot of e evolution in even just my job and my role there, uh, at Infinite Red.\n\nAnd now I don't do sales cans, doing sales. Um. We have a director level that has really stepped up and done a lot of stuff too. So my role has, uh, kind of narrowed even more. So, yeah, it's, it's been, it's been an interesting evolution of React Native itself. During that time, expos, you know, it was like a pretty early, but it felt like a demo toy, you know, like you just throw a demo up on Expo, but when you really wanna build it, then you build it in React native.\n\nAnd, uh, I would say up to probably 20 22, 20 23, something like that. When that, when, when that changed, now everybody's using expo uh, going forward, uh, it's, it's kind of there. It's very rare not to start an expo project. Um, although we tend to get the ones that aren't because those are the hard ones. But, uh, yeah, so that evolution has been big.\n\nAnd then, uh, you know, react itself. We went through the hooks transition, we went through, you know, all this stuff that's been kind of going, going on. Now we have the new React compiler, we have the new architecture and React native, which has unlocked a bunch of stuff. Um, and. To honestly my surprise, react native continues to grow in an like accelerate.\n\nUh, I've never been on a technology that's had an arc like this. It's, it's been pretty amazing.\n\nandrew: For all the, the conversation about like constantly changing frameworks in the JavaScript community reacts been around a long time. Like I hopped on it really early too, and like\n\nLike the at this point. That's why\n\nsolid technology. \n\nYeah. Yeah. It's, uh, as much as we complain about it and everybody complains about it, the reality is it's incredible and like. I guess it's like that, that, that saying that there's, there's, uh, technologies that everybody complains about and then there's technologies that nobody uses, and that's, that's pretty much, you know, at least React is the first, uh, we, we definitely keep an eye on it because we, it was 2020 ish.\n\nWe finally kind of got rid of our last, you know, other stuff that we were doing, and we just a hundred percent said we're all in on React native, which we're already doing 80 some percent. 90 some percent, uh, which felt a little bit scary, but, but it was the right call. Like just really, really focused on React native.\n\nIt's already what we're known for. Like why, why are we, why are we, why are not committing to this? Let's just go. And, um, but we keep a close eye on it. Like, but know, flutter comes out, or, or you know, any, any of these other frameworks, you know, Kotlin, multi-platform, any of these other options that are out there and they're interesting.\n\nUm. But so far it's been hard to find anything that has the developer experience, the productivity, the ability to ship a really good app. I mean, we know, 'cause we've done it. It's not necessarily always easy, but you can, you for sure can, you can always ship a good app with React native, no matter what it is.\n\nYou just have to spend the time and have the expertise. Um, and then, uh, now with ai, I think that that actually really locks it in because. All of the history and all of the React code that's out there. Open source means that it's pretty good at it and it can be very productive at it. Uh, we no longer just have to think about, about US human, uh, like how we, how we think about it.\n\nIt's also can the AI effectively do it,\n\n[00:35:35] Community and Chain React\n\nandrew: Speaking of humans, you've also done a lot of work at fostering community in the\n\nreact, mm-hmm.\n\nthe React Native Radio podcast. Uh, your Ignite Project and a few other React projects, as you said, you have the React Native newsletter\n\nhave a React Native conference. So\n\nyou guys have focused a lot on\n\njamon: Yeah.\n\nandrew: Uh, have you like viewed that as like an important part of all of this?\n\njamon: Yeah. So, like I said, that, you know, my, my business partners and I met at a conference and we were doing open source and we ended up collaborating on an open source like native iOS, um, uh, project called Red Potion. Um, and that was, that was literally us owners as programmers, collaborating, you know, open source.\n\nAnd I had never experienced anything like that. That was an kind of an unbelievable time where. I'm able to, because I, I was used to being surrounded by juniors, like trying to get a project done. And that's a very different thing than being collaborating with some really high level programmers who are amazing, like Gantt and Todd and Ken and Mark and, and all, all these guys that we were working with at the beginning.\n\nAnd, um. That feeling was like, it was amazing. And, uh, I remember, so I gave a talk at that conference, first talk, first tech conference I'd ever gone to. I was the first talk. And, uh, so I, but I remember like meeting someone and he came up to me and he is like, I, I didn't know that you created promotion, which was my, my library that I had made, um, before Apple stole my name.\n\nUh. And, and he said, I, I didn't, I didn't realize you made that. That was the thing that, that actually got me to this conference. 'cause I really loved that and I would've given up on Iowa development if, if it wasn't for your library. And I just, I, that was just the coolest thing ever to hear that. Uh, so that sort of.\n\nFeeling was, was, you know, just deep within us, it was in our DNA. And so when we started doing React native we're, it w it was never a question of were we going to o do open source? It was just like, how much can we put out there? Like let's, let's, let's roll. Like there's a lot that we can do here, so let's make like some good stuff.\n\nUm, and uh, and we've continued to do that 'cause we still, we still maintain Ignite and react Toron and, and a lot of the other stuff. Um. So, yeah, that was definitely a big part of it. The conference I had just wondered like, Hey, where's the React native conferences? I wanna send my people to them. Uh, there wasn't one at the time, and so we're like, maybe we should make one.\n\nAnd so Chain React was born and we've been, we've done it, I think, uh, now five times. Um, and we have another one coming up this year in July in Portland, Oregon. So, uh, definitely check that out. If you wanna rub elbows with like. Four or 500 React Native Expo, um, developers Expo is, uh, co-hosting it this year with us, which is awesome.\n\nSo they're gonna be there in force. Um, they're gonna have a whole bunch of people there as well as infinite red people. Um, it's always just a great time. I, I love the conference. It's. It loses money every year, but I don't care. It's awesome. Yeah. And then, yeah, newsletter has been great. Uh, just for, for keeping the community connected.\n\nOne thing I love about these things is that we invite our competitors there and, and they invite us to their conferences. I have my competitors on my podcast all the time, and it's fine. Like that's not the way that, the way that our community is, it really feels like. A rising tide lifts all boats. It's not just all us versus them.\n\nUm, and that's how we like to operate. Uh, just, you know, and, and it's worked out well so far for, for a decade.\n\njustin: Yeah, that's very\n\njamon: It's very admirable.\n\njustin: I think so I think it's probably a great way to work too. Mm-hmm.\n\nwell knows, and it's like great \n\nfor the You're obviously. Taste makers in the yeah, like it's very additive.\n\njamon: Yeah. Yeah. And we try to, we try to like, I appreciate that and, and what we try to do is essentially have, um, we know we're not gonna be out there just trying to like max every possible thing.\n\nWe're 30, 32 people, something like that right now, uh, we, we're not huge. We're not looking to grow huge. Um, we might add a few people in over the next year or two. We're, uh, by a few, I mean, just a handful. And we rarely, rarely lose people. So we wanna just kind of keep that feel. We don't have to catch every project.\n\nWe want to have the right projects. We wanna work on projects that we can be proud of, that we can feel like we're very, very good at. And so, but in order to, to find the right projects, we do have to be known in a lot of places and get in front of the right people. And one of the most effective ways has been to.\n\nBe everywhere. Just have the newsletter and not, you know, the conference and podcast and all these things. Um, it's, uh, it is a lot of work. Uh, we have some really amazing people that, that continue to work on all of these things and, um, and yeah, then just try to be out there and, and help people out. And once in a while a project will come along that fits and we can work on it.\n\nNow we're, we're pretty busy. Uh, we we're still like taking sales calls, but, but you know, people have to be willing to, um, be a little bit flexible about when we start usually better, sooner rather than better rather than later is better, uh, so that we can, we can really plan something out. But, um, but that's a good position to be in.\n\njustin: Yeah, it's a great place to great.\n\n[00:41:14] Building Into the Dawn\n\njustin: Uh, as we get wrapping up here, I kind of wanna pull this back full we started the conversation talking talking about.\n\nyou're doing games as a kid and how you got into programming. And I would. You're you're doing a game now?\n\nit earlier. Earlier. So you're building dawn the dawn? Yeah.\n\nHeller collar game in Go Dots, which is I guess is the name.\n\njamon: Yeah. I guess that's how it's pronounced. \n\njustin: Yeah.\n\nUh, I've like flip flopped on the pronunciation. Uh, so yeah. Uh, tell us about that.\n\nhas that journey been, um, and. You know, you mentioned AI earlier earlier when you were talking about React Yeah. In its context.\n\nis curious as like, has that\n\nyour gain how you think\n\njamon: like how you got that? So, yeah. Uh, when I was, when my dad had that 4 86, he had a game, actually I think it was on the 2 86. Um. It was called Gunship 2000 by Micro Pros, and it was just an absolutely incredibly designed game.\n\nAnd actually, about a month ago, I got a chance to have a phone call with the original game designer, uh, Jim Day, who is now retired. But that, that dude is awesome. Uh, so I, I. Talked on the phone with him for a couple hours about, about that game. Really, really, really cool, um, to, to be able to do that. But yeah, a couple years ago I was looking to, I needed, I knew I needed to get deep into the code again.\n\nI had sort of gone through a period of time where, I don't know, I just, I, it was really hard for me to really stick with any projects. It was hard for me to find something that I really enjoyed. And I, and I was, and I, for, since, since I was a teenager, I really wanted to, I really wanted to build a, a gunship style, like combat helicopter game.\n\nUm, and, uh, yeah, so about a year and a half, almost two years ago, I, I finally decided, yeah, I'm gonna, I'm gonna try this. My brother Denton. Uh, is a game dev and he had been using Gado. He'd been, he streams, uh, under dead slap if you ever wanna watch his streaming. But he, he makes these very creative games, really cool stuff.\n\nAnd, um, so he was telling me, and, and he is not like a professional. He is, he's a professional programmer, but he, he doesn't like, have the same arc that I have. He is, he sort of does like freelance little stuff here and there. He'll do random things. Um, and so he didn't really consider himself to be like.\n\nLike a, like a pro programmer, but he was telling me what it was all about. And um, one of my developers had also shown me did like a workshop on Unity. And I tried that out a little bit because I'd always thought like 3D game programming is super hard. And when I got into it and I started like using it, I was like, wait a second here.\n\nThis is all the same stuff. It just happens to be like another dimension and you use 3D models, so I don't have to like do pixel art, but. Honestly, this is pretty cool. Like a lot of the stuff that I already have in my brain, how I built games back in the Q basic days is the same stuff. It's the same stuff.\n\nAnd so that was cool. Um, I actually used AI to spin up basically the first version of it in 2024, or yeah, 2024. So I basically prompted my weight. In early, you know, like probably GPT-4, I would say. Um, I prompted 90 some percent of the code to actually get to the point where I could actually fly around in, you know, in a, in a 3D world.\n\nAnd, um, that was tremendously, um, motivating. Uh, and then over the next probably. Six months. I spent a lot of time like. Not full vibe coding, but using a lot of AI to build out systems and stuff. And then I got to basically a year ago, and I was having so much trouble, the, I didn't understand the, the code base and, and I'm doing this in the evenings.\n\nI'm doing this like in on the weekends. I'm just kind like hacking on it. My timeline at the time was like 10 years, you know, like, it's okay if this takes a long time. This is just a fun project. I will sell it, I'll put it on steam. But, and I, um, I just. It was like I couldn't make progress and I like stewed.\n\nI'd sit down and I'd stew and I'd try to like fix bugs and I'd do, and I finally was like, I'm freaking rewriting this thing and I'm doing it by hand. I'm redoing it by hand. And I spent six, almost six months rewriting everything. So basically the se the amount, amount of time I spent vibe coding it up, I ended up rewriting everything.\n\nWith that said, some of the things I actually ended up back where the AI was originally. Like I, I came back to those solutions, but I did it my way and I did it in a way that I totally understood it and I did it in a way that I explored the space and I learned GD script. Gado is amazing in a lot of ways, in some ways, and actually not, not non trivially, similar to React Native in how it works.\n\nUm. Because it has a core that is very, very fast. Um, the c plus plus core, uh, but then it also. Like Hermes, uh, on the React Native side will compile your GD script instead of TypeScript or JavaScript into Byte Code, Hermes Byte Code and gaos by Byte code. Um, and then it, it interprets it, but it's pretty fast at interpreting.\n\nSo. And Hermes is the same. So you can, you can approach like native speeds, not, not native speeds, but you can approach while still having some of the major benefits of having a dynamic language. Uh, that is by code. Because I mean, as an example, when I'm working and I hit Save it reloads on the fly and the next like time that methods hit, it just runs the new version.\n\nUm, I know that, I know that the other game engines have versions of this, but from what I, what, from what I understand and the bit that I've looked into it, they're not, they're not really on that same level. You still have compiled times, you still have a lot of, lot of stuff that you have to, and they're just more flaky.\n\nLike a lot of serious game devs don't even really use the hot reload stuff. Um, where with Gadot, it's actually just kind of like. An obvious part of, yeah, it works really well. Uh, I learned GD script. It doesn't have as good of a type system as type script. I wish it did, but it's, uh, it's, it's good enough for what I need to do.\n\nUm, and uh, and I've learned a lot of things around multiplayer 'cause it's co-op, multiplayer game. Um, I've learned a ton about performance. I brought a lot of that back to the React native side. Um. About a year ago, we started really focusing on, I mean, we'd always, we'd always, we'd always looked at performance, you know, as being very important.\n\nBut we looked at it. The thing that I didn't like about the way that we looked at it, and the thing that changed last year that I really love about what we're doing is that we started thinking in terms of frames, in terms of 60 frames a second now. We did before we thought about it, but we didn't fully think about it.\n\nIt was more like, what's our kind of average? Are we hitting that? Not like a drop frame is a problem, which is how I look at it as a game dev. A drop frame is a problem. I need to know. If it's 59, I don't want 59, I want above 60. I want it to always be at that level and if there's ever a situation where it's dropping below, I wanna fix it.\n\nAnd I think that our mentality before was like, we need to. Average around 60, but like it's okay for it to drop once in a while, which is more of kind of a web dev, uh, kind of mentality in some ways. Um. Not, not, not nothing against web devs. It's just more like, 'cause web devs actually bring, I think, a lot of stuff to react native, for example, that native devs don't even think about.\n\nThere's a lot of developer experience things and tooling and all this stuff, and even just having like a package manager and stuff that native devs didn't even think about. But, but one thing that native devs do really do, and, and obviously game developers, is that they do really bring the, the thought that like absolute buttery.\n\nPerfection, uh, performance is, is the goal. Um, and so brought that back from the game dev stuff. Now I am, I'm at a point after a year and a half plus that, um, I am, uh, I'm actually talking to a couple publishers, uh, game publishers, two that are very interested, um, and making a decision hopefully soon. Um, and, uh, um.\n\nI, I feel like I'm actually on track, even working on it part-time, uh, to have into the, into the dawn being, um, uh, you know, a pretty viable, maybe, maybe early. I'm not, no, no promises, but early access maybe in a year. Um, something like that. And, um, it's a lot of work, but I, you know, it's already at the point where it's fun.\n\nYou can already play with other people. There's already really cool things you can do with it. There's already been cool moments in our just like. Screwing around testing with it. Um, and I think that the, the flight model is really fun. It feels good. It feels like you, it feels, to me, it feels like, uh, some of my favorite helicopter games that I've ever played, like Battlefield, Vietnam, and, and, and others like that.\n\nMixed with some of the game design awesomeness of Gunship 2000 and Comanche and some of these old, old school dos games. Um, so yeah, I honestly, I could go on and on and on about this stuff, so I'll stop myself there. But it's definitely a passion. It does look like I'll be headed to, it's already on steam.\n\nYou can go wishlist it, just search for, into, into the dawn, you should see it. Um, so definitely wishlist it if you get a chance. Uh, even if you don't. Like combat helicopter games. That's fine. I appreciate the wishlist anyway. And um, and yeah, uh, really looking forward to hopefully having more people actually try my game and see all of the, literally now thousands of hours I've put into it.\n\nandrew: Yeah, it's, it's kind of amazing what AI can now like kind of kick us in the butt to do.\n\njamon: Yeah.\n\nandrew: the, the bar is lowered for effort in a lot of things. So like, just exploring these ideas and like trying to bring them to fruition is like, oh. I think I could do that in an hour. And then like, you have 90% of a game and two years later you're, you've lost thousands of hours.\n\njamon: Exactly.\n\nandrew: yeah.\n\njamon: It's a really good way to put it.\n\nandrew: story. Yeah. Well, uh, thanks for coming on the this was a really fun, fun conversation about your whole journey and your involvement in the React and React native community. I think it's super commendable to, like, you start as a 12-year-old guide, just like trying to make some games, and now here you are like,\n\nYears and years and years later doing the same thing. So, uh, really cool to see. Uh, and thanks for coming on.\n\njamon: I really appreciate it, Andrew and, and Justin. Great questions. Um, and appreciate you inviting me on to, to talk about this stuff. I. I, as you can see, I can nerd out about this stuff forever. Uh, and, uh, you know, hopefully, hopefully we'll get a chance to, to chat more in the future. Maybe at some point you'll, you'll be able to make it to chain React or something and, and we can see each other.\n\njustin: Yeah, that'd be awesome. yeah, yeah. Thanks again, Jamie. Mm-hmm. Your game looks awesome.\n\nlove, heloc, uh, helicopter, like flight simulator games, so to check it out.\n\njamon: Well hit me up. I'll send you a, an, an early build that will probably crash, but.\n\nYou can, you can, you can try it out.\n\njustin: Sounds great. Thanks. I.",
  "title": "Jamon Holmgren - Infinite Red, Into the Dawn"
}