LHK
0%

01 — Identity

I build the tools I wanted to exist.

I'm an independent developer. I work alone, on web applications, native mobile software, and the automation that keeps them honest once they're running. Everything on this site is something I use myself or built because the version I wanted didn't exist.

I also play classical piano. Those two facts sit on the same page because they turned out to be the same habit: long stretches of getting one passage exactly right rather than approximately right, and a willingness to throw out weeks of work when the structure underneath is wrong.

01.1

Why both

A fugue is a system with rules you can't break halfway through. You state a subject, and everything after it has to answer to that decision — which means the interesting work isn't the invention, it's the consequences. Software is the same shape. The choice that matters is made early, quietly, and everything you build afterwards is either paying it off or working around it.

Practising also teaches you something that's hard to learn any other way: that being nearly right is a category, not a stage. A passage at ninety percent is not almost finished. Neither is a data pipeline that gets ninety percent of records correct — you just can't hear the wrong ten percent.

Hear it
01.2

How I work

These aren't values written for a page like this one. They're the actual rules the systems run on, taken out of the documentation that governs them.

Quality over quantity

A smaller correct catalog beats a larger careless one. Being obscure is never a reason to remove something; being wrong is. This is written into the bot that maintains Répertoire, and it is the rule I argue with myself about most often.

Recoverable by design

Anything that deletes runs on two strikes and keeps thirty days of undo, with every change logged and whole runs revertible. Automation that can't be taken back is a decision you only get to make once.

An empty slot beats a wrong answer

Répertoire would rather show no performance recording than the wrong one. Silence is honest; a confident wrong answer costs you the reader's trust in everything else on the page.

Show the reasoning

The recommendation engine is deterministic and explains itself in plain English, because a suggestion you can't interrogate isn't advice — it's an instruction.

01.3

This domain

Every project I run lives on a subdomain of lhkspace.com — the catalog, the language app, the archive, the community, the status page. That isn't tidiness. It means there is one address that everything belongs to, one place that explains how the parts relate, and one page you can come back to when you've finished looking at any of them.

It also means I can't quietly hide the parts that stopped. W-MAP is archived, and it says so — on the map, on the card, and at length in its dossier. I'd rather tell you a thing is finished than let you find out.

See the map
Get in touch