I help small companies validate product ideas and build reliable software.
If you're looking to get your software project launched or unstuck, I would love to talk.
Learn about working with me →
Projects
Blog
Zero-downtime deploys for Render apps with disk storage
February 26, 2024
Modern SPAs without bundlers, CDNs, or NodeJS
February 13, 2023
Creating a Slack app that uses fewer resources
August 3, 2020
My time at the Recurse Center
December 31, 2019
elm-beam
October 9, 2018
+ 17 more blog posts
Working around Google Calendar sync delays
July 8, 2024
Multi 3.0: Codesigning, dynamic libraries, and macOS notifications
July 24, 2023
Typebeat, checkpoint 0.1.0
January 31, 2022
A retrospective on Multi
August 26, 2021
Multi
May 22, 2020
Embed Twitter video
November 15, 2019
Building a tool that leverages Elm's types
April 26, 2019
Inventing options
March 18, 2019
Testing Cmd's in Elm
August 1, 2018
How JSON decoding works in Elm—Part 3
August 29, 2017
How JSON decoding works in Elm—Part 2
July 17, 2017
How JSON decoding works in Elm—Part 1
June 28, 2017
The Core of Erlang
May 2, 2017
Docker as a (workstation) service
July 27, 2016
Becoming a professional learner
June 8, 2016
Using functions to make better abstractions
February 16, 2016
Why I make trivial apps
March 8, 2014
Talks
DJ mixes