What I’ve shipped
I don’t list technologies.
I show where they sit.
Courier features at Flink, DevOps for Fujitsuat Gemeente Groningen, tech lead on a device control plane. Below is every system I’ve shipped — open one to see the request path and the problem that shaped it.
Services
Click a row to open its architecture
anne-studio.com2026Trilingual booking · admin · transactional emailLive
Request path
Two clients tapping the same slot in the same second
A double-booked chair means one client is turned away at the door — and the owner only finds out when both show up.
The booking's own key is the lock: the document id is {date}_{time}, written with create() that fails if it already exists. Uniqueness comes from the key, so no transaction is needed; the second request gets a 409.
Manual entries use an auto-id, so the owner can deliberately double-book when real life calls for it — the invariant holds on the public site and bends for the human.
chaterbox2025Device control plane · live telemetry · tech leadArchitecture & lead
Request path
A dashboard that live-polls every device falls over at a hundred devices
Polling each Raspberry Pi on every page load ties the UI to the slowest, flakiest device on the shop floor.
Two-tier status: the list reads a cached online/offline flag (instant), and full telemetry is fetched on demand only when you open a single device.
The cached flag can be briefly stale — a device that just dropped still shows online until the next heartbeat. I chose staleness over a UI that doesn't scale.
blink2025WhatsApp-verified order pipeline · bilingual NL/ENShipped solo
Request path
Orders from strangers with unverified phone numbers
A cleaning crew driving to a fake address loses a morning. At launch volume, a couple of those a week would sink a new business.
The phone number is verified over WhatsApp before the order enters the pipeline, and the same number carries the order's lifecycle updates. Phone is the primary identity; email is optional.
Friction moves before the order is created, not after. A few people drop at the gate; no crew drives to a fake address.
devotament.ro2026Self-serve platform · owner publishes projectsLive
Request path
A furniture maker who couldn't publish a project without a developer
Before the rebuild, every new project meant emailing me. New work sat unpublished for weeks and the site aged.
The owner runs a thin admin; images go through Cloudinary with each file's lifecycle tied to its database record — delete a project and its images are deleted too. Everything a visitor sees is server-rendered; keys never reach the browser.
A hosted media pipeline instead of self-hosting image processing — a monthly dependency in exchange for never being the owner's bottleneck.
hair-studio-one2024First commercial build · booking by email linkFirst commercial
Request path
Clients who will never make an account just to cancel
Cancellations came by phone at 9pm, or not at all — empty chairs the owner learned about when nobody walked in.
Every booking carries a tokenized one-time link in its confirmation email. Cancelling is one tap, no login, and the slot returns to the calendar.
A signed link is a weaker secret than a session — so it's scoped to a single booking. The blast radius is one haircut.
Have something that has to survive the handover?
Tell me the problem in two sentences. If I’m not the right fit, I’ll say so in the first reply.