server-driven UI (SDUI) is how companies like why companies like Airbnb use SDUI, Lyft, and Spotify ship UI updates without waiting for App Store approval. Instead of coding UI in your app, you define layouts on your server and the app renders them at runtime.
For React Native teams, the question isn't whether SDUI is useful — it's which approach makes sense for your team size, timeline, and budget.
Here's an honest look at your options.
Why React Native Teams Need SDUI
React Native already gives you cross-platform development. But you still face the same App Store bottleneck as native apps:
- Apple reviews take 1-10+ days
- Google Play reviews take 1-3 days
- Critical UI fixes still require a release
- A/B testing layouts requires shipping all variants in your bundle
SDUI solves this by moving UI definitions to your server. Change the server response → UI updates instantly.
Your Options
1. Build Your Own SDUI System
The approach: Many teams start here. You define a JSON schema, build a renderer, and create your own component library.
Pros:
- Fully customized to your needs
- No vendor dependency
- Complete control over architecture
Cons:
- 6-12 months of engineering time (minimum)
- Ongoing maintenance burden
- You're solving infrastructure problems, not product problems
- Edge cases multiply (versioning, caching, error handling, analytics)
Best for: Large teams (20+ engineers) with dedicated mobile infrastructure resources and years to iterate.
Real talk: Even Airbnb's SDUI system took years to build and required a dedicated team to maintain. Unless you're operating at that scale, building your own is usually a trap.
2. Airbnb's Open Source Approach (Lona/Epoxy)
The approach: Airbnb open-sourced parts of their SDUI infrastructure. You can study their patterns and adapt them.
Pros:
- Battle-tested at massive scale
- Good architectural reference
- Free to use
Cons:
- Not plug-and-play. It's reference architecture, not a product.
- Designed for native iOS/Android, not React Native
- Requires significant adaptation
- No official support or maintenance guarantees
Best for: Teams who want to learn from the best and have engineers to adapt the patterns.
3. DivKit (Yandex Open Source)
The approach: Yandex released DivKit, their cross-platform SDUI framework. It supports iOS, Android, and Web.
Pros:
- Full-featured, production-tested
- Open source and free
- Good documentation
Cons:
- No official React Native support. You'd need to wrap native SDKs or build a bridge.
- Heavy — not designed for lightweight integration
- Community support, not enterprise support
- Russian documentation is more complete than English
Best for: Teams willing to invest in bridging to React Native and comfortable with community-supported tools.
4. Build on Top of react-native-json-forms or Similar
The approach: Use existing JSON-to-UI libraries as a starting point and extend them.
Pros:
- Quick starting point
- Already in the React Native ecosystem
- Familiar to React developers
Cons:
- Designed for forms, not screens. Limited component set.
- You'll outgrow it quickly
- Still requires building server infrastructure, versioning, caching
- No built-in analytics, A/B testing, or rollback
Best for: Prototyping or very simple use cases (forms, surveys).
5. Pyramid (Managed SDUI for React Native)
The approach: A managed SDUI platform designed for React Native teams. Server infrastructure, SDKs, and tooling included.
Pros:
- Production-ready in hours, not months
- Built for React Native (and native) from the start
- Typed DSL for backend developers (IDE autocomplete, compile-time checks)
- Foundation components included
- Analytics, versioning, and rollback built-in
- Visual editor for non-engineers (coming)
Cons:
- New product (2026 launch)
- Managed service = vendor dependency
- Not open source (yet)
Best for: Teams who want SDUI benefits without building infrastructure. Startups to mid-size companies shipping weekly+.
Comparison Table
| Factor | Build Your Own | Airbnb/DivKit | JSON Forms | Pyramid |
|---|---|---|---|---|
| Setup time | 6-12 months | 2-3 months | 1-2 weeks | Hours |
| React Native support | You build it | Bridge needed | Native | Native |
| Maintenance | Your team | Your team | Your team | Managed |
| Component library | You build it | Partial | Limited | Full foundation |
| Backend tooling | You build it | Partial | None | Included |
| A/B testing | You build it | You build it | None | Built-in |
| Versioning/rollback | You build it | You build it | None | Built-in |
| Cost | Engineering time | Engineering time | Free | SaaS pricing |
Decision Framework
Build your own if:
- You have 20+ mobile engineers
- You have 6-12 months of runway for infrastructure
- SDUI is a core strategic bet for your company
- You need patterns that don't exist anywhere else
Use open source (DivKit/Airbnb patterns) if:
- You have strong mobile infrastructure engineers
- You want to learn and adapt, not use out-of-the-box
- You're comfortable with community support
- You can invest 2-3 months in adaptation
Use Pyramid if:
- You want SDUI benefits this quarter, not next year
- Your team is < 20 engineers
- You'd rather focus on product, not infrastructure
- You need a typed, developer-friendly approach
- You're shipping UI changes weekly or more frequently
The Hidden Costs of DIY
Teams who build their own SDUI often underestimate:
Initial build: 6-12 months
- JSON schema design
- Renderer architecture
- Component library (every component needs server + client implementation)
- Error handling and fallbacks
- Caching strategy
- Versioning system
Ongoing maintenance: 20-30% of a team
- Adding new components
- Debugging rendering issues
- Performance optimization
- Schema migrations
- Documentation for your team
Opportunity cost
- What else could those engineers be building?
- How many features are delayed?
- What's the cost of not shipping faster?
This is why even well-funded startups are choosing managed solutions. Engineering time is expensive.
React Native-Specific Considerations
If you're evaluating SDUI for React Native specifically:
Bridge complexity. Native SDUI solutions (DivKit, Airbnb's Epoxy) require bridging to React Native. This adds maintenance burden and potential performance issues.
Metro bundler. Your SDUI components still run in the React Native runtime. Make sure your solution doesn't fight Metro's architecture.
Expo compatibility. If you use Expo, ensure your SDUI solution works with managed workflow or bare workflow, depending on your setup.
Hot reload experience. A good SDUI solution should have a fast development loop. If you're waiting seconds for every change, developer experience suffers.
Pyramid was built for React Native (and native platforms). No bridging hacks, no fighting the runtime.
Getting Started
If you're ready to explore SDUI for your React Native app:
- Identify one screen that changes frequently
- Calculate your current cost — how many engineer-hours per UI change?
- Try the approaches:
- Build a simple prototype with JSON-to-UI
- Try Pyramid's DSL Playground
- Compare velocity — how fast can you ship a change with each approach?
Related Articles
Ready to Try SDUI?
Build a layout in 5 minutes with the DSL Playground.
Try the DSL Playground Join the WaitlistFAQ
Can I use SDUI for my entire app?
You could, but most teams use SDUI for frequently-changing screens (home, promotions, onboarding) and keep stable screens as regular React Native. Hybrid approach = best of both worlds.
What about performance?
Well-implemented SDUI has negligible performance impact. The app is rendering components either way — the difference is where the layout definition comes from. Pyramid's foundation components are optimized for 60fps.
How do I convince my team/manager?
Calculate the cost of App Store delays. If you're waiting 5 days for a UI fix to go live, that's 5 days of user pain. Multiply by how often this happens. The ROI becomes obvious.
What if Pyramid goes away?
Fair concern with any vendor. Pyramid layouts are JSON — your backend defines them. If you ever need to migrate, you have the data. We're also planning to open source the renderer.
Last updated: March 2026