Projects

Things I've built. Mostly open-source. Some in production, some experiments.

2024Active

Motion Spectre

Animations run outside the React render path: the orchestrator drives them through WAAPI and requestAnimationFrame, and only touches composited properties, so a running animation does not trigger layout. Built mainly to understand where the cost in existing animation libraries actually comes from.

TypeScriptReactWAAPIFramer Motion
2024Active

tsRouter

Route params, search params, and navigation are typed from a single route definition using template literal types, so the types cannot drift from the routes. What ships at runtime is a small matcher; the rest is erased at build time.

TypeScriptReactViteESBuild
2023Active

CanvasFlow

Nodes render in WebGL through a custom render loop, while text and inputs stay as DOM overlays positioned from the same transform. Zoom and pan run on the GPU, which keeps the canvas responsive as the node count grows.

TypeScriptWebGLReactZustand

devkit-cli

A CLI for the setup work at the start of a project.

Node.jsTypeScriptCommander.js
Active

Collab-Editor

A collaborative text editor built on CRDTs and WebSockets.

TypeScriptCRDTWebSockets
Archived

StyleExtract

A Vite plugin that extracts CSS-in-JS at build time.

TypeScriptViteAST
Archived