Work
I'm available for short engagements, usually one to four weeks for a small team that's hit a wall they can't quite get past on their own.
Most of the work sits around the boring, load-bearing parts of a product: schema migrations on hot tables, profiling a service that's gotten slow, untangling a CI/CD pipeline that nobody trusts, hardening container images, building the kind of internal tooling a small team can't justify hiring full-time for.
Engagements usually start with a short call. We talk about what you're shipping, what's in the way, and whether I'm a fit. If I am, I send a short proposal with a clear scope and a fixed price. If I'm not, I'll usually know someone who is.
Selected outcomes
- →150+ engineers kept in sync across GitHub and GitLab via gitlab-sync, now running in production at multiple teams.
Past work
- →Built gitlab-sync, an open-source GitHub Action that mirrors repositories from GitHub to GitLab. Started as a side project after watching friends hit the same problem, then deployed at a client to keep 150+ engineers in sync. Now used by other teams running the same setup.
- →Rebuilt a mobile application where the codebase had become unworkable and performance was tanking. Stabilised the build, paid down the worst of the debt, and got the team shipping again.
- →Profiling and performance work on production Go services. Finding the actual bottleneck instead of the suspected one, then verifying the fix moved the number.
- →Container hardening and CVE response. Patching vulnerable images without rebuild churn, tightening the build pipeline so the next CVE is a non-event.
- →Infrastructure naming and resource conventions for teams running across multiple environments and regions, where ad-hoc names had started to bite.
A few examples
Pieces from the blog that map to the kinds of problems I tend to take on:
- →Zero-Downtime Migrations: Expand and Contract ExplainedShipping breaking schema changes without taking the system down.
- →Profile Go Code with FlamegraphsFinding the real CPU bottleneck instead of guessing.
- →Patch Container Vulnerabilities in SecondsTrivy + Copa for fast CVE response without rebuild churn.
- →Infrastructure Naming Conventions That ScaleA simple system that doesn't fall apart under growth.
“Technically very strong, eager to learn, and always striving to develop further. Uses his knowledge effectively and works excellently.”