Staff Frontend Engineer at Grafana Labs 🟠 | Based in the UK 🇬🇧
I've been building for the web for over 16 years. I love shipping side projects, tinkering with desktop apps, and trying every frontend framework at least once 😅
🔭 Blueview — Analytics for Bluesky. See your engagement, follower insights, active hours, and more. Built because I wanted better stats for my own posts!
🎮 Loadout — An open, hackable overlay and plugin platform for Linux gaming handhelds. Tune TDP, fan curves, RGB, frame-gen and custom art without ever leaving your game. Built with Bun + Electrobun, running in-game over Steam's Big Picture on SteamOS.
⚡ YAL — Yet Another Launcher. An open source, plugin-driven macOS launcher built with Tauri + SolidJS. Like Alfred/Raycast but hackable. ⭐ 278+
🎭 tauri-playwright — Playwright testing support for Tauri apps. Because desktop apps deserve good tests too.
🧪 vitest-react-native — Helping bring Vitest to React Native. Contributing to the community effort so we can ditch Jest 🫡
📊 faro-react-native-sdk — An experimental port of Grafana's Faro web SDK to React Native.
🔧 onexplayer-apex-bazzite-fixes — Fixes for running Bazzite on the OneXPlayer APEX. The handheld Loadout gets built and tested on.
I also built the same code input component across React, SolidJS, and Svelte — because why pick one framework when you can use all three? 🤷
Day to day: TypeScript, React, SolidJS, Svelte
Desktop apps: Tauri, Rust 🦀, Electrobun + Bun — currently upstreaming a couple of Linux/CEF fixes
Previously: ReasonML/OCaml (BuckleScript era — poured one out 🪦)
Also into: Linux handheld gaming 🎮 (Bazzite + OneXPlayer APEX), Gamescope + CDP spelunking, hardware hacking (idotmatrix LED displays), React Native
- 🦋 Bluesky — most active here (5k+ followers)
- 🐦 X / Twitter
- 💻 GitHub






