Skip to content

William J.P. Armstrong — websites and software that hold up

Independent developer

I build websites and the systems that keep them running.

Most of what I do goes past the browser: the site, the server it lives on, the DNS in front of it, the mail behind it. When something breaks at two in the morning, there is no one else to hand it to — so I build things that do not break quietly.

Get in touch

Selected work

The Tempered Studio practice screen: a deliberately broken Rust program, a prompt asking the learner to predict whether it will compile, and later exercises locked

Projects

Six things nobody asked me to build

The sites above are the work that pays. These are the ones that show what I think good software looks like when there is no client to satisfy: a wipe tool that documents what wiping cannot guarantee, a mail client that cannot leak your mail because the type describing a shared rule has nowhere to put it, a Rust course that refuses to hand over the answer.

  • Three are published and installable today
  • One is a privacy claim I measured, could not support, and narrowed
  • One of them generated this page
Projects

The code behind it

Counted this week, and checkable: the repositories are public and the sites are live.

76Public repositoriesof 119 in all
7Sites I run end to endDNS, certificates and, where it is needed, mail
3Apps you can install todayAndroid, sideloaded — not a store listing

What I take on

Sites

Designed, built and generated from typed content, so a fix lands everywhere at once instead of page by page.

Servers

Linux I administer directly: TLS, firewalls, encrypted storage, and backups that get restored to prove they work.

Mail

Postfix and Dovecot with SPF, DKIM, DMARC and MTA-STS, so a domain's mail authenticates instead of hoping.

Available for work

Need someone who will own the whole thing?

I take on client sites, backend work and the unglamorous infrastructure around them.

Get in touch