Why Cloudflare? The Case for a Unified Platform
Moving away from the 'Service Soup' and toward a Unified Platform. Why RedwoodSDK is doubling down on Cloudflare's architecture.
Server-first React, running on the Cloudflare platform.
Simple to build. Easy to maintain.
Scaffold a Vite project powered by RedwoodSDK. Includes RSC, type-safe routing/SQL, and Cloudflare integration.
Simplicity for humans is clarity for AI. By using React, TypeScript, and Cloudflare without custom "noise," AI focuses on your business logic instead of navigating framework rules.
RedwoodSDK is composable.Wes Bos @wesbos"Interesting pivot for Redwood... a React framework for Cloudflare with full support for RSC. Vite Plugin, file-based routing, middleware... tight (but not required) integration." It is built to be server-first, centering entirely on the request-response lifecycle.
Justin Bennett @Zephraph"I'm a fan. The defineApp api is incredibly smart. Great way to actually flow middleware types through to handlers." This makes the architecture intuitive and easy to grasp.
Nico Botha @nwbotha"Started building last night... it's been a great experience so far. Easy to pick up, and everything just works. It's the full-stack framework I've always wanted!"
But simple doesn't mean limited.Tom Preston-Werner @mojombo"RedwoodSDK up and to the right! If you like @Cloudflare and you like @reactjs, but especially if you like to SHIP PRODUCT, you should put your 👀 on this." The framework is deeply powerful, stripping away complexity without sacrificing scale.
Odd-Appeal6543 @Odd-Appeal6543"The boilerplate reduction that happens when you have a clear separation of server routes and client leafs... is mind blowing. Maximum control without the magic."
You are in total control.Ryan Quinn @Frown360Turn"My analogy for SDK: 'instead of trying to explain your order to the chef... you get to just step into the kitchen and make it.' Feels like cheating for how nice it’s felt."
Composable functions that describe your app using standard TypeScript.
1import { defineApp } from "@rwsdk/worker"2import { route } from "@rwsdk/router"34export default defineApp([5 // Match paths to route handlers6 route("/", () => {7 return <h1>Hello, World!</h1>8 }),9])
A route matches a request and hands it to a function that returns a response.
A unified mental model for bridging the gap between the client and server.
Streamed components deliver the page in flight, rendering layout shells instantly while data-heavy sections load progressively. This partial UI strategy ensures the user sees a functional page immediately, with content filling the gaps as it arrives.
// actions.tsexport const saveData = async (text: string) => {await db.save(text);};
React Server Components (RSC) enable a unified loop where buttons trigger server functions directly, bypassing traditional API layers. This Remote Procedure Call (RPC) pattern treats the client and server as a single execution environment, simplifying data flow and logic.
Optimistic updates provide instant UI feedback, while Transitions mask latency with fluid motion. For unavoidable delays, Suspense replaces jarring blank states with structured skeleton fallbacks, ensuring a smooth, predictable, and continuous experience.
useSyncedState is a drop-in replacement for useState that synchronizes state across all connected clients in real-time.
Transform any local state into a globally synchronized, bi-directional data stream. When you call useSyncedState, it persists the state on your server automatically. Your server can push data down to the clients, or the clients can push data up to the server; all without writing a single WebSocket handler.
Try it: The activity bar below shows multiple users interacting with our website and updates in real-time. Open this page in multiple tabs to see how state is synced from client → server → client.
Read about how we build RedwoodSDK and help teams ship high-velocity software on Cloudflare.
Moving away from the 'Service Soup' and toward a Unified Platform. Why RedwoodSDK is doubling down on Cloudflare's architecture.
We're excited to share that RedwoodSDK 1.0 Beta has officially landed! This marks an important step on our journey to a stable v1.0 release.
How to add a copy-to-clipboard button to Markdown code blocks using RedwoodSDK and Web Components.