Early Foundation Phase

Render Protocol

An open-source, server-driven UI framework for modern mobile platforms — starting with SwiftUI and Flutter, expanding to Jetpack Compose. Enable dynamic, schema-driven UIs powered by backend configuration and AI — without sacrificing native performance.

🚧 Core schemas, architecture, client SDKs, and the backend server are being built out. Expect breaking changes during v0.x.

🎯 Vision

Build a platform-agnostic UI rendering protocol — not a web abstraction layer — that embraces native frameworks and performance.

📋

Schema-Driven Rendering

Render native UI directly from Protobuf schema definitions across platforms.

🔄

Backend-Controlled Updates

Push UI changes from the server without requiring app redeployments.

🤖

AI-Compatible Schemas

LLMs can generate valid, renderable UI schemas that clients safely render.

🧩

Clean Separation

Strong boundaries between design, logic, and presentation layers.

📱

Mobile-First

First-class support for mobile-only experiences across iOS and Android.

🧠 Core Principles

🖥️
Server-Driven, Native-Rendered
📐
Schema First
Protobuf-defined, language-agnostic contracts
📱
Mobile-Only Focus
🤖
AI-Compatible UI Generation
🌐
Open-Source & Self-Hostable
🔧
Extensible & Incremental

🔀 Architecture & Data Flow

graph TD
    subgraph Spec ["📐 Specifications"]
        Proto["render-protocol-spec<br/>(Protobuf Schemas)"]
    end

    subgraph CodeGen ["⚙️ Code Generation (Buf)"]
        direction LR
        GenSwift["RPGeneratedSwift"]
        GenDart["rp_generated_dart"]
        GenKotlin["rp-generated-kotlin<br/>(Planned)"]    
    end

    subgraph Utils ["🧰 Shared Utilities"]
        direction LR
        UtilSwift["RPUtilsSwift"]
        UtilDart["rp_utils_dart"]
        UtilKotlin["rp-utils-kotlin<br/>(Planned)"]
    end

    subgraph Server ["🖥️ Backend"]
        ServerApp["render_protocol_server"]
        DB["rp_database_service"]
    end

    subgraph Admin ["🛠️ Admin Panel"]
        Terminal["render-protocol-terminal<br/>(Planned)"]
    end

    subgraph Clients ["📱 Client SDKs"]
        direction LR
        Swift["RenderProtocolSwift<br/>(SwiftUI)"]
        Flutter["fl_render_protocol<br/>(Flutter)"]
        Compose["render-protocol-compose<br/>(Compose — Planned)"]
    end

    Proto --> GenSwift
    Proto --> GenDart
    Proto --> GenKotlin

    GenDart --> ServerApp
    UtilDart --> ServerApp
    ServerApp --> DB

    GenDart --> Terminal
    UtilDart --> Terminal
    Terminal <-->|manages| ServerApp

    GenSwift --> Swift
    UtilSwift --> Swift
    GenDart --> Flutter
    UtilDart --> Flutter
    GenKotlin --> Compose
    UtilKotlin --> Compose

    ServerApp <-->|gRPC| Swift
    ServerApp <-->|gRPC| Flutter
    ServerApp <-->|gRPC| Compose

    style Spec fill:#4a90d9,stroke:#2c5f8a,color:#fff
    style CodeGen fill:#6c5ce7,stroke:#4a3db0,color:#fff
    style Utils fill:#00b894,stroke:#00806a,color:#fff
    style Server fill:#e17055,stroke:#b34530,color:#fff
    style Admin fill:#636e72,stroke:#2d3436,color:#fff
    style Clients fill:#fd79a8,stroke:#c44d7b,color:#fff
                

📦 Repositories

📐 Schema & Specifications
Repository Description Status
render-protocol-spec Canonical Protobuf schemas — UI component definitions and gRPC API service contracts. Versioned (v1, v2) with Buf-managed code generation for Swift, Dart, Kotlin, C++, JS, and Python. 🟢 Active
🧩 Client SDKs
Repository Platform Description Status
RenderProtocolSwift SwiftUI Native Swift SDK with modular architecture — includes schema rendering, networking (gRPC), caching, state management, and component registries. Ships with an example app. 🟢 Active
fl_render_protocol Flutter Flutter SDK mirroring the Swift architecture — widget rendering, networking, caching, and component registries. Includes an example app. 🟢 Active
render-protocol-compose Jetpack Compose Kotlin/Compose renderer for Android. 🔴 Not Started
⚙️ Generated Code
Repository Language Description Status
RPGeneratedSwift Swift Auto-generated Swift Protobuf & gRPC stubs from render-protocol-spec. Consumed as a dependency by RenderProtocolSwift. 🟢 Active
rp_generated_dart Dart Auto-generated Dart Protobuf & gRPC stubs from render-protocol-spec. Consumed by fl_render_protocol and render_protocol_server. 🟢 Active
rp-generated-kotlin Kotlin Auto-generated Kotlin Protobuf & gRPC stubs for render-protocol-compose. 🟠 Planned
🧰 Shared Utilities
Repository Language Description Status
RPUtilsSwift Swift Shared utility package — component factories, style resolvers, widget helpers, and action handlers for SwiftUI. 🟢 Active
rp_utils_dart Dart Shared utility package — component factories, style resolvers, widget helpers, and action handlers for Flutter & server. 🟢 Active
rp-utils-kotlin Kotlin Shared utility package for Jetpack Compose — component factories, style resolvers, and action handlers. 🟠 Planned
🖥️ Backend & Services
Repository Stack Description Status
render_protocol_server Dart (gRPC + Shelf) & Swift (gRPC + Vapor) Backend reference implementation — gRPC & REST APIs, middlewares, mock data, and Docker support. Houses internal services like rp_database_service, with more upcoming. 🟡 In Progress
render-protocol-terminal TBD Admin panel for managing and configuring server-driven UIs. 🔴 Not Started

🗺️ Roadmap

Phase 1 — Foundations Current

  • Define platform-generic UI schema in Protobuf (14 components, 4 API services)
  • Set up Buf-managed code generation pipeline
  • Client-side renderers for SwiftUI & Flutter
  • Component registries and factory pattern
  • 🔧 Networking, caching, and schema validation
  • 🔧 Authentication handshake flow

Phase 2 — AI & Tooling

  • LLM-friendly schema definitions
  • UI generation during user interaction
  • Schema introspection & validation tools
  • Drag-and-drop UI builder (backend-driven)

Phase 3 — Ecosystem

  • Jetpack Compose parity
  • Admin panel for UI management
  • Performance instrumentation
  • Advanced state & event handling
  • Terminal/CLI tooling

🤖 AI-First Thinking

Designed so that
  • 🔍 An LLM can reason about supported UI components
  • 💬 Generated responses can return UI instead of text
  • 🛡️ Client SDKs can safely render AI-generated layouts
This enables
  • 💭 Conversational UIs
  • 🎛️ Adaptive screens
  • 📍 Context-aware layouts

🌱 Project Status

Protobuf Schemas ✅ v1 Defined
Code Generation ✅ Buf Pipeline
SwiftUI SDK 🟢 Active
Flutter SDK 🟢 Active
Compose SDK 🔴 Not Started
Backend Server 🟡 In Progress
Database Service 🟡 In Progress
Admin Panel 🔴 Not Started
CLI Tooling 🔴 Not Started
APIs and folder structures are evolving — expect breaking changes during v0.x. Contributions & discussions welcome once foundations settle.
Built by k-arindam k-arindam