# Building Apps Faster: How AI and React Native are Changing the Game – Charlie Cheever, Expo Channel: Sub Club by RevenueCat Video: https://www.youtube.com/watch?v=1AX89fxL5FU Duration: 1 hr 4 min Language: English Words: 14835 Transcript page: https://viewrankai.com/tools/youtube-transcript/1AX89fxL5FU --- [0:00] Hello, I'm your host David Bernard and with me today RevenueCat CEO Jacob Eiding. Our guest today is Charlie Cheever, the co-founder and CEO of Expo, the easiest way to create native apps and websites that run everywhere using React. On the podcast we talk with Charlie about why React Native has become the default for VC funded apps. How AI is accelerating development [0:25] cycles. And why speed of iteration matters more than programming language. Hey Charlie, thanks so much for joining us on the podcast. Hey, thanks for having me. It's awesome to be here. And Jacob, nice to have you on as well today. Excited to talk about I think one of the a dev tool I've been aware for a long time has also become suddenly super [0:46] super relevant in 2025. So yeah, Expo. Yeah, Charlie, so there's a lot of reasons I wanted to have you on the podcast, but the main one kind of Jacob alluded to. As CEO of Expo, you're seeing a lot of things happen these days with new people getting into to programming with React specifically becoming more and more popular, more and more used, kind of the the default for a lot of companies to build on. So I don't want to we just kick things off with kind of a high-level overview. I think a lot of folks listening won't be developers themselves, so they might not kind of understand what React Native is [1:23] and we can talk about that and then as well as like how Expo works with that. So yeah, tell us a little bit about React. Yeah, so React is this JavaScript framework that was invented gosh, you know, over a decade ago by a guy named Jordan Walke at Facebook to build complicated UIs in a way that you could reason about and generate consistently. The core idea is that it's sort of component-based, so like the way a human being would break down a product or a UI, it winds up pretty much with that. You know, you'd say like, "Oh, here's my pricing component and within that I have, you know, the dollars [1:54] component, the cents component" or something like that. But then the the real magic to it is that you represent state as sort of like you have this abstract state of the world and then the UI is always sort of being re-rendered to update to to represent whatever the current state of the world is. And so if you remember like older websites, a lot of times you would have, you know, you might click a button to say follow somebody and it would update correctly where you clicked, but then things sort of would look incorrect in other parts of the screen or there would just sort of be [2:27] these inconsistencies with that. And as a general rule when you use React, all of this stuff sort of magically falls into place because you know, this stuff happens. Actually, this sort of idea, I believe, sort of came from the way that video games have come to work. So if you think about like really old video games, like, you know, a snake is moving across [2:46] the screen on a really low-res monitor. And so the way that the snake moves is that you you draw one more pixel on the right for the head to move a little one step further and you erase one pixel on the far left for the tail to kind of shimmy forward. It's simple enough that you can actually just like manipulate pixels directly to kind of change things how you want them to be. But then if you imagine, you know, sort of a a modern video game or anything once you get into the era of 3D, it's kind of like think about like Call of Duty and like trying [3:13] to figure out what any given pixel on the screen is just crazy to to figure out how to do that. And so the way that the people end up doing it is basically having some sort of representation what's going on in the world and then a system that sort of figures out, "Okay, here's this 3D model and it's made up of all these triangles, so we're going to draw this here." And then, you know, everything gets sort of re-rendered every frame because of that. And so React is sort of that for UIs for applications. And so it's become by far the most popular way to build websites these days. And [3:43] there's still a lot of older code out there that's using like jQuery and Angular is still pretty big, but like almost everything new that's done by, you know, reasonable people is is done using React. Or run your cat.com, app.runyourcat.com, reasonable people. Yeah. All this AI development is even further accelerating that because there's sort of the most training data to train on and because it's sort of component-based system that's lines up with the way human beings reason about stuff. There's a bunch of reasons why LLMs are really good at at generating React code and things like that. But, what Expo is is basically like a way to [4:16] use React to write UI's that not only work on the web, but also work on iOS and Android and other surfaces and give you sort of actually native apps there. It's built on top of this technology from React Native that it's called React Native. It came out of Facebook Meta. But, you can kind of think of Expo as sort of like the equivalent of what Next.js is in the web world. If people don't know what that is, that's basically like this framework from Vercel that's become sort of the most popular way to build a new website using React. A lot of batteries are included, a lot of like nice [4:49] features are just sort of like already configured for you and set up properly. And a lot of problems are just solved and there's it just sort of become the standard. And so, there's a lot of other, you know, a lot of example code relies on it, things like that. What we provide with Expo is sort of a couple different things. One is we provide this sort of what we call the Expo SDK which has, you know, literally a hundred different APIs that let you have access to all the sensors on the device, you know, like the accelerometer, the gyroscope, things like that. But, then also handle, you know, basic tasks like, [5:18] you know, video and audio playback and recording and things that you want to do in an app like that, location services, things like that. And generally they'll give you access to, you know, they're sort of multiple implementations of these so and they're well tested and things like that. So, they work on iOS, they work on Android, and they work on the web. In the same way that like a standard library in, you know, Python or something like that includes a lot of the basic things you need to do or write a program that actually does something, you know, the Expo standard library is basically a sort of basic batteries [5:46] included way to get started. And then we have a bunch of tools that include Expo Go, which is an app in the App Store that will let you sort of get going editing a live real app on your actual device within seconds, which is which is a real differentiating factor. So, a lot of the new tools that are doing AI stuff with development like they end up using Expo as their way to deliver the stuff because you can you can download Expo Go on your phone, scan one of these QR codes that these actual tools are generating, and you can actually be sort of like vibe coding or live editing your [6:15] app on the fly. And then we also provide a suite of cloud services that is sort of how we make money. Like we run a a build service that runs Xcode in the cloud and Android Studio in the cloud. We run sort of a an update service, which is kind of the analog of web hosting. We also do web hosting and a few other things. One of the beauties of React or working in React on web or on React Native is like live updating, which is not something for mobile that we had without React Native. It's like you would build, you'd modify your Objective-C or Swift or whatever, you'd [6:44] have to re- compile the whole app, you'd have to deploy it to the simulator or to the device. And it's like if you have a small app, maybe it's 30 seconds. Sometimes But if you have a big app, that could be minutes. The cycle of using, you know, well, React Native and then Expo Go allows you to have this like insanely tight build and change and view cycle that was even though React Native, I think especially in the early days was like somewhat difficult to work with or had it wasn't as batteries loaded as as you've made it now with with all the Expo stuff. If you could [7:13] get that to work, it was just crazy how fast you could iterate. I mean, I think that was like a huge I don't know how much credit Expo gets for like making React Native a thing, but I think that made that made the developer experience really viable and and actually like in a lot of ways better than the native [7:28] development experience on on mobile. Yeah, that iteration speed is a huge reason why people have kind of moved in this direction. Like I think a lot of the customers that we have now, a lot of them have actually had working like iOS, you know, written in Swift, written in Objective C apps, and working Android apps that are written in Java or Kotlin, and they just have found it's too much work to maintain these. If you add we wanted new features, we we can't move fast enough on either platform, much less both at the same time. It's really hard to hire for these sort of specialized positions. We're at risk all [8:01] the time before sort of one Android person leaves, what are we going to do? And so, a huge deal for a lot of these companies is basically like we can move faster than we could on either platform by itself, but now we're able to write one React code base. There's way more React developers in the world than there are basically any native platform like, you know, Swift developers or Kotlin developers. Yeah, it just just because of the it's the default on the web, right? Like creates just more Right. And so, you can you can take your the same pool of people you'd be hiring your website team from and put them all on [8:30] the you know, sort of application team, and they can work on all products all at once. And that's a really big deal for a lot of people. But then even on top of that, you're still moving faster because you're getting instead of having to recompile every time you make a change, you're you're usually getting the same benefits that you would uh basically work on a website. Like a lot of the way to think about what Expo does is sort of takes the things that are good about doing web development and bring them into the world of native mobile. Did you guys ever get guff from Apple for like [8:56] pulling down sort of like live code? Cuz they used they used to have like stupid rules about this, and they I think they relaxed them. They've really changed the rules over time. Like they used to be really strict and say like, you know, you can't download any code, but then like people would just use web views, and then of course, the way that the web works is it downloads much of code like JavaScript and CSS and stuff. And then also like big companies were just doing it, and so it was sort of a don't ask, don't tell policy or whatever. But then they they kind of realized that it was [9:23] just stupid to prevent that. They changed a lot of the rules over the last couple of years. So, now it basically says, you know, don't like trick people or mislead people, but if you and you can download code and you can run it. It has to be sort of interpreted code, not compiled binary code, which is fine. And like the way that that Expo works is you you download JavaScript or JavaScript bytecode, and then it gets interpreted on the device. Kind of the way that like your web browser on your computer might download JavaScript for a website and and run stuff. And so, we never had too much trouble with that [9:54] because as we were kind of starting to get popular, Apple was in the process of kind of pulling back a little bit from being super duper strict about those rules. Five years earlier, you would have probably had a hard time, but they were Yeah. Possibly. But, they've also there there's maybe literally like one or two cases where something that was like a fintech app or something like that, they sort of said, "Hey, we don't want you downloading anything. We see network requests for things that look like they change the UI of this." It's been a while since you've heard of anything like that, but maybe you know, [10:21] back in the early days, we heard of one or two things like that. But, that that's pretty common that like Apple and Google, but especially Apple, are are often pretty They like to just kind of like poke at things and sort of come up with reasons to reject apps every once in a while just to remind you who's in charge, and make sure that they're like Well, I mean, it it literally in a way does circumvent app review, right? Like, you can blow away an entire app. But, The way they've changed the rules is not to sort of say you can do whatever you want. It's just to say it's to be more [10:48] product focused in the way that they describe it, where like if you were to say if you were to use this downloading new code technology to take, you know, an app that was for buying groceries and turn it into some, you know, like OnlyFans type thing, like then they would say, "Hey, you can't just like change this under people's feed. This isn't what they signed up for. You're tricking people. We're going to ban you for that." But, it's less about the mechanism they're using to do it, and it's more just like the fact that you're you're tricking users and pulling the rug out from under them. Is it von [11:15] Neumann? Who's the one that says code and data are the same thing? You know what I mean? Like, it's really hard to like differentiate, cuz you could send JSON down that your your app functionally interprets to like do things, right? So, it's like it's really difficult to say what's code and what's not. That's the way a lot of modern apps that like don't use Java like things like Yelp that are older apps that are written in, you know, Objective-C, Swift, or whatever. They're are doing exactly what you're describing, where they're downloading lots of chunks of JSON to deliver custom UI. They're sort of like edging their way into building [11:44] sort of a half-baked dynamic interpreter of UIs. Basically React rendering a scene graph or I don't know what the what it's called in in React land, but there's a kind of moderately famous like old CS quote that's sort of like any sufficiently complicated, you know, system in C++ contains a half-working, you know, inefficient [12:05] version of Lisp or something like that. And it's kind of the same thing that you're describing. Well, one of the things that I did want to kind of talk through is that the combination of React Native and Expo, especially, have kind of become a new default. And you you quoted in our our state of subscription apps report that the Pragmatic Engineer reported that almost all new VC-funded startups are using React Native versus building native. And huge apps, Spotify, Discord, NFL, you know, tons of the biggest apps that people interact with on a daily basis are built in React Native. The movie kind of already touched on it, speed of execution, being [12:43] able to, you know, change things remotely. But do you think building apps with native code is less important in 2025? And why? There's a couple things going on. One is just there's a general improvement in the technology. You see this happen all over the place where like writing stuff in client-side JavaScript didn't make sense in like 2004 cuz it just all the features you needed weren't there and the performance of JS VMs wasn't there, etc. etc. And [13:09] then things just get faster and better. That's one part of what's happening here, where there's a lot of stuff that's happened in the space. Like some of it's like pretty low-level. Meta is responsible for like two of these things, and it's great to have sort of a deep-pocketed company behind a lot of this that like [13:26] relies on it for a lot of poor things. And so two really important things that have happened in the ecosystem are this new JS VM called Hermes, which is actually like I don't know if you want me to go too much in the weeds here, but basically like there's um you know, the the most famous JS VM these days is is like the one that Google made for Chrome called V8. And that's a really great JS VM or it you know, really moved the web forward. It moved JS forward. It's a a jitting VM and so it like does just-in-time compilation of your code and so like you know, as your code is [13:57] running for the first couple times, it'll sort of track the hot paths and sort of compile those on the fly and they'll run faster. But in UIs you actually don't really want that a lot of times because you're not doing lots of like complicated computations of or mathy type things. You're just like trying to like run through stuff once and put stuff on the screen. And so you actually want to op and like a lot of times when you think about what you want in UIs, you want it to be like that first interaction comes as quickly as possible rather than like you start running faster and faster as [14:29] your code runs over time. It's really good at passing some certain benchmark, but not actually what matters for scene graph rendering. Because of Apple's restrictions on sort of native code execution, you can't really run a jit on an interpreter. That was going to be what I asked like what the status on that was cuz I didn't think you you famously like Apple wouldn't allow this for uh sensibly but [14:49] probably legitimately security reasons. Yeah, I think that's it's like not crazy that they they restrict stuff in this way. So Hermes is designed to not jit for performance reasons in a interesting way. And it's really designed for this use case in particular and a few others. And it also you know, it uses a bytecode format. So like instead of just sending down you know, strings of text that are human-readable, it sort of pre-compiles into sort of more intermediate format and gets sent that down. That saves some time. That just boosted performance especially on low-end Android, but [15:17] across the board Hermes is a big step. And there's also something called the new architecture of Native that like, you know, it's been talked about for years and finally in the last year it's now rolled out and sort of the default of new Expo apps and new React Native apps is to use this new architecture. It allows a lot more control over low-level stuff that you actually want to really optimize the performance of things like lists are really important to UIs on mobile. Like almost every app that you use involves like scrolling through lots of lists. You know, think about Instagram, think about [15:48] any messenger you use. UI list view, I think famously was like the singular most important component of Cocoa originally cuz it was just super optimized and so fast and what made the original iPhone feel so good. And so one thing that this new architecture enables is just like you can write much faster lists because you can sort of synchronously measure elements and react to those changes without having to go through lots of re-rendering steps. I'm like glossing over a lot of stuff there, but basically this new architecture is a a big step forward in terms of performance possibilities and a few other things. The other thing that's [16:19] happened is you sort of the way you pose this question was like, is it less important to write native code on mobile? But actually one thing that we spent a while doing at Expo was making it a lot easier to write native code as part of a React Native app. And so like part of the sort of dream of React Native was always that you're actually interweaving stuff that's like native code with stuff that's like [16:44] orchestrated by JavaScript. writing React for web, how you can interleave like HTML basically, right? Like style within your JavaScript, you know? Like you can kind of like seamlessly like write components out and then switch back and forth. It's kind of like that. And um and React Native like when you generate like a UI a view or uh you know, a list view or a scroll view, one of the things that's really appealing about React Native is it's actually generating like the operating system components. So like a view in React Native on iOS will generate a UI view from UI Kit and on Android you and so like the actual [17:15] elements that you're interacting with should feel exactly right to the operating system you're on. But then if you do need to write some sort of specialized native code to do some sort of fluid simulation or some really custom video player or something like that or some view that pops up a native share dialogue or native payments dialogue or something like that, you can easily drop down into native code and write that stuff. A big thing that we worked on at Expo is we This gets a little bit This gets a little bit but it's actually pretty important. We developed this thing that we call config [17:44] plugins and CNG. And the sort of way that you would do native code in React Native projects before that was kind of the same way that you might have like dealt with like PHP extensions back in the day or like weaving together C++ code with like a scripting language where you're doing a lot of like compiling stuff yourself, figuring out which things you need to download and which dependencies you need to download and like how to put them all [18:08] in the in the right place. And then like if you were making in my my my shoes trying to make a React Native SDK that somebody else could then go use that was based on native code, it was rough. Really really rough to do. And so like all a lot of these projects would have, you know, you go to the GitHub for it and the read me is sort of like a four or five page long thing with like here's all the steps you need to do on Android, here's all the steps you need to do on iOS. And then if you're bringing in the RevenueCat module and a special video [18:34] player module and a camera module, a lot of times those things would actually the instructions whatever you're editing various config files and whatnot and they might step on each other's toes. Like hey, in this app delegate add this add these lines and then you're like, well, those lines that doesn't look the way I it says it's going to look because [18:49] I added this other module or whatever. And so what config plugins are are basically sort of in your module you can add sort of a set of instructions or scripts that basically like tell the native code how to install itself in a generalized way. And then what CNG is is continuous native generation. And so in a typical like old school React Native project, you'd have like your JavaScript source directory that that has like your React code. And then you have like an Android directory and iOS directory where sort of like the special native code for Android and iOS would live. And in a sort of Expo project using CNG, [19:23] you don't have the Android and the iOS directory typically living in your project cuz they get generated every time that you make a change to the set of config plugins you use. They're almost like at machine code now, right? Like they're kind of like halfway between. When you NPM install some package, it like figures out what needs to get downloaded and kind of moves those files into the right directory and kind of makes it so that you can just sort of require that in your or import it in your project and it just kind of work. And you can kind of think of it as the same thing where you can just kind [19:51] of one command to install a new, you know, React Native purchases or some other package and then all of the setup just gets taken care of. And if you upgrade to a new version of React Native or new native stuff, all that stuff it just sort of happens seamlessly. It's gotten way, way easier to actually use native code. And so even for people that like think native code is really important, it's gotten much more sensible to use React Native than it was in the past because it's a lot easier to access the native layers of stuff. The way a lot of people probably look at it is like if [20:19] you think about what's going on in the world of AI, obviously performance is super important in you know, doing all this machine learning type stuff, etc. etc. But a lot of the code that people who, you know, work on optimizing these models at OpenAI or or playing around with these things, they're running a lot of Python because some things need to be really, really fast, but a lot of stuff doesn't need to be really, really fast. You're just sort of saying, "Go do this task that has to be really, really fast." And you're sort of orchestrating things. And so you see this happening in a lot of systems. And [20:46] so that's that's one big factor. Another factor is like, you know, a couple of years ago engineers were sort of considered assets to tech companies. And so people were trying to hire, you know, "If I can hire 100 people, I'm worth $100 million or something." is is a blog post I read. And like people are not thinking that way anymore. A lot of the companies that we talked to that are using Expo, they they even had like working iOS apps that were well reviewed, perfectly fine, and you know, good Android apps that were also in sync with that and perfectly functional, but they were just finding it was really [21:16] hard to move forward quickly, really hard to keep those things in sync, really hard to hire for these positions, and also they just like they were really at risk if they were to lose their one Android developer or their one iOS developer, and they just be stuck and unable to like keep their their product going. And so, Creates some really awkward choices, too, when you're like, "Oh, we want to experiment with something." But then you kind of are forced to not do parity. You have to do it on one platform and then backport it, and then that backport never happens because like you're busy and yeah. And [21:42] now your all of your documentation to your users and your customer service team is getting confused and has to ask more questions. There's just all kinds of things that are, you know, bad news about going in that path. In general, like there used to be this idea that like, you know, your Android users have fundamentally different expectations than iOS users, and the web is its own beast. And so, like if you go rewind time back to say like, you know, 2011, and like Dropbox and Slack were two pretty good examples of this where they had totally separate design teams working on their Android and iOS products. And so, if you like switch [22:15] from an Android phone to an iOS phone or vice versa, and you're using Dropbox or using Slack, you'd just be like, "I don't know where anything is. What the heck is this?" Because it's just like a totally different product. And now things have really gone pretty far in the other direction where Conversion evolution, right? Like it turns out that there's only a so many ways to like make a decent mobile app. want basically the [22:36] same product on iOS and Android and web. And if so, like when I use the United Airlines app on my phone, whether it's on iPhone or my Android phone or the mobile website or the website, it's basically the same product, same design language. Things are all in basically the same places. I don't think United [22:50] Airlines actually uses React Native. They might, but I'm I don't believe it. I just think like the general thinking around product is moving in that direction. But then once your thinking around product moves in that direction, you're like, "Why doesn't our implementation match the way that we're actually building product? Oh, I see what you're saying. So the actual the actual conformity comes first. Like that we should just have things be identical. And then from then it follows like why do we have these [23:10] like separate tool chains, right? Yeah. And then another thing that's kind of come online is we did a lot of work to make Expo work on web as well as iOS and Android. So a lot of the people now that use Expo actually going to have one team across iOS and Android and web. And so it's not just a mobile only thing. So one of the most prominent exciting Expo apps is Blue Sky, which is like feels really good. And like I find it basically as good as an app. Missing a few, you know, advanced video features and stuff, but otherwise like pretty comparable to Twitter and all those [23:44] feels great. But they had their sort of thing they'll say is like one man, three platforms, four months was how they built their the first version of it because they weren't even planning to build an app. It's a complicated sort of origin story, but you know, when Jack Dorsey was sort of thinking about how social media needed to evolve and how it could be federated, he sort of allocated some funding for a federated kind of protocol. But they were really just imagining they would make a protocol for [24:10] how to federate something like Twitter. And that Twitter would be the first client of this protocol. And then, you know, you almost got Twitter just sort of like, why do I need this, you know, I'm trying to cut everything and make this a lean and mean machine. I don't need to deal with this. But they had incorporated as a separate company and sort of the funding was sort of already earmarked for it. So they were able to keep going, but they, you know, they were looking around and they're like, we have like a 10-person team and we have no developers who are iOS developers or Android developers. And we're on a kind [24:38] of tight time on here. We need And we realized like our only way forward is to actually make an app to be the flagship version of our, you know, federated protocol. And so they just had Paul on their team didn't even have React experience. And he just learned on the fly and he was he just a really sharp guy with pretty good taste and was able to make something pretty good out of the gate. And they've still only have about three people working on the app and it works across all the different platforms. And so it's one they have one code base for their web. That's like [25:05] extreme React UI, right? Like to be able to scale. That's crazy. One thing I we talking about the Facebook investments. Who is doing most of the work on that last translation layer now from like your scene graph to rendering in native UIs and stuff? Is Facebook still developing a lot of that? Is it handled by the community? Cuz I imagine a lot of what makes React Native plus Expo work really well is kind of that like last mile translating it to the platform. Well, a lot of that kind of doesn't need as much like change as you might think. One reason it works pretty well in a lot of ways is that there's [25:40] it's not a super heavy layer. I'm glossing over a bit here, but like if you make a view in React Native like, you know, you know, you use angle brackets and you write view, you're writing some React code. When that targets web, that's just going to turn into a div. There isn't some sort of like crazy like giant transformation. You can kind of reason about how it's going to end up running. And when you have that view and it goes on iOS, it's going to end up with just like a UI view from UI Kit. And like there's a little bit of wrapping and other kinds of things that [26:12] go on there. And like basically like a lot of what we think of as apps is just sort of like rectangles and sort of coloring and styling and text and then some images and things like that. And so there is work to do. Like we released something not that long ago called Expo image, which you know, a lot of people are using things like SD web image and fast image and certain like things that will handle caching and different formats and things like that. And uh we kind of like some of those weren't that well maintained and so we just sort of decided this is something we should [26:39] build ourselves and pull it to the SDK and sort of standardize and whatnot. So we do a lot of that. There's also a lot of the innovation that's happening right now that's pretty good for the space is, you know, expectations of what we expect from products have gone up a lot. This is true on the web, kind of double true on mobile, but if you think back to like, you know, a web 15 years ago or something, what you'd expect from a website is you wouldn't expect any kind of like 3D graphics or, you know, interesting transitions or whatever, but now you even go to like some random [27:08] product page for something and a lot of times you'll scroll down and some sort of crazy 3D animation will happen as you scroll or something like that. And a lot of this is like WebGL and just like things for doing that on the web have advanced a lot. And so, if you want to add a lot of really nice touches to uh sort of React Native app or something like that, there's some really good libraries out there like React Native Skia, which adds the sort of Skia 2D graphics engine. And then there's, you know, at this conference I'm at today, there was just some announcements around React Native [27:38] WebGPU and having access to that. And then there's something called Reanimated, made by a a firm in Poland called Software Mansion. They also have something called React Native Gesture Handler that like like these powerful libraries that let you get all these gestures and animations to be really right, but also be like things that you can write in just JavaScript instead of having to go write a bunch of custom native code to make something like look and feel really cool. Now getting back into the multi-platform problem, right? Where you [28:03] have to like do some like native stuff. It sounds like stuff's really accelerating. I I think there was a I don't know when this was, but there was a moment, maybe it was 5 years ago, when like Facebook kind of dropped React Native and there was like a lot of flood about maybe React Native's over, but it [28:17] seems like that that's the opposite. Now, is that was that always just a fake news or what was the story? There were a couple things that were challenging. The most damaging thing that probably ever happened in the history of React Native is the Airbnb was kind of an early user of it and they, you know, they had a couple of guys there that were really good developers and and you know, contributed a lot and they they'd go around at a lot of conferences and talk about their work. For a bunch of like complicated reasons, the engineering team at Airbnb just decided like it doesn't make sense to kind of maintain [28:47] our sort of native stuff and our React Native stuff and we decided that like the native people kind of win. And so like we're going to just stop doing this. And they were never a fully React Native app though. They had like React Native components. No, they were using it for like you know 20% of the app or something like that but they were [29:04] just they were pretty vocal about it. Which is less you get less benefit then right? Like if you have like a native and It's somewhat complicated to kind of have a really mixed brown field type approach like it's more complicated than having a website that was using jQuery and then is using React for one of the screens. Because in a website you're using JavaScript everywhere and so if you have some data that's pulled down by a jQuery Ajax call and then you want to use it inside of a React component or reuse some of the same state you can just pass those variables back and forth or refer [29:35] to them. And this is just like one example just to illustrate the point. But like let's say that you had you know a screen on Airbnb's app that's written in Swift and then you know another part of that screen is written in React Native. And then it's relying on you know some profile for a house listing and that house listing has some data and has like a you know URL of a photo or something like that. And you pull down that data in Swift and it's now in like Swift variables and then all of a sudden you're like React Native wants to access to the same [30:06] photo to make sure it's the right thing or it wants to you know do highlight something and like that data isn't available in JavaScript you have to kind of create some sort of way to you know marshal things across some bridge and what not. Bridge and then now you at a minimum you're probably duplicating your memory consumption right? And it just gets like there's different ways you can handle it but it's it's sort of like you now have it's almost like you have this like three things to worry about like your native your native world your JavaScript world and then the way to move between them. And so now like a lot of things [30:35] that are I think that's something I really want to work on is making that sort of incremental transition easier. But in the world where we are now definitely the things that are having the most success that we see are things that kind of start from the beginning as React Native apps. They might use a lot of native code, but it's usually in this way where it's like, "Oh, we're going to do some really specific stuff, like have a custom video player, but it's going to be a React Native module and that can just sort of plug in and we can drop down to native code wherever we need to, [31:00] but the whole system is kind of being orchestrated and controlled by by React Native." Another thing that you know, when I was talking about the transition to this being pretty standard is a thing that we spent a lot of time on was Evan Bacon on our team, who was amazing, spearheaded this work on something called Expo Router, which is pretty common in the world of React or websites to have a sort of router thing that will handle, you know, just a mapping out like the architecture of like all the tabs in your screen or like what URLs map to and what what not. It's a much more complicated pro- problem on [31:32] this sort of multi-platform mobile type thing because if you think about like this is probably something that like anybody can kind of understand if they stop and think about it for a minute, but most of us don't. We're like, on the web, the structure of websites is that you have this URL bar and there's kind of a back button and like it means that like there's kind of one stack of like navigation in a lot of cases, where if you think about, you know, everybody probably is familiar with Instagram who's who's listening to this podcast. And and that's a pretty common paradigm where there's like four [32:02] or five tabs at the bottom of your screen and each of those is kind of its own stack. And so if you, you know, go to your profile tab and then you tap on followers and then you tap on somebody else's profile. That's like all happening underneath the profile tab, but then if you go to the search tab, you can go look at somebody else's profile, but then if you go back to your own profile tab, it's still whatever you've navigated to and there's kind of like multiple hierarchies of stuff going on. And so when you're making an app that like exists as a mobile app, you [32:29] often want that paradigm that's more like the Instagram app, but then when you're on the web, you want it to feel like a website and be natural in that way. And then there's also this deep linking is this gnarly problem that is actually pretty hard to get right. Where like if you think about like anything you have an app installed for, they might send you an email that has like a you know, hey like check out this listing you know, for this product for sale on our app or whatever. And then you tap in the link and it like opens the app and it just is like gets [32:53] confused and takes you to the home screen and you're like, I was trying to get to the specific product or the specific video. It's about 50/50 I feel like when I deep link into an app if I'm going to get where I'm trying to go. Yeah, and so Expo router handles that and just like works basically as well as anything can work across iOS and Android and web and just that problem just becomes a thing that's solved for you rather than a thing that you spend hours and hours and hours trying to get right and and stressing about and whatever. And so that's a a very nice thing that's just [33:21] made it a lot easier for people to adopt. In researching for this podcast and then now in listening to you for the last you know, 30 minutes or so, I've updated my priors a lot and you know, I was one of those like snooty iOS developers who was like, oh and you know, that was like so focused on oh it's it's got to be native like React Native just a you know, lame web wrapper and like users are going to notice the [33:45] performance is not going to be there. It's going to be more complicated and like all of that is which may have been true in 2019 or 18, but maybe not today. On the web, you can always view source and so you can kind of always figure out whatever any website is built with. But one thing that's I've always found funny is like when somebody does an awesome job building a React Native app, you don't notice and you just assume that it's like you know, truly native or [34:10] whatever like that. pretty trash Swift UI and UI Kit apps too, right? I've seen them. Right. And so so there are some bad React Native and bad Expo apps out there that are just like you know, unnecessarily causing all kinds of re-renders or loops or whatever. And you know, and you but you can also do that as you're saying with Swift UI or whatever. Like a lot of times they'll be like a bad Swift UI app and people will just be "Oh, stupid React Native. I can tell that this is And like, because there's no there's no easy way to kind of do a view source [34:38] search. Have you ever done any like uh blind taste tests? That'd be very funny to like James and Brent on our team, I think used to be pretty good about being able to sort of Oh, I'm going to drag this screens, and like I'll I'll notice some, you know, artifact in this thing, and I [34:54] can tell that that's using this library. And stuff like that. It's getting harder, but there's still some ways that you can tell certain things for sure. But, we've also tried scanning the App Store and downloading a lot of the top apps and just sort of like we did a research project to basically just figure out what cuz we're an open source product. So, we don't actually know everybody who's using Expo. If you're just using the open source framework, we don't know. So, we had to download it just like the top 100 apps in every category just to get a sense of of what was going on there. So, talking about [35:20] updating my priors, the biggest thing that forced me to update my priors is actually our state of subscription app report. And that's what I wanted to talk about next is that in our report, we showed that React Native apps actually monetize better than native apps. There's probably a little bit of 100% positive. It's all the framework data. There's probably a little bit of bias in that, and then we talked about this before, that, you know, we have a ton of indie developers on on RevenueCat who are iOS only, and that, you know, to our point earlier, a lot of the VC-funded apps are cross-platform from the [35:52] beginning and kind of building a business, not a hobby, tend towards React Native. So, there there's some bias in the data. And and you kind of alluded to this to this earlier, that what matters is your product. And if you're able to iterate more quickly, build a better product, it doesn't matter what technology you're using. And and in fact, maybe it does in that React Native lets you move quicker, and that you don't have multiple teams, you don't have things getting out of sync and stuff like that. But, I know you saw that data cuz, you know, we we had you do a little blurb in our report, but did [36:20] that surprise you to see our data that React Native apps are monetizing better than native apps? It's is surprising to me just because like I would have expected that a lot of the, you know, native apps would be iPhone only and like iPhone tends to monetize better than Android in my limited I mean, you guys would know better than I would, but But it's almost always like it's iOS and Android, right? So, the Android's almost probably always like incremental. I could see something here where it's just like a lot of people using React like you're going to have more React Native apps that are newer because React Native is just I certainly [36:49] Expo has gotten, you know, way more popular recently like our our NPM weekly downloads have tripled in the past year, for example. So, like a lot of stuff that's built that way is going to be newer and it's going to have people people making active choices like researching the best way to do stuff and working on things and trying to use the best technologies and best practices, whereas some of the older stuff might just be kind of like this project's been around a while, it's kind of been, you know, cruise control mode. Like I'm not saying maintenance mode, but just kind of like we're just trying to keep this [37:20] running or whatever. That would be part of the the guess I would make. But also would just sort of like bring up the point again that like whenever you need to in React Native, it's now quite easy to drop down and write, you know, a whole screen in SwiftUI and Kotlin, you know, Kotlin or whatever you want for the specific platforms. And so like if you're a good React Native developer, you're probably doing that at various points whenever you need to. But like, you know, under setting screen, you basically don't ever need to do that in most cases. Like you those are the kind of things that in a lot of even [37:54] a lot of parts of the actual iOS settings app, like if you go into like your manage your subscriptions of your iOS app a lot of stuff has actually been using like web views even though we think of it as sort of like native to the Apple platform. Oh, yeah, yeah, like the subscription one. It drives me nuts. It's like it is markedly slower. It would be better if React Native Yeah, they should use They would never. They would never dare [38:17] put JavaScript between them and UI Kit. But I think a big part of it is like the ceiling gone up on just being it's a lot easier to access the the best capabilities of the device than it used to be. My two cents is it's probably all I mean, not no no knocks to React Native uh and Expo, but like, you know, it's very much a selection bias thing. Like, if you are more focused on business success and business outcomes, which maybe is like that's a great like it's a great argument for the the platform, right? Like and I think and like David was saying is I think if [38:47] you're mobile if you're a native mobile developer, like I think it is time to at least like give it a try and re-evaluate your priors cuz I've built apps in React Native. It's been frustrating in different ways, but this was 5-6 years ago, right? And like things have changed. It's gotten way way better, way easier to make stuff. Yeah, thanks to you guys and and also just like baseline technology changes. Phones are faster as well. And so, I remember in the late teens being skeptical of people that were making this choice cuz I was tried and true mobile Objective-C and Java developer. And I remember being [39:21] skeptical, but now looking back, these companies have had various success and not success, but none of it was like hurt by the fact that they were you know, in fact like I think are you for all the reasons we talked about today, I think it was it was these these were good choices. Depends on the business you're in, too. And then now today, you know, speaking of making things easier, the next kind of topics I wanted to discuss was AI-assisted development. I did want to kind of cage these two different things cuz I think they get blended a little bit. So, we'll talk first about what I'm calling AI-assisted [39:51] app development where you're a programmer, you know what you're doing, and AI is accelerating things whether using React Native or not. And then you have the the kind of vibe coding of like I'm going to, you know, jump into Bolt or Replit and throw a few prompts in there and I don't really know how to [40:08] code, but it's going to build an app. Let's talk first about what you're seeing in that AI-assisted app development loop of like really top-notch programmers using AI and React to just move quicker using things like Cursor and Windsurf and GitHub Copilot and Cloud Code and all these kind of tools to move faster. What are you seeing there? And also maybe like what Expo's like kind of a unique position right now in this world, which I think is interesting. For that kind of stuff, one thing that's really a big deal is like, how well trained are the models and the stuff that you're having it write. And one thing that's just good [40:41] about React is just a ton of open-source example code out there. And people tend It's It's much more common to make like a React project open source than it is to make like a Swift project. These LLMs are actually pretty good at like figuring most things out to some degree, but just the more training data they have, the better they're going to be and whatnot. So like there's 1.2 million plus Expo products that are open source on GitHub right now. And some of those are old and out of date, and that can cause its own That's its own sort of niche problem or whatever. But a big [41:10] part of it is just like, there's that. But then another thing that happens is that like, when you have this sort of AI-assisted coding in your developer, actually I was teaching a workshop the other day at a a college, and a few years ago when I would do that, a lot of the time I would spend in this when I was teaching a workshop making a basic app would just be me typing out line, you know, basic stuff of state management or, you know, going to our docs to look up the right, you know, thing to you know, the right incantation to import the camera module [41:40] or things like that. And then I just was like, in 5 minutes I had sort of like built a whole to-do list app and added a couple features to it. And I was just sort of like, "Okay, class. I'm not going to have you watch me use Claude for the rest of this session. Just like come up to me if you have problems and I'll just talk to you guys." The time it takes to do basic stuff just goes way, way down. And so when that's happening, we start to get super sensitive to the things that start to take a lot of time and slow you down. And so, you know, I'm [42:08] sure you guys have seen that famous XKCD comic where there's the the guy's like cardboard sword fighting in the in the spinny chairs where they're waiting for things to compile. And so like when it's taking you like a split second to write code and then all of a sudden you're spending a minute and 45 seconds as your app the sort of nasty thing about sort of compiled apps and stuff like that. They start off kind of like when you have a white screen with like one thing of black text on a that just says like hello, it's like compilation is pretty quick. But then you you when you get to [42:38] start six seven screens that are pretty it's like Or get submodules, SPM, CocoaPods somehow both in the same project, yeah. Yeah, all of a sudden that's now 45 seconds, a minute 45 and it just sort of big companies that have these huge sprawling apps like Uber if it like a huge chunk of the engineering and and stuff is like it takes 45 minutes plus to compile our app. And so people are going off and making new projects where they're building new UIs and then trying to sort of copy-paste them over as a crazy stuff. So anyway, tangent, but you can imagine that like waiting for stuff to [43:09] compile when you're not really spending any time writing code just becomes super super painful. And so like the idea that you can just like make a quick change, you save it and that UI is now updated on your phone or or on your simulator or whatever right away, that just feels so much better. And that bottleneck is really exposed as it's you really ratchet down the amount of time that you're spending writing code. Sort of similar principle is happening with live coding as well where like models like Claude and Gemini or whatever are like decent at writing Swift code or whatever. That's actually kind of exciting for React Native because well, [43:40] I was just talking to someone the other day who's a really good React Native developer. This guy Fernando who's the head of mobile at Vercel. He was saying a lot of what he's been doing lately is doing more stuff in Swift on iOS because he doesn't have to become a Swift expert. He can kind of like when he wants to go do something, he can just kind of like have AI point him in the right direction, clean up stuff and make it kind of make it work. And so he's able to write more stuff in native code. So like LLMs are [44:06] actually decent at writing that stuff. But like, imagine you're a vibe coder and you're just like, "Hey, I want to try I heard that I can make stuff as a you know, just vibe coding now." And you decide you want to do that by writing some Swift code. And then it's like, "Okay, well, first of all, you need to have a Mac. Only what, 12% of computers globally are Macs?" Okay, so now a lot of people are just like stuck and they can't do anything. But let's say you do have a Mac and let's say it's a fast Mac or whatever. And it's kind of like, [44:28] "Okay, now here's your next instruction is download Xcode." And that often takes like 45 minutes. And then setting it up is like another, you know, 45 minutes of $99 sign up to the Apple developer program. You need a DUNS number. No, you don't have to do that, but like need a DUNS number until you want to go to the App Store, but like, you know, it literally can take you 3 days before you [44:48] get at your developer account approved. You don't need a developer account anymore to just put something on your own device. But like And not even the simulator actually on your end device. You can do it without. Yeah, you can If you plug your phone into your computer, it's pretty handy. It's capped in a lot of ways, but they they're a little bit more lax. Like the mindset just seems to be like, it's a privilege that you would be able to write any software on these devices that are are sort of pristine playgrounds. I mean, I won't do back in my day, but [45:15] it's a heck of a lot easier now. It's gotten easier, but it's still not like actively easy. It's like you're there's just sort of a whole bunch of hurdles. Opening an HTML file in Chrome, you know, and you boom, you're running. Expo is just like a bunch of different tools and I like it'll take me a long time to explain all of them, but like one of them is this Expo Go app that you can download from the App Store. And that has basically just like most of the modules in the Expo SDK kind of baked into it already. And so if you just want to use [45:39] the camera view or location or the gyroscope or any of the sort of basic things, those are already just like baked in natively. And so that covers a lot of ground for a lot of people. And so if you can write stuff that has you know, you can use any font you want. You can do any kind of styling you want. You can do any kind of things with even has React Native Skia built into it. And so you can do like pretty complex stuff with just this. And so a lot of the Vibe Coder stuff basically just is like, here here's your instructions. Download the Expo Go app [46:07] from the App Store. We're popping a QR code up on your screen. Scan the QR code. Bam. In less than 30-40 seconds, you now have your app on your phone. As you make changes to it, you're and you're writing stuff, that's just happening. So, like I was just up in Seattle this place called like the AI It's sort of a complicated thing that's like a incubator plus event space plus co-working space. The person who runs the the sort of physical space there is telling me that they needed some sort of check-in You know, a lot of offices have like the sort of check-in step where you go up to the desk and [46:39] they have an iPad and you sort of fill out your name and who you're going to visit and whatnot. And she was saying that like because they're the sort of hybrid of a uh you know, a couple different things all at once, none of the sort of off-the-shelf solutions were exactly what they needed. But, they also didn't need something like super crazy complicated cuz it's just like they don't have a hundred locations. They just have this like one space. She's not a uh you know, traditionally trained developer or anything. But, she was able to just fire up Bolt with Expo and like build an app just vibe coding that like, [47:09] you know, has their whole list of experts connected to that database and then has a whole sign-up form and you can sign your name and then it submits it and it stores it in a you know, a Postgres database in the cloud using Supabase and they can you know, access it and she was able to do that in a couple of hours just sort of like, you know, repeatedly prompting, not editing any of [47:26] the code. To which would like comparative even an expert developer that would take a week, you know, to make it work, right? Yeah, probably. That's actually like live now. Like it using some of the Expo tools to help get stuff into sort of TestFlight. Like a lot of what we actually do is just solving this distribution problem of like, hey, I want to I want to take this app and get it So, it's great that you get you can get up and running in the Go app. I mean, I I know you guys still do a lot. I think I think the thing that's made Expo one of the things [47:52] that's made Expo so relevant all of a sudden for for all these people is like that last mile on mobile is so painful, right? So, it's great you can vibe code something up in a in it's in you know, it's basically running in a browser, but then like okay, you want to get on the App Store. Right. And so, a lot of what we've been working on the last year or two is stuff to like like we just released a module not that long ago called like NPM TestFlight where you can basically in an Xcode project run NPM TestFlight and it'll just like walk you through all the steps and put it in [48:16] TestFlight and you don't have to like you're not thinking about provisioning profiles, you're not thinking about distribution certificates. All these things that are just like I feel like I've talked to so many people who are in the mobile world and if if you like sort of get them aside aside and you're like explain to me what a provisioning profile is, they're kind of like Oh, Charlie, I'm probably one of the few people that could actually do a really good job, but Right. I'm sure but like knowledge I would love to free up in my head. Trust me. Right. And there's a lot of people who are like I don't I just [48:43] kind of like keep refreshing things or Googling things until it finally works. added at some point in X in Xcode, they added like a fix my provisioning profile button which worst. Like never click that button. Yeah, which is like actually like roll the dice and maybe nuke my own developer profile. There's still some sort of rough edges around there because Apple just like wants to stay in control of stuff and they it's hard to make something that's perfect. But we we put a lot of work into making it so that like getting up and running on the web because we added web hosting and stuff like that or [49:12] getting up and running through TestFlight or the App Store or whatever. All these things have been a lot easier. Like a a really good flow that a lot of people like is we actually run Xcode and Android Studio in the cloud for people. That's sort of one of the main ways that we make money as a company. And if you don't have a Mac or you don't have a fast computer, that's just like pretty nice. But it also means that like you're [49:28] not grinding your computer to a halt. Every time you do a check-in, it's easy to have a cloud build to kick off. But then we can also take that artifact and just submit it for you or put it in TestFlight or just do whatever wherever that artifact needs to go, we can sort of solve those problems for we can run a bunch you can have you know, a bunch of scripted tests run against it and then [49:45] you know, a report generated whatnot. So, solving a lot of these problems is like a big part of what we've just kind of realized that people need to go from, you know, idea to living thing that's running, you know, in production the way they want it to be. You mentioned there's like Bolt and and Replit and Lovable and A0, there's a bunch of these, and most of them are going through you. Do you think that that's [50:06] the way things are going to shake out? Like if I cuz I'm waiting for us as an infrastructure company, too, like depends on your belief in AGI, like whether or not you can be like build Expo, you know, as like a as like a command line thing. Do you think these companies continue to like run through a like centralized service provider or do you think they're going to need to own this? I guess it it's There comes out a question of like where the value accrues and stuff or or or maybe you can even say are are you guys thinking about just owning the the vibe coding layer? Like [50:29] where do you think it goes? Developers want to do all kinds of things in all different ways. And so like if we were to just every time where we sort of said, "Well, we think that probably most people want to do this, so let's just sort of assume that and build everything around that." We end up with a whole bunch of people like, "Actually, I want to do something really weird and or I need to because I think there's just going to be actually a pretty wide variety of of different things. The other side of that coin is that like I think one thing that I've noticed about [50:54] AI-generated code and whatnot is that it works better in general the more you kind of keep it on the rails. And so a big step forward for for Bolt and Lovable was when they both took Supabase and made that sort of the the sort of this is the way that we do a back end for you. And and sure part of that was just sort of like connecting Supabase and making it easy to set up an account, but I think another part of it is probably they were tweaking the sort of system prompts of of what they did is just saying, "When you do a back end, [51:23] here's the rules. Like use Supabase, keep the Make sure that you don't leak the private key into the clients, you know, just like do these things in this way." And and so I think that makes it in a lot of ways like make more sense to rely on like a standard very popular provider because there's going to be good training data on that. It's going to Everyone's going to kind of know how to work with it and whatnot. I think that we're still in, you know, early days and whatnot, but I do think that like I think that we'll see a lot of winners win harder because like people [51:54] will just like get started and not want to fight the AI that has just sort of been sort of trained to like, "Oh, use this solution." Or you like I mean, you could probably get it an AI to generate a Svelte website or or something like that these days. Like if you just said, "Please use Svelte." But like if you just sort of say like, "Go make me a website." Like almost every model is going to default to to doing React and [52:16] sort of lean that direction. probably tell you to go to Expo, too, right? Like you're like, "How do I get this on my phone?" It's probably nine times out of 10 going to tell you like this we see a lot for RevenueCat. It's like, "How do I purchase this?" They're like, "Do all this or go to revenuecat.com, right?" Like that's an option. I think a lot of things that are just like easier and cut out the other annoying stuff like you're saying like, "Or go to revenuecat.com." And like a lot of the problems that you were going to face are just sort of go away or [52:40] handled by this. People I think are just going to have a lot less patience for these sort of other steps or this sort of wandering in the forest trying to get some complicated thing to work. I sort of have like a an argument a gradient descent argument where like if the energy it requires to like send somebody to RevenueCat or Expo or whatever is always less than like the energy it would take to generate the tokens like the model should just optimize towards like that outcome, right? Which which is a fancy way of things basically saying what you're saying, which is like if it's already a relative minimum like [53:10] it's going to like continue to reinforce that, right? Like using Superbase and and whatever versus like when it's exploring new space, which is what the vibe codes are actually building. That's where the model should be spending most of its energy. I also think there's stuff where like a lot of the people that are making these, you know, web-based fronts for AIs and whatnot like they don't want to get into the weeds on like some narrow slice of the problem that's like or some stuff that's even like I mean, I think our space is actually not very narrow. Part of the challenge of it is that there's so many [53:37] things going on in mobile in such a huge service area and like you know, could you attempt to build all this stuff that we built? Like, yeah, you could with enough effort you could and you probably you probably be easier the second time around cuz you could just look at what we did in a lot of cases. Probably true [53:50] for, you know, RevenueCat as well. There's like if you wanted to build something that was like RevenueCat, you could just look at it and copy but there's a lot of detail I'm sure there's a thousand details that were Yeah, that that LLMs actually aren't great at understanding, right? Necessarily, right? Yeah, and so a lot of I think a lot of these people like just want to offload things to pieces that they kind of know work and are well more than like try to compete with them necessarily. We'll see though how things play out. A developer friend I've worked with for for years who who was also a [54:20] very kind of snooty native developer for a long time was telling me how much he enjoys working with LLMs and React Native because it closes the loop as well because the LLM can actually render it, test it, and close the loop on that. Have you been seeing that as a trend as well of like it just getting better and better at being so quick? It like you were saying, you don't want to have to compile an app, wait 5 minutes to then test the code. Yeah, even like using Cursor or using ChatGPT alongside Xcode is just like a it's a substandard experience to using one of [54:55] these five coding tools for that reason, right? Like the LLM can actually run the code which is a huge advantage. One thing I've heard is that one of the one of the reasons that these LLMs are quite good at writing code compared to a lot of other things is because they could like generate output and then [55:11] run the code and tell if it like worked. And so they could a lot easier to like train on that versus like is this a good poem? When I ask it to come up with company strategy, it has no way to RL that back in for example. But then there's also this is maybe not quite what you're talking about but like that's sort of what you're talking about but a zoomed-out version to some extent where I was I used to work with a guy who was like a really good designer/Swift [55:36] engineer. And he had started a new startup that was like a consumer product and they had built it in Swift for all the reasons that, you know, people who you know, oh, we have to get every interaction perfect. It's about, you know, we're we're consumer of things, so every little detail matters, blah, blah, And they'd been in this spot where they had something that people liked, but it just wasn't like quite at that point where it was like could raise like a series B or just was like really off to the races. And so they needed to kind of work on it, but also was like, you know, [56:04] had some network effects. So they were kind of like, "Well, we kind of need to be on Android and web, but we also kind of need to be changing this product. And so like are we going to like freeze everything and go build an Android version, but then we're going to be stuck with two versions of the code and we're never going to be able to move forward. And like it also even if we were just sticking with iOS, like it takes us a long time to make even one new screen or whatever. And so his, you know, he's working on a new thing now and it's he's [56:30] basically just sort of like, yeah, I'm like you just using Expo for it. The technology has come to the point where I've been able to make the things that I need to do and I can just tell so much more quickly whether I like something or not. And I can drop down into Swift when I need to, but I actually haven't really needed to at all yet. And so I think that like a lot of people are kind of like learning all their lessons about iteration the hard way or it's like you a lot of times you end up in this middle ground where you're like, this is kind of good, but [56:54] it's not exactly what I want. And like if you if you can't like it just you have to really know what you want, I think when you're if if it's to make it worth it. Even if there is some relative difficulty working with the tools, like they can easily be wiped out by like a small increase in iteration speed, right? Yeah, Jacob and I were talking about this before we got on. Craigslist, I went and looked it up on the App Store cuz I I haven't used Craigslist in years. Actually, I hadn't even downloaded the app, surprisingly. But it's got like 450,000 reviews and an average of 4.8 stars. And you know, my [57:24] reflection upon seeing that was that React Native app, by the way, or Expo Expo driven React Native app, by the way, which Charlie and I were talking on the call like my long story too much detail but my wife worked there back in 2016-17 and this was like something I went in and talked to them about to help them. I'm probably breaking an NDA, I don't care. And apparently like this was [57:43] I said, "Oh, you should check out Expo." And apparently it was one of the first like big companies or something or like sort of like shocking logos that you saw Charlie, which is pretty funny. They reached out to us and we're sort of like, "Hey, we're thinking about using you for a we didn't have any I think the biggest thing though with Expo at that [57:55] point was like Urban Dictionary's. That's a kind of a big I mean That's cool. You're starting out the starting out the fringes of brand but like uh you know, that's a big step up. Well, yeah, yeah, I was just going to say upon seeing that it it really struck me that people review and they care about and they rate the the outcome. Is Craigslist helping me do what I set out to achieve? They're not rating every little interaction that you think needs to be perfect. And I mean just looking at the screenshots, you can tell that Craigslist app is as Craigslist website is. So, it's not this like incredibly [58:31] polished like perfect experience. Yeah, you might you might be developing what's the actual constraining factor here like limiting factor. Maybe it's not Expo's polish or React Native's polish but maybe maybe Craigslist's design. Right, totally. But but the point being that people love the app, you know, 4.8 stars, 450,000 reviews. There's a lot of native apps out there that that that aren't anywhere close to that, right? One is it that the biggest user of React Native inside of Meta, I think is actually the Marketplace thing which gets you like a billion people using it every day. And so like both I guess Craigslist and also the thing that sort of replaced [59:04] Craigslist for a lot of us are both and I think Marketplace is actually quite nice. I was telling David before this it's my favorite social network. I just love to go on there and browse and just it's entertaining. The algo is not aggressively trying to get my attention. It's awesome. Uh and it's very real. But then the other thing that reminded me of was like one of the things that's driven me crazy for years and part of the reason I work on this is that like when I look around and look Look how people I [59:26] know and and even myself use software. I'm mostly on my mobile device. I'm somebody who's like my job is to sit at a computer all day. Like so I'm definitely not like anti-computer, but like most people don't have jobs where they sit in front of a computer all day. I think it's become much much less normal for like people who don't have computer jobs or enthusiasts to have a PC that they use regularly. But if you think about like what do developers work on? It's kind of like most people out there like web developers who make websites for people sitting at their computer. And like whereas in the way we're using software [59:57] is like most people are just like using the app on their phone for whatever. And like this is getting more and more true where it used to be like, you know, I wouldn't write important emails on my phone. I would sit down on my And now like most of the important emails I write I write from my phone. And I would even say to people like, "Well, probably, you know, early days of Expo at some days I would point this out and I'd be like, you know, it's not like we're going to, you know, first-person shooter video games and video editing and stuff like that. That's probably, [1:00:18] you know, not going to move to mobile." But now like TikTok probably has more minutes of video edited per day than the sum of you know, Final Cut and Premiere or whatever. And then, you know, I'm sure that the the sum total of minutes played on like, you know, first-person shooters on Android devices is bigger [1:00:34] than PCs these days and whatnot. Yeah. How many people are playing Counter-Strike sitting down and playing Counter-Strike anymore, you know? All these things I was like, "Oh, well, I don't know if this will move over." They all basically have. And so like part of what I just want to solve with this like, how do you make it so that like it's easy enough to work on mobile stuff so that we can line up the like developer effort and energy with like how people are actually using software in the world because we should like I remember I was at a in Miami and I was sitting next to somebody who was telling [1:01:03] me they were working on uh some one of these like weed buying startups or whatever. And they were they told me they had a they were working on a 20-person developer team. And it was like, "Oh, yeah, there's like, you know, I think we have me and sometimes this other person with like half of their time helps me on the app and we're using, you know, React Native [1:01:23] for it. And then I was like, "Oh, okay." Like and he was like like and he was like, "Yeah, pretty much everybody else works on the website." And I was like, "Well, oh, so like the app must be some sort of like add-on here or, you know, not that important to your" And he was like, "No, no, 95% of our sales are through the app." But for whatever reason like, you know, you can hire web developers and so they just like that's, you know, they had all these people working on the website and they're just like I think a lot of the industry is in the state where it's like it's so much [1:01:49] easier to write stuff and deploy stuff on the web and there's just such a a better development experience in history that we end up like gravitating that direction. These constraints like kind of echo and like they create like some sort of imbalances like, you know, accidentally. But I do think that some of these things are changing and getting a bit easier to deal with and and whatnot. And you know, some of the ways that some policies changing based on some of these lawsuits and whatnot. I think it's going to make potentially a distribution easier in some ways. I think I only expect it to get more liberalized, right? Like I [1:02:17] don't expect Apple to get more, you know, I think the trend was likely to continue with and without lawsuits. I think there'll just be I think it's kind of the way I think of it sort of like, you know, when Uber first launched I think it was probably technically illegal in a lot of places, but it's just like at the end of the day like if something is really good where it's like it just gets if If the people demand it, [1:02:33] it will happen. like eventually will sort of the the floodgates will kind of the dam will leak or burst or something. Well, I think that's a a great topic to wrap up on, you know, with the increase in tooling, with AI, with everything that's going on in the industry. It is just faster and easier to build software that helps people and that's really cool and [1:02:54] it's exciting to be a part of it. Anything else you wanted to share as we were wrapping up? No, I feel like I got to shill our product for an hour. So, that's that's all right. As you say, you could go to you could go to Expo's website, but honestly people will probably just find you via Bolt, you know, like it'll just be LLMs will tell you to go there. But no, I think it's [1:03:11] really cool what you guys are building. I think it's like a I don't know, you get me excited that, you You we're still early days on this like transition to mobile and like in fact like maybe much like e-com and Shopify, you know, opened up e-com for a lot of people. I still think like mobile development and development in general is now just finally getting opened up and Expo plays a big part of that. It's just really cool. So, Yeah, thanks for the work you're doing. All right, thanks Charlie. All right, have a great day [1:03:34] David. Talk to you later Jacob. Thanks so much for listening. If you have a minute, please leave a review in your favorite podcast player. You can also stop by chat.subclub.com to join our private community. --- About this transcript Read from YouTube's own caption track and laid out by ViewRank AI (https://viewrankai.com). ViewRank AI finds the videos already beating a creator's own average on Instagram, TikTok and YouTube Shorts, transcribes them from the audio itself in more than 60 languages, and turns what worked into new ideas and scripts. Free transcript tools, no account needed: https://viewrankai.com/tools How to read any video this way: https://viewrankai.com/llms.txt