I'm a software developer in Cape Town. I spent 13 years as a sound engineer mixing bands and weddings, and now I build software, mostly in .NET and C#. I'm strongest in messy real-world business systems: working out what they actually do, then making them better without a risky full rewrite.
A private, local-first recovery app for Android. It isn't a 12-step program or a day counter. It's a daily practice: body-first tools to regulate when a craving hits, a craving log that shows your patterns without judgement, a daily check-in across seven areas of recovery, and a slip-aware clock that doesn't throw you back to day zero. Your data stays on your phone.
I'm in recovery myself. I built RecoveryOS for me first, and I use it every day. It's in beta testing now, and you can sign up at recoveryos.org.
Built with React, Vite and Capacitor, with Firebase for the site and sign-ups.
YouTube as a proper Windows app. A queue that stays put while you browse, a floating picture-in-picture window, SponsorBlock, a tray icon and media hotkeys, with your own account, 4K and HDR. It's free. Download the latest release.
Built with Electron and TypeScript, on castLabs' Widevine build.
.NET and C# (my home ground)
- Windows desktop apps in WPF and WinForms, on .NET 8 to 10
- Cross-platform apps with MAUI and Blazor Hybrid
- ASP.NET Core APIs with EF Core
- Command-line tools and background services
- Tests in NUnit and xUnit, written for the version of me who has to change the code six months later
Web and mobile
- React and Vite, packaged for Android and iOS with Capacitor
- Next.js and TypeScript
- Firebase: Firestore, Auth and Storage
- Electron for desktop apps built on the web
Python and local AI
- FastAPI backends paired with desktop front ends
- Local text-to-speech and speech-to-text, run on my own GPU so nothing has to leave the machine
Game modding
- Unity modding with BepInEx and Harmony, including IL2CPP builds
- Lua
- IC10 (in-game automation scripting)
Real-time and plumbing
- MQTT and WebSockets
- PowerShell automation
AI agents are part of how I work every day. Claude Code and Codex build and review alongside me, MCP servers connect them to the tools I actually use, and I write my own skills and workflows so they work the way I do. The plan, the decisions and the final check stay with me.
- Home automation that has gone slightly too far
- Game modding, especially anything with aliens and conveyor belts
- Reading about quantum physics
I'm growing into software architecture: clean design, systems that hold up when things go wrong, and code the next person can pick up without a guided tour.
If you're building something interesting, or you've found a bug in something I made, open an issue or reach out. I'm open to collaborations.



