Software

I love making apps, and this page collects the software side of that: services and tools a person can open and use, the desktop and infrastructure work behind them, and notes written as I build. The projects here run live or on a desk rather than only in a repository, because the part of software I care about most is the moment someone actually uses it.

Algorithms

A reference set of the algorithms and data structures that are core to know, broken down by type, each with working Python.

Systems design

Full design walkthroughs of large-scale systems, from URL shorteners and chat apps to payment systems and stock exchanges, each with requirements, sizing, diagrams, and follow-up questions.

Notes

Write-ups on software, system design, architecture, and reliability.