Skip to content

Rotterdam · Available Q1 2027

I write PHP
that outlives
the hype.

Nine years of production PHP: Laravel and Symfony backends, legacy systems brought back from the brink, and APIs that stay fast when the traffic arrives.

Selected work
9 yrs
writing PHP in production
40+
systems shipped and maintained
2.4M
requests handled daily
0
unplanned downtime since 2023
app/Actions/IssueInvoice.php
<?php

declare(strict_types=1);

final readonly class IssueInvoice
{
    public function __construct(
        private InvoiceRepository $invoices,
        private EventBus $events,
    ) {}

    public function handle(Order $order): Invoice
    {
        $invoice = $this->invoices->create(
            customer: $order->customer,
            lines: $order->lines,
        );

        $this->events->dispatch(new InvoiceIssued($invoice));

        return $invoice;
    }
}
142 tests passingPHP 8.3 · Laravel 11
Test-coveredTyped end to endNo framework dogma

Core stack: PHP 8.3, Laravel, Symfony, PostgreSQL, MySQL, Redis, RabbitMQ, Docker, PHPUnit, Pest, REST & GraphQL, CI/CD

About

Boring in the best
possible way.

Good backend work rarely makes the demo. It makes the quiet Tuesday when nothing breaks, the deploy nobody has to babysit, and the new hire who understands the codebase in a week.

I started in agency PHP, fixing other people's code before I was trusted to write my own. That order turned out to be a good education: I learned to read a system before rewriting it, and to respect the reasons a weird decision exists.

Today I work directly with product and engineering teams, mostly on systems that have outgrown their first architecture. I bring type safety, tests where they pay for themselves, and a strong preference for the simplest thing that will still be maintainable in three years.

Based in
Rotterdam, Netherlands
Working hours
CET, overlap with US East
Engagements
Contracts of 2–9 months
Languages
English, Dutch, German

What I do

Four ways teams bring me in

Most projects start with one of these and grow into a mix. Scoped in writing, priced per milestone, no open-ended retainers.

01

Backend & API work

Domain modelling, typed PHP, clean REST or GraphQL surfaces. Built to be read by the next developer, not just by the interpreter.

  • Laravel
  • Symfony
  • API design
02

Legacy rescue

Careful, test-covered migrations from PHP 5.x and framework-era code to modern PHP 8.3, without freezing the product roadmap.

  • Refactoring
  • Migrations
  • Test coverage
03

Performance & scale

Query plans, indexes, caching layers, queues and background workers. Usually the fix is less code and a better schema.

  • Profiling
  • Redis
  • Queues
04

Delivery & ops

Containerised environments, CI pipelines, zero-downtime deploys and monitoring that tells you the truth before your customers do.

  • Docker
  • CI/CD
  • Observability

Selected work

Systems, not screenshots

2025

LedgerlyFintech invoicing platform

Rebuilt the billing core around an event-sourced ledger and moved reporting off the request cycle. p95 latency dropped from 780 ms to 92 ms while invoice volume tripled.

  • Laravel
  • PostgreSQL
  • Redis

-88%

p95 latency

3x

invoice volume

2024

Bloom & CoRetail commerce, 120k-line legacy codebase

Incremental migration of a decade-old custom PHP application onto Laravel with a strangler pattern. Shipped every week during the migration, cut over with zero downtime.

  • Symfony
  • MySQL
  • Strangler pattern

0 min

downtime cutover

11 mo

migration window

2023

TransitlineLogistics job pipeline

Designed an idempotent queue pipeline for shipment events, with retries, dead-letter handling and per-tenant backpressure. Now processes 1.2M jobs a day on the same hardware.

  • PHP 8.2
  • RabbitMQ
  • Docker

1.2M

jobs per day

99.99%

pipeline uptime

Client names used with permission. Deeper write-ups available on request.

Track record

Where the
experience
comes from

  1. 2022 — now

    Independent PHP developer

    Rotterdam / remote EU

    Backend contracts for product teams of 3 to 40 engineers. Architecture reviews, legacy migrations and hands-on delivery.

  2. 2019 — 2022

    Senior backend engineer

    Kaart Digital

    Owned the payments and subscriptions domain for a ticketing platform serving 6M monthly visitors.

  3. 2017 — 2019

    PHP developer

    Studio Noord

    Custom CMS work, integrations and the unglamorous maintenance that keeps agency clients happy for years.

How we work

No mystery sprints

01

Audit

Read the code, run the tests, profile the slow paths. You get a written findings note before any estimate.

02

Plan

A short, sequenced plan with the risky parts named up front. Small pull requests, reviewable by your team.

03

Build

Tests first where it matters, weekly demos, and no surprise rewrites hidden inside a feature ticket.

04

Handover

Documentation, runbooks and a walkthrough with your engineers. Nothing left that only I can operate.

“Noah took a codebase three of us were afraid to touch and made it ordinary. Deploys went from a Friday ritual to a non-event.”
Ines Bakker
CTO, Bloom & Co

Contact

Let's ship
something solid.

Tell me what is slow, fragile or stuck. I answer with a short read on the problem and whether I am the right person for it, usually within two working days.

Email me

Availability

Two contract slots open from January 2027.

Typical engagement
2–9 months, 3–4 days a week
Time zone
CET (UTC+1), remote-first
Response time
Within 2 working days
Not a fit for
Unpaid pilots and spec work