The OTA Illusion: What No One Tells You About Instant Updates at Scale

Adam Mruk

Senior Engineer at Klarna

I’ve been passionate about technology since childhood, starting with electronics and embedded systems (a long time before Arduino was a thing). I graduated in Automation and Robotics but ultimately found my calling in web development. With over 10 years of professional experience, I’ve spent the last 3 years at Klarna as a member of one of the Client Core teams. We focus on the foundations of the Klarna RN application, building tools and infrastructure that serve tens of millions of users worldwide.

The OTA Illusion: What No One Tells You About Instant Updates at Scale

OTA updates promise instant delivery of new features, but the reality at scale is far more complex. Adam Mruk (Senior Engineer at Klarna) takes us behind the scenes of building an in-house OTA solution serving 100M+ users across iOS, Android, web, and browser extensions. Drawing on Klarna’s experience, he reveals why “just pushing a new bundle” is only the beginning.

▪ Why OTA can only ship JavaScript updates, not native code

▪ Klarna’s custom OTA architecture: backend services, artifact storage, and client rollout control

▪ Using Re.Pack for code splitting and Script Manager for bundle loading

▪ Diff-based updates to shrink payloads from tens of MBs to hundreds of KBs

▪ Reliability techniques: health checks (“dead on arrival”), rollback strategies, checksum validation

▪ Real-world pitfalls with Hermes bytecode diffs, asset resolution on iOS, and rollout percentages

▪ Why “instant” updates aren’t truly instant and how analytics and monitoring must adapt

This talk cuts through the hype and shows what it really takes to implement robust OTA updates in React Native at scale.

SUBSCRIBE TO
RUC NEWSLETTER

We'll share the latest updates—new speakers, ticket offers,
and additional events details. Stay tuned!

Thanks for getting in touch! Stay tuned!
Oops! Something went wrong while submitting the form.