I build games, apps, and the tools I need along the way.
Most of my time goes into Flutter, Rust, and Solana. Before that, I spent a lot of time building things with React and TypeScript, including Remirror.
I like things that feel a little different. A game you play by rotating your phone. An interface that looks hand-drawn. A tool that gets a frustrating bit of development out of the way. I want the things I build to be simple, well-designed, and fun to use.
I'm working on games with motion controls, expressive characters, and progression that changes how you play. Alongside those, I'm building the libraries and tools I want to use myself.
| Project | What I'm Building |
|---|---|
| Pina / PinaPod | Rust tooling for Solana programs, with validated zero-copy data layouts and explicit account checks. |
| Solana Kit | A Dart port of @solana/kit, bringing typed RPC, transactions, signers, and codecs to Dart and Flutter. |
| Monochange | Version and release tooling for monorepos that use more than one language or package ecosystem. |
| monopi | One-command setup for Pi, with extensions, themes, prompts, and skills. |
| Skribble | Sketchy, hand-drawn UI components for Flutter. |
| MediaPipe | MediaPipe Tasks in Dart and Flutter, including pose, hand, and face tracking. |
| Bitflip | A collaborative pixel canvas on Solana, built with Flutter. |
| Lootbox | An experimental, composable random-reward primitive for Solana. |
I've also been working on MDT to keep documentation in sync and Monostyle to make code readability easier to measure and improve. I want these tools to be useful for both people and coding agents.
Some of my most-starred projects, including work that lives in organisation repositories:
| Project | What It Does | Stars |
|---|---|---|
| Remirror | A React toolkit for rich text editors, built on ProseMirror. Now in maintenance mode. | |
| gatsby-plugin-next-seo | SEO and structured data for Gatsby sites. | |
| wasm_solana | Rust and WebAssembly tools for Solana in the browser. | |
| monopi | An easy way to set up and extend Pi. | |
| svgmoji | Open-source emoji libraries packaged as SVG sprites. |
I'm trying to build more consistently. These charts track PRs I open and direct commits to default branches, including work I merge without a PR. Commits from PRs don't count again.
Updated hourly. The current month's pace is an estimate; the averages use complete months. How this is counted · Live counts.
I care about how things look, how they feel, and whether the code is easy to understand. Animation, accessibility, and the small details matter to me.
If you're building something useful, playful, or a little unusual, feel free to say hello.







