Artifacts
Nine documents — the ones I'd actually hand a new engineer on day one. Open any card to read it in full. Client code and data are kept out.
ADR
The architecture decision record behind the Hobber vendor platform — why seven domains got their own slices instead of one dashboard surface, and what the boundary rules are.
COMPONENT SPEC
How a component earns its place in the Storybook library: the props contract, the accessibility floor, and what disqualifies a component from being shared. The spine that cut frontend dev time ~30%.
STATE MODEL
The rule that keeps data-fetching bugs from becoming rendering bugs — what belongs in the cache, what belongs in the component, and why the two are never the same store.
INCIDENT REVIEW
A licence acquired once, at play time, and outlived by the content — a failure that could not appear on any asset short enough to sit through in development. What broke, how a viewer came to be the detector, and the gap I left open.
PERF BUDGET
The performance one-pager for the Axinom media build: what was measured, the three levers that moved it (bundle, lazy-load, caching), and the guardrails that stopped a fast page from becoming a broken one.
TEST STRATEGY
The testing strategy that made 40+ production releases safe: what gets a test, what deliberately does not, and where the gate sits in CI/CD.
ACCESSIBILITY BASELINE
The accessibility and responsive baseline the company site was rebuilt against — what had to be true of every screen, why keyboard order came before colour, and the part I got wrong first.
API CONTRACT
How the frontend and the .NET backend agree on a shape before code exists — the contract is pinned in Swagger first, typed on our side, and a change to it is a conversation rather than a surprise in production.
MIGRATION PLAN
How a legacy application moved to a modern stack incrementally — the strangler approach, what shipped in which order, and the rule that kept two coexisting stacks from doubling the work.