Ruby on Rails since 2007
Got problems? We have Zoolutions.
I embed with small teams as a senior Rails engineer and stay for years, not sprints — building, rescuing and running production systems in fintech, e-commerce and SaaS.
What I do
Four ways I usually get involved.
Build
New Rails applications taken from an idea to something running in production, with tests and a deployment story.
Rescue
Inheriting a codebase nobody wants to touch — upgrading it, testing it, and making it safe to change again.
Performance
Slow queries, N+1s, runaway background jobs and the infrastructure underneath them.
Advisory
Architecture review, technical due diligence, and a second opinion for teams without a senior Rails voice in the room.
Trusted by
A few of the teams I have built and maintained software for — most of them for several years running.
Zazu
Business banking for African SMEs
Lead engineer since the first commits. Accounts and ledger, cards, payments, invoicing and the back-office console, plus the iOS and Android apps that run on the same Rails codebase. Still its largest contributor.
TeamFeePay
Club management for grassroots football
Embedded on the engineering team behind the club management and payments platform used by grassroots football clubs across the UK, Ireland, Spain and Italy. Payment and refund flows, money-handling correctness, and the CI and test infrastructure the team ships through.
Enode
Digital agency and e-commerce platform, Växjö
Platform engineering on WM3, the multi-tenant CMS and e-commerce product Enode builds on. Mostly the unglamorous half that keeps a large Rails codebase healthy — catalog and feed performance, Postgres-native background processing, and staying current on Rails. Since 2022.
Carlqvist Bil
Used-car dealership, Växjö and Älmhult
Rescued and modernised the sales support system the dealership runs on — vehicle inventory, sales orders, trade-ins and workshop jobs. It started with getting a decade-old codebase upgraded, tested and deploying again, and has been steady feature work since 2023.
Open source
Gems I maintain, used in production by teams I will never meet.
sidekiq-unique-jobs
Prevents duplicate Sidekiq jobs. The one a lot of Rails apps already depend on.
phlex-reactive
Reactive Phlex components for Rails — Livewire-style actions and live cross-tab updates, without Stimulus boilerplate.
Why "Zoolutions"?
Zoolutions started as a joke about a code-monkey and a zoo. Four company reformations later, the name stuck.
Read the storyHave a problem worth solving?
Tell me what is slowing you down. I will tell you honestly whether I am the right person to fix it.
Start a project