Database: SQL or NoSQL?
SQL Postgres. The strong default. Least setup of anything out there.
Still SQL, built to stay fast on enormous tables.
NoSQL. Flexible, JSON-style documents with no fixed shape.
Real-time NoSQL that syncs as data changes.
The Architect's Toolkit
Which tool for each job, and when to switch. The links go straight to each tool's site.
The five decisions that trip people up most. Read the question at the top, find the line that matches you, and follow it to the tool to use.
SQL Postgres. The strong default. Least setup of anything out there.
Still SQL, built to stay fast on enormous tables.
NoSQL. Flexible, JSON-style documents with no fixed shape.
Real-time NoSQL that syncs as data changes.
Merchant of Record. Handles global tax and compliance for you.
Also a Merchant of Record, popular with indie sellers.
A bare processor. Cheaper per sale, but you handle tax yourself.
Skip it. Just do the work in the request. Don’t add a queue you don’t need.
HTTP-based, no server to run. It calls your URL back when it’s time.
Background jobs as code: retries, scheduling, and multi-step flows handled for you.
The classic self-hosted queue: mature, full-featured, very flexible.
Drop-in sign-in components and a generous free tier. The default.
Login bundled with the database, so identity and data live in one place.
Open-source login you run yourself, with full control.
The long-time enterprise standard, with every login method.
A free ARM machine that’s hard to beat. The default for the course.
Simpler than the big clouds. DigitalOcean and Linode fit here too.
A platform host that runs your container close to your users. Railway and Render too.
The big three (with Google Cloud and Azure): most services, steepest learning curve.
Every choice the course makes, in one place. For each job: the tool we default to and why, then the alternatives and the moment you'd switch to one.
What should you build the app itself on?
Puts your frontend and backend in one framework and deploys to Vercel with almost no setup.
Alternatives
How should you make the app look the way you want?
Short, descriptive style words make styling fast, work great when you describe what you want to an AI builder, and keep the look consistent.
Alternatives
Where should the live app run so the world can reach it?
Built for Next.js, auto-deploys from GitHub, and has a generous free tier.
Alternatives
How should users sign in, and how do you protect pages?
Hands you pre-built sign-in components, makes protecting pages dead simple with one middleware file, and has a generous free tier.
Alternatives
Where should you store all the app's data?
The least setup of anything out there: sign up, click once, paste a connection string, done. SQL Postgres, the strong default for data with clear relationships.
Alternatives
Where should uploaded files like photos live?
Dead simple, part of the same Vercel platform you're already deploying to, and serves files through a fast CDN automatically.
Alternatives
How should you handle showing the app in multiple languages?
A translation library made for Next.js that handles language routing and your message files cleanly once you have lots of text to translate.
Alternatives
How should you run slow work later instead of making the user wait?
An HTTP-based message service with no server to run and a free tier: you send it a request, it calls your URL back. Exactly what a serverless Next.js app needs.
Alternatives
How should you charge customers and handle sales tax?
A Merchant of Record built for indie builders, so it handles global sales tax and compliance for you while you're still a team of one.
Alternatives
How should your app send emails like receipts and alerts?
The simplest email API of the bunch, designed to work smoothly with Next.js, with templates as components and a free tier big enough to launch on.
Alternatives
How do you find out something broke before your users tell you?
Catches crashes with the full detail of what broke and who it affected; pair it with Better Stack for uptime to cover both did-it-crash and is-it-reachable.
Alternatives
How do you measure what users actually do in your app?
Rolls events, funnels, retention, feature flags, and session replay into a single product with a generous free tier. Fewer tools is better for a solo builder.
Alternatives
How do you package the app so it runs the same everywhere?
Packages your whole app, with everything it needs, into one identical box that runs the same on your laptop, the server, or anyone's machine. The tool everyone knows.
Alternatives
How do you spread traffic across copies of your app so none gets overwhelmed?
The most widely used load balancer in the world, and it works cleanly with a stateless setup.
Alternatives
Whose computers should you rent to run your own servers?
Its free ARM machine is hard to beat for learning, and the skill of renting computing power as building blocks is identical everywhere.
Alternatives
How do you check the app still works before you ship a change?
Free, open source, and the best end-to-end tool right now: it launches a real browser and clicks through your app like a user, and pairs nicely with the Claude Chrome extension.
Alternatives
How do you automatically test, build, and deploy on every push?
Everything stays in one place next to your code, with nothing extra to connect, and it's free on the kind of repository you already have.
Alternatives
Which AI should write and edit the actual files of your app?
Runs right on your computer and writes real files you own, it's genuinely strong at the multi-step 'go build this whole thing' work, and you direct it in plain English. The smoothest path coming from a no-code builder.
Alternatives
Which AI model should run inside your app for your users?
The course's default app brain (Google Gemini Flash): cheap, fast, and good enough for most app features, with a clear cheap-to-premium ladder when you need more.
Alternatives
How should you track which step a long process is on?
A small set of states and rules about the allowed moves between them, stored as one status field on your data. It's a few lines of logic, it lives right next to your data, and it kills a whole class of bugs. No extra tool needed.
Alternatives
Where should your code's checkpoints get backed up online?
The standard, with the biggest community, and just about everything (your hosting, your automated checks, your AI builder) integrates with it out of the box. The course's deploy and CI examples all point at it.
A one-time add-on that turns the course into a reference kit you keep using on every app you build.
A one-time add-on. It stays in your account for good.