About

About me

Developer, systems thinker, lifelong learner.

I am a system and web developer who cares as much about the maintenance story as the launch story. I have spent the last several years designing and building web applications end to end — reading requirements carefully, choosing the boring technology when it is the right call, and writing code that the next developer can reason about.

My default mode is pragmatic: solve the real problem, measure the result, then improve. I document decisions, I write tests where they pay for themselves, and I treat performance and accessibility as features rather than afterthoughts.

Technical toolkit

Languages

  • PHP, JavaScript / TypeScript
  • Python, SQL
  • HTML5, modern CSS

Frameworks

  • Laravel, WordPress
  • React, Alpine.js
  • Tailwind, Filament

Platform

  • Docker, Nginx
  • MySQL / MariaDB, Redis
  • Linux, Git, CI/CD

How I work

  1. Understand — clarify the problem, the constraints and what success looks like.
  2. Model — design the data and the interfaces before writing application code.
  3. Build small — ship thin vertical slices so feedback arrives early.
  4. Harden — add tests, monitoring, and documentation before handover.

Make it work, make it right, make it fast — in that order, and only when each step is actually needed.

Working principle