THE BUILDER’S STACK LIBRARY

Know what holds
your app together.

From Next.js to Clerk: what each piece does, when it helps and which pieces work together. Choose a small foundation, then add what the product needs.

7 stack recipes48 technologies14 categories

Reviewed 11 September 2026. Product descriptions use official sources. Recipes and fit suggestions are editorial starting points, not benchmark winners or pre-tested deployment templates. Verify exact versions and integrations.

COMPARE THE OUTCOME

What does each stack make easier?

Start with what your user needs to do. These are editorial trade-offs, not measured speed rankings or guarantees of security. The recipes below still need integration testing.

Seven app foundations: user benefit, setup responsibility and trade-off
Build typeBenefit for your usersSetup & ongoing workMain trade-offFoundation & sources
A focused SaaS appA consistent sign-in and paid account experience.Managed identity and database; you connect their permissions.Multiple providers, separate bills and authorization to maintain.Next.js official documentation (opens in a new tab)Clerk official documentation (opens in a new tab)Neon official documentation (opens in a new tab)Vercel official documentation (opens in a new tab)
An integrated web MVPOne account can access private records and uploaded files.Shared backend services reduce initial wiring.Database and file policies must both enforce user access.Next.js official documentation (opens in a new tab)Supabase official documentation (opens in a new tab)Supabase Auth official documentation (opens in a new tab)Vercel official documentation (opens in a new tab)
A portable Node applicationMore control over how the service runs and where data lives.You manage more of identity, runtime and recovery.Portability still requires migration and restore rehearsals.Next.js official documentation (opens in a new tab)PostgreSQL official documentation (opens in a new tab)Better Auth official documentation (opens in a new tab)Railway official documentation (opens in a new tab)
A content and discovery sitePublic guides and discovery pages with selective interactivity.Start with content files; add accounts only when needed.Complex private workflows need additional backend integration.Astro official documentation (opens in a new tab)Vercel official documentation (opens in a new tab)
An AI workflow productAn AI task with saved results and a clear progress state.Model calls, permissions and job recovery need separate checks.Variable model costs, output quality and repeated-job effects.Next.js official documentation (opens in a new tab)Clerk official documentation (opens in a new tab)Neon official documentation (opens in a new tab)AI SDK official documentation (opens in a new tab)Cloudflare AI Gateway official documentation (opens in a new tab)Vercel official documentation (opens in a new tab)
A mobile companion appA native mobile experience backed by shared account data.Device testing and store release work join backend setup.Offline behavior, native permissions and store requirements.Expo official documentation (opens in a new tab)Supabase official documentation (opens in a new tab)Supabase Auth official documentation (opens in a new tab)
A browser app with a Workers APIAn interactive browser app with a dedicated API.Deploy the client and API; choose authentication explicitly.Runtime compatibility, cross-origin sessions and API permissions.Vite official documentation (opens in a new tab)Hono official documentation (opens in a new tab)Cloudflare Workers official documentation (opens in a new tab)Neon official documentation (opens in a new tab)

Three ways to handle sign-in

Authentication identifies the user. Your app must still decide which records and actions that user can access.

Clerk, Supabase Auth and Better Auth: which responsibility do you want to own?
OptionBuilder benefitUseful whenYou still own
Clerk ↗Managed identity with ready-made account interfaces.You want a dedicated identity service alongside your database.App authorization, production configuration and provider integration.
Supabase Auth ↗Authentication integrated with the Supabase backend.Your records and files already use Supabase.Database and storage access policies, redirects and email setup.
Better Auth ↗Authentication in your application with control over its data.You want to run identity as part of your own stack.Deployment, updates, recovery, security configuration and operations.

Descriptions checked against the linked official documentation on 11 September 2026. Plan limits and integration support can change. A managed service reduces some work; it does not remove your responsibility to test the user journey.

Start with the product you’re building.

01

A focused SaaS app

Accounts, private records and a paid web workflow.

Foundation

  • Next.js
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • Clerk
  • Neon
  • Drizzle ORM
  • Vercel

A framework, managed identity and managed Postgres divide the responsibilities clearly. Use one ORM and keep authorization in the application.

Optional additions & first checks

Add when needed: Stripe Checkout, Resend, Sentry, Playwright.

Prove the fit: Test two-account isolation, a database restore and subscription changes delivered through verified webhooks.

02

An integrated web MVP

A first product with sign-in, records and uploads.

Foundation

  • Next.js
  • TypeScript
  • Supabase
  • Supabase Auth
  • Tailwind CSS
  • Vercel

Supabase combines several backend services. Its Auth and Storage can share the same identity and policy model.

Optional additions & first checks

Add when needed: Resend, Playwright, PostHog.

Prove the fit: Test database and storage policies as an ordinary user. Do not add Clerk or a second database unless there is a specific need.

03

A portable Node application

A product where control over runtime and identity matters.

Foundation

  • Next.js
  • Node.js
  • TypeScript
  • PostgreSQL
  • Drizzle ORM
  • Better Auth
  • Railway

A conventional Node server and PostgreSQL keep the main service boundaries visible. Better Auth places more operational responsibility with the builder.

Optional additions & first checks

Add when needed: Docker, Cloudflare R2, Resend, Sentry.

Prove the fit: Rehearse a fresh deployment, auth recovery, database restore and migration using the documented runtime.

04

A content and discovery site

Guides, directories, stories and public landing pages.

Foundation

  • Astro
  • TypeScript
  • Tailwind CSS
  • Vercel

Begin with content files and a small interactive surface. Add a CMS when editors need structured authoring.

Optional additions & first checks

Add when needed: Sanity, Cloudflare Images, PostHog, Resend.

Prove the fit: Verify crawlable HTML, accurate titles, image sizing and keyboard navigation. Accounts and a database are optional until the product requires them.

05

An AI workflow product

A web app that processes input and produces useful AI output.

Foundation

  • Next.js
  • TypeScript
  • Clerk
  • Neon
  • Drizzle ORM
  • AI SDK
  • Cloudflare AI Gateway
  • Vercel

Separate the interface, model calls and persistent job state. Add a task runner when work must continue beyond an HTTP request.

Optional additions & first checks

Add when needed: Trigger.dev, Cloudflare R2, pgvector, Sentry.

Prove the fit: Validate the selected provider and gateway integration, evaluate representative outputs and handle timeout, cancellation, rate limits and duplicate jobs.

06

A mobile companion app

Native mobile experiences with a shared backend.

Foundation

  • Expo
  • React
  • TypeScript
  • Supabase
  • Supabase Auth

Expo supplies the mobile workflow while Supabase supplies the backend. Use native-compatible UI rather than assuming web components will transfer.

Optional additions & first checks

Add when needed: Sentry, PostHog.

Prove the fit: Test on devices, secure token storage, network loss and deep-link sign-in. Check store payment requirements before selling digital access.

07

A browser app with a Workers API

An interactive web client and a separately deployed API.

Foundation

  • Vite
  • React
  • TypeScript
  • Hono
  • Cloudflare Workers
  • Neon

Vite builds the client; Hono defines the API in Workers. The API owns secret-bearing calls and data access.

Optional additions & first checks

Add when needed: Cloudflare R2, Cloudflare Workflows, Cloudflare AI Gateway, Cloudflare Turnstile.

Prove the fit: Choose and verify authentication before private data goes live. Test CORS, session handling, database-driver compatibility and production runtime limits.

Understand each building block.

Alternatives in the same category usually solve overlapping jobs. You do not need every tool here.

48 technologies

Foundations

TypeScript

JavaScript with static types.

Why it helps: Makes data contracts clearer and gives agents compiler feedback.

When to add it & what to check
Consider it when
Start of a JavaScript app
Before committing
Types disappear at runtime; validate external inputs separately.
Official reference (opens in a new tab)

Foundations

React

A library for building interfaces from components.

Why it helps: Reusable components give generated UI a consistent structure.

When to add it & what to check
Consider it when
When your chosen web framework uses React
Before committing
Use the framework’s rendering conventions; React alone is not a backend.
Official reference (opens in a new tab)

Foundations

Node.js

A runtime for running JavaScript outside the browser.

Why it helps: Runs server logic and a broad range of development tools.

When to add it & what to check
Consider it when
For a Node-compatible server or build toolchain
Before committing
Pin a supported runtime and confirm the deployment host supports it.
Official reference (opens in a new tab)

Foundations

Git

Version control for source code and change history.

Why it helps: Lets you inspect, compare and recover agent changes.

When to add it & what to check
Consider it when
From the first useful version
Before committing
Commits do not back up your live database or uploaded files.
Official reference (opens in a new tab)

Foundations

pnpm

A package manager for JavaScript projects.

Why it helps: A lockfile and repeatable installs reduce differences between machines.

When to add it & what to check
Consider it when
When starting a project or managing a workspace
Before committing
Keep the project’s existing package manager if it works; avoid competing lockfiles.
Official reference (opens in a new tab)

Frameworks

Next.js

A React framework for pages, server rendering and server-side application logic.

Why it helps: Keeps public pages and authenticated workflows in a documented structure.

When to add it & what to check
Consider it when
SaaS, marketplaces and web products with public pages
Before committing
Verify server/client boundaries, caching and host feature support.
Official reference (opens in a new tab)

Frameworks

Vite

A frontend development server and build tool.

Why it helps: Provides a direct setup for interactive browser applications.

When to add it & what to check
Consider it when
A React dashboard or client app backed by an API
Before committing
Add routing and a backend where needed; Vite itself is not an authentication or database service.
Official reference (opens in a new tab)

Frameworks

Vinext

A Vite-based implementation of the Next.js API surface.

Why it helps: Offers another runtime path for applications using Next.js conventions.

When to add it & what to check
Consider it when
When its target runtime and compatibility fit your app
Before committing
Qualify the exact release and required APIs; compatibility is not identical behavior. Wantlist currently uses native Next.js.
Official reference (opens in a new tab)

Frameworks

Astro

A web framework focused on content-driven sites.

Why it helps: Fits documentation, editorial pages and marketing content with selective interactivity.

When to add it & what to check
Consider it when
When reading content is the main visitor task
Before committing
A highly interactive application may need a separate app surface or additional integration.
Official reference (opens in a new tab)

Frameworks

Expo

Tools and services for building React Native applications.

Why it helps: Supports a shared mobile development workflow around React Native.

When to add it & what to check
Consider it when
When native mobile capabilities or app-store distribution matter
Before committing
Check native module support, device permissions and store release requirements.
Official reference (opens in a new tab)

Frameworks

Hono

A web framework based on Web Standards for APIs and server applications.

Why it helps: Useful for a focused API with explicit routes and middleware.

When to add it & what to check
Consider it when
When you need a separate API, including a Workers-based service
Before committing
Confirm database drivers and libraries support the chosen runtime.
Official reference (opens in a new tab)

UI & forms

Tailwind CSS

A utility-based CSS framework.

Why it helps: Makes shared spacing, color and responsive rules easy to express.

When to add it & what to check
Consider it when
When establishing the interface’s styling conventions
Before committing
Define a real visual system; utility classes do not make design decisions for you.
Official reference (opens in a new tab)

UI & forms

shadcn/ui

UI component code you bring into your application and customize.

Why it helps: Gives agents established patterns for controls, dialogs and navigation.

When to add it & what to check
Consider it when
When building a React interface with reusable controls
Before committing
You maintain the copied code; check keyboard behavior and contrast after customization.
Official reference (opens in a new tab)

UI & forms

Zod

A schema library for parsing and validating data at runtime.

Why it helps: Provides clear rules for form input, API payloads and model output.

When to add it & what to check
Consider it when
At a boundary accepting untrusted data
Before committing
Validation checks shape and constraints; it does not establish permission or truth.
Official reference (opens in a new tab)

UI & forms

React Hook Form

Form state and validation tools for React.

Why it helps: Helps manage errors, touched fields and more involved forms.

When to add it & what to check
Consider it when
When form state becomes difficult to maintain by hand
Before committing
Keep server validation authoritative and label controls accessibly.
Official reference (opens in a new tab)

UI & forms

TanStack Query

Tools for fetching, caching and synchronizing server state in the client.

Why it helps: Handles common loading, retry and invalidation patterns.

When to add it & what to check
Consider it when
Interactive pages with repeated client-side data requests
Before committing
Do not create a second cache strategy without understanding your framework’s existing one.
Official reference (opens in a new tab)

Data

PostgreSQL

A relational database with SQL, transactions and constraints.

Why it helps: Models users, ownership and related records with enforceable rules.

When to add it & what to check
Consider it when
When your app needs durable structured data
Before committing
Plan backups, migrations and account isolation; a database is not automatically configured securely.
Official reference (opens in a new tab)

Data

Neon

A managed Postgres platform with database branching and scaling features.

Why it helps: Can make isolated database environments easier to create for agent work.

When to add it & what to check
Consider it when
When you want managed Postgres with branch-based development
Before committing
Check branch costs, connection handling, retention and which optional services are in beta.
Official reference (opens in a new tab)

Data

Supabase

A Postgres-based platform combining database, Auth, Storage and Realtime services.

Why it helps: Reduces the number of separate integrations for an initial product.

When to add it & what to check
Consider it when
When an integrated backend fits your workflow
Before committing
Configure row and storage policies; keep service credentials out of the browser.
Official reference (opens in a new tab)

Data

Drizzle ORM

A TypeScript ORM with a SQL-oriented approach.

Why it helps: Keeps schema and query code close to the application’s types.

When to add it & what to check
Consider it when
When you want typed queries and explicit database migrations
Before committing
Inspect generated migrations and test them against existing data.
Official reference (opens in a new tab)

Data

Prisma ORM

Tools for modeling data and querying it with type safety.

Why it helps: Gives agents a structured way to work with the data model.

When to add it & what to check
Consider it when
When its schema and client workflow fits your team
Before committing
Follow documentation for the installed major version; migration and generation workflows can change.
Official reference (opens in a new tab)

Data

pgvector

A PostgreSQL extension for vector similarity search.

Why it helps: Can keep embedding search near the app’s existing relational data.

When to add it & what to check
Consider it when
When semantic retrieval has a demonstrated use case
Before committing
Benchmark retrieval quality and enforce document permissions; start with ordinary search if sufficient.
Official reference (opens in a new tab)

Authentication

Clerk

Managed authentication and user management with application components and SDKs.

Why it helps: Provides sign-in and account-management building blocks, including organization workflows.

When to add it & what to check
Consider it when
When you want managed identity for a web product
Before committing
Your app still owns record authorization. Check organization features, account migration and current plan limits.
Official reference (opens in a new tab)

Authentication

Better Auth

An authentication framework for TypeScript applications.

Why it helps: Lets you implement authentication within an application-controlled backend.

When to add it & what to check
Consider it when
When control over the auth implementation and database matters
Before committing
You operate and update the integration; verify sessions, callbacks, email and recovery flows.
Official reference (opens in a new tab)

Authentication

Supabase Auth

Authentication integrated with a Supabase project.

Why it helps: Can connect user identity to database and storage access policies.

When to add it & what to check
Consider it when
When Supabase is already the backend foundation
Before committing
Test expired sessions and policies using actual client roles; avoid adding another auth provider without a reason.
Official reference (opens in a new tab)

Hosting

Vercel

A platform for deploying web applications and running server functions.

Why it helps: Connects source changes with previews and deployment workflows.

When to add it & what to check
Consider it when
When a managed web deployment fits your runtime
Before committing
Check function limits, region, usage charges and private preview access.
Official reference (opens in a new tab)

Hosting

Railway

A deployment platform for applications and services.

Why it helps: Can host a conventional server and supporting services in one project.

When to add it & what to check
Consider it when
When the app needs a Node service or a container deployment
Before committing
Configure health checks, persistent data, backups and resource limits.
Official reference (opens in a new tab)

Hosting

Cloudflare Workers

A serverless application runtime on Cloudflare’s network.

Why it helps: Connects APIs with Cloudflare storage, workflows and other services.

When to add it & what to check
Consider it when
When Workers runtime support matches the application
Before committing
Validate Node API compatibility and execution limits; a Node deployment is not automatically a Workers deployment.
Official reference (opens in a new tab)

Hosting

Docker

Tools for packaging an application and its runtime in containers.

Why it helps: Makes an environment easier to reproduce across machines and compatible hosts.

When to add it & what to check
Consider it when
When reproducibility or a container host justifies it
Before committing
Keep secrets out of images and manage updates, storage and backups separately.
Official reference (opens in a new tab)

Files & images

Cloudflare R2

Object storage for uploaded files and other blobs.

Why it helps: Separates file bytes from application servers and database records.

When to add it & what to check
Consider it when
When users upload files or generated assets need storage
Before committing
Enforce ownership, content limits and download permissions; storing a file does not optimize its images.
Official reference (opens in a new tab)

Files & images

Cloudflare Images

Image storage, delivery and transformation capabilities.

Why it helps: Supports images sized for cards, galleries and different screens.

When to add it & what to check
Consider it when
When image delivery and variants become a product requirement
Before committing
Check supported sources, transformations, access controls and billing units.
Official reference (opens in a new tab)

Payments

Stripe Checkout

A prebuilt checkout flow for taking payments.

Why it helps: Reduces custom payment-form implementation.

When to add it & what to check
Consider it when
When you are ready to charge for a working product
Before committing
Verify webhook signatures and handle retries; a browser success redirect must not grant paid access by itself.
Official reference (opens in a new tab)

Email

Resend

An API-based email delivery service.

Why it helps: Connects application events with transactional email.

When to add it & what to check
Consider it when
For confirmation, invitations or account notifications
Before committing
Verify sending domains and test delivered mail, suppression and failure handling.
Official reference (opens in a new tab)

Email

React Email

React components and tooling for writing email templates.

Why it helps: Lets builders maintain email content alongside application code.

When to add it & what to check
Consider it when
When transactional templates need consistent design
Before committing
It creates templates; you still need a sender and tests in real email clients.
Official reference (opens in a new tab)

AI features

AI SDK

A TypeScript toolkit for AI application features such as streaming and tool calls.

Why it helps: Provides common interfaces for building model-powered user experiences.

When to add it & what to check
Consider it when
When adding AI behavior to the product itself
Before committing
Check provider feature compatibility; a library subscription is not model usage or a gateway.
Official reference (opens in a new tab)

AI features

Cloudflare AI Gateway

An intermediary for model requests with operational controls.

Why it helps: Centralizes visibility and request policy around model calls.

When to add it & what to check
Consider it when
When you need managed routing, monitoring or request controls
Before committing
Check supported providers, logging, retention and retries for your workload.
Official reference (opens in a new tab)

Background work

Inngest

An event-driven workflow platform.

Why it helps: Moves multi-step work out of a visitor’s request and supports durable execution.

When to add it & what to check
Consider it when
For event-driven processing that must survive retries
Before committing
Make external effects idempotent and decide how failed runs are recovered.
Official reference (opens in a new tab)

Background work

Trigger.dev

A platform for running background tasks.

Why it helps: Useful for longer processing jobs and operational visibility.

When to add it & what to check
Consider it when
When a task is too long or involved for an HTTP request
Before committing
Check task runtime, concurrency, retries and resource costs.
Official reference (opens in a new tab)

Background work

Cloudflare Workflows

Durable multi-step execution in the Cloudflare ecosystem.

Why it helps: Can persist progress through a long-running workflow.

When to add it & what to check
Consider it when
When coordinating jobs alongside Workers services
Before committing
Plan step boundaries and idempotency; durable execution does not prevent duplicate external effects by itself.
Official reference (opens in a new tab)

Background work

Upstash Redis

A managed Redis service with HTTP access options.

Why it helps: Can support shared rate limits and caches across application instances.

When to add it & what to check
Consider it when
When a measured need calls for shared fast state
Before committing
Do not add caching before understanding invalidation; durable app records still need a suitable primary store.
Official reference (opens in a new tab)

Quality & delivery

Playwright

Browser automation and end-to-end testing tools.

Why it helps: Lets an agent verify actual user journeys and browser behavior.

When to add it & what to check
Consider it when
When critical workflows need repeatable browser checks
Before committing
Use isolated test accounts and realistic assertions; screenshots alone do not test permissions.
Official reference (opens in a new tab)

Quality & delivery

Vitest

A test framework integrated with the Vite ecosystem.

Why it helps: Gives fast feedback on business rules and focused components.

When to add it & what to check
Consider it when
When logic needs repeatable regression checks
Before committing
Run browser or integration checks for behavior that unit tests cannot establish.
Official reference (opens in a new tab)

Quality & delivery

ESLint

Configurable static analysis for JavaScript and TypeScript.

Why it helps: Catches selected code problems and enforces project conventions.

When to add it & what to check
Consider it when
As part of the existing development checks
Before committing
Passing lint is not proof of correctness or security.
Official reference (opens in a new tab)

Quality & delivery

GitHub Actions

Automation for repository builds, tests and delivery workflows.

Why it helps: Runs checks consistently after source changes.

When to add it & what to check
Consider it when
When collaborators or agents contribute changes
Before committing
Limit workflow permissions and protect secrets from untrusted pull requests.
Official reference (opens in a new tab)

Operations & growth

Sentry

Application error tracking and performance monitoring.

Why it helps: Provides evidence of failures in the deployed product.

When to add it & what to check
Consider it when
Before supporting users beyond your own test sessions
Before committing
Scrub sensitive data, control sampling and give alerts a responsible owner.
Official reference (opens in a new tab)

Operations & growth

PostHog

Product analytics, feature flags and related product tools.

Why it helps: Helps measure whether people reach the outcome you built.

When to add it & what to check
Consider it when
When a specific product question needs usage evidence
Before committing
Define events carefully and configure privacy, retention and recording settings.
Official reference (opens in a new tab)

Operations & growth

Cloudflare Turnstile

A service for checking potentially automated traffic.

Why it helps: Can reduce abuse on public forms.

When to add it & what to check
Consider it when
When signups or submissions are attracting unwanted automation
Before committing
Validate tokens on the server and keep independent rate limits and authorization checks.
Official reference (opens in a new tab)

Content

Sanity

A platform for structured content and editorial workflows.

Why it helps: Lets editors maintain content without editing application source.

When to add it & what to check
Consider it when
When a growing content library needs structured authoring
Before committing
Define schemas and preview permissions; a small static guide library may not need a CMS.
Official reference (opens in a new tab)