Systems are just stories told in silicon.
Reality rarely changes everywhere at once. Most failures begin when one subsystem learns the truth before another.
Distributed state, and the cost of keeping a record honest.
I didn't start by building distributed systems. I started by asking why operational reality and the record of that reality drift apart. Every project collected here is another attempt at answering that question—from analytics and workflow automation to event streams, temporal state, and system architecture.
Data was never the destination.
It's the thing everything else has to move through — schedules, transactions, telemetry, conversation. Most of what I build exists to keep that movement honest: to notice the moment reality and the record of reality stop agreeing with each other.
An operational system is rarely constrained by computation alone.
It is constrained by the movement of information between independent representations of reality.
The question isn’t where computation happens.
It’s where meaning becomes stable.
Once meaning becomes unstable, every downstream layer - APIs, workflows, storage engines, dashboards, reports, and eventually human decisions - starts compensating for ambiguity that should never have existed.
Stable systems emerge when modelling happens first at the data and semantic layer. Infrastructure is then free to evolve around that meaning instead of quietly redefining it.
That idea sits underneath every system documented in this library. Transit Intelligence is simply the first place where those ideas are explored at operational scale.
Transit Intelligence
Transit Intelligence is where the ideas explored in this library become executable. It began with public transport, but evolved into a broader investigation of how operational systems preserve meaning while computation, infrastructure and time continuously reshape reality.
A train departure isn’t a fact.
It is an evolving agreement between schedules, sensors, predictions, historical observations, operators, and passengers.
Every representation is partially true.
The engineering challenge is deciding which version of reality the system should trust, when, and why.
Where research becomes software.
These laboratories don’t exist because of Transit Intelligence. Transit Intelligence exists because these laboratories do.
The project changes. The engineering questions remain.
Stable applications emerge when modelling begins at the semantic layer.
- □Should route topology be temporal?
- □Historical replay benchmark execution
- ✓Realtime Event ingestion and processing complete
Research & Writing
“Every production system eventually teaches the same lessons. Writing is how I check whether those lessons actually generalise.”
The software projects are experiments. The writing attempts to extract the reusable engineering principles hiding underneath those projects. The goal is not documentation; it is building a vocabulary for understanding information systems.
Question: How should information systems be designed?
Focus: modelling, state, events, storage, computation, operational architecture
Convergent Systems
The networks we wire and the systems that evolved in nature were never trying to mimic one another. Yet, under the quiet pressure of resource coordination, they steadily converge toward the same structural patterns.
Information moves locally, but coordination must emerge globally. In both the routing table and the mycelial web, state coordination passes along decentralized links where no single node holds the absolute representation of reality. Resilience is not the prevention of failure; it is the capacity of the network to dynamically route around it.
We did not build distributed software to imitate biological ecosystems. Rather, both domains are solving the same fundamental constraints of time, drift, and resource limitations.
Different histories. The same constraints.
Every system begins as an attempt to explain something.
The interesting ones eventually begin explaining us back.