Skip to content

Documentation

Juice Docs

Build React 19 Server Components on standard web APIs. One fetch handler, explicit runtime behavior, and deployment targets that stay close to the platform.

Quickstart
npx @cmj/juice create my-app
cd my-app
bun run dev
Create your first app
2
Runtime dependencies
43ms
Cold start p50
33.5K
Requests per sec
25KB
Gzipped runtime

Primitives

Small pieces that map to the web platform.

Juice keeps the framework boundary narrow: React owns rendering, HTTP owns requests and responses, and the compiler emits an inspectable manifest that the runtime can read anywhere.

Start here

Find the right path.

Compare

Coming from Next.js?

Juice gives you React server primitives without a proprietary request object or Node-first runtime assumption.

ConceptNext.jsJuice
Route handlerProprietary NextRequestStandard Request/Response
MiddlewareSingle file, edge onlyPer-directory, onion model, everywhere
Data fetchingMagic fetch cachingExplicit cache(fn) dedup
RuntimeNode.js with edge opt-inWinterCG-first: Workers, Bun, Deno, Node
Server bundle~2MB+ runtime25KB gzipped
StreamingAlways on, limited controlThree modes - you choose
AI toolingNone built-inllms.txt + MCP server

Adoption notes

Choose with context.

Ecosystem is growing

Guides cover auth, Stripe, Prisma, Drizzle, Redis, Resend, and more. There is no plugin marketplace.

Partial rendering is not yet implemented

SPA navigations replace the full React tree. Layout preservation is on the roadmap.

HTTP knowledge helps

Your team should be comfortable with Request, Response, headers, status codes, and deployment runtime tradeoffs.