Fastify Got Over Thirty-Six Thousand Stars Because Node Teams Wanted Express-Like Clarity With Less Overhead and Fewer Performance Excuses
Fastify has about 36,305 GitHub stars and remains one of the hottest high-performance Node frameworks. This guide explains what Fastify is for, how to build a typed API, and how to deploy it with Node and Docker.
The click-friendly summary is fair: Fastify got hot because it looked at slow Node API habits and politely suggested that better defaults, schemas, and throughput might actually matter.
GitHub shows Fastify at roughly 36,305 stars, and that number reflects a framework that hit the right backend nerve: familiar enough for Node teams, faster and more structured than the old default patterns.
What Fastify is for
Fastify is strong for:
- JSON APIs
- high-throughput Node services
- schema-driven validation
- plugin-based backend architecture
- TypeScript-friendly APIs
It became popular because it treats performance and validation as built-in concerns rather than afterthoughts.
Start a Fastify server
npm init -y
npm install fastifyExample:
const fastify = require("fastify")({ logger: true });
fastify.get("/health", async () => {
return { ok: true, framework: "fastify" };
});
fastify.listen({ port: 3000, host: "0.0.0.0" });Why it got adopted
Fastify improved on common Node pain:
- faster request handling
- JSON schema validation
- better plugin structure
- lower overhead
- stronger production defaults
That made a lot of “good enough” Express setups look less compelling.
How to deploy it
Node
NODE_ENV=production node server.jsDocker
FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]Then:
docker build -t my-fastify-app .
docker run -p 3000:3000 my-fastify-appWhat it disrupted
Fastify did not replace every Node backend, but it forced backend teams to confront whether their old routing stack was leaving performance and structure on the table for no good reason.