As a member of the Solid core team, a modern web development framework, I'm designing the reactivity core for Solid 2.0 and leading work on the Solid Playground. I'm also working with the technical comittee TC39 on standardizing Signals into JavaScript.
I've helped companies modernize large TypeScript, React, Node, and C# projects, developing everything from data visualization to AWS infrastructure.
In addition to loving cutting edge performance, I enjoy programming language theory and design. I've programmed in Typescript, Scala, Java, Rust, C#, Lean 4, Zig, Python, Haskell, Swift, C, Go, Koka, and Racket.
In my free time, I have been experimenting with new programming ideas, cooking Chinese porridge, and learning to boulder.
The Solid Playground is a web app that lets you write Solid code and see the results in real time. It uses Monaco and ESLint to provide a developer experience that rivals a full local setup.
TimeViewer is a web app that lets you view your daily activity in realtime with extreme precision. Its macOS window watcher was used to rebuild ActivityWatch and is used by thousands of users daily.
The Busy Beaver Challenge is working on a formal proof of the upper bound of BB(5). I added the interactive viewer of Turing Machines that shows the simulations.
I have made over a hundred fun little simulation projects. I've put a few below and many more are available at CM-Tech, a name I use on projects that I build with my friend Cole.
A fun project where dots move randomly semi locked to a grid. They bump into each other and you can click to repel or attract them, depending on the setting.
This project uses the planck.js physics engine to simulate and evolve cars to drive through a virtual course.
Boids is a term coined by Craig Reynolds that is used to describe objects which flock in groups. This project simulates boids shaped like caterpillars.