Senior Application Developer

loc: Maynooth, ON K0L 2S0tel: 613-553-0960email: rgsamways@gmail.com
Robin Samways

robinsamways.ca · Stack Decisions

$ Choosing the Framework With 10x Fewer Downloads, on Purpose

Choosing a Node framework for a rebuild meant actually comparing, not defaulting. Express went without a major release from 2014 until Express 5 in October 2024, and didn't have correct built-in async/await error handling until that release. Fastify was designed from 2016 onward specifically to fix that gap, plus schema-first request validation and plugin encapsulation as first-class features, not bolted-on middleware.

Express still has roughly an order of magnitude more downloads, and is the framework most job postings name explicitly. Choosing Fastify anyway was a knowing trade — technical merit over market visibility — not unaware of the tradeoff, made in spite of it.

Express: no major version 2014 -> Oct 2024 (v5); correct built-in async
         error handling only arrives with that release
Fastify: designed 2016+ specifically around that gap, plus schema-first
         validation and plugin encapsulation as first-class features

Express: ~10x the downloads; the framework most job postings name explicitly
Fastify: chosen anyway, for the technical reasons above

The fix

Not a bug fix — a documented, comparative decision, made with the tradeoff named explicitly rather than discovered later. The evidence (release history, what each framework actually fixed and when) is checkable, not a preference stated as fact.

Why this matters

This is a direct, evidence-backed answer to 'why did you choose X' — the question a copied tutorial stack can't actually answer. Going against the more market-visible choice for a stated, defensible reason is a stronger signal of real technical judgment than following convention because it's what most postings mention.

Feedback on this page