Request // Response

In this episode of Request // Response, I sit down with Charlie Cheever, CEO of Expo and co-founder of Quora, to unpack the evolution of mobile app development and how developer experience is adapting in an AI-assisted world. 

Charlie shares stories from scaling Quora's mobile presence, his frustrations with App Store complexity, and how Expo is aiming to make app development as smooth as deploying a website.

From React Native to GraphQL to vibe coding, Charlie breaks down the current gaps in frontend-backend integration and offers a wishlist for what a truly great developer experience could look like—particularly in a world where more non-developers are writing production code.

Whether you're building mobile apps, exploring streaming APIs, or thinking deeply about DX tooling, this is a must-listen.

Show Notes

[00:00:00] Introduction
  • Mobile app development, developer experience, Quora, and Expo.
[00:01:00] The Challenge of Mobile vs. Web Development
  • Why mobile app development remains more complex than web.
  • Charlie shares the motivation behind starting Expo.
[00:02:00] Quora’s Mobile Journey
  • How building native iOS and Android apps took longer than launching the original website.
  • Technical and organizational challenges of scaling mobile.
[00:03:00] Building Expo and React Native’s Rise
  • The inspiration behind Expo: make native development as simple as the web.
  • React Native’s explosive popularity and Expo’s role in democratizing it.
  • Helping teams without Meta-scale infrastructure.
[00:04:00] Making React Native Work for Everyone
  • How Expo bridges gaps in native app development.
  • The importance of tools like Expo and Vercel in modern developer workflows.
[00:05:00] Is GraphQL Still the Right Abstraction?
  • Charlie reflects on GraphQL’s evolution and current limitations.
  • Comparing it to frontend framework history (Rails → React).
  • The need for more end-to-end client/server coherence.
[00:06:00] Balancing State, Performance, and Cost
  • Complexity in backend design due to varied use cases.
  • The challenge of making highly reactive systems affordable and performant.
[00:07:00] Streaming APIs, SSE, and DX Gaps
  • How the rise of real-time UX (e.g., chat apps) is stressing API design.
  • No streaming standard in OpenAPI/GraphQL specs yet.
  • The tooling gap for reactive and streaming data patterns.
[00:08:00] Wishlist for the Future of API Dev
  • Charlie’s top priority: cost-efficiency in scalable systems.
  • The hidden costs of AI-generated or streaming-heavy applications.
  • The importance of default patterns that are economical by design.
[00:09:00] AI, Prompt-to-App, and Developer Onboarding
  • The influx of non-developers using Expo via AI-powered tools.
  • Reworking product terminology and UX for AI-native builders.
  • The shift from code complexity to deployment complexity.
[00:10:00] Vibe Coding and System Architecture Risks
  • The risk of vibe coding critical backend interactions.
  • Why grounding AI-generated work in opinionated, proven patterns matters.
[00:11:00] Scaffolding and Guardrails for AI-Driven Dev
  • The role of SSA-style rules and architectural constraints.
  • Importance of enforcing standards even in semi-AI-written codebases.
[00:12:00] A Hybrid Dev World
  • Current state: most repos are still human-written with AI augmentation.
  • The mismatch when AI-generated code doesn’t follow team conventions.
[00:13:00] Expo’s Strategy for the AI Era
  • Adapting Expo for AI-assisted builders.
  • Making deploy tooling more accessible as code creation gets easier.
  • Value shift from writing code to shipping product.
[00:14:00] The Magic of Going Live
  • How products like Vercel V0 and Expo reduce the friction of launch.
  • Sharing live URLs as the new MVP moment.
[00:15:00] Great Developer Experiences: Inspirations
  • Charlie’s favorite DX examples: PHP, early Rails, undo features.
  • Simplicity, feedback loops, and emotional empowerment as DX pillars.
[00:16:00] Undo and Developer Safety
  • Git, Neon, and the psychological benefit of reversible workflows.
  • Why safety enables faster and more creative software building.
Additional Quotes from the Podcast

How AI is Changing the Way
Users Build Apps

"A huge number of the people sort of signing up for Expo accounts and stuff now are using AI sort of prompt to app tools. So we're having to build a whole new set of products or at least change some of our products 'cause some of the terminology that we use is, you know, tailored to developers and like developers know what this means or that means. And a lot of times these people are like, "I am using Expo because I saw the name come up a bunch of times as I was, you know, prompting. But I don't really know what it is and I don't know why I'm here. And what are you gonna help me do and why do I need to?"
It was always like, "Hey, like there's always people who just have ideas. How do we make those come to life as quickly as possible?" And so like for a long time it just sort of felt like, well there's this whole hairy problem of doing the writing, the code of software development, you know, writing React code, writing backend code or whatever.
And like all of a sudden that's getting way, way easier and going way, way faster."

The Magic Moment That Defines Great DX

"I think that the biggest thing that like you can give in sort of a Dev X experience is if you take somebody who like thinks they can't quite do something and that's got, something's gonna be hard, and then all of a sudden it just ends up easier than they thought. And they're just sort of on a smooth path to something happening.

I remember watching videos of people competing like in the sort of mid-2000s where, and I never even used Rails, but I just saw these where it's "make a blog in 12 minutes with Ruby on Rails." And then somebody else had put out a video that was like, make a blog in, you know, eight minutes and then seven minutes and then six minutes and just sort of like competing to get that as smooth and streamlined as easy as possible was I think pretty amazing."

What is Request // Response?

Interviews with developers and API technology leaders.
Hosted by Sagar Batchu, CEO of Speakeasy.

speakeasy.com

Mobile Development Evolution: Charlie Cheever on Building Better Apps
Introduction
Sagar Batchu: Welcome to Request Response. I'm your host Saga, CEO and co-founder of Speakeasy with the modern toolchain for API development. I'm really lucky today being joined by Charlie Cheever, CEO of Expo. Charlie, welcome.
Charlie Cheever: Hey, thanks for having me.
Sagar Batchu: Yeah. Thanks so much for joining us. You've worked on some awesome stuff. I've been following you for a while. Just for the benefit of our audience, I'd love for you to tell us a little bit more about yourself, what you're doing these days.
Charlie's Background and Expo's Mission
Charlie Cheever: Yeah. I was the co-founder at Quora, like a question answer website. And then for the last couple of years I've been working on Expo, which is basically a project to bring your ideas to life on every surface, like iOS, Android, and web. One of the things that I noticed from earlier in my career is that it's always been so hard to build for mobile compared to web.
But the way that humans have shifted their use of technology is really tilted towards mobile. And so probably 75% of the listeners of this podcast are listening like in their car on some mobile device or something, and not through their web browser. And so I think there's been not enough attention focused on making that a really great experience.
The Mobile Development Challenge
Sagar Batchu: Yeah, no, that's really cool. I think the problem that you've stated that you guys are going after at Expo definitely is one that resonates with me. I know a lot of people have been really thinking about that. I'm curious to dive in a little bit more though. Like, what led you to deciding this is where you wanted to spend X years of your life?
Charlie Cheever: I mean, part of the biggest thing is that even working at Quora, one of the things I did was I noticed that everyone was distracted in meetings looking at their phone. People were telling me I was looking at Twitter too much during the workday, and you know, I could just tell that was how things were going.
So I spun up a team of people to build an iPhone app and we just wrapped our mobile website in a native tab bar, and I was shocked to find that took us like nine months just to take the existing mobile website that was already built and wrap it in a native tab bar and get it into the app store was just this huge process.
And it was probably five months to come up with what we were building, build the front end, build the back end, start to get a community together, you know, design the site. Do everything we did to get the first version of the website off the ground. Took less time than just literally wrapping the mobile website and putting it into the app store.
Mobile's Growing Importance
Charlie Cheever: So I thought that was crazy. But it was also like, it took, you know, even in the first month after that launch it was 10% of our traffic, and then the next month it was 11%. The next month it was 12%. So pretty quickly we jumped on making an Android app too, especially because Quora was starting to get a lot of users in India at that time.
So it was just like a lot of worldwide demand for an Android app. And I thought, okay, well we've already done a lot of the work, the design work to wrap the mobile website inside of a native scaffolding. And we've already solved some of the technical problems to have a web view communicate with sort of native scaffolding around it. This should go a lot faster. And then, you know, Android is fragmented and complicated and gnarly in certain ways. So it took 10 months to get an Android app live. But it was, you know, it was again like something around 10% of traffic right away then 11%. And so it was just clear that was like how a lot of people really wanted to use stuff.
The Birth of Expo
Charlie Cheever: It just felt really frustrating that first of all, delivering content in a web view was actually mostly fine for Quora, but anywhere where there were like, you know, videos or anything that wasn't just like text and rectangles, like the web just doesn't feel that amazing. People are making progress on it. But I didn't think it had to be that way. So, after I took a couple years off after Quora, I convinced James, my co-founder to quit his job at Facebook. And we just researched for a year and a half, like how you could make a sort of more web-like experience of development, but get a native-like experience for, you know, the user experience. But, and the approach we settled on was sort of like using JavaScript to push around like actual native views provided by iOS and Android. So we built this framework, we were about to open source it, and then React Native came out and, you know, got 50,000 stars on GitHub overnight.
But there's actually a lot of work to make those technologies work for building things from scratch for all kinds of people that don't have the infrastructure that a company like Meta has. And so you can see like companies like Expo and also companies like Vercel kind of fill the gap of making it usable for everyone and helping them go from just, "Oh, I have an idea and I'm programming this." Okay, now it's live, now I'm deploying it, now you know, all these things are covered. So a lot of the work we've done is basically just sort of like to make React Native really usable by, you know, somebody starting an app from scratch or somebody who, you know, doesn't have the resources.
The GraphQL Question
Sagar Batchu: That's super fascinating. I feel like a bunch of things that our community members and listeners think about is like, one question that comes up a lot is, "Hey, GraphQL, right?" It had its moments. People are now starting to ask, is it the best way to actually manage that state from your backend, for your front end? What's your view on it? Like now that we've had, I would say like maybe two or three phases of GraphQL, where do you sit on this spectrum?
Charlie Cheever: Yeah, I think that like I, if you look at the history of like web frameworks, I'm gonna make an analogy here, like there was a whole series of things where people were using things like Rails, various PHP frameworks, things like that. And then eventually React came to be dominant. If you were like making a new website, you would almost certainly use React. And I think that like we're still in the process of this all shaking out on that API side.
And I think that basically the reason it's taking a long time for that all to shake out is because the ideal state that you want to end up in is actually this kind of like end-to-end experience like I was describing we had at Quora. But it has to be a little bit more advanced than I described at Quora because you also need stuff to happen on the client without it needing to do a round trip to the server.
The Backend Challenge
Charlie Cheever: So it needs that other layer there and you need to have a greater sense of state on the client and a few other things. But people haven't totally settled on the right way to do backends either. And part of why that's taking a long time is that different people have like different use cases and care about different things.
And so I think it will settle over the next five to 10 years. But I think that we're still in process of figuring out the shape of these things. And I think like part of it is just that you've seen people out there like trying to solve this problem in a complete way.
And like it's just really hard to get it right enough where sort of the easy things are really, really easy, but then it scales up in a way that like the complicated things fall into place, or that you have good escape patches that let you plug in the right way.
And that cost is not a big thing. And that's another, you know, one thing about operating something that like lives up, that keeps track of what every piece of data is rendered on every client across the whole world is that can get pretty expensive if you're doing it in certain ways.
And so, like trying to balance all those things and have it kind of scale up appropriately is just pretty hard. So I think that GraphQL was like a step forward in that, but it doesn't reach back far enough into like your actual data store and doesn't reach forward enough in that you actually probably want GraphQL to just be like a lost implementation detail to some degree.
Emerging Patterns in Development
Sagar Batchu: Yeah that's really interesting. I think you brought up with the case of the chat app, right? We're seeing that as well, you know, like with that becoming a predominant UX model, all of a sudden, like all of these companies want you to do streaming. SSE. Right.
They want their APIs to be streaming stuff like the clients to be actually just rendering it in real time. Almost like a new DX layer, right? Like people just don't know how to deal with this stuff. And so it's causing, I think, pressure on both the backend and the front end.
We've been thinking about that. 'Cause we do a lot of stuff on the client side for API, people build APIs but there's no standard DX. Even the spec that people use, whether it's GraphQL, Open API, none of it even has something like SSE built in. And so the kind of underlying model of how people interact is changing so fast that it isn't giving enough time for the frame to really settle in terms of how do you deal with this kind of reactive programming or streaming or anything like that.
Charlie Cheever: Yeah, I think there's a good chance that sometime in the next five to 10 years that becomes sort of settled, but we'll see.
The Future Wishlist
Sagar Batchu: If there's like a single thing that you hope that happens as this settles, what's your wishlist? Like your number one thing?
Charlie Cheever: I think that the biggest thing that is tricky is the cost thing to some degree, because I think people have come up with pretty good ways to solve this. But then you have to decide which things you want to like, sort of make, kind of live and put more stuff in RAM, push more stuff to the edge, do all that kind of stuff that like ends up being more expensive.
The AI Impact
Charlie Cheever: And so I think, you know, the other direction this conversation could have gone that people are interested in these days is if we start talking about AI and how there's this whole movement of people where, you know, it's pretty clear that you can see that a lot more people are gonna get involved in the process of making, you know, software, applications, that kind of thing.
We're already seeing that at Expo. We're seeing, you know, way more people coming to us. And a lot of them are not developers. They're just people who like, use various, you know, AI assisted tools to go from prompt to making something. And one thing that can be frustrating about that is I think that if you spend a couple minutes doing something and you don't realize the sort of cost implications of what you're doing or you accidentally, you know, make something that is doing something inefficiently, like there's a lot of, even you can, you know, there was sort of a, maybe two weeks ago people were really into vibe coding 3D games with Three.js and whatnot.
And then I saw a bunch of commentary threads of people pointing out some really inefficient networking stuff that was happening and the people writing it were probably not even writing the network code at all and not even looking at it, they were just sort of letting it be generated. And so, having something that sort of naturally falls into place and works out, I think that's sort of a hand wavy idea, but I think that like just having it be performant but also reasonably economical is maybe gonna be the biggest hurdle to overcome.
More than like checking the box of is this technically possible for this to be a good experience and have the result that you want?
Balancing AI-Generated Code With Production Requirements
Sagar Batchu: Yeah, totally. Like when this vibe coding stuff started really becoming mainstream. I was thinking, I don't know. My instinct was like, oh, people are gonna vibe code like UX, like the fun design side, you know, just how it looks and feels like someone who's not a designer doesn't have any technical help can get to showing you a screen really quick.
But then if you're vibe coding down all the way to the API calls to the backend and networking layer, like suddenly you're talking about critical system path stuff that we all know once it goes in prod it's so hard to evolve. And so I think exactly as you said, like there's some fine balance where you know, as you have these more non-technical people come in, like we obviously want them to create cool stuff, but we also want it to sit on like some kind of very obvious foundation of how people do backend to front end and all of that. So yeah, I completely agree with you. I wonder if the push with tools could be a way to get to this, where a normalized development environment where you have tools that maybe MCP sells or some other tools that are clearly connected to the right frameworks for you to pull information from is something I've been thinking about.
Charlie Cheever: Yeah, that does seem like it's really likely to happen in terms of just a lot of the things that are doing vibe coding or even just, you know, one step down from vibe coding, just sort of like people who are already developers using Cursor to go faster or something like that. A lot of the ways that works out well is when you have kind of the scaffolding or the main structure of "we're gonna use this with this," and we're gonna have, you know, a plan in place for how this works, instead of having it like randomly go off and add in some code of another variety, that then is a little bit weird.
Setting Rules for AI Development
Sagar Batchu: Yeah. In the absence of that, I think something I've been trying honestly is just like using SSA's rules. SSA rules and like one rule that I added just like dramatically changed everything was, you know, under no circumstances should you write SQL queries without using SQLC. Right. And please update only this queries.sql file instead of running, you know, me, gen SQL Server, stuff like that, right?
These are like clear things where I want the outcome to still follow standard model that we're all used to. And I think it matters too because like we're still in this era where code is going into repositories that's mostly human driven. And so suddenly if you have like a section of the code that's AI driven and it doesn't follow guidelines, like that doesn't work, right?
Like if the whole repository is AI driven, fine, I could see the AI doing whatever it wants and it's only optimizing for outcomes, but we're not in that place yet. It's still like somewhere in the middle.
Charlie Cheever: Yeah, I totally agree with that.
AI's Impact on Expo Users
Sagar Batchu: Super interesting stuff. I, you know, I mean, you are right, this is probably the one podcast going on right now where it didn't go hard into AI.
Charlie Cheever: Right.
Sagar Batchu: So, on that note, I'm kind of curious, are you anticipating different consumption patterns for users at Expo because of AI?
Charlie Cheever: Yeah. A huge number of the people sort of signing up for Expo accounts and stuff now are using AI sort of prompt to app tools. So we're having to build a whole new set of products or at least change some of our products 'cause some of the terminology that we use is, you know, tailored to developers and like developers know what this means or that means. And a lot of times these people are like, "I am using Expo because I saw the name come up a bunch of times as I was, you know, prompting. But I don't really know what it is and I don't know why I'm here. And what are you gonna help me do and why do I need to?" And that's, you know, it's very cool. I think for me it's actually pretty exciting because with Expo, we never set out to build like a React Native company or a React company even.
From Code to Deployment
Charlie Cheever: It was always like, "Hey, like there's always people who just have ideas. How do we make those come to life as quickly as possible?" And so like for a long time it just sort of felt like, well there's this whole hairy problem of doing the writing, the code of software development, you know, writing React code, writing backend code or whatever.
And like all of a sudden that's getting way, way easier and going way, way faster. And like those tools are getting better. So just it's actually kind of fun that we're - a lot of the things that we solve, like where we can help you, you know, make a build of your app that can, you know, be put on devices, we can help get that into the app stores and just solve all these sort of annoying housekeeping problems.
That actually starts to become relatively really, really valuable when you - when like the hard work of writing all the code is actually all of a sudden become easy. Like we can actually help that sort of thing actually come to life instead of just sort of being, "Oh, I can sort of run this in a simulator or, but like, what do I do from here?" And things like that.
Sagar Batchu: I totally resonate with that. Like, when I first started trying out the vibe coding of all the things I did, I think Vercel V zero was actually the most exciting to me. 'Cause the point from going from code to actually a live website was the easiest, right? Like that last step was where a lot of people, I think trip up.
Charlie Cheever: Yeah. That magical moment where you can send the thing you made to somebody else and have them try it.
Sagar Batchu: Oh my God. A URL. Crazy.
Charlie Cheever: Yeah.
Great Developer Experiences
Sagar Batchu: Just to round this out, something I like to ask everyone is - although like we all work at developer experience companies, are there particular developer experiences you've had in the past that have really influenced where you are, like, things that stand out as like truly hallmarks of great DX for you?
Charlie Cheever: I think that the biggest thing that like you can give in sort of a Dev X experience is if you take somebody who like thinks they can't quite do something and that's got, something's gonna be hard, and then all of a sudden it just ends up easier than they thought. And they're just sort of on a smooth path to something happening. And so I think that the times when I've seen that happen are, when I first used PHP when I was a kid, it just had all these things where, you know, it would grab the parameters from the URL or the post parameters and stuff.
Like a lot of little things that you would've had to figure out in a pretty, you know, complicated way. Even if you were using something like pretty close to it like Perl CGI or something like that. Got a lot easier. And then I remember watching videos of people competing like in the sort of mid-2000s where, and I never even used Rails, but I just saw these where it's "make a blog in 12 minutes with Ruby on Rails."
And then somebody else had put out a video that was like, make a blog in, you know, eight minutes and then seven minutes and then six minutes and just sort of like competing to get that as smooth and streamlined as easy as possible was I think pretty amazing.
Sagar Batchu: I bet that's faster than writing prompts to get it.
Charlie Cheever: Yeah. Right. Yeah. Right. Although it is pretty amazing how much like sometimes you'll see these articles that are like, you know, "things used to be so simple and now we're stuck in JavaScript thrash hell," or you know, "everything's changing all the time."
The Power of Undo
Charlie Cheever: But our expectations for what, like a decent piece of software is have gone like through the roof. And so I think the thing you were mentioning about Vercel, where like they do a really great job of taking your project and making it live.
I think we do a decent job of that, but I think anything where you're just like, "Oh, like that was gonna be really hard" and all of a sudden I just could do this thing. I think the other sort of second thing I would say is things that have really powerful undo features are also really, really special.
And so Git is a really good example of this, or just like using version control is a big thing, but also things like Neon that let you, like fork databases and things like that. That's also like, I think a really core component of a great developer experience where it frees you up to feel like you don't have to be like super nervous or worried about breaking something when you always feel like you can just kind of like if you mess something up, you can get back to a good place. And that creates this sense of safety and the sense of sort of free play and expression that I think helps you make stuff faster and more close to what your ideal is.
Sagar Batchu: I love that. I think as you said, that gave me like three ideas for our own product. I want an undo feature now.
Charlie Cheever: Yeah.
Conclusion
Sagar Batchu: Cool. Well hey, thanks for taking the time to chat today. We'll have to do this again and actually do a podcast with AI 'cause that's what everyone wants to hear about. If our listeners want to get in touch with you, what's the best way? Where's your website? What are you...
Charlie Cheever: Yeah. Expo.dev is our website and you can, you know, make apps happen really quickly at incredibly high amounts of quality. You can find us on BlueSky Expo.dev there. I'm CGeChong on BlueSky, CChI on X/Twitter and CChI on GitHub.
Sagar Batchu: Awesome. Thanks a lot.
Charlie Cheever: Thanks guys.
FAQ
What is Expo?
Expo is a platform that helps developers bring their ideas to life across iOS, Android, and web. It makes React Native more accessible and usable for developers starting from scratch or those without extensive resources.
How long did it take to create a mobile app at Quora?
According to Charlie, it took about nine months to wrap Quora's existing mobile website in a native tab bar and get it into the App Store. The Android version took approximately 10 months.
What was the adoption rate of Quora's mobile apps?
The iOS app quickly gained traction, capturing 10% of traffic in the first month after launch, with that number growing by approximately 1% each month. The Android app showed similar adoption rates.
What does Charlie think about GraphQL?
Charlie views GraphQL as a step forward but notes it doesn't reach far enough back into the actual data store or forward enough into the client experience. He believes we're still in the process of figuring out the right approach to APIs and backend systems.
How is AI affecting Expo's user base?
Expo is seeing many new users who are using AI prompt-to-app tools and aren't traditional developers. This has prompted them to rethink their products and terminology to accommodate users who may not have technical backgrounds.
What makes for a great developer experience according to Charlie?
Charlie highlighted two key aspects: 1) Making something that seems difficult surprisingly easy, creating a smooth path to completion; and 2) Having powerful "undo" features that create a sense of safety and freedom to experiment without fear of breaking things.