Areas we serve
Chapter 2

What a Tech Stack Actually Is

The set of programs that deliver an app, whether you picked them or a tool did.

Learning objectives

  • Define “tech stack” without naming a brand
  • Separate the code in a repository from the programs that run it
  • Use a dependency file as the first clue

A stack is the set of programs that deliver the app

A tech stack is every program that has to be present for the product to work: what the browser runs, what the server runs, where data is stored, and the machine (or hosting plan) those programs sit on. People often use the word for a brand pair — “a Next.js stack,” “a Laravel stack.” The useful meaning is the jobs, not the logos.

Think of a restaurant. The menu the guest sees is not the kitchen, the kitchen is not the walk-in fridge, and none of those are the building. A generated app is the same shape. The page, the program that answers “reserve this class,” the database row that remembers the reservation, and the server that keeps that program running are four different things. A tool can write all four into one folder. They still fail independently.

Core idea

A repository is a recipe. A stack is the kitchen that can cook it. Copying the folder to a server does nothing until the programs the recipe names are installed and started.

What you can see in the folder

You find thisIt usually means
package.jsonJavaScript. Look at dependencies for React, Next, Express, and the scripts named dev, build, and start.
composer.jsonPHP. Laravel and many WordPress tools live here.
requirements.txt or pyproject.tomlPython. Django, Flask, and FastAPI show up as package names.
Dockerfile or docker-compose.ymlThe app expects one or more containers. The compose file often names the database too.
.env.exampleA list of settings the app refuses to start without: database URL, secret keys, public site URL.

Worked example — one sentence per file

Workshop Co.’s folder contains package.json, a prisma/schema.prisma file whose first lines say provider = "postgresql", and .env.example with DATABASE_URL and NEXTAUTH_SECRET. You do not need to read the React components yet. Those three files already say: JavaScript app, Postgres database, and a login secret that must exist on the server and must not be committed to git.

Name the clue

A friend says “the AI made me a site.” The folder has composer.json with laravel/framework, a .env.example containing DB_CONNECTION=mysql, and no package.json. What two parts of the stack can you already name?

Answer

The application is PHP, specifically Laravel. The database it expects is MySQL (or a compatible server such as MariaDB). You still do not know the domain, the web server in front of PHP, or the size of the machine. Those are hosting decisions, not files.