AI delivery portfolio

I turn useful AI ideas into working products.

I’m an IT delivery leader with 20 years across cloud migration, digital transformation and AI roll-out. I define the problem, set the guardrails, direct the build and test what actually ships.

Experience
20 years in IT delivery
Product release
Live iOS app and PWA
Evaluation
Fixed 10-case controlled test set
Delivery proof
Production browser automation with retained evidence
// selected work

Selected projects

These are the clearest examples of how I work: a consumer product released on the App Store, an AI browser-testing system deployed in production, and an agent that turns research into an operational queue.

At home · Shipped product

Family Activity Finder

A family search problem turned into a live app

Family Activity Finder helps parents find suitable local activities using a postcode, children’s ages, date, radius and practical filters. It combines geocoding, weather, venue search and AI-generated suggestions in one mobile-first flow.

Family Activity Finder search results and map for activities in Kent

What I owned

I set the product brief and scope, wrote the acceptance rules, directed Claude Code and Codex, reviewed the implementation and evidence, and handled testing, platform choices and release decisions.

What shipped

A live web app and installable PWA, plus an iOS shell with a verified StoreKit purchase path and a public App Store listing. Account plans and entitlements stay under server control.

The decision that mattered

The first versions could present unsupported venue details too confidently. I tightened the evidence rules, removed claims the system could not support and kept weather lookup non-blocking. I also kept the native iOS layer thin so the product did not split into two separate builds.

Technology

Claude Code, Codex, OpenAI, Express, Supabase, Google Maps and Places, Open-Meteo, SwiftUI and StoreKit 2

At work · Deployed prototype

SpecSentry

Acceptance criteria turned into evidence-backed browser tests

SpecSentry takes a staging URL, user story and acceptance criteria, creates a browser journey for human approval, runs it in Chromium and stores the actions and screenshots. A separate evaluator judges the recorded evidence, then a person reviews any bug report before an external action is allowed.

SpecSentry report with browser evidence for a failed acceptance criterion

What I owned

I defined the product, wrote the requirements, set the security and human-review boundaries, directed the build, designed the controlled evaluation and took the system through deployment and live proof.

What shipped

A public Railway deployment, a public source repository, a reviewable evidence trace and an explicitly confirmed GitHub issue export path. GitHub writes are disabled in the public demo.

The decision that mattered

Planner, browser executor and evaluator are separate so one model call cannot plan, act and mark its own work. Early live runs also tried to reopen an already loaded staging page and mishandled Control+A. Fixing both made the browser runs stable.

Evidence and limits

The fixed evaluation produced all ten expected outcomes: five passes, three evidence-backed failures, one blocked case and one inconclusive case. No evaluated run was missing its screenshots. These are controlled fixture results, rather than a general accuracy claim.

Technology

Next.js, TypeScript, GPT-5.6, OpenAI computer use, Playwright, SQLite, Railway and GitHub

At work · Operational workflow

Weekly Research Agent

A research report rebuilt as a decision queue

Weekly research was producing useful material that still needed another round of sorting. I built a scheduled agent that gathers signals, filters them against the audience and operating rules, and writes structured opportunities into Notion.

Research agent output organised as a content opportunity in Notion

What I owned

I designed the workflow, source and filtering rules, Notion structure, agent instructions and review loop. I also set the boundary between research, content decisions and downstream drafting.

What shipped

A working scheduled agent, a structured opportunity queue and a public walkthrough of the process and its limits.

The decision that mattered

The first operating model created a separate briefing that overlapped with the Content Opportunities database. I removed the duplicate destination and made the database the working home for research that deserves action.

Technology

ChatGPT Work, scheduled tasks, web research and Notion

// capability map

What these projects show

Capabilities demonstrated by the selected projects
CapabilityEvidence
Product framing and scopeFamily Activity Finder’s thin native shell and SpecSentry’s bounded first vertical slice
Agent and workflow designSpecSentry’s separated planner, executor and evaluator, plus the Research Agent’s operating rules
Delivery and releaseApp Store release, PWA, Railway deployment, smoke checks and maintained handovers
Evaluation and riskControlled test sets, retained browser evidence, server-side entitlements and guarded external writes
// delivery method

How I take an idea through to release

I start with the task and the evidence needed to call it useful. I write the constraints and acceptance criteria, choose the smallest release worth shipping, then direct coding agents through short build and review loops.

I stay close to the implementation and remain responsible for the outcome. I check the code, run the product, test failure paths and keep the release record current. When the evidence is weak, I narrow the claim.

That is the value I bring as a delivery leader: senior stakeholder judgement, product decisions and enough technical depth to take an idea through to a working release.

// range

More builds

Smaller products that show technical range. They stay compact because the selected projects above carry the stronger delivery evidence.

Neon Panic sorting game running in a mobile browser
Working browser prototype · Private source

Neon Panic

A mobile-first one-touch sorting game built with Vite, TypeScript and HTML Canvas. The prototype includes a level system, procedural audio, haptics and a separately gated test build.

World Cup sweepstake showing live fixtures, standings and bracket data
Working web build · Public source

World Cup 2026 Sweepstake

A sweepstake and bracket app using live football data for fixtures, standings, team status and projected knockout routes.

// let’s talk

Want to talk about AI delivery, product work or a build?

Connect with me on LinkedIn or send a message. I’m always interested in the point where an ambitious AI idea meets delivery reality.