Sensible default first. Justify the exception.
Most engineering debates aren't "X vs. Y forever" — they're "which one should I reach for by default, and what evidence would actually change my mind?" That's the shape every list in this org follows: a clear thesis, honest decision heuristics, curated real resources, and a section on when the "boring" default stops being the right call.
The format is inspired by ranjithrajv/awesome-cpu-first-ai — "Training needs GPUs. Inference usually doesn't. Start with CPU; justify the GPU." We're applying that same pattern — default-first, evidence-backed, honestly caveated — across other places in computing where people reach for the complex option before checking if the simple one already works.
| Repo | Thesis |
|---|---|
| awesome-single-node-first | Your data fits on one machine. Justify the distributed system. |
| awesome-wasm-first-compute | Ship WebAssembly before native binaries or a heavier runtime. Justify the alternative. |
| awesome-static-first-web | Ship static/SSG before reaching for a server-rendering framework. Justify the server. |
| awesome-process-first-concurrency | Reach for OS processes and queues before actors or a distributed message bus. Justify the complexity. |
| awesome-edge-first-inference | Run inference on-device or at the edge before the cloud API round-trip. Justify the network hop. |
| awesome-text-first-interfaces | Build the CLI/text protocol before the GUI. Justify the graphical interface. |
| awesome-sync-first-io | Write blocking/synchronous code before async. Justify the event loop. |
| awesome-self-hosted-first-streaming | Run your own ingest/transcode/delivery stack before a managed streaming SaaS. Justify the vendor. |
- A one-line thesis, not just a category name.
- Decision heuristics — when the default genuinely holds, and rough signals for when it doesn't.
- Curated, real, categorized resources (no link-dumping, no self-promo spam).
- An honest section on when to break the rule. These are defaults, not dogma.
- CC0-licensed, PRs welcome — see each repo's
CONTRIBUTING.md.
If you have a genuine default-vs-exception debate from your own domain — a clear thesis, real tradeoffs, resources you can actually curate — open an issue on any list here or start a new repo. The bar is the same everywhere: be honest about when the default breaks down, not just when it wins.