« All posts

Building a React Native SDK Inside an 800K-User Super-App

Kwaaka embedded a crash-safe React Native coupon SDK into Kazakhstan's Onay super-app, serving 800K users via OTA updates and a native bridge.

Kwaaka built a React Native SDK that embeds a restaurant-coupons module into Onay, Kazakhstan's super-app with roughly 800,000 daily users. As the sole frontend engineer, the author owned architecture, performance and shipping under a constraint ordinary React Native apps never face: the SDK has no root navigation of its own and must never crash the host app.

State management ran on Effector with Farfetched for caching, matching Kwaaka's existing web stack. To ship fixes without waiting on App Store review, the team built a custom over-the-air update pipeline through Cloudflare R2, using SHA-256-verified bundles and two polling tiers (latest.json and critical.json) so patches reach every user within minutes.

To avoid asking authenticated Onay users to log in again, the SDK pulls JWT, coordinates and language directly from the native layer via NativeModules. On iOS, a temporary override of RCTFatalHandler stops unhandled JS errors from crashing the host app; on Android, the bridge is pre-warmed to cut first-render latency.

Six coupon types are validated on both client and server, with a CouponThresholdHint component that renders live progress copy correctly declined for Russian grammar. The SDK is now in test rollout in Almaty, with the architecture designed so new cities require no client-side changes.