Consulting

Bring me the platform, the database, or the agentic system that has to work in production.

Senior consulting on data platforms, database lifecycle work, and getting agents into production against a stack you already run. One or two engagements at a time.

I take one or two engagements at a time, alongside a full-time role. That constraint is the point: it keeps the work to problems where senior judgement is the bottleneck, not headcount.

Send a briefing Email instead Taking one or two consulting engagements · I reply within two business days. If I can't take it, I'll say so in the first reply.

Four shapes an engagement takes

Availability

Taking one or two consulting engagements — 15–30 hrs/week, Scheduled overlap with European afternoons and US mornings.

I work a shifted day by design. I agree a fixed overlap window in UTC for each engagement so daylight-saving changes do not shift expectations. Real overlap with your team, not asynchronous-only.

Availability updated October 3, 2026. If this page says one thing and my reply says another, believe the reply — but I keep this line current.

How to start

The form emails me. GitHub Pages never sees what you type. Name, email, and what is breaking are required; the other two questions make the first reply useful. Repositories and diagrams are welcome, never required.

Email instead

What I don’t do

Declining the wrong work early is cheaper for both of us than discovering the mismatch in week three.

  • Dashboard-only work. If the problem is the pipeline, a nicer chart will not fix it.
  • Engagements without a decision-maker on your side. I have watched good architecture die in committee.
  • Rescue projects with a fixed date already announced to customers.

What I commit to

I reply within two business days. If I can’t take it, I’ll say so in the first reply. I will tell you when a problem does not need me, or needs someone cheaper, and I will say what I think you should do instead.

Work I do ships with the things that make it survivable without me: runbooks, named dataset owners, freshness objectives, and a cost model your finance team can read.