Remix on iOS and Android
Native apps on the App Store and Google Play β swipe the feed, build in studio, boost creators, and enter sweepstakes from your phone.
Remix Team
Remix Team

One React Native app, two stores
Remix shipped as native apps on both iOS and Android from a single shared React Native codebase. Rather than maintaining two platform-specific clients, the feed, studio, profile, and rewards surfaces are written once and compiled to native binaries for each platform. The whole monorepo resolves to a single React copy, which is what keeps hooks and context stable across the native client and the web apps that share component code.
The release pipeline produces signed builds for the App Store and Google Play off the same source. Version metadata is tracked centrally so the server knows which client versions are live in the wild at any time. That matters because the tRPC API has to support multiple released mobile versions simultaneously: mobile clients ship on their own review timelines, so the backend keeps older route contracts working rather than breaking a build that is still in users' pockets.
Play-session tracking parity
The bigger engineering goal was parity in how play sessions are recorded across every surface. A play on iOS, on Android, in a mini app, and on the web now flows through the same session tracking contract, so scores, streak credit, and Bits accrue identically no matter where the game ran. Authentication resolves to one account across surfaces through shared session storage, so signing in on the phone gives the same identity as the web feed without re-linking.
This is the foundation that makes competition fair. If a session counted differently depending on platform, leaderboards and sweepstakes entries would be gameable by surface-hopping. Unifying the tracking path closes that gap and means a player's streak, Bits balance, and creator profile are authoritative server-side rather than reconstructed per client.
Native also unlocks push notifications and removes the constraints of running inside another app's webview shell, so the feed renders and responds faster than the embedded mini-app experience.