Guest
Michael Blanchard
Director of Engineering
@
NFL

For the NFL, technology is as time‑sensitive as the game itself. Millions of fans expect live video and stats to work flawlessly across devices, from iPhones to Xboxes, every game day. Behind the scenes, that means building and maintaining apps for mobile, web, and a long list of connected TVs under unmovable deadlines like kickoff and the Super Bowl.

In this episode of React Universe On Air, Mike Grabowski talks with Michael Blanchard, Director of Engineering at the NFL, about how React Native became the foundation for this high‑pressure, multi‑platform ecosystem.

Guest & episode summary

Michael Blanchard has spent nearly nine years at the NFL, starting as a web engineer before stepping into the Director of Engineering role. Today he leads teams responsible for nfl.com, three mobile apps (NFL, Fantasy, Network), a cross‑platform video player, and a suite of connected TV apps. His journey with React Native began when the NFL sought a faster way to deliver consistent fan experiences across platforms without multiplying team sizes.

The episode’s host, Mike Grabowski, CTO and Founder at Callstack, brings both curiosity and deep technical grounding as he unpacks the NFL’s migration strategy, their evolution from Haul/Webpack to Metro and Expo, and the cultural shifts that enabled engineers from web and native backgrounds to collaborate in one monorepo.

React Native adoption decisions

The NFL didn’t tiptoe into React Native. Instead, they merged web, iOS, and Android teams into a single front‑end group and started a full greenfield project to replace their flagship app in time for the 2018 season. A few years later, they launched a second rewrite to align with new product goals like NFL+, showing how technical resets can serve evolving business needs.

Journey to React Native

From custom Webpack builds and React Native Navigation to Metro bundler and React Navigation, the NFL’s setup has shifted with the ecosystem. Michael details how Expo SDKs gradually replaced community libraries, why their video player still requires custom native work, and how Expo fingerprinting keeps builds efficient. The NFL journey illustrates a balance of pragmatism and adoption of modern tooling.

Technical operations and tooling

The team’s CI/CD story spans from Jenkins and Fastlane to a modern GitHub Actions pipeline powered by EAS Build. With 20-30 developers submitting PRs daily, selective builds, unit test optimizations, and smart caching are critical to keeping engineering velocity high. Their monorepo structure allows shared libraries across mobile, web, and TV while keeping ownership boundaries clear.

Team evolution

Adopting React Native meant reshaping the NFL development team as well. Web and native engineers started from zero together, learning new primitives, collaborating on bridging, and sharing ownership of components. Some engineers transitioned fully into React Native, while others pursued native‑first roles. The result is a culture where experimentation with Expo, Next.js, and React Native Web is encouraged, and delivery is measured against game‑day deadlines.

What you’ll learn

  • Why the NFL chose a full greenfield strategy twice
  • How business milestones like NFL+ shaped technical resets
  • What lessons came from moving from Haul/Webpack to Metro
  • How Expo SDKs gradually replaced community packages
  • How GitHub Actions and EAS Build transformed their CI/CD pipeline
  • Strategies for managing 20–30 PRs daily across a monorepo
  • How React Native powers not only mobile, but also web and multiple connected TVs
  • What cultural shifts helped web and native engineers work as one team

Resources

Insights

Learn more about Cross-Platform

cover

Feb 27Article

Sparkling: The Missing App Layer for Lynx.js?

A hands-on look at Sparkling for Lynx.js: CLI, native navigation, and the tooling layer that turns Lynx into a full mobile app framework.

cover

Feb 12Live Stream

Sparkling: A New Framework for Lynx

Join the Lynx team live as we explore Sparkling, its boundaries with Lynx, core features, and bootstrap a project from scratch.

cover

Dec 19Article

Visualizing the Dual-Thread Model of Lynx JS

A practical look at Lynx JS’s dual-thread runtime, using real examples to show how main and background threads behave under load.

cover

Dec 2Live Stream

Two Threads of Lynx.js Part 2

Learn how Lynx.js uses a dual-threaded model, how its APIs work, and what it means for performance in this live session with Lukasz Chludzinski and Kewin Wereszczynski.

cover

Nov 27Live Stream

Exploring Lynx.js and Its Two-Thread Runtime

A recap of our live session exploring how Lynx.js splits work across a main thread and a background thread.

cover

Nov 20Live Stream

Introducing Solito 5 and the Web-Native Mindset

Join us on November 20 for a deep dive into Solito 5 with its creator, Fernando Rojo, and the Callstack team.

cover

Nov 13Live Stream

Inside Valdi: What We Learned Exploring Snapchat’s New UI Framework

A hands-on look at Valdi, Snapchat’s new UI framework: setup, architecture, rendering model, and early developer impressions.

cover

Nov 12Talk

My First Few Months With Lynx.js

Is Lynx.js the next big thing in UI? Łukasz shares a newcomer's journey with the framework from TikTok's creators, revealing the good, the bad, and crucial lessons he learned.

cover

Nov 7Article

Exploring Lynx JS: From Quick Start to CLI Workflows

Learn how to set up Lynx JS, explore its ecosystem, and use the Community CLI to build native apps with a familiar JavaScript workflow.