// the find
ladjs/lad
Node.js framework made by a former @expressjs TC and @koajs team member. Built for @forwardemail, @spamscanner, @breejs, @cabinjs, and @lassjs.
Lad is an opinionated Koa-based Node.js boilerplate bundling a web app, API server, job scheduler, and proxy into one preconfigured project. It's aimed at teams who want a full MVC stack with MongoDB, Redis, and Passport auth wired up out of the box rather than assembling one from scratch, and it's the actual foundation behind forwardemail.net and a handful of the author's other production services.
It's genuinely battle-tested — forwardemail.net and Bree both run on it, so this isn't a boilerplate nobody dogfoods. i18n is threaded through everything (web errors, emails, API responses, even DB validation errors), which most Node starters bolt on as an afterthought. Security defaults are sensible out of the box: CSRF/SameSite, rate limiting, CORS, and Stripe-style structured error handling via koa-better-error-handler. The email-templates integration with local browser preview and automatic CSS inlining solves a genuinely annoying problem (cross-client email rendering) that most frameworks ignore entirely.
The deployment story is stuck in 2018 — Ansible playbooks driving PM2 across bare Ubuntu boxes, with SSL certs handled by manually downloading a Namecheap zip because they explicitly avoid Let's Encrypt. There's no Docker path at all. It's a hard MongoDB + Redis + Koa lock-in; if your stack doesn't match that exact combination you're fighting the framework, not using it. Windows isn't supported for local development, which is an odd omission for a framework this opinionated about developer experience elsewhere. The README leans heavily on a constellation of other `ladjs/*` packages (redis, auth, i18n, env) — great for cohesion, but it means understanding this repo really means understanding six or seven repos, and any one of them going stale breaks the whole stack.