Five years in the making, VisionCamera v5 is the release where Marc Rousavy’s camera work and the Nitro foundation finally meet. Marc explains what had to change under the hood, how VisionCamera helped shape Nitro from the start, and which new capabilities v5 brings into the library now that Nitro is mature.

Episode summary

Mike Grabowski sits down with Marc Rousavy, CEO at Margelo and the creator of VisionCamera, to unpack what the official v5 release notes call the biggest release in the library’s history. They trace the path from the early bridge era to Nitro Modules, then spend most of the episode on the practical side: what changed, what’s new, and which VisionCamera v5 features React Native teams should be excited about.

Why VisionCamera v5 needed a new foundation

VisionCamera and Nitro have been connected from the start. Early VisionCamera work explored ideas that later became Nitro, but the library itself still carried parts of the older native-module setup. With Nitro now feature-complete, v5 brings VisionCamera onto the foundation it originally helped shape.

Marc explains how that migration changes the library in practice: less hand-written native glue, cleaner APIs, better support for advanced camera features, and a more stable base for teams building scanning, capture, frame processing, and other device-heavy React Native features.

What changes for developers in practice

This is where the episode gets especially useful for teams planning an upgrade. Mike and Marc break down the constraints API, explain why the old formats model had to go, and show how negotiation helps avoid black screens, crashes, and unsupported camera setups on different devices. They also spend time on output objects, in-memory photo capture, barcode scanning, and migration from v4. Some apps should have a fairly direct upgrade path, while others will need more cleanup depending on how deeply they used the previous API.

How the library’s scope changed

Marc describes VisionCamera as something larger than a basic camera integration layer. The episode covers the spread from photo capture and QR scanning to frame processors, GPU textures, object detection, and direct access to image data. That wider scope is part of the reason the API had to become more deliberate. It also explains why v5 is about more than a faster release. The foundation had to support simple camera use and more advanced work without collapsing under edge cases.

Testing, stability, and what comes next

Later in the episode, the conversation moves from API design to release confidence. Marc explains what it took to make VisionCamera v5 feel ready for production: a broader test suite, AWS Device Farm coverage, and additional checks across real-device combinations. That matters because camera bugs often depend on specific devices, formats, permissions, and timing. Marc also talks about what comes next, but the key point is that v5 gives VisionCamera a steadier base for future work.

Resources

Insights

Learn more about React Native

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

Oct 7Talk

Building a Modern Navigation Library: The Hard Parts

At reactCon, Satyajit Sahoo explores the design choices behind React Navigation 8 and the challenges of creating a navigation library that works across platforms.

cover

Sep 24Talk

JSX to Live Activity: The Story of Voltra

Szymon Chmal will show how Voltra brings iOS Live Activities and widgets to React Native without requiring developers to write native UI code.

cover

Sep 24Talk

Building a Modern Navigation Library: The Hard Parts

Satyajit Sahoo will share the decisions and trade-offs behind React Navigation 8 and building a modern cross-platform navigation library.

cover

Jul 9Talk

From JSX to SwiftUI: How Voltra Powers iOS Live Activities

See how Voltra lets React teams build iOS Live Activities and Dynamic Island UIs without Swift by translating JSX into SwiftUI under tight native limits.

cover

Jul 1Podcast

Redraw for Effects Beyond Skia

William Candillon talks about where Redraw fits next to Skia, from physics-based rendering to camera effects, AR, and new UI patterns.

cover

Jun 29Article

Less Boilerplate, More Type Safety: React Navigation 8's Typed Hooks

React Navigation 8 improves typed hooks with screen-aware types, less boilerplate, and fewer unsafe casts in shared UI and nested navigators.

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 30Live Stream

Build a React Native App With the TanStack Stack

Join Callstack’s live stream on building a React Native app from the ground up using the TanStack toolbelt.