Skip to content

effect-lab 🧪

We read eight real Effect codebases, argued with ourselves for weeks, and wrote down who won. Here are the short versions.

effect-lab is a study lab for software engineering, read through Effect v4 codebases. Real open-source projects (hazel, slopcop, t3code, opencode, maple, alchemy, x2mail and Effect itself) are the reading material. For each topic we surveyed what those teams actually do, then picked one convention for our own backend code and wrote down why the alternatives lost.

The full write-ups live in notes/. They are long, cite every line of code, and are written so an agent can follow them. This site is the human cut: each decided topic shrunk to a handful of rules with an example of getting it wrong and getting it right.

One page per topic

Each page answers one question, in 2–4 minutes. Rules come first; the reasons are bullets, not essays.

Impact pills

HIGH means getting it wrong costs a rewrite or a security hole. MEDIUM hurts. LOW is hygiene.

❌ then ✅

Every rule shows the shape we rejected next to the one we picked. The code uses the names the notes use today.

Deferred, on purpose

Things we chose not to build yet are listed at the bottom of a page, each with the trigger that would make us build it.

The notes map 116 topics; that is a map, not a queue. These ten build on each other. Read them in order and the rest can be pulled in when the product asks for it.

  • Backend first. Decisions are made for server code. Frontend patterns show up only as contrast.
  • Bets, written down. Every decision leans on a short list of assumptions: a long-lived server or a Cloudflare Worker, one SQL database (Postgres, SQLite or D1), a multi-org SaaS. If one of them is false for you, start there.
  • Effect v4 only. No v3 idioms. Where an app repo uses an older API name, the notes follow the Effect source.
  • The notes win. If this site and a note ever disagree, the note in notes/ is the source of truth, and the page is a bug.