Software developer · Cape Town, South Africa
Software developer with 40+ years of building things that work — starting with sewers in the 1980s, ending up with code in the 2020s. The arc makes sense if you squint.
40+
Years building things
1985
Where it started
11
Years missing the point
UTC+2
Remote, worldwide
The arc
1985
Pretoria Technikon → 11 years of sewers, systems & systematic thinking
1993
Built a sewer design program. 1–2 weeks → 1–2 hours. Management called it non-productive.
1996
Telecoms billing systems, fraud detection, Cisco provisioning. Java for longer than some developers have been alive.
2025
Side projects aimed at problems I actually have — the budget, the meal plan, the training week. The best brief is the one you wrote by living it.
Latest Insights
All postsA hands-on tour of vi/vim for developers who keep hearing it's worth learning and want to find out why. Starts with the case for a 1970s editor that refuses to die, then builds — mode by mode, motion by motion — until editing text feels like playing an instrument. Comes with a practice file of drills, one section per part, that you are meant to wreck repeatedly. Each part stands on its own; read in order for the full climb from 'how do I quit this thing' to genuine fluency.
2 posts
A hands-on Python tutorial series that takes you from your very first print('Hello, world!') all the way to training neural networks. Each topic gets its own part, tagged for beginners, intermediate developers, and advanced programmers so you can jump straight to where you are.
3 posts
Flask will do exactly what you tell it to and nothing more, which sounds like a compliment until you realise how much you forgot to tell it. FastAPI has opinions, and after shipping production APIs with both, I've come around to thinking that's the point.
Git is the most powerful tool most developers only half-understand. Here's a love letter to version control and what it can actually do.
Every developer has a codebase they're ashamed of. The secret is that perfect code is mostly a myth — and chasing it is often the actual problem.
Latest Musings
All postsA step-by-step case for the Christian faith, written for the honest doubter and the seeker who believes almost anything except the God of the Bible. Beginning from questions anyone can ask, it builds — through the existence of the universe, the moral law, the shape of the human person, and the figure of Jesus of Nazareth — toward the reason for the hope that Christians hold.
9 posts
A walk through Paul's letter to the Romans, one chapter at a time — reading its hardest, richest passages for a general audience and finding, again and again, a God whose mercy runs deeper than our sense of fairness.
4 posts
The app woke me at the optimal moment in my sleep cycle and let me know I had failed at lying still. Somewhere between the cold shower and the evening journal, I started to wonder who, exactly, I was trying to pay back.
There is a particular guilt that arrives when you sit down on a Saturday and actually mean it. A few thoughts on why stopping feels like theft — and what the clerk in the back of the mind is really protecting us from.
We treat certainty as the price of admission and quietly assume our questions disqualify us. But there's a difference between doubt that keeps knocking and doubt that's looking for the exit — and only one of them is walking away.
Featured work
Full portfolioAI-driven workout planning that treats your training programme as a state machine — generate, log, analyse, adapt.
A four-stage AI pipeline that turns 'I want to eat better' into a costed, macro-accurate week of meals.
Multi-year household budgeting: plan the year, record what actually happens, and watch debt shrink and savings grow — shared with the family, or read-only for the accountant.
Full-stack development, architectural guidance, or someone who'll tell you what the right answer is instead of what you want to hear. Remote, worldwide, UTC+2.