Install a plugin. Get routes, API endpoints, database schemas, React components, and SSR loaders. No boilerplate. Works with Next.js, React Router, or TanStack.
Pre-built, production-ready features that drop into your React app. Routes, APIs, database schemas, SEO, and UI—all typed, tested, and ready to customize.
Each plugin provides routes, API handlers, database schema, metadata, sitemap, Page routes, React components, hooks, and loaders. Everything you need in one import.
Each plugin is self-contained with its own routes, components, and database schema. Combine them as needed—blog, newsletter, feedback—they work independently or together.
First-class support for Next.js, React Router, TanStack Router, and Remix. Same plugin code, any modern framework. Migrate without rewriting features.
Server-side rendering with data prefetching. Automatic metadata and sitemap generation for SEO. Works with your existing SSR setup.
Sensible defaults out of the box. No manual route wiring, no query client setup. Configure only what you need to customize.
End-to-end type safety from database to UI. Fully typed hooks, routes, and API responses. Autocomplete everywhere.
No magic. Just good architecture.
blog: blogBackendPlugin()Exports database schema + API handler. Supports Prisma, Drizzle, Kysely, MongoDB and more.
blog: blogClientPlugin({})Provides routes, page components, metadata, and sitemap generation. You choose your framework (Next.js, React Router, TanStack Router, etc).
Link: NextLink,
Image: NextImageInject your framework's components. Swap UI. Customize logic. It's your codebase.
Better Stack doesn't replace your tools—it works with them. Use the ORM you already know, the framework you already use, and the database you already have. Zero lock-in, zero learning curve.
Database AgnosticPrisma, Drizzle, Kysely, MongoDB, or in-memory for testing
Framework AgnosticNext.js, React Router, TanStack Router, Remix
Deploy AnywhereVercel, Netlify, your own server—your infrastructure, your rules
Install the package, add a plugin, run migrations. That's it. Full blog, newsletter, or feedback system—ready to customize.
Open SourceMIT License · Fork it, modify it, own it
Ship FastAdd features in minutes, not weeks
Your DataNo external services, runs in your app
Skeptical? Good. Read the source code or try the 5-minute quickstart
1const stack = betterStack({
2 basePath: "/api/data",
3 plugins: {
4 blogPlugin(),
5 aiChatPlugin(),
6 newsletterPlugin(),
7 roadmapPlugin(),
8 },
9 adapter: prismaAdapter()
10});