Spot on. Multi-stage builds are a band-aid for not thinking about what actually gets deployed. The real wins come from: npm ci --production (not reinstalling everything) Pruning your dependency tree before the final stage Using distroless or alpine as your runtime base, not full node That example still ships node:18 which is doing zero work in production. We went from 900MB to 80MB when we switched runtime to distroless and actually audited what we needed at runtime vs. build time. The discipline part is real. Multi-stage gave people permission to be lazy about it earlier.