Building v0 iOS and Fixing React Native Along the Way

youtube-cover
Subtitles
Show

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

Timestamps
Show

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

Listen on Spotify
Watch on YouTube
Listen on SoundCloud
Listen on Apple Podcasts
Guests
Fernando Rojo
Head of Mobile
@
Vercel
Szymon Rybczak
Software Developer
@
Callstack
Oskar Kwaśniewski
Software Developer
@
Callstack

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript

Show Transcript

Vercel's v0 iOS app is built with React Native, yet delivers the look and feel of a native iOS product. In this episode, the team behind it walks through the technical decisions, trade-offs, and low-level fixes required to ship a polished, production-ready app under real deadlines.

Episode summary

Ola Desmurs-Linczewska is joined by Fernando Rojo, Head of Mobile at Vercel, and Callstack engineers Oskar Kwaśniewski and Szymon Rybczak. Together, they break down how v0 mobile was built using React Native and Expo, why the team went iOS-first, and how deep dives into Yoga, gesture handling, and WebView internals shaped the final product.

Iterating to greatness

At Vercel, shipping early and iterating constantly is a core principle. For v0 iOS, this meant prioritizing release momentum while avoiding blocking issues that didn’t affect core experience. The team focused on shipping a solid foundation, then refining UI, interactions, and performance through frequent iterations rather than waiting for perfection.

Expo as the foundation

Expo was the default choice for starting the project, providing fast iteration, EAS builds, and Expo Modules for custom native integrations. As the app matured, the team leaned heavily on Expo’s extensibility, writing native modules when needed and patching libraries directly to keep development moving.

Going iOS-first

The team deliberately focused on iOS, targeting the latest system versions early. This allowed them to fully embrace platform-specific APIs such as scroll view insets and advanced keyboard handling without compromising for cross-platform parity. Android is planned, but only after the iOS experience feels complete.

Fixing React Native at the source

While building v0 iOS, the team frequently uncovered opportunities for improvement within the React Native core, such as modal flickering caused by asynchronous Yoga layout updates. Rather than working around them, they patched React Native directly and upstreamed fixes, some of which landed in later React Native releases.

Open source as a byproduct

Several components built specifically for v0 were open-sourced, including liquid glass UI effects and a rewritten pager view implemented in SwiftUI. Other work, such as improved keyboard handling and gesture coordination, is planned for release once it is decoupled from v0-specific logic.

What made this possible was the team’s habit of pushing complexity downward: whenever a solution felt too low-level, fragile, or app-specific to live comfortably in product code, it became a candidate for extraction. The result was a steady stream of libraries, forks, and upstream contributions shaped by real production constraints, rather than abstract examples, turning v0 iOS into a proving ground for tools the wider React Native community can now build on.

Resources

Summary

Integrating AI into your React Native workflow?

We help teams leverage AI to accelerate development and deliver smarter user experiences.

Let’s chat
Link copied to clipboard!
//
Insights

Learn more about AI

Here's everything we published recently on this topic.

//
AI

We can help you move
it forward!

At Callstack, we work with companies big and small, pushing React Native everyday.

React Native Development

Hire expert React Native engineers to build, scale, or improve your app, from day one to production.