Background
I got into software by making operations less painful.
That still shapes how I build: useful first, polished second, maintainable before it becomes
someone else's problem.
2018-2020
Manual work became scripts
Started in operations and used VBA, then Python, Selenium and Pandas to remove recurring reporting work. This was the practical beginning: messy workflows, real users, and immediate feedback when automation helped or hurt.
2021-2023
Scripts became systems
Built the first serious internal platforms at GiveTel: MySQL/RDS databases, AWS API Gateway/Lambda endpoints, TypeScript interfaces, batch exports, call-recording ETL, OAuth and security controls.
2024-now
Systems became products
Founded Sound Systems and joined FeeWise, moving deeper into production product work: AI support agents, automated refunds, payment reporting, client portals, phishing simulation platforms, migrations and founder-led product builds.
Recent obsession
Parallelising development
Agentic coding changed the shape of my workflow. A lot of recent public work is about making autonomous changes easier to isolate and review: worktrees, tmux, Neovim plugins, Go CLIs and small tools that make iteration cheaper.
Operating principles
- Ship the smallest useful version, then make it observable.
- Prefer boring infrastructure until the problem proves it needs drama.
- Automate operational drag before it becomes team culture.
- Keep local development fast enough that experimentation is cheap.
- Make systems understandable to the people who have to operate them.