Stacks You Will Actually See
The small MVP stack, then Next.js, Laravel, WordPress, Python, and Docker.
Learning objectives
- Recognize the simple MVP stack and the heavier stacks tools generate
- Read the runtime and the database off the repo, not the marketing page
- See why “it runs on my laptop” is not a hosting plan
The tool has favorites
Models suggest stacks they were trained on. You will see the same heavy ones over and over, and you can choose a smaller one on purpose. The names matter less than two questions: what process has to stay running, and which database does it expect.
| Stack | Clues in the repo | What the host must run |
|---|---|---|
| MVP: SPA + one API + SQLite | A vite or plain react app, a small server.js or index.php, and a file such as studio.db. No postgres service in the compose file, often no compose file at all. | One process, a build of the SPA, and a disk that keeps the SQLite file. This is the right first stack for a class list. |
| Next.js (Node) | package.json depends on next. Scripts include next build and next start. API routes live under app/api or pages/api. | Node.js, a build step, then a long-running Node process. Often Postgres. Heavier than an MVP needs. |
| Laravel (PHP) | composer.json requires laravel/framework. .env.example has DB_CONNECTION and APP_KEY. | PHP, a web server, and MySQL or Postgres. PHP handles a request and exits. It is not a process you leave on port 3000. |
| WordPress | wp-content, wp-config.php, themes and plugins. Sometimes no custom code at all. | PHP and MySQL. This is what ordinary web hosting is built for. |
| Django or FastAPI (Python) | requirements.txt or pyproject.toml lists django or fastapi. A manage.py file means Django. | A Python environment, an app server (gunicorn or uvicorn), and usually Postgres. |
| Docker Compose | docker-compose.yml lists services such as web, db, and sometimes redis. | A host that runs Docker. The compose file is the stack diagram. Each service is a separate program. |
Next.js is a frequent suggestion because tutorials use it, not because a class studio needs a Node process and Postgres on day one. A single-page app plus SQLite, or a WordPress or Laravel app, can be the smaller choice when the product is a class list and a form. Match the stack to the MVP. Add the database server when the file is no longer enough.
Worked example — Workshop Co.
Their generated app has "next": "15.x" in package.json, provider = "postgresql" in Prisma, and no wp-content. That is a Next.js app with Postgres. A plan that only serves PHP files will not start it. A VPS with Node, a build step, and a Postgres database will.
Match the clue
Five folders arrive. Match each clue to the host requirement.
manage.pyanddjangoinrequirements.txtwp-config.phpand athemesdirectorynext startin the scripts, plusDATABASE_URLpointing at Postgresdocker-compose.ymlwith services namedappanddbstudio.dbnext to aserver.jsthat importsbetter-sqlite3, plus aviteconfig
Answer
- Python app server plus a database. Django.
- PHP and MySQL. Ordinary web hosting fits.
- Node process that stays running, a build, and Postgres. A static file host is not enough.
- A Docker host. Do not split the two services onto a plan that cannot run containers unless you are ready to replace them with installed programs.
- The MVP stack. One Node process, a built single-page app, and a SQLite file. No separate database server.