Skip to main content

Philosophy


Philosophy of CrumbJS

Why Another Framework?

We often get asked: “Why build a new framework when there are already so many excellent ones?”
After all, the ecosystem is full of great options — from modern TypeScript frameworks like Elysia and Hono, to the battle-tested classics like Express and Fastify.

The truth is, we’ve used them all across real projects. And while each shines in its own way, we kept running into the same pain points when building the kind of APIs we deliver every day. CrumbJS is our attempt to solve those pains directly, instead of patching them together with dozens of extra dependencies.


Our Core Principles

1. Validation as a first-class citizen

Validation shouldn’t require 500 decorators or an external middleware zoo.
CrumbJS builds on Zod, giving you a powerful, expressive, frontend-friendly validator right out of the box.
Unlike TypeBox or hand-rolled middlewares, Zod gives us runtime safety, schema reuse, and developer ergonomics without compromise.

2. OpenAPI without the headaches

Every medium-to-large project eventually needs proper API documentation.
In most frameworks, this means bolting on third-party tools that don’t evolve in sync with the framework itself.
With CrumbJS, OpenAPI support is built in and tightly coupled with validation — so your schemas and your docs never drift apart.

3. Enterprise-ready features included

Real-world APIs often need queues, background workers, and database integrations like MongoDB.
Instead of forcing you to wire up external packages every time, CrumbJS ships with Redis queues and Mongo helpers by design — ready to use, no yak-shaving required.

4. Practical over dogmatic

Edge runtimes and serverless execution are great — when you actually need them.
But many APIs still run in containers, Kubernetes, Docker Swarm, or plain VPS setups.
We wanted a framework that works cleanly in those environments, without extra adapters, abstractions, or “edge-first” complexity you don’t need.


✨ In short, CrumbJS isn’t about reinventing the wheel.
It’s about taking the best ideas from existing frameworks, removing the friction, and providing a batteries-included experience that saves time for teams building serious APIs.