From the Sunset District, San Francisco

The long way
to a good idea.

I’m Tony. I work as an SRE and build side projects, mostly around privacy.

See what I’m building

01 / About

A little
about me.

At home it’s my family and two Shiba Inus who ignore most of what I say.

I’m training for an ultramarathon, and all the running gives me time to think up projects and work through how I might build them with AI. I spend nights and weekends turning those ideas into software.

I prefer software that runs locally, keeps dependencies to a minimum, and doesn’t track people.

What I’m building.

02 / Projects
01Native vault client / Swift

iWarden

A native Bitwarden and Vaultwarden client for iOS, iPadOS, and macOS, with no third-party code in the runtime.

How it’s built

I reimplemented the crypto in Swift and check it against RFC vectors and weekly differential tests with the upstream C reference. Vault data stays encrypted on disk. On macOS, an ssh-agent signs git operations behind Touch ID.

02Browser engine / Rust

webber2

A browser engine I’m building from scratch in Rust, from HTML parsing to layout and GPU rendering.

Testing

I test rendering against reference screenshots and document what each part of the engine supports. The repository is private for now, but I’m happy to walk through it.

03Kubernetes MCP server / Python

janus-mcp

An MCP server that gives AI models scoped access to Kubernetes clusters. Secrets are redacted by default, and destructive operations require human confirmation.

Security

KUBECONFIG never leaves the local process. It’s out and usable, and I’m still adding features.

04Messaging / Go + SvelteKit

uhoh

An invite-only messaging app inspired by ICQ, with a buddy list and numeric user IDs. You don’t need a phone number or an address book to sign up.

Running it

A small group of friends uses it now. You can use the hosted version or self-host it in about fifteen minutes.

AN IDEAIMPLEMENTATION

03 / Process

Building with AI

I’ve been trying different ways to use AI on these projects. Sometimes I have one agent write code and another review it. I’ve also had models interview each other to find questions I hadn’t thought to ask.

I started webber, my first browser engine, without much of a plan. Eventually I wrote strict specifications and started over with webber2. Having those written down gave me something concrete to check the code against.

04 / Contact

Get in touch.

If you want to talk about a project or compare notes on building with AI, email me.