Product developer, DevOps, and backend engineer

DevOps, backend architecture, and product engineering.

I own infrastructure, CI/CD, and backend architecture in production at NSquared: Google Cloud, Docker, GitHub Actions, PHP and Laravel on MySQL and Redis, Apache Superset and BigQuery, and Cloudflare.

Currently focused on AI integration, high availability, deployment pipelines, and backend architecture for BlinkMetrics. Not looking for new opportunities, but always glad to hear from engineers and systems people.

From Theory to Product

The first code I wrote generated geometry under constraint. The code I write now proves work before it ships. Four turns between the two.

2014
Geometry under constraint, written as code

I started in 3D and design in 2014. By 2016 the real work was code: Rhino, Grasshopper and Python generating geometry under constraint, judged by what it did rather than how it looked. An idea stopped being an opinion to defend and became something you evaluate on performance metrics.

2019
Building with less friction

I was building either way. In 3D, most of the distance between an idea and the finished thing was friction that had nothing to do with the idea. Digital cut that distance: what I can describe, I can build, run and change the same day. I moved to where building carries the least friction.

2022
Learn the whole system first

I joined NSquared in 2022 on one read of its founder: someone who told the truth about things, including the inconvenient parts. I spent the first months learning the systems end to end, which is the fastest way to find out what in them actually matters. From then on I measured a contribution by whose attention it freed, not by how interesting it was.

Now
Owning the ground the products stand on

I lead DevOps and automation for the team: infrastructure, pipelines, backend architecture, and the AI-assisted workflows around them. The way work gets proven before it ships used to be one person's habit. It is now the team's.

Proof of execution

Shipped work, and what it took to ship it

Built with the team at NSquared , except the last, which is my own. Each card names the product, the stack, and the part I carry.

AAArdvark Accessibility

AAArdvark Accessibility

The accessibility testing tool built for busy digital teams, and for the people those teams are building for.

  • Years of collaboration with the founder, an author and accessibility consultant
  • PHP and Laravel across billing, reporting and the product itself
  • Accessibility that has to hold up for the people the tool is for
BlinkMetrics

BlinkMetrics

Dashboards and reporting that partners provision for their own clients, on live data.

  • High availability, deployment pipelines, and backend architecture: the part I own day to day
  • Apache Superset and BigQuery on Google Cloud
  • Shipped inside the customer's environment, where the first open is the whole review
Apache Superset

Apache Superset

The open-source BI platform under the dashboards.

  • Operated in production on Google Cloud
  • Python and Redis under the dashboards
  • Kept in step with the project's releases
Flow XR

Flow XR

A piece of the 3D years I kept: personalized e-commerce in realtime 3D, in the browser.

  • Interactive 3D commerce flows, configurable by the shopper
  • Realtime rendering, optimized so the scene stays responsive while it is being changed
  • Shipped as a public demo repository, from prototype to a working configurator
Where the work moved the numbers

What the work changed

Engineers wait less for builds and tests, releases spend less time in manual testing, and nobody logs into servers one at a time any more. Every number here was measured on a real system, and each card says what it counts.

Waiting on CI

How long an engineer waited to hear whether a push passed, on GitHub Actions.

−40%
Before
22 min
After
13 min
9 minutes back on every push 40% faster

Testing releases by hand

The time a release spent in manual QA before browser tests ran in the pipeline.

50%+
Half of it now runs on its own 50%+ saved
How the verification system checks done

Years in the work

One bar per year since 2019.

7 years
Design first, then shipping software, then running what it runs on since 2019
The turn from 3D design to code

Where I go deep

Three subjects the work keeps coming back to.

3
01 AI Leverage
02 Design × Code
03 Product Building
Read the posts

Waiting on the test suite

How long the team's tests took to run in CI. Same tests, same assertions, both times.

−51%
Before
7 min 24 s
After
3 min 39 s
Halved by finding where the time went, not by dropping tests 51% faster
Why the feedback loop sets the speed

Logging into servers by hand

Every time someone opened a shell on a server themselves, before one command did it for them.

659 → 1
659 logins across 16 servers, counted from shell history now 1 command
Why a skill beats doing the task by hand

Where eight weeks of work went

Everything I logged between 8 July and 2 September 2026, sorted by what it was for.

228 entries
Blog

Three things I keep coming back to

Written from inside the work, after the fact: what was decided, what it cost, and what held up in production.

View all

AI Leverage

Getting speed from AI without handing it the decisions: how the tools fit into real work, and where they quietly replace your judgment if you let them.

Read this category →

Design × Code

What carried over from design and 3D: generative design, geometry under constraint, and a house designed the way I run infrastructure.

Read this category →

Product Building

Backend and DevOps depth turning into product judgment, mostly by getting it wrong first: what to build, what to automate, what to leave alone.

Read this category →

In their words

Get in touch

Questions, disagreements, or notes on the writing and the systems behind it. I read everything.

I usually reply within 1–2 business days.