Uses the Fetch API, Web Streams, Web Crypto, and other web standards. Your code runs on Node.js, Bun, Deno, and Cloudflare Workers without changes.
🧩
Composable by Design
38 single-purpose packages that each work independently. Use the full framework or pick only the pieces you need. Every package is replaceable.
🛣️
Type-Safe Routing
Define your routes as data with full TypeScript inference. URL parameters, middleware context, and request handlers are all type-checked at compile time.
🗄️
Built-in Data Layer
A typed relational query toolkit that works with PostgreSQL, MySQL, and SQLite. Define tables, run queries, manage migrations — all with one API.
🔐
Authentication Ready
First-class OAuth, OIDC, and credentials authentication with pluggable middleware. Built-in providers for Google, GitHub, Microsoft, and more.
⚡
Streaming & Performance
Stream HTML responses progressively. Serve static files with ETags and range requests. Compress responses automatically. Performance is a default, not an afterthought.