Highlights
Senior full-stack developer with nearly three decades of making computers do what they’re told. Started in the Netscape era when frames seemed like a good idea (they weren’t), survived the browser wars, and somehow still enjoy this.
I build features end-to-end, debug the production gremlins that make other developers suddenly remember they have meetings, and occasionally keep systems running at 2am when I’d really rather be unconscious.
Updated 2026-11-09
What I bring
Taking features from vague requirements through UI, API, database, deployment, and monitoring — even the parts nobody wants to own.
Finding the gnarly bugs — race conditions, memory leaks, integration failures, the API call that only fails in production.
Reading unfamiliar codebases, understanding what past developers were thinking, and improving it without breaking anything.
Building CI/CD pipelines, containerized applications and observability so developers don't have to think about it — until it breaks.
How I work
Turn vague asks into working software by asking "but what should happen if..." until it's actually been thought through.
So future-me doesn't have to debug mysteries at 3am.
Catch bugs without being insufferable about formatting.
Fix production issues with urgency; know when "good enough" beats "theoretically optimal."
Architectural decisions, implementation plans and known work lived in a shared, version-controlled architect repository — the single source of truth for multiple coding agents. Decisions could be revised or revoked as the design evolved, keeping parallel feature work aligned and making changes traceable to their reasoning. Current paper trail: 175,000 words. Nearly two Hobbits.
Introduced coding standards and QA at a small dev team. Pushback on both. We got there — mostly.
A decade of multi-tenant clients, each with one feature that mattered most to them. Part of the job was working out what mattered most to everyone.
A colleague once put it as "always good arguments backing his thoughts." I'll take it.
Delivered work
Three of us co-founded GearsERP and built a B2B platform from scratch, demoed it to prospective clients and grew by word of mouth to 10+, every one in real-time two-way sync with Dynamics NAV, customer-specific pricing included.
On the CV →Tablet ordering for live trade fairs with no connectivity. Orders were captured offline and synced afterwards, with conflict resolution when several sales reps had edited the same customer.
On the CV →Migrated ten years of WordPress content into a self-hosted editorial platform. The image archive shrank from 6.93 GB to 2.62 GB as AVIF on R2, at higher resolution, and content builds went from ~15 s / 1.75 GB to ~4 s / 850 MB.
Case study →Side projects like drift and Pitwall live on /projects →
Tech I actually use
Languages
- Java
- C#
- TypeScript
- JavaScript
- SQL
Frontend
- React
- Vanilla JavaScript
- HTML/CSS
- Tailwind
- Accessibility
Backend
- Spring Boot
- .NET
- REST APIs
- Integrations
- Background jobs
- Authentication
- Database migrations
Operations
- Docker/Podman
- Kubernetes
- Argo CD
- CI/CD
- Observability
- Performance
- Debugging
Origin story
Got a Commodore 64 at age ten and monopolized the family TV for the next eight years. Teens were BBSes and early Swedish internet gateways, building HTML for Lynx browsers. Turned professional in 1998, when Framfab hired me to make websites for IE4 — I'm still recovering, but these days browsers mostly agree on how CSS works. Mostly.