← back to the skyAnsh Chaturmohta
12h49m +49°

byhand

byhand: a workshop, not a library. The classic engineering books and build your own X tracks, learned by actually building the thing.

Aug 2026
launched publicly
3 volumes · 6 tracks
35 modules, 36 build stages
Astro on Cloudflare
Workers, D1, one vendor, no card
Free
no ads, no upsell, no course
AstroCloudflare WorkersD1TypeScriptbetter-authHand drawn SVGGo

The idea

You do not read about Redis, you build one. byhand takes the books I actually wanted to learn from, Designing Data Intensive Applications, Head First Design Patterns, Clean Code, and turns each chapter into a build. Alongside them sit six build your own X tracks: a shell, a Redis, an interpreter, a load balancer, a database, and Raft.

The site never runs your code. You clone a starter repo, follow the assembly steps, and a local test harness certifies each stage on your machine. The harness is the truth; the site only keeps your logbook.

How a sheet works

Every page is drawn as an engineering sheet. A living blueprint at the top shows the machine you are assembling: solid ink for what you have built, blue dashed for the part under construction, ghost outline for what is still ahead. Below it, the concept in plain language, then numbered assembly steps with hints you can choose not to open, then an acceptance spec you run yourself.

There is a notebook down the right of every sheet. You can pin a margin note to a single step, the way a real drawing carries its notes block, and read the whole notebook back later across every track.

byhand/

A WORKSHOP, NOT A LIBRARY

The classic engineering books,
learned by building.

You don't read about Redis — you build one. Guided sheets on this site, code on your machine, a local test harness certifies every stage.

OPEN TRACK 02 — BUILD YOUR OWN REDIS →

LOGBOOK: 2 SHEETS CERTIFIED · VIEW →

The Volumes — books, done by hand

VOL 01 · DATA-INTENSIVE, BY HAND
DDIADesigning Data-Intensive ApplicationsMartin Kleppmann11 MODULES
VOL 02 · PATTERNS, BY HAND
HFDPHead First Design PatternsFreeman & Robson12 MODULES
VOL 03 · CLEAN CODE, BY HAND
CCClean CodeRobert C. Martin12 MODULES

The Tracks — build your own X

TRACK 01 · BUILD YOUR OWN SHELL · GO
Processes, pipes, signals — the terminal stops being magic.6 STAGES · STARTER
TRACK 02 · BUILD YOUR OWN REDIS · GO
A real key-value server: sockets, RESP, concurrency, TTLs, crash-safe persistence.6 STAGES · CORE · 2/6 CERTIFIED
Home · the catalogue
byhand/builds/redis/stage-3/
SHEET 3 / 6 · REV A
ASSEMBLY DIAGRAM — YOUR REDISSCALE: LEARNING
clientthe outside worldPORT JACK✓ builtRESP CODEC✓ builtMEMORY BANK⚙ buildingINTERLOCKstage 4CLOCK UNITstage 5FLIGHT RECORDERstage 6
BUILTUNDER CONSTRUCTIONNOT YET IMAGINED

STAGE 3 · THE MEMORY BANK

The Memory Bank

The machine finally remembers.

What you're wiring up

A key-value store at this stage is honestly just a Go map guarded behind three verbs — and that's the point: the hard parts of a database are never the map, they're everything around it.

Assembly steps

[ 01 ]Add a store type wrapping map[string]string with Get/Set/Del methods; wire SET key value → +OK and GET key → bulk string.
▸ hint
[ 02 ]Return $-1\r\n for GET of a never-set key. SET over an existing key silently replaces.
[ 03 ]Implement DEL key [key...] → integer count of keys that existed, and EXISTS key [key...] → integer count.
▸ hint
ACCEPTANCE SPEC
$ make check STAGE=3
· SET → +OK; GET → the value· GET ghost → $-1\r\n· DEL name → :1, again → :0· 10KB binary value round-trips
THE HARNESS PASSED — INK IT ✒
A sheet, mid-build
byhand/notes/
NOTEBOOK · 3 NOTES ACROSS 2 SHEETS
NOTEBOOK · SHEET 3
What clicked? What didn't? Anything you'd want to read back later.
ON STEP 03 ×PIN ✎
0117 AUGEDIT · DEL

Kept the store as its own type even though it is one map. Stage 4 immediately hangs a mutex off it, so past-me was right.

0317 AUGEDIT · DEL

DEL a a returns :1, not :2. Count deletions, not arguments. Cost me a harness run.

16 AUGEDIT · DEL

The null bulk string is $-1\r\n, and a missing key is not an error. Redis's real behaviour is the spec, and that framing keeps making the choices for me.

Where they live

Build Your Own Redis 2Clean Code, By Hand 1

DRAWN BY HAND · YOUR MACHINE DOES THE WORK · THE HARNESS IS THE TRUTH

The notebook
Live mockup, recreated from the site's own code. The blueprint inks itself in stage by stage.

Why I built it

I had a reading list I kept not finishing. Three good books, months of good intentions, and very little I could actually do at the end of a chapter. The thing that always worked for me was building something, so I rebuilt the reading list as a workshop and made myself learner number one.

It was meant to be for me. Somewhere between the first track and the sixth it stopped being a private project, so in August 2026 I put it out into the world.

Under the hood

Astro in server mode on Cloudflare Workers, with D1 for the logbook and the notebook, better-auth for sign in, and the whole domain served from its own zone. Every schematic and plate is hand drawn SVG rather than an image, so a diagram can fill itself in as you certify stages. The site renders completely without JavaScript, all ghost, and progress lights up once you sign in.