Software engineer working on rich text editors, CRDTs, TypeScript, state machines, and developer tools.
Writing
View all- Optimizing Yjs first load at Chronicle
Deep dive into the Yjs sync protocol - reducing large initial sync payloads
- A curious case of ProseMirror inline nodeViews
ProseMirror inline nodeViews, devtooling Linear's text editor and more. Or how I stayed up late and fixed a bug.
- Debugging a case of slow HMR in Vite
Copy-pasted globs considered harmful
- Modeling UI interactions with XState
A short blog post on how to model simple UI interactions with XState
Work
Elsewhere
GitHub · [email protected] · LinkedIn · BlueSky · Twitter