Skill map
Each skill, and where to see it.
A skill marked as shown links to the case study that demonstrates it. A skill in progress names the project building it. Nothing is listed as shown until the work exists.
AI systems
AI agents and multi-agent orchestration
Shown in the workDesigning agents that run in loops, hand work to each other, and keep their state in files a person can review.
Prompt and context engineering
Shown in the workWriting the standards, maps, and workflows a model loads, so its output is reliable at volume rather than good once.
Evals, testing, and observability
Shown in the workChecks that grade real output on every change, an audit that proves the checks can fail, and endpoints that report what is actually wired.
Guardrails and human-in-the-loop review
Shown in the workAgents propose; a person approves. Every change is a reviewable pull request, and known failure classes are blocked by code.
An agent other teams rely on every day
In progressAn internal agent with real users, a measured before and after, and an owner who is not its builder.
Now building: A recurring reporting narrative agent for a marketing team, with a weekly usage and accuracy log.
Data and technical stack
TypeScript, React, and Node
Shown in the workThis site: Next.js 16 and React 19, roughly 840 TypeScript files, and the build tooling around it.
Python for data and agents
In progressTyped, tested Python for agent services and data work.
Now building: A lead research and routing agent written in Python with pydantic models and a pytest suite.
SQL, warehouse modelling, and dbt
In progressOne modelled source of truth for marketing data, built in a warehouse and versioned in dbt.
Now building: A marketing data model joining paid media, web analytics, and point-of-sale data by location.
Funnel analytics and attribution
Shown in the workMeasuring each layer of a funnel, ruling causes out explicitly, and stating what the data does not show.
Marketing and revenue systems integration
Shown in the workForms, webhooks, email, booking, analytics, and payments wired together so data arrives where it is needed and failures are visible.
Lead enrichment, scoring, and routing
In progressInbound leads researched, scored, and routed to the right person automatically, with a review queue for low-confidence calls.
Now building: The same Python agent as above, writing to a CRM with an eval set of labelled leads.
Experiment design and A/B infrastructure
In progressTests with a stated hypothesis, a sample size calculated in advance, and a readout someone can act on.
Now building: A local-marketing test across matched store groups, analysed as a difference-in-differences.
Working with people
Explaining technical work to executives
Shown in the workWrite-ups that lead with the decision, carry the evidence, and say plainly what is not yet known.
Adoption and change management
In progressDesigning for use from the first day, and measuring whether people still use the tool a month later.
Now building: Weekly active use and time saved, tracked for every internal tool shipped this quarter.
Prioritisation and build-versus-buy
Shown in the workDeciding what not to build, testing ideas on paper before spending on them, and retiring what does not earn its place.
Shipping in reviewable increments
Shown in the workWork delivered as small, stacked pull requests a reviewer can accept one at a time, with retractions flagged across the stack.
Strategy and domain
Go-to-market, pricing, and packaging
Shown in the workChoosing what to sell, to whom, and on what pricing model, from measured demand rather than preference.
Multi-location retail and service operations
Shown in the workDay-to-day operating experience inside a multi-location specialty retailer: store-level reporting, local marketing, and the gap between dashboard and store floor.
Measured results for paying clients
In progressA client outcome counted in dollars, verified by the client, and published with permission.
Now building: Missed-call recovery for home-service businesses, priced on the bookings it produces.