
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
- Marc Rousavy on X, LinkedIn, and GitHub
- Mike Grabowski on X, LinkedIn, and GitHub
- VisionCamera documentation
- VisionCamera constraints guide
- VisionCamera repository
- VisionCamera v5.0.0 release notes
- What’s new in VisionCamera v5
- React Native QR & barcode scanner for VisionCamera v5
- Nitro documentation
- Margelo React Native skills











