ScriptsApr 28, 2026·3 min read

RedwoodJS — Full-Stack React Framework with GraphQL and Prisma

RedwoodJS is an opinionated full-stack JavaScript framework that combines React on the frontend with a GraphQL API and Prisma ORM on the backend, optimized for startups and rapid application development.

Introduction

RedwoodJS is a full-stack web framework co-founded by Tom Preston-Werner (GitHub co-founder) that wires together React, GraphQL, and Prisma into a single cohesive developer experience. It follows a cells-and-services architecture that separates data fetching from presentation, and includes generators, auth integration, and deploy targets out of the box.

What RedwoodJS Does

  • Scaffolds full-stack CRUD features with a single CLI generator command
  • Connects a React frontend to a GraphQL API backed by Prisma and any SQL database
  • Provides Cells, a declarative data-fetching pattern that handles loading, empty, error, and success states
  • Includes built-in authentication adapters for Supabase, Auth0, Clerk, and others
  • Supports prerendering, server-side rendering, and streaming via React Server Components

Architecture Overview

A Redwood project is a monorepo with two workspaces: web (React + Apollo Client) and api (GraphQL + Prisma). The web side uses Cells to declare GraphQL queries alongside the component that renders the result. The API side maps SDL type definitions to service functions that call Prisma. A built-in CLI generates boilerplate for pages, layouts, cells, services, and database migrations.

Self-Hosting & Configuration

  • Create a project with npx create-redwood-app and choose TypeScript or JavaScript
  • Define your data model in api/db/schema.prisma and run yarn rw prisma migrate dev
  • Generate pages, cells, and services with yarn rw generate commands
  • Configure auth, deployment target, and environment variables in redwood.toml
  • Deploy to Vercel, Netlify, AWS Lambda, Render, or self-hosted Node.js servers

Key Features

  • Cells pattern separates data lifecycle states from rendering logic cleanly
  • Full-stack generators produce pages, GraphQL types, services, and tests together
  • Prisma integration with automatic migration management via CLI
  • Multiple auth provider adapters with role-based access control built in
  • Storybook integration for isolated component development

Comparison with Similar Tools

  • Next.js — React meta-framework with SSR/SSG focus, no built-in GraphQL layer or ORM
  • Remix — Web-standards-first with loaders and actions, no opinionated ORM or GraphQL integration
  • Blitz.js — Similar full-stack vision built on Next.js with zero-API pattern, smaller community
  • Meteor — Older full-stack platform with real-time data, uses its own build system and pub/sub
  • SvelteKit — Svelte-based full-stack framework, different component model, no GraphQL layer

FAQ

Q: Does RedwoodJS require GraphQL? A: GraphQL is the default API layer. Redwood also supports building custom REST endpoints, but the generators and Cells pattern are designed around GraphQL.

Q: What databases does RedwoodJS support? A: Any database supported by Prisma: PostgreSQL, MySQL, SQLite, SQL Server, CockroachDB, and MongoDB (preview).

Q: Is RedwoodJS ready for production? A: Yes. RedwoodJS reached v1.0 in 2022 and has been used in production applications. The framework continues active development toward v8+.

Q: Can I use RedwoodJS without the full-stack setup? A: The framework is designed as a cohesive full-stack solution. Using only the web or API side independently is possible but loses the integrated developer experience.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets