About me

I lead teams that build magical web software. My sharpest weapons are JavaScript, SQL, and the Apple Pencil.

I am taking a summer sabbatical to contribute to open source, go to the pool with my family, and look out for what's next. If you have an interesting problem that I can help solve, please get in touch.

Current projects

I'm currently learning Reason and exploring how types and other formal methods can help simplify the complexity that makes UIs so hard to build.

Previous projects

I've studied the history of UI programming and the powerful models behind revolutionary interfaces. From 2012 to 2016 my personal studies centered on constraint programming as a way to build user interfaces that blur the distinction between input and output.

MicroScopeKanren
Reimplementing the microKanren constraint solver in JavaScript, then experimenting with ways to visualize how the solver works.
Sketchpad
Recreating Ivan Sutherland's Sketchpad, the first graphical user interface, in ClojureScript. (Paused because I need to learn more Clojure and math.)
Scrubbing budget
An experiment in contraint-based user interfaces. This visualization of the US Federal Budget lets you explore questions like: "how much would we have to raise taxes in order to increase education spending?" or "how much could we cut the deficit by raising the retirement age for social security?"
Scrubbing linear calculator
Creating a small part of Bret Victor's scrubbing calculator with a linear constraint solver.