stacks

Stack playbooks

Pick a stack on purpose

Each playbook covers the circumstances that justify it, why the pieces work together, architectural examples, and the tradeoff that should send you elsewhere.

Not sure which one fits?Answer two or three questions and get the playbook a dev would reach for.Stack picker →

Vite + React + Supabase + Vercel

A short path from idea to a real product with auth, a database, and a public URL.

ViteReact + TypeScriptTailwind CSSSupabase (Postgres)

skip if — you need server-rendered marketing pages for SEO, or if your authorization rules are too complex to express as row policies.

Next.js + Postgres + Prisma + Vercel

The default choice when you need SEO, server rendering, and typed database access in one codebase.

Next.js (App Router)React Server ComponentsPostgresPrisma

skip if — your app is a purely internal dashboard behind a login — the server rendering cost buys you SEO you will never use.

Astro + Markdown + CDN

Content sites that stay fast because there is almost no JavaScript to ship.

AstroMarkdown / MDXContent CollectionsTailwind CSS

skip if — the page content depends on who is logged in — personalization fights a fully static build.

WordPress + managed hosting

Hard to beat when non-developers must publish daily and the budget favors plugins over engineers.

WordPressPHP + MySQLManaged host (WP Engine, Kinsta, Pressable)Block themes

skip if — the product is an application rather than a site — app-like state in WordPress means fighting the platform every sprint.

React Native + Expo

One TypeScript codebase for iOS and Android when the app is mostly screens, lists, and forms.

React NativeExpo SDKExpo RouterEAS Build / Submit

skip if — the product depends on heavy custom rendering, sustained background processing, or bleeding-edge OS features on day one.

Turborepo + pnpm + shared UI package

For teams running several apps that must look and behave like one product.

pnpm workspacesTurborepopackages/uipackages/config

skip if — you have one app and one team — a monorepo adds tooling overhead that only pays off across multiple consumers.

Tauri + React + SQLite

Small, fast desktop apps built with web skills, with data stored on the user's machine.

TauriReact + TypeScriptViteRust

skip if — you need pixel-identical rendering on every OS or rely on Chromium-only APIs — each platform's webview differs, and Electron is the safer bet there.

FastAPI + Postgres + SQLAlchemy

A typed Python API for when your data work, ML models, or team already live in Python.

FastAPIPydanticSQLAlchemyAlembic

skip if — the whole team writes TypeScript and there's no Python-specific work — a TypeScript backend keeps one language and shares types with the frontend.

Phaser + TypeScript + Vite

2D games that load instantly in a browser tab — and can still ship to Steam.

PhaserTypeScriptViteTiled

skip if — you need 3D, console releases, or tens of thousands of moving objects — a native engine like Godot or Unity fits better.

Godot + GDScript

A royalty-free engine for indie games headed to Steam, mobile, or consoles.

GodotGDScriptC# (optional)Kenney assets

skip if — the game must run well in a browser tab, or the team is already deep in Unity's asset ecosystem — Godot's web export has limits and its asset marketplace is smaller.

WWADD — Moves. Stacks. Judgment calls.

FREE REFERENCE · NO LOGIN · NO TRACKING