Build track
Know what to plug in, and where.
Every app is a handful of services joined together: login, a database, somewhere to run, a queue for slow jobs. Learn what each one does, compare the options, and see exactly how they connect.
How this works
- 1Pick what you are buildingA SaaS, a store, a chat app, an AI tool. We start you with the parts it usually needs.
- 2See the architectureBoxes and arrows, drawn for you. Press play to watch a sign-in or a payment travel through it.
- 3Click any boxRead why it is there, compare the alternatives, and follow the steps to connect it.
- 4Hand it to your AI toolCopy the whole plan as a prompt for Cursor, Claude Code or any coding assistant.
Start from a product
- SaaS dashboardUsers sign up, pay monthly and get emails.7 parts
- Online storeProducts, a cart, checkout and order emails.10 parts
- Chat or social appProfiles, photos and messages that arrive live.8 parts
- AI appA chat or tool powered by a language model.8 parts
- MarketplaceSellers list, buyers search and pay.9 parts
- Blog or content siteMostly public pages that must load fast.6 parts
The parts of an app
Grouped by the job they do. Not sure where to begin? Go top to bottom: that is the order most apps get built.
Run it
Where your code lives and how requests reach it.
Remember it
Where data and files are kept so they survive a restart.
Database
Where does my app keep its data so it is still there tomorrow?
Postgres · Supabase · MongoDB · SQLite · FirestoreCompare 5 optionsFile storage
Where do uploaded photos, videos and files go?
AWS S3 · Cloudflare R2 · Supabase Stor. · UploadThingCompare 4 optionsCache
How do I make repeated requests faster and lighter on my database?
Redis · Upstash · Memcached · In-process · HTTP cacheCompare 5 options
Protect it
Who is allowed in, and what they are allowed to do.
Do it later
Slow work that should not make the user wait.
Add powers
Optional features that make the app feel finished.
Payments
How do I take money from customers?
Stripe · Razorpay · Paddle / LS · PayPalCompare 4 optionsRealtime
How do I show live updates without the user refreshing?
Pusher / Ably · Supabase RT · SSE · WebSocketsCompare 4 optionsSearch
How do people find things in my app?
Postgres · Algolia · Meilisearch · ElasticsearchCompare 4 optionsAI features
How do I add chat, summaries or smart search with AI?
LLM API · AI SDK · pgvector · Pinecone · Open modelsCompare 5 optionsObservability
How will I know when something breaks, before my users tell me?
Sentry · Logs · Uptime · Metrics · PostHogCompare 5 options