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.
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.