Why Nest, and the three building blocks
Express got you a server. Now what?
Last module you answered GET /walkers with raw node:http and Express. For one route that's perfect. But a real PawWalk backend has walkers, bookings, auth, payments, and a job queue β dozens of routes, each needing the same database, the same logger, the same auth check. With bare Express you wire all of that by hand: pass the db into every handler, require files in the right order, and hope nobody imports a circular mess.
NestJS is Express (or Fastify) underneath, plus the structure a team needs so the codebase survives past its first ten files. It gives you three things Express leaves you to invent: a way to group related code (modules), a way to map HTTP to methods (controllers), and a way to hand dependencies to the code that needs them (dependency injection). This lesson meets all three.
The senior pitch:
Express is a library β you assemble the architecture. Nest is a framework β the architecture is the product. On a team, that shared structure is worth more than the few lines of freedom you give up.