• 12 min read

Remote Compose Is Cool — Here's When You'll Outgrow It

AndroidX Remote Compose is generating well-deserved excitement. It's a genuinely clever approach to server-driven UI. But after months of watching teams evaluate it, we've noticed a pattern: they start with Remote Compose, love the concept, then hit walls. Here's an honest look at where those walls are — and what to do when you reach them.

First: What Remote Compose Gets Right

Let's give credit where it's due. Remote Compose (currently at alpha05) introduced several genuinely innovative ideas to the SDUI space:

If you haven't tried it yet, our RemoteCompose getting started guide walks through building your first remote document. It's genuinely fun.

📊 The Buzz Is Real

In March 2026 alone, 4+ Medium articles were published comparing Remote Compose to SDUI — more than in all of 2025 combined. The developer community is paying attention.

The 7 Limitations That Matter

None of these are fatal flaws. Some may get resolved as RC matures. But if you're evaluating it for production use today, you need to understand what you're signing up for.

1. Android Only — No iOS Story

This is the biggest one. Remote Compose renders to Jetpack Compose. If your product ships on iOS — and most products do — you need a completely separate SDUI solution for SwiftUI or UIKit. That means:

Companies like Airbnb, Lyft, and Netflix invested heavily in cross-platform SDUI precisely because managing two separate systems is operationally expensive.

⚠️ The Cross-Platform Tax

If you adopt RC for Android and build custom SDUI for iOS, you're maintaining two systems. The engineering overhead often exceeds what a unified platform would cost.

2. Alpha Stability

1.0.0-alpha05 means the API can change between releases. For a prototype or internal tool, that's fine. For a production app serving millions of users, API instability creates real risk:

To be fair, many teams ship alpha Jetpack libraries. But SDUI touches your entire UI rendering pipeline — a breaking change here isn't a minor inconvenience.

3. Fixed Component Set — No BYOC

RC renders from its own primitives. You can compose layouts from columns, rows, text, and basic interactions — but you can't register your ProductCard, your PricingTier, or your custom design system components.

This is the fundamental architectural difference from a component-based SDUI approach. With RC, the server sends drawing instructions. With component-based SDUI, the server says "render a ProductCard with these props" and the client uses your actual component.

Why does this matter? Because most teams already have a design system. They don't want to rewrite their UI in RC primitives — they want to make their existing components server-drivable.

4. No Built-In Experimentation

One of the biggest reasons companies adopt SDUI is experimentation — A/B testing UI changes without app releases. RC has no concept of:

You'd need to bolt on LaunchDarkly, Statsig, or a custom experiment system on top. That's doable but adds significant complexity — and you lose the tight integration between "what UI was shown" and "what the user did."

5. Binary Format = Harder Debugging

RC serializes layouts into a binary .rc format. When something looks wrong on screen, you can't just open the response in a JSON viewer and see what went wrong. The debugging story is:

JSON-based SDUI isn't glamorous, but when your PM asks "why does this screen look wrong for users in Canada?", you can paste the JSON into a Slack thread and everyone can read it.

6. No Visual Editor or Tooling

Remote Compose is a library, not a platform. There's no:

For an engineering team prototyping dynamic content, this is fine. For a product organization where designers and PMs need to manage screens, it's a gap.

7. No Backend SDK or DSL

When your backend team needs to build screens, they're working with RC's low-level RemoteComposeWriter API directly. There's no typed DSL layer, no backend SDK with IDE autocomplete, and no schema validation at compile time.

Compare this to a system where the backend gets a generated, typed function like productCard(title = "Widget", price = 29.99) — with compile-time errors if you pass the wrong type.

When Remote Compose Is Enough

Not every team needs a full SDUI platform. RC is a solid choice when:

✅ RC Sweet Spot

Android-only apps with simple dynamic content needs and a small engineering team. If this describes you, RC is genuinely great — don't over-engineer.

When You'll Outgrow It

Teams typically hit the wall when they need:

Head-to-Head Comparison

Capability Remote Compose Pyramid DIY SDUI
Android support ✅ Native Compose ✅ Native Compose ✅ Any framework
iOS support ✅ Native SwiftUI ✅ Build it yourself
Your components ❌ RC primitives only ✅ BYOC ✅ Full control
Type safety ⚠️ Runtime only ✅ Compile-time DSL ⚠️ Up to you
A/B testing ❌ Not included ✅ Live Values ⚠️ Build it
Visual editor ⚠️ Build it
Wire format Binary (.rc) JSON (readable) Your choice
Backend SDK ❌ Low-level Writer API ✅ Kotlin + TypeScript ⚠️ Build it
Stability Alpha Beta (production-tested) Your responsibility
Cost Free (OSS) Subscription Engineering time
Time to first screen Hours Hours Weeks

The Path Forward

Remote Compose is an important project. It validates that server-driven UI belongs in the Android platform — not just in Big Tech internal tools. Google investing in this concept raises the tide for the entire SDUI ecosystem.

But "important" and "production-ready for your team" are different things.

If you're evaluating SDUI today, we'd recommend:

  1. Try Remote Compose — Build a proof of concept. Understand the paradigm. It's a great learning experience.
  2. Identify your real requirements — Cross-platform? Experimentation? Component governance? Write them down.
  3. Match tool to requirements — If RC covers what you need, ship it. If not, don't force it.

For a deeper comparison of all three approaches, see our full Pyramid vs RemoteCompose vs DIY comparison. If you're specifically interested in how Google I/O 2026 positioned RemoteCompose relative to SDUI, we covered that too.

Need SDUI That Works on Both Platforms?

Pyramid gives you server-driven UI for Jetpack Compose and SwiftUI — with your own components, typed DSL, and built-in experimentation. No binary formats, no platform lock-in.

Join the Waitlist