How It Works
The technical foundations of the Stoutenburger Almanac: DNA encoding, verification, card types, and the principles behind offline-first knowledge.
DNA Encoding
Every card receives a unique identity through a ULID (Universally Unique Lexicographically Sortable Identifier) — a 128-bit value that combines a timestamp with randomness. No central authority needed.
This ULID is then encoded into a DNA code: the 128 bits are read two at a time, and each pair maps to one of four letters — A, C, G, T. The result is a 64-character string that looks like a genetic sequence:
The first 40 characters are the random part (what makes each card unique), and the last 24 characters are the timestamp (when the card was created). The random part comes first so the most distinctive information leads.
Codon Words
To make DNA codes human-readable, the first 9 characters are read as three groups of three (codons). Each codon maps to one of 64 craft-related words — like klei, vuur, or rots. This produces a short label:
These codon words appear in card headers, footers, and the card index. They're a quick way to identify a card on paper or in conversation.
The encoding is bidirectional — you can always convert back from DNA to the original ULID. Nothing is lost.
Verify
Every time the almanac is built, a manifest is generated: a list of all cards with their SHA-256 content hashes. This manifest is then cryptographically signed using an Ed25519 key pair.
The Verify page checks the signature using the Web Crypto API — entirely in the browser, no server involved. If the signature is valid, the manifest hasn't been tampered with. You can then search for any card by its DNA code to confirm it's authentic.
The three verification artifacts:
manifest.json— all cards, their hashes, and metadatamanifest.sig— Ed25519 signature of the manifestalmanac.pub— the public key, exported with every build
Card Types
The almanac has five card types, each with its own schema, color, and purpose:
- Knowledge (K) — The why. Principles, backgrounds, context. Functional knowledge from first principles, not encyclopedic but usable.
- Instruction (I) — The how. Step-by-step build manuals with materials lists. Someone should be able to execute these.
- Product (P) — The what. Products that emerge from the build manuals — as finished items or kits.
- Maker (M) — The who. People behind the cards. Contact details, expertise, location. Together they form an offline knowledge network.
- Network (N) — The connections. Collections of related cards, showing how they link together.
Relations
Cards are connected through a fixed vocabulary of relations:
maker_id— links a card to its makerexplains_steps— a knowledge card explains an instruction cardsold_as— an instruction card leads to a productrelated_cards— generic "see also"topics— categorization from a fixed taxonomyitems— members of a network card
Reverse relations are never stored — the system derives them.
Sets & Editions
Cards are organized into Sets — thematically bundled collections with their own identity, inspired by collectible card games. Each set has a code, a name, an edition, and a curator.
The first set is RTW (Rebuilding The World) — Edition 1, curated by Eo Ena. Every card in a set receives a sequential set number (like RTW-001) for easy human reference. This exists alongside the DNA code: DNA is for machines and permanence, set numbers are for humans and collection navigation.
Cards also have a tier indicating complexity:
- Basic — for everyone, no prior knowledge needed
- Skilled — requires practice or tools
- Master — requires years of experience
Atomic Bundles
Each card is built as a complete self-contained directory: its own HTML file, CSS stylesheet, bundled fonts (no CDN), JavaScript if needed, images, and integrity data. One folder on a USB stick is a fully functional, fully offline card.
This is the core principle: independence over convenience. A card doesn't break because a company shuts down, a CDN goes offline, or the internet is unavailable. The card works the same on stoutenburger.com, on a museum server, on a school network, or as files on a thumb drive.
Cards are designed to roam. A card can simultaneously live on any number of domains, devices, and physical media. The origin is not the destination — success is measured by how many cards live in the wild.
For Makers
The Stoutenburger Almanac format is open. You can create your own cards, your own sets, and publish them anywhere. A card doesn't need permission from stoutenburger.com to exist.
The source code, build tools, schemas, and documentation are available on GitHub. The tooling includes:
- An interactive card scaffolder for creating new cards
- JSON Schema validation for all five card types
- A build pipeline that generates atomic bundles from markdown sources
- Ed25519 signing for integrity verification
- Automatic relation discovery between cards
Every card you make gets its own ULID, its own DNA code, and its own place in the world — no central registry required.
