Migration to Next.js

Take your React app server-side

Client-only React leaves SEO and performance on the table. We migrate SPAs and legacy React apps to Next.js route by route - server rendering, streaming, edge delivery - without a big-bang rewrite.

React Foundation Founding Member
300+ commits to React Native
Industry runs on our tooling
50M+
OSS downloads / month
4x
More React Native pages
30%
React Native adoption
60 → 10min
Faster builds after replacing Jenkins with EAS
React Native Brownfield

Tooling for introducing React Native into existing native apps incrementally.

100+
Enterprise projects delivered

What you get

SSR without the rewrite.

  • Incremental migration path

    Route-by-route adoption behind a proxy, so the product ships while it migrates.

  • Rendering strategy per page

    SSR, SSG, ISR, or client rendering chosen on data and traffic, not fashion.

  • Core Web Vitals gains

    LCP, INP, and CLS improvements measured and tied to SEO and conversion.

  • Data layer redesign

    Fetching moved to the server, ending loading-spinner cascades.

  • Edge and caching setup

    CDN, edge runtime, and cache rules configured for your traffic profile.

  • Zero-regression safeguards

    Visual and behavioral checks on every migrated route before cutover.

Migration to Next.js

Faster pages, found by search.

An incremental Next.js migration with gains proven in metrics you already track.

How we work together

Move from migration plan to rollout.

  • Extend your team

    Our senior engineers join your team to ship features, guide technical decisions, and strengthen delivery.

    • Your roadmap and workflow
    • Expertise shared as we work
    • Flexible timezone coverage
  • Deliver a project

    We take agreed work from technical planning to release, with clear responsibilities and progress you can see.

    • 3 Callstack engineers ship like 6
    • Impact visible before sprint two
    • End-to-end delivery
  • Solve specific challenge

    We address a performance, migration, or infrastructure challenge, or run training around your team’s needs.

    • Focused reviews or implementation
    • Knowledge your team keeps
    • Outcomes guaranteed with contract

Case studies

What shipping at AI speed looks like.

Migration to Next.js

Faster pages, found by search.

An incremental Next.js migration with gains proven in metrics you already track.

We had been struggling with React Native application performance until we met Callstack.

Huỳnh Chí HùngAssociate Director / MOMO

Get my migration plan

We’ll connect you with the right expert within 24 hours.

Still have questions?

Let’s find the right path for your product.

Whether you’re planning new work or unblocking an existing product, we’ll help you choose the right path forward.

Incremental or big-bang?

Incremental, almost always. A proxy routes migrated paths to Next.js while the rest stays on the SPA, so risk stays per-route. We migrated AutoZone's storefront this way - it recovered a #1 SEO position.

What happens to our SPA routing and state?

Routing maps to the file-system router; global state usually shrinks as server data replaces client caches. We plan both explicitly per route group.

Do we need Vercel?

No. Next.js runs self-hosted, on containers, or on any major cloud. We deploy to the infrastructure your constraints require.

Are the SEO gains real?

For crawl-sensitive, content-heavy products, yes - server rendering plus Web Vitals improvements move rankings. For logged-in-only apps, the win is performance, not SEO.

App Router or Pages Router?

App Router for new work, with a pragmatic path for existing code. We do not force a double migration in one step.

How long does it take?

Driven by route count and data-layer complexity. The assessment produces a per-phase timeline before any code moves.

Open Source

Build with our open-source tools.

We open-source the tools behind our delivery model.
Use them, fork them, or let us run them for you.

React Native Brownfield

Incrementally move your iOS and Android apps to React Native without breaking

552 stars

Agent Skills

Callstack’s best practices on React Native performance optimization, upgrading, CI workflows, and brownfield migrations

1.7K stars

React Native Community CLI

Command line tools to help you build React Native apps

13.5M downloads/mo

React Native Builder Bob

Simple set of CLIs to scaffold and build React Native libraries for different targets

1.4M downloads/mo

Rock

Modular toolkit for teams building React Native apps

700 stars

Insights

Worth your time, by engineers.

cover

Aug 27Article

React Native in .NET MAUI: A Practical Brownfield Integration Guide

This article walks through how we embedded React Native inside a .NET MAUI application using a brownfield setup. It covers the packaging layer, lifecycle wiring on iOS and Android, navigation through MAUI Shell, and shared state between the MAUI and React Native runtimes.

cover

Aug 3Article

Migration to React Native in 2026 Starts With a Delivery Question

This article helps mobile teams choose between brownfield and greenfield React Native migration. It explains how each approach shifts risk across continuity, native dependencies, delivery pressure, verification, and architecture ownership, and introduces a checkpoint-based path for teams that want to test a greenfield rebuild before committing. It also shows where AI can help and what still needs human control.

cover

Jul 8Article

How we made Hybrid iOS apps compile 39% faster with React Native Brownfield

React Native Brownfield 3.10 brings iOS prebuilts into the packaging flow, removing a major compile step from hybrid app builds. This article explains how the integration works, what changed under the hood, and what our benchmark results show for React Native and Expo projects.

cover

Jun 11Article

AI-Assisted React Native Migration for TV: Lessons From Zattoo

Zattoo started its React Native TV migration before today’s AI-assisted workflows became common. Their story shows where AI can now support similar migrations, from onboarding and refactoring to testing and platform-specific implementation work.

cover

Jun 3Article

AI-Supported Brownfield Migration to React Native

Brownfield migration is rarely slowed by the rewrite itself. The real cost sits in setup, requirements capture, native integration, and validation. This article shows how an AI-supported workflow reduces that work from weeks to days while keeping engineering review in the loop.

cover

Mar 31Article

Brownie: A Type-Safe Shared-State Workflow for Brownfield React Native

For teams embedding React Native into existing native apps, Brownie reduces state-management glue code at the integration boundary. One TypeScript schema drives shared state across React Native, iOS, and Android with a workflow built for production use.

cover

Mar 24Article

From Brownfield Complexity to AI-Supported React Native Migration

Brownfield migrations often fail due to ordering and integration gaps, not framework limits. This article explains how an AI-supported workflow helps enforce correct sequencing across packaging, startup, and runtime validation.

cover

Mar 13Article

Handling Navigation in React Native Brownfield Apps

Navigation between React Native and existing native screens can be difficult in brownfield apps. This guide shows how to define a navigation contract, generate native delegates, and connect both layers using @callstack/brownfield-navigation.

cover

Feb 26Article

Announcing: React Native Brownfield v3 with Expo Config Plugin

Moving a large native app to React Native rarely happens in one rewrite. React Native Brownfield v3 combines Expo with an artifact-based packaging approach, so you can ship React Native screens inside your existing app without destabilizing your product.

cover

Jan 20Article

Introducing Brownie: Type-Safe Shared State for React Native Brownfield Apps

Brownie is a new shared state library designed for React Native brownfield applications. It addresses a common pain point in mixed native and React Native codebases: keeping state consistent without building and maintaining custom Turbo Modules. With Brownie, teams define their state once in TypeScript and generate matching native types automatically. The article introduces the core ideas, shows how the workflow fits into real brownfield apps, and outlines what’s included in the iOS alpha release.

cover

Apr 28Article

Powering Native Apps with React Native Brownfield

This article introduces the brownfield approach, explaining how it allows you to bring React Native into existing native apps without starting from scratch. It then covers how our library, React Native Brownfield, simplifies this process by embedding React Native screens into native apps, and provides an overview of its structure and key features.

cover

Sep 6Article

iOS Brownfield App With React Native in an Easy Way

Integrating React Native into an existing iOS app doesn't have to be complicated. This guide walks through how to add React Native screens to a native codebase incrementally, with practical tips to navigate between native and React Native views seamlessly.

cover

Dec 27Article

Why Is It Important to Always Run The Latest Version of React Native?

Keeping your React Native app up to date is crucial for accessing new features, performance improvements, and security fixes. While upgrading can be challenging, tools like React Native Upgrade Helper and align-deps simplify the process of applying changes and managing dependencies.

cover

Nov 18Article

Why Brownfield Development With React Native Is Worth Your Attention

Migrating to React Native doesn't have to disrupt your existing apps. We walk through how to introduce React Native incrementally using a brownfield approach, allowing you to validate early technical risks before scaling up.

cover

Feb 6Article

Stripe React Native Migration Function by Function - Tipsi Migration Guide, Part 3

This article dives into the details of migrating each payment function from tipsi-stripe to the official stripe-react-native SDK. It covers card components, accepting payments, tokens, Apple Pay, Google Pay, and provides a real-world migration example.

cover

Feb 8Article

Stripe React Native: the Most Common Questions - Tipsi Migration Guide, Part 5

Migrating from tipsi-stripe to the official Stripe React Native SDK? This guide answers common questions about feature parity, incremental migration, Expo support, and more to help you make the switch smoothly.

cover

Dec 6Article

Stripe React Native Configuration - Tipsi Migration Guide, Part 2

Migrating from tipsi-stripe to the official Stripe React Native SDK? This guide walks through the key steps to remove tipsi-stripe, add stripe-react-native, and initialize the new library using the StripeProvider component.

cover

Oct 1Article

Simplify Your iOS Brownfield Integration With RootViewFactory

Integrating React Native into existing iOS apps can be tricky, especially when enabling the New Architecture. RootViewFactory simplifies this process, making it easier to create React Native views in brownfield apps without verbose setup or refactoring.

cover

Nov 3Article

Migrating a React Native Library to the New Architecture

Migrating a React Native library to the New Architecture doesn't have to be daunting. This guide walks through the key steps, from writing TypeScript specs to extending generated interfaces, with helpful resources and examples from recently migrated libraries.

cover

Apr 19Article

Migrating React and Native Apps To React Native - Everything You Need To Know

Migrating native or React apps to React Native doesn't have to be a complete rewrite. We walk through the key differences between greenfield and brownfield approaches, and share best practices for incrementally introducing React Native while maintaining your existing apps.

cover

Nov 28Article

How to Upgrade React Native in a Brownfield Application

Upgrading React Native in a brownfield app can be complex, with challenges like dependency conflicts and breaking changes. This guide walks through the process step-by-step, from aligning dependencies to updating native code for iOS and Android. It also covers common pitfalls and tips to make the upgrade smoother.

cover

Feb 7Article

How to Not Break Your App After Migrating From Tipsi Stripe to Stripe React Native - Migration Guide, Part 4

Migrating from Tipsi Stripe to Stripe React Native can be daunting, but following best practices helps ensure a smooth transition. This guide shares key steps like writing end-to-end tests, building your app frequently during migration, and setting up crash reporting to catch any issues early.

cover

Nov 8Article

How to Migrate From Tipsi Stripe to the Stripe React Native SDK - Migration Guide, Part 1

Migrating from the unmaintained tipsi-stripe library to the official stripe-react-native SDK doesn't have to be painful. This guide walks through the key differences, new features, and steps to upgrade your React Native app to the latest payments integration.

cover

Nov 25Article

How to Integrate React Native With an Existing App

Integrating React Native into an existing app doesn't have to be daunting. We walk through a practical example of adding React Native to the open-source Mastodon iOS and Android apps, sharing step-by-step instructions to get you started.

cover

Sep 6Article

Developing an Android Brownfield App With React Native in an Easy Way

Integrating React Native into an existing Android app doesn't have to be complicated. This guide walks through how to add React Native screens to a native Android codebase in a few simple steps using the react-native-brownfield library.

cover

Jul 24Article

Adding React Native to an Existing Flutter App

Adding React Native to an existing Flutter app is possible, though it requires integrating two cross-platform runtimes. We walk through the key steps to embed React Native views, set up popular libraries, and explore potential use cases for incrementally migrating or extending Flutter apps with React Native.

cover

May 16Podcast

You Don’t Need a Rewrite, You Need React Native Brownfield

Discover how modern React Native Brownfield integration enables cross-platform power in native apps, without rewriting from scratch.

cover

Jun 14Podcast

Migration to React Native

The 13th episode of React Universe On Air (formerly known as The React Native Show) is fully focused on migrating from different technologies to React Native, the two most popular approaches to this process (greenfield and brownfield software development), and our state-of-the-art brownfield approach.

cover

Jan 13Podcast

Lessons from Shopify's Migration to React Native with Mustafa Ali

Learn how Shopify's migration to React Native led to 86% code unification, reduced build times, and seamless feature parity across platforms.

cover

Jun 8Podcast

Brownfield Development With React Native

Learn how to tackle brownfield development with React Native, explore real-world challenges, and discover the React Native Brownfield library.

cover

Oct 8Talk

Same Destination, Different Roads: Migrating a Live App at Scale

Łukasz Chludziński compares Greenfield and Brownfield approaches to migrating a live app, weighing continuity, delivery speed, cost, and risk.

cover

Aug 27Talk

Adoption of Brownfield in React Native

Artur Morys-Magiera will explain how teams can adopt React Native incrementally inside existing native applications.

cover

Oct 9Talk

React Native Brownfield Deep Dive: How RN Moves Into Native Applications

Artur Morys-Magiera will explain how React Native can move into an existing native app without forcing a big-bang rewrite.

cover

Aug 18Meetup

Agentic AI in the Wild - Boston Dev Community Meetup

Join us in Boston on August 18 for an evening focused on a question most teams hit quickly with AI agents: how do you make them dependable once they leave the prototype phase and start touching code, workflows, and delivery timelines?

cover

May 5Meetup

KLJS x React Universe Meetup, Kuala Lumpur

Join Callstack and Ryt Bank on May 5 in-person for a React Universe meetup with practical talks for engineers working with React and React Native in production.

cover

Apr 27Webinar

From Native to React Native for TV: The Zattoo Case

Learn why and how Zattoo moved from native TV apps to React Native, what changed for their team, and what it takes to scale across multiple platforms efficiently.

cover

Apr 2Webinar

AI-Assisted Migrations to React Native: From Months to Days

Reduce migration time from months to days by using AI in real React Native workflows. Learn when to migrate incrementally and when starting fresh is the better option.

cover

Apr 23Talk

State of Brownfield in React Native

A practical look at Brownfield React Native adoption in mature native apps, architecture, tooling, and real-world tradeoffs.

cover

Nov 17Talk

Vega Developer Meetup

Learn how to integrate React Native into Android TV apps at the Vega Developer Meetup. Workshop, roadmap, and community talks, live in Munich.

Event Cover

Nov 5Webinar

Scaling React Native at Zalando: How Brownfield Migration Paid Off

Discover how Zalando scaled React Native across a massive e-commerce app, from internal buy-in to brownfield rollout, and what they learned.

cover

Oct 8Talk

React Everywhere: Bringing React Into Native Apps

Most teams use React on the web but still rely on native code or WebViews in their mobile apps. This talk explores how React Native can replace WebViews with minimal effort, allowing React to power both web and mobile.

cover

Aug 5Webinar

How to Gradually Migrate From React Native Community CLI to Expo

Learn how to migrate your React Native Community CLI app to Expo incrementally, with minimal risk. A recording of a webinar hosted by Callstack & Expo.

Event Cover

Jun 24Talk

Brownfield Incremental React Native Adoption x Rock

Learn how to smoothly adopt React Native in your existing apps using Callstack’s Rock for easier setup, faster deployment, and seamless integration.

Event Cover

Jun 24Meetup

React Universe Meetup, New York

Join us in NYC or online for React Universe Meetup: tech talks, real-world insights, and networking with React Native devs. June 24, 2025.

Event Cover

May 27Webinar

Adding React Native to iOS and Android Apps Has Never Been Easier

Learn how to easily add React Native to your iOS and Android apps with a modern brownfield setup powered by Callstack’s open-source tooling.

Event Cover

Mar 13Webinar

Using React Native in Existing Apps for Faster Cross-Platform Features

Learn how to use React Native in existing apps to speed up cross-platform development without a full rewrite. Watch the expert-led webinar now.