About

Context on how I work, what I focus on, and how I help teams and individuals build better systems.

I’m a freelance software engineer working with small teams, solo founders, and early-stage companies. I build production systems, review and improve existing ones, and help teams make better technical decisions over time.

My work sits at the intersection of engineering and problem-solving: writing code, reviewing architecture, untangling complexity, and acting as a neutral third party when systems or processes stop working as they should.

How I work

I focus on reliability, clarity, and long-term maintainability. That usually means fewer moving parts, well-understood trade-offs, and systems that are easy to reason about when something goes wrong.

I’m comfortable working across the full stack — from infrastructure and deployment to backend logic and frontend integration — which helps me see problems in context rather than in isolation.

When working with teams, I aim to reduce friction rather than add process. The goal is not just to “fix the issue”, but to leave the system — and the team — in a calmer, more resilient state than before.

What I help with

I typically get involved in:

  • Building and shipping full stack web applications
  • Refactoring or stabilising existing codebases
  • Architecture reviews and technical decision support
  • Debugging complex or long-standing issues
  • Tutoring and mentoring developers or small teams

I work best with small teams and organisations where collaboration, trust, and learning matter.

Boundaries and fit

I’m selective about the work I take on. I don’t generally engage in large, rigidly scoped projects with unrealistic deadlines, frontend-only work focused purely on visuals, or industries where long-term quality and ethics are secondary concerns.

I value professional communication, shared responsibility, and a willingness to improve — both technically and organisationally.

A note on teaching and problem-solving

Alongside client work, I spend time tutoring and mentoring. Teaching, for me, isn’t just about syntax or tools — it’s about helping people develop better mental models, ask better questions, and approach problems with more confidence and structure.

Whether I’m writing code, reviewing a system, or working one-on-one with someone, the aim is the same: to make difficult problems feel tractable, and to leave people better equipped than when we started.

If that sounds aligned with what you’re looking for, feel free to get in touch via the contact page.