Skip to content

Selected background

A career in the difficult five minutes.

The moments when a product must be unmistakably clear: before a trip, at checkout, while creating an account, or when a person needs help.

Abstract illustration: concentric rings with a few lit nodes, like a radar sweep

I am a product manager with nine years across travel, commerce, and high-trust consumer products. The common thread is friction: the handoff between “I want to do this” and “I can do this.”

The full timeline, roles, dates, employers and outcomes, is on the experience page, and mirrors my LinkedIn profile.

Things I can show.

12 notes on product decisions. Past employers are named; the current regulated one is described by sector. No private data.

What I build

Six things, and the cases below are the evidence.

Getting people in without losing them

The part where a stranger becomes an account: signing up, proving who they are, and being told the truth about what you are asking for.

  • Registration and identity-verification flows
  • Vendor migrations on live products
  • Consent and privacy that survive an audit

In 4 of the 13 cases

Letting people finish on their own

Checkout, check-in, changing a booking, buying the extra. The flows where sending someone to a human counter is the failure.

  • Carts, checkout and booking changes
  • Kiosk and mobile self-service
  • Catalogue, pricing and inventory

In 4 of the 13 cases

Making sure nothing arrives and gets forgotten

What happens after somebody raises their hand: where it is written down, who answers, and how you know which channel produced it.

  • CRM, lead capture and customer databases
  • SMS and email campaigns with real consent
  • Automated follow-up and weekly digests

In 5 of the 13 cases

Applied AI that knows when to stop

Agents and automations in production, with the evidence they owe you before you trust them and the moment they hand back to a person.

  • Conversational agents with human handoff
  • Eval harnesses and regression gates
  • Automation that has to prove it worked

In 4 of the 13 cases

Being found, and then believed

Two audiences read the same page now, and a model reads it differently from a person. Both have to come away convinced.

  • SEO and GEO on bilingual sites
  • Analytics that changes what gets built next
  • Publishing and QA loops that fail loudly

In 4 of the 13 cases

Interfaces that answer back

From the wireframe and the flow diagram to the motion you feel under your finger, and the test that says whether any of it helped.

  • UI design, wireframes and flow diagrams
  • Motion and interaction you can touch
  • User testing, A/B testing and experimentation

In 9 of the 13 cases

The technology, if you want it · 46
  • A/B testing
  • Account-linked
  • Agent orchestration
  • Amplitude
  • Android
  • Cart
  • Checkout
  • Claude API
  • Config-only
  • Digital booking
  • Discord
  • E-commerce
  • FastAPI
  • FullStory
  • Funnel analytics
  • GA4
  • GitHub Actions
  • Identifier-free analytics
  • Identity vendors
  • Instant rollback
  • Inventory
  • Inventory feed
  • iOS
  • Kiosk
  • llms.txt
  • Loyalty
  • ManyChat/Meta
  • Marketplace
  • MCP
  • Mixpanel
  • Mobile
  • Mobile web
  • Next.js
  • Payments
  • Point of sale
  • Pricing
  • Railway
  • React
  • Real-time messaging
  • Release gates
  • Resend
  • Scheduled jobs
  • Schema.org
  • Supabase
  • Twilio
  • Vercel
Abstract illustration: a funnel of lines that stops before its opening, with one line breaking away
Applied AI

When an agent should stop

I explore how a chat assistant can recognise its limits and hand over to a person.

  • Claude API
  • FastAPI
  • Supabase
  • Railway

Open the case →

Abstract illustration: a row of aligned bars with a single one shifted out of line
Customer experience

Ask less, explain more

I explore the order of questions in account creation.

  • iOS
  • Android
  • Mobile web
  • Mixpanel

Open the case →

Abstract illustration: concentric rings with a few lit nodes, like a radar sweep
Applied AI

Automate without losing control

I explore how to make an automated system’s actions and limits visible.

  • Agent orchestration
  • Release gates
  • GitHub Actions

Open the case →

Abstract illustration: stacked bars like a feed of records, one dissolving into dashes
Local commerce

A catalog that helps people decide

I explore how to present changing information without creating false expectations.

  • Next.js
  • Vercel
  • Inventory feed
  • GA4

Open the case →

Abstract illustration: six inlets converging into one core, and a line returning
CRM and lifecycle

A CRM for a business that had never had one

Lead capture, lane attribution, a customer database, SMS campaigns and automated follow-up for a small business that had none of it.

  • Next.js
  • Supabase
  • Twilio
  • Resend

Open the case →

Abstract illustration: two mirrored paths that cross, with dots clustered around one crossing
Forecasting

Design for uncertainty

I explore how to present a prediction without making it look certain.

  • FastAPI
  • React
  • Supabase
  • Discord

Open the case →

Abstract illustration: a sealed container where every line from outside stops at its wall
Privacy-constrained product

Measure while respecting privacy

I explore what can be learned without collecting unnecessary data.

  • iOS
  • Identifier-free analytics

Open the case →

Abstract illustration: message bubbles stacked over a horizon line, one still waiting
Guest experience

A messenger that had to work at sea

An in-app messaging platform for the Carnival HUB app, built for guests on a ship with almost no bandwidth.

  • iOS
  • Android
  • Real-time messaging
  • Account-linked

Open the case →

Abstract illustration: three panels on one track, a gate, and a destination beyond it
Self-service

Check-in, changes and the cart, on a kiosk

Mobile and kiosk redesign at Spirit Airlines: check-in, itinerary management, booking changes and buying the extras that come with a seat.

  • Mobile
  • Kiosk
  • A/B testing
  • Point of sale

Open the case →

Abstract illustration: three bars of different heights meeting at a single point above them
Commerce

A marketplace that had to sell what it had

Marketplace pricing, inventory and how fast stock moves at Office Depot, where daily revenue grew roughly threefold.

  • E-commerce
  • Marketplace
  • Pricing
  • Inventory

Open the case →

Abstract illustration: a line crossing three narrowing gates towards a destination
Onboarding

Everything a guest must do before they arrive

Everything a guest has to do before they sail, digital booking, loyalty and checkout at The Ritz-Carlton Yacht Collection.

  • Digital booking
  • Payments
  • Loyalty
  • Checkout

Open the case →

Abstract illustration: two records side by side and an arc returning underneath them
Identity

Changing the engine without stopping the car

Changing the company that checks people are who they say they are, on a live product, with a switch we could flip back in seconds.

  • Identity vendors
  • Config-only
  • Instant rollback
  • Funnel analytics

Open the case →

Abstract illustration: one page read from the left by a dot and from the right by rings
Growth systems

Sites that have to be found, and then believed

Bilingual sites, the hidden notes that tell Google and the AI assistants what a page is about, analytics and publishing loops built and run for small businesses.

  • Next.js
  • Vercel
  • Supabase
  • Schema.org

Open the case →