Beyond Local Rendering: Building a Server-Driven UI System with RemoteCompose
Article Summary
Theekshana Alwis from PickMe built a subscription screen that updates instantly—no app store approval, no waiting. He used RemoteCompose to turn Jetpack Compose UI into a binary format streamed from the server.
RemoteCompose is an experimental Android technology that enables server-driven UI by converting Jetpack Compose components into binary format. Alwis walks through building both the server (using Ktor) and client sides, demonstrating how to push UI changes in seconds instead of waiting for Play Store reviews.
Key Takeaways
- RemoteCompose converts Jetpack Compose UI into binary format rendered from server
- Update designs and run A/B tests instantly without app releases
- Requires Profile API level 37 and RemoteComposeContext for server setup
- Faster than WebView or JSON-driven UI but has limited API support
- Still experimental with restricted modifiers and shapes compared to standard Compose
RemoteCompose enables instant UI updates for Android apps by streaming binary-formatted Jetpack Compose from the server, eliminating the wait for app store approval.
About This Article
Updating Android UIs the traditional way means rebuilding the entire app, running tests, and waiting for Play Store approval. When designers need to fix a layout or change a button color in production, this process creates real delays.
Theekshana Alwis built RemoteCompose with a Ktor Server backend using Profile API level 37 and RemoteComposeContext. The system serializes Jetpack Compose UI into ByteArray format, which the Android client then renders through RemoteDocumentPlayer.
UI changes now reach users in seconds instead of waiting weeks for app store reviews. The subscription screen implementation shows this in action, updating designs instantly without any new app release needed.