Fulfillment came out of a PHP monolith one piece at a time, over SQS behind a REST contract, because a team of six could not freeze features.
$ cd ./work # challenges and case studies
Work
The problems I'm usually brought in for, and how I approached them. Each card opens a write-up of real work behind it.
What I work on
The problems I'm usually brought in for. Each card is backed by something I shipped; open one to see how I approached it.
-
Cloud migrations and platform moves
Applications and databases moved onto new infrastructure in one planned cutover, without breaking production.
Read the write-up → -
Event-driven services
Monoliths split into services that stay consistent when orders, money and data move between them.
Read the write-up → -
LLM platforms
Provider-agnostic LLM engines that fail over cleanly when a model degrades.
Read the write-up → -
Product from zero to launch
From the first MVP to a launched product, with the cloud and deploy pipelines behind it.
Read the write-up → -
Mobile apps
React Native apps shipped together with the backend that feeds them.
Read the write-up → -
Reliability and observability
Keeping databases out of saturation and autoscaling that respects long-running jobs.
Read the write-up →
Case studies
Short write-ups in the situation, decision, trade-off and outcome shape.
-
Pulling fulfillment out of the monolith -
From empty repo to beta launch A marketplace from nothing to beta: React and Rails, calendar integrations, and CI pipelines from the first week, not as a cleanup later.
-
One backend, drivers on the road React Native apps fed by one Node.js backend. Live orders reach drivers on phones and the same state reaches the web, over Socket.IO.
The artifacts behind these write-ups live on the homepage. Products I helped build Tell me what you're building.