Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

What This Book Demonstrates

This book is not a catalogue of technologies, patterns, or best practices.

It is a demonstration of how I reason about software systems that must endure: systems whose data outlives code, whose mistakes have legal consequence, and whose failure destroys trust long before it breaks functionality.

Starting From First Principles

I begin before software. Before architectures, frameworks, or infrastructure, there are pressures that exist regardless of implementation: disagreement, conflict, error, change, time, and the need for outcomes that others can rely on.

I am not interested in solutions until the problem has become unavoidable.

Systems That Outlive Code

In long-lived systems, software is temporary. Teams change. Platforms change. Vendors disappear. What must endure is truth, history, responsibility, and trust.

Software is a vessel rather than a foundation.

Data as the Enduring Artefact

Data outlives systems. Once an institution commits to a fact, that commitment must survive rewrites, migrations, bugs, and even correction.

Correction is handled by addition, not erasure.

A Theory of Failure

Most large systems fail quietly. They pass tests and scale, but legitimacy decays: records become unreliable, decisions become unexplainable, trust erodes.

This book proposes a causal inversion:

Truth → Data → Trust → Software

Clarity Without Jargon

Complexity is unavoidable. Obscurity is not. If I cannot explain something clearly, I assume I do not understand it well enough.

Technology as a Consequence

When software is introduced, it is intentionally ordinary: PostgreSQL, queues, background work, explicit workflows, and observability.

The code exists to show that enduring systems do not require novelty — they require discipline.