Powered natively by the Bun runtime. Zero-config full-stack React.

Build high-speed web apps with x

x is a React framework where your folder structure is the router, your API lives beside your pages, and everything runs in one Bun process, from static to server-rendered.

Your file tree
is the route tree

Type a file path and watch it resolve to a live route against the real server. That's the whole framework, in one console.

Route Resolver
/blog/:slug

All systems go

online
ROUTING / 01

File-based routing

Drop a file in src/pages, get a route. Nested folders, dynamic segments, and API routes are automatic.

RENDER / 02

Static + dynamic

Prerender marketing pages, SSR dashboards. Both on the same route, same process.

API / 03

API routes

REST endpoints beside your pages. Shared types, same process, no separate server.

TYPES / 04

Type safe

Loaders, params, and server functions stay typed end to end, from framework to component.

ISLANDS / 05

Islands

Interactive components hydrate in place. Only what you mark as an island loads client JS.

POWER / 06

One process

Static sites, SSR, API, and server functions run in one process. No microservices, no orchestration.

One command
to a running server

Scaffold, install, and run. No separate API service to wire up, no bundler config to tune before the first page renders.

countdown complete
~/my-app — zsh
$bun create thexjs-app@latest my-app
Available templates:
default Blank slate, a single home page. (recommended)
basic Pages, API, auth, dashboard.
blog Markdown content collections.
saas Dashboard, pricing, data layer.
Choose a template (default): █
$cd my-app && bun run dev
[x] dev server running at http://localhost:3000
Ship It

Hit start, then ship the instant the build is ready.

Reflexes
vs. a cold start

Most stacks make you wait for the build. Start one, then ship the instant it's ready. See how close you can get to zero.

Ready to build?

Read the docs, scaffold a project, and ship from a single home page or a full-stack starter.