React Native at Scale
Episode
45 min
Read time
2 min
Topics
Productivity, Fundraising & VC, Design & UX
AI-Generated Summary
Key Takeaways
- ✓Performance Measurement Framework: Divide mobile app performance into four distinct buckets: cold start time (app launch to main screen), inter-screen navigation smoothness, error rates blocking user journeys, and end-to-end task completion time such as opening the app through completing a crypto trade. Avoid measuring too many metrics simultaneously — narrow focus produces actual improvements rather than boiling the ocean.
- ✓Data Fetching Anti-Patterns: Two patterns consistently degrade reliability at scale. First, over-fetching triggers unnecessary React re-renders and fans out one client request into potentially 100 downstream microservice calls. Second, polling that persists across navigation stack screens continues hitting backend services even when users have moved away, adding compounding API load that compounds under high-traffic price-movement events.
- ✓GraphQL Defer + Suspense Instrumentation: Structure each screen around a single GraphQL query with child component fragments, then use GraphQL's defer directive to load non-critical fields after the primary UI renders. Coinbase measures total screen render time using Suspense instrumentation tied to these deferred components, replacing full-screen spinners with contextual loading states that keep users engaged during data fetches.
- ✓React Native New Architecture Wins: Enabling the new React Native architecture eliminates the legacy bridge between JavaScript and native threads via the JavaScript Interface (JSI), removing the round-trip latency that previously slowed native module calls. Turbo Modules accelerate specific native interactions like camera access and keychain operations. Teams should also update React Native versions proactively, as infrastructure upgrades independently improve cold start metrics beyond code-level optimizations.
- ✓AI-Assisted Code Quality at Scale: Coinbase uses contextual `agents.md` files scoped to specific code areas so AI agents automatically include required instrumentation — screen names, page metadata, rendering metrics hooks — when generating UI components. AI is also used to surface ESLint violations across pull requests, flagging patterns like missing cache policies or active polling, reducing back-and-forth review cycles and enforcing standards without relying on developer memory.
What It Covers
Coinbase Staff Engineer Manjiri Mboge explains how her team scales React Native across millions of global users, covering four performance metric buckets, data fetching anti-patterns, GraphQL with Suspense instrumentation, the new React Native architecture with JSI and Turbo Modules, and AI-assisted development workflows that now generate over 50% of Coinbase's code.
Key Questions Answered
- •Performance Measurement Framework: Divide mobile app performance into four distinct buckets: cold start time (app launch to main screen), inter-screen navigation smoothness, error rates blocking user journeys, and end-to-end task completion time such as opening the app through completing a crypto trade. Avoid measuring too many metrics simultaneously — narrow focus produces actual improvements rather than boiling the ocean.
- •Data Fetching Anti-Patterns: Two patterns consistently degrade reliability at scale. First, over-fetching triggers unnecessary React re-renders and fans out one client request into potentially 100 downstream microservice calls. Second, polling that persists across navigation stack screens continues hitting backend services even when users have moved away, adding compounding API load that compounds under high-traffic price-movement events.
- •GraphQL Defer + Suspense Instrumentation: Structure each screen around a single GraphQL query with child component fragments, then use GraphQL's defer directive to load non-critical fields after the primary UI renders. Coinbase measures total screen render time using Suspense instrumentation tied to these deferred components, replacing full-screen spinners with contextual loading states that keep users engaged during data fetches.
- •React Native New Architecture Wins: Enabling the new React Native architecture eliminates the legacy bridge between JavaScript and native threads via the JavaScript Interface (JSI), removing the round-trip latency that previously slowed native module calls. Turbo Modules accelerate specific native interactions like camera access and keychain operations. Teams should also update React Native versions proactively, as infrastructure upgrades independently improve cold start metrics beyond code-level optimizations.
- •AI-Assisted Code Quality at Scale: Coinbase uses contextual `agents.md` files scoped to specific code areas so AI agents automatically include required instrumentation — screen names, page metadata, rendering metrics hooks — when generating UI components. AI is also used to surface ESLint violations across pull requests, flagging patterns like missing cache policies or active polling, reducing back-and-forth review cycles and enforcing standards without relying on developer memory.
Notable Moment
Mboge describes how performance problems follow a roughly two-year cycle at Coinbase — teams fix a metric, ship new code, onboard new engineers, and the same degradation reappears. Her conclusion is that performance improvement is pattern recognition and execution, not heroic engineering, making automation and guardrails the only durable solution.
Episode Transcript
React Native is an open source framework developed by Meta that allows engineers to build mobile applications for both iOS and Android using a single JavaScript codebase. The framework bridges the gap between web development and native mobile, which lets teams ship to both platforms simultaneously without sacrificing the look and feel of a truly native app. Manjari Mogue is a staff software engineer at Coinbase, where she has spent five years building and scaling one of the world's most demanding React Native applications. Her work spans performance optimization, reliability engineering, and the developer tooling that keeps large engineering teams moving quickly without sacrificing quality. In this episode, Munjari joins Josh Goldberg to discuss why React Native has become the framework of choice for high velocity mobile teams, how Coinbase measures app help, how to handle data fetching and loading in production, how AI coding agents are changing the day to day workflow for mobile engineers, and more. This episode is hosted by Josh Goldberg, an independent full time open source developer. Josh works on projects in the TypeScript ecosystem, most notably TypeScript ESLint, a powerful static analysis toolset for JavaScript and TypeScript. He is also the author of The O'Reilly Learning TypeScript Book, a Microsoft MVP for developer technologies and a cofounder of SquiggleConf, a conference for excellent web developer tooling. Find Josh on Blue Sky, fostidon,and.com as Joshua k Goldberg. Hello, everyone. With me today is Manjiri Mboge, Staff Software Engineer at Coinbase. Manjiri, welcome to Software Engineering Daily. Thank you. I'm excited. I've been an avid listener and, yeah, excited to talk to you today. Great. Well, we're excited to have you here. Let's start off with you. How did you get into coding? Yeah. So I got into coding pretty late. At least, I like to think that I got into coding pretty late. I am an electronics and telecommunication major, and we did have coding subjects in engineering, c, c plus plus, Java, but I never really liked them. It's probably because my mom was actually into software. She started coding in 1983 in COBOL, and I grew up around programming books like ERP, SAP, Java. And I made up my mind this is not something I want to do. So I definitely registered it. But it wasn't until my final year hardware project where we designed the PCB, wrote hardware code in it was called VHDL, hardware descriptive language. And I saw it working on the circuit. That's when I was like, okay. I built this. I can do this. And I realized the power of coding and software engineering in general. So right out of college, I got my first job at a consulting company. I learned iOS and Android. It was the AI back then. You know, 2011, 2012, everyone wanted to learn mobile development, and I was very happy I was working on, like, cutting edge technology. Loved native development back then. And then moved towards hybrid mobile development, which was …
Get the full transcript (7,765 words) + summary by email — free
One-time email with the complete transcript and AI summary of this episode. No account needed.
One email, no spam. We’ll also show you what SignalCast does.
You just read a 3-minute summary of a 42-minute episode.
Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from Software Engineering Daily
AI and the New Global Security Landscape
Aug 20 · 72 min
Latent Space
Codex from 0 to 10M Users: Building ChatGPT Work — Akshay Nathan, OpenAI
Jul 28
More from Software Engineering Daily
How LLMs Are Reshaping Recommendation Systems
Aug 18 · 47 min
Eye on AI
What Industrial AI Actually Looks Like | Kriti Sharma, Nexus Black
Jul 10
Books, tools, and gear mentioned in this episode
SignalCast may earn commission on purchases via these links.
Tools
“SPONSORS: Turbopuffer (https://turbopuffer.com/sed)”
by Meta
“Coinbase Staff Engineer Manjiri Mboge explains how her team scales React Native across millions of global users, covering four performance metric buckets, data fetching anti-patterns, GraphQL with Suspense instrumentation, the new React Native architecture with JSI and Turbo Modules, and AI-assisted development workflows.”
“SPONSORS: Estuary (https://estuary.dev)”
“AI is also used to surface ESLint violations across pull requests, flagging patterns like missing cache policies or active polling, reducing back-and-forth review cycles and enforcing standards without relying on developer memory.”
“GraphQL Defer + Suspense Instrumentation: Structure each screen around a single GraphQL query with child component fragments, then use GraphQL's defer directive to load non-critical fields after the primary UI renders.”
company
“SPONSORS: Guardsquare (https://www.guardsquare.com)”
More from Software Engineering Daily
We summarize every new episode. Want them in your inbox?
AI and the New Global Security Landscape
How LLMs Are Reshaping Recommendation Systems
Rebuilding the Cloud for AI Agent Code
SED News: The Kimi Moment, Runaway AI, and Tokenmaxxing
The Terminal as an Agentic Interface
Similar Episodes
Related episodes from other podcasts
Latent Space
Jul 28
Codex from 0 to 10M Users: Building ChatGPT Work — Akshay Nathan, OpenAI
Eye on AI
Jul 10
What Industrial AI Actually Looks Like | Kriti Sharma, Nexus Black
Machine Learning Street Talk
Jul 1
The Benchmark With No Instructions — ARC-AGI-3 (winning team!)
How I AI
Jun 22
How Claude Mythos found a 15-year-old bug in Mozilla Firefox | Brian Grinstead
How I AI
Jun 15
How Braintrust uses AI agents, evals, and CI to ship better software | Ankur Goyal
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
You're clearly into Software Engineering Daily.
Every Monday, we deliver AI summaries of the latest episodes from Software Engineering Daily and 192+ other podcasts. Free for one show.
Start My Monday DigestNo credit card · Unsubscribe anytime