Hi, I'm Ryan.

I'm a senior software engineer at Zapier, where I work remotely from Greater Boston on tools that help people automate the busywork out of their lives. Before that, I was Engineering Lead at Nebula.io, building AI-driven talent intelligence products in New York.

My career has been defined by startups — five of them, give or take a pivot or two. I've been an individual contributor, a Staff Engineer, a VP of Engineering, and everything in between. I built ad-serving infrastructure at Chitika that handled over two billion impressions a month. I ran all of R&D at CustomMade, shipping a marketplace that connected buyers with craftspeople across the country. I was a Staff Engineer at Tapjoy and an early engineer at talkto, a Cambridge-based messaging startup that quietly did some interesting things before messaging was cool.

I started my career in 1999 writing web applications at Plymouth State University and haven't really stopped since. Over 20+ years I've worked across the full stack — from schema design and distributed systems to component libraries and mobile apps. At some point Apple picked one of my iOS apps as their App of the Week, which was a genuinely fun moment.

I work primarily on Mac and Linux, and I'm comfortable in most corners of the modern web stack: AWS and GCP for infrastructure, Python and Node on the backend, React and TypeScript on the front, Postgres and Redis and Elasticsearch when the data starts getting interesting. I've spent real time in Scala, dabbled in Hadoop before it was everywhere, and have strong opinions about nginx config.

I pride myself on keeping up with how things are changing — not out of anxiety, but because the right tool for the problem actually matters. This site is where I write about that: the craft of building software, the lessons that only come from shipping, and the occasional hard-won opinion.