It has been a few months since the last issue. The short version: I was shipping. The long version is the next issue.

This one is something else. If you have read the founder story, you already know a version of what happened to me. This is the part I left out.

CheddaBoards exists because of a relationship breakdown.

Not entirely. Not simply. But the philosophy at the core of it — infrastructure that cannot be taken away — that did not come from a whitepaper or a startup blog. It came from losing things. Real things. Things that mattered.

Let me start at the beginning.

November 2023. A Calculator.

The founder story starts with a broken iMac, a copy of Godot, and The Cheese Game. This is the other thread from that same winter.

I decided to learn Rust.

Not Python. Not JavaScript. Rust — famously one of the steepest learning curves in programming, a language that will fight you at every turn until you understand what it is actually trying to teach you.

I picked it for a few reasons. I had been reading about blockchains and a lot of the serious infrastructure in that space was built on Rust. It felt like learning the right thing rather than the easy thing. And I had come across the story of Graydon Hoare, the Mozilla engineer who reportedly conceived of Rust while stuck in a broken elevator — frustrated enough by the state of systems programming to imagine something better.

I liked that story. Someone building something permanent out of frustration with what already existed.

So I started. No background in programming. No computer science degree. Just a laptop, an AI to ask questions to, and kitchen shifts in between.

My first real program was a calculator.

I know that sounds small. But I remember the feeling when it compiled. That I had written something from nothing and the machine had understood it. That seemed genuinely impossible to me at the time. Finding my own files seemed impossible. Using build commands seemed impossible. The idea that one day I might deploy something that other people could use — that was so far away I could not even see it.

But I kept going. Rust, then GDScript for Godot, then Motoko for ICP development, then JavaScript for web integration. Nearly three years of nights and weekends, entirely through AI-assisted learning, building towards something I could not fully name yet.

What I Lost

Along the way, my relationship ended badly.

I am not going to go into the details because they are not the point. What matters for this story is what I lost in the fallout. Real things. Things that mattered. Among them was the PC I had been building on.

On that PC was the PEM key for the original CheddaBoards backend canister.

A PEM key is the cryptographic credential that gives you control over a canister on ICP. Without it, you cannot upgrade the canister. You cannot modify it. You cannot migrate it.

For all I know, the canister is still running. It may run forever — that is the nature of ICP infrastructure. But it is frozen either way. Locked at the earliest version of the leaderboard I ever built, a snapshot of where I was at the beginning, inaccessible to me now.

The thing I had been building — permanent, decentralised, cannot be taken away — had been taken away. Not by a server going down. Not by a company shutting off an API. By life. By circumstances. By losing a physical object that held a key.

I rebuilt from scratch. New canister. New keys. Properly secured this time — exported, encrypted, stored in more than one place. That lesson only needed learning once.

But I have thought about that frozen canister a lot. Somewhere out there on the network, unchangeable, holding the first leaderboard I ever wrote, from when I was just figuring out what I was doing. A monument to where this started.

Why It Became the Philosophy

The phrase I use for CheddaBoards — infrastructure that cannot be taken away — is not a marketing line.

It is what I wish I had been building for myself before I understood why it mattered.

When your leaderboards live on a decentralised canister, no person can withhold access from you. No company can shut off your API. No missed payment takes your player data offline. The keys are yours, properly held, and the infrastructure keeps running regardless of what is happening in your life.

For a lot of indie developers, that probably sounds like a nice-to-have. For me it is the whole point.

And I am aware of how that sits next to the story I just told. The original canister was taken from me anyway. Decentralisation did not prevent it — because decentralisation does not remove responsibility. It moves it. Away from a company, back onto the person building. No platform can lock you out of your own infrastructure. But nobody is coming to reset your password either. The keys are the whole deal, in both directions.

I do not think that is a flaw in the philosophy. I think it is the adult version of it. I lost the first canister because I did not yet understand what holding my own keys actually meant. I understand it now, and I hold them accordingly.

I have had things taken from me by circumstances outside my control. I have spent enough of my life watching things that mattered get pulled away — by disaster, by other people, by bad luck — that the idea of building something genuinely permanent became something close to an obsession.

CheddaBoards is the answer to that obsession. Not just for me. For anyone building something they want to last.

What the Learning Actually Looked Like

I want to be honest about what those years looked like day to day, because the narrative of the self-taught developer can get a bit heroic in the retelling.

It was mostly confusion. Long stretches of not understanding why something would not compile. Asking an AI the same question five different ways until the answer clicked. Staying up too late on a work night because I was close to something working and could not stop.

The calculator that compiled and felt impossible. Then a small game mechanic. Then a working authentication flow. Then a canister that actually deployed.

Each thing that seemed impossible became the new baseline. Then the next impossible thing.

I still work shifts. I still code nights and weekends on the same second-hand laptop. The setup has not changed much. What has changed is that there are now 59 games live on something I built, more than a thousand players on its leaderboards, over twenty-one thousand scores recorded, a company registered, and a newsletter apparently.

None of it felt possible from the calculator. All of it was built from the calculator up.

The Frozen Canister

I think about recovering that PEM sometimes. Seeing what I could do with the original canister now that I actually know what I am doing.

But honestly, I think I prefer it the way it is.

It is a record. Immutable, permanent, running quietly somewhere on the ICP network. The Cheese Game as it was at the very beginning. Before I knew what I was building toward.

That is the thing about infrastructure that cannot be taken away. Sometimes what gets preserved is exactly what should be.

Next issue: what the last few months of shipping actually looked like. A security hole, a stable variable that refused to die, and the week a stranger's game turned up wearing my infrastructure.

There is a kind of chef who hoards their recipes. Keeps the good stuff secret. Worried that if they share it, someone will take it and use it against them.

And there is another kind who puts everything into the dish and trusts that what makes it special cannot be copied — because it comes from somewhere inside them that no one else has access to.

I am trying to be the second kind.

CheddaBoards is open source. The code is there. Anyone can read it, fork it, learn from it. What I am building cannot be taken away not because I am hiding it, but because the infrastructure itself is permanent and the thing that makes it mine is the story behind it.

That story is not going anywhere.