I design cryptographic protocols and build the backend systems that run them, mostly for communication tools that have to keep working when the network does not: patchy coverage, no data, or a deliberate shutdown.
At the moment that means the transport protocol behind RelaySMS and the API layer behind ShortMesh. I have also worked at Mozilla, on the machine learning infrastructure behind Firefox bug triage. I take on backend and security consulting work, and I am most useful on the projects where the network is the hard part.
Every email you send carries a signature that can prove you wrote it years later. Signal is built to leave nothing like it behind. How deniability works, and what it costs.


A simple guide to the General Data Protection Regulation (GDPR) and why it matters for both businesses and individuals.
Feeling stuck, overwhelmed, or unsure where to start as a developer? Mastering the fundamentals can help you build confidence, clarity, and a solid foundation for growth.

This post is for those of you diving headfirst into the wonderful world of software development. Here's the unfiltered truth I wish someone had told me.


Many of us deal with feelings of self-doubt - such as feeling like we do not belong - even legendary developers like Linus Torvalds. Here is an article on battling imposter syndrome as a developer and tips to silence that inner critic.
Get an email whenever I publish something new on backend systems and distributed architecture.