Architecture · 2015–now · Platform Wars
GraphQL Everywhere
Clients ask for exactly what they need — and sometimes invent a second backend team to make that safe.
GraphQL mutated API design for product-heavy frontends that hated over-fetching. It failed as a global REST replacement because caching, authorization, and N+1 resolvers are hard at scale. Right tool for some graphs; wrong default for every CRUD service.

Context
Frameworks fought for the runtime
Front-end frameworks consolidated power; TypeScript became the floor; serverless and Jamstack rebranded old ideas with better CDNs. Blockchain-for-CRUD and big-bang rewrites collected the decade’s dumbest budgets. The winners were boring platforms with ecosystems. The losers were narratives that skipped product-market fit.