Most backend tutorials stop at the same point: put some data in a map, wrap it in an HTTP handler, call it a key-value store.
That's not wrong — it's just incomplete. It skips the question that separates backend engineers from storage engineers:
If the process dies mid-write, what do you still have on disk?
I built go-durable-kv to practice that question deliberately — Go standard library only, no external database, no ORM, no shortcuts.
Why This Problem Is Worth Practicing
Every production system that writes data eventually has to answer for a crash. Whether it's a database, a message queue, or a cache with persistence — the difference between "we lost some writes" and "we lost nothing" comes down to decisions made before the crash happened.
Those decisions are what this project is about.
What I Built
Component What it does
Write-Ahead Log (WAL) Persists every mutation to disk before updating memory
CRC32 checksums Detects corruption during replay so recovery stops cleanly
Snapshots Periodic…