finds.dev← search

// the find

remix-run/remix

★ 33,376 · TypeScript · MIT · updated Sep 2026

The fully-stacked web framework

Remix 3 is a ground-up rewrite of Remix as a collection of small, standards-based JS/TS packages (router, sessions, cookies, data-table, UI, middleware) distributed under one umbrella package. It's aimed at developers building full-stack web apps who want a framework built directly on Fetch/Streams/Web Crypto rather than Node-specific APIs, and who're okay riding an active-development beta.

Building entirely on Web APIs (fetch, Streams, Web Crypto, Blob/File) instead of node:stream/Buffer/node:crypto means the same code actually runs unmodified on Node, Bun, Deno, and Cloudflare Workers. The package split enforces real single-responsibility boundaries - separate mysql/postgres/sqlite adapters for data-table, separate redis/memcache backends for session storage - so you can pull just fetch-router without the rest. The 'no bundler required' rule is backed by an actual constraint (packages must run unbundled in tests, only --import loaders allowed for TS/JSX), which forces better API design rather than being a marketing line.

This is a from-scratch rewrite - no Remix 2 or React Router knowledge/code carries over, and it ships via the next dist-tag with no version history or stability notes in the README, so you're tracking a moving target. 'Zero dependencies' is stated as an eventual goal, not current reality, meaning you inherit whatever third-party deps haven't been replaced yet with no visibility into which those are. The composable-packages pitch also means a real app will likely end up wiring together a dozen+ small packages (router, sessions, cookies, form-data, several middlewares), which is more integration surface to vet while the ecosystem is this new.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →