Portfolio
I'm a PM who uses AI to turn real problems into working products.
The Problem
I could describe how to apply AI across the development lifecycle. I hadn't actually run a product through it end to end — ideation to release — with AI doing the execution and me directing it. That's a credibility gap, and no amount of reading closes it.
The Solution
So I built the practical experience by building the thing itself: a shared set of reusable agents, skills, rubrics and templates that runs a product initiative through six gates — Ideation, Discovery, Design, Build, Test, Release — plus a cross-cutting Retrospective. Every gate ends in a rubric-scored, evidence-quoted verdict with an explicit human decision point.
The Problem
Consultants managing work across multiple organisations struggle to keep their availability in sync — double-bookings happen because their company calendar and client calendar don't talk to each other.
The Solution
A web app that automatically mirrors busy blocks across calendars — whether that's Google ↔ Outlook, Google ↔ Google, or Outlook ↔ Outlook — so consultants stay conflict-free without manually managing multiple calendars.
The Problem
Prompt libraries that live outside the AI workspace force a high-friction cycle of tab-switching, searching and copy-pasting, so prompts stay static and siloed and adoption suffers. Prompts turned out to be the smaller half of the problem: teams have no shared way to distribute the skills and agents they build either, so everyone quietly rebuilds the same capability alone.
The Solution
A living library that sits inside the workspace itself, in a native .claude.md file — prompts can be called, executed and evolved without leaving the development environment. Now extended past prompts to skills and agents, so a team shares working capability rather than text to paste.
What I Learned
The original bet was prompt sharing. Claude skills and plugins surpassed that almost immediately — copy/paste prompting stopped being the friction worth solving. That wasn't a dead end, it was the reason to pivot: the same distribution problem exists one level up, where teams build skills and agents in isolation and have no way to share them. Same insight, applied to a bigger and more durable problem.
The Problem
The assumption was that populating financial transfer forms fails because users can't locate the precise account and reference details buried inside their provider's statements — driving form abandonment and manual support effort.
The Solution
A proof of concept to test that assumption, not to ship: upload a PDF or photograph a statement, and an AI scanner extracts the transfer credentials straight into the form.
What I Learned
It worked — and that was the point. Populating the reference number was never the real problem. Putting something in front of people made the actual constraint obvious: they can't find the right document, or identify the right account, in the first place. No amount of clever extraction fixes that. The PoC reached that answer fast and didn't waste a single day of development resource on the wrong solution.
Where It Goes Next
Prototype what an industry-standard reference retrieval service might look like — a common way to resolve an account to its transfer details across providers. The prototype is the argument: the goal is to lobby for universal standards, not to ship another scanner.
Under Wraps
Deliberately withheld. It's still being built and I'd rather not hand over the idea. What's on show here is the delivery, not the concept.
What It Showcases
Cross-platform mobile, built with Expo — iOS and Android from a single codebase — taken solo from brief to a running build on a device. Actively in development.
The Problem
People don't know which coffee suits their personality — leading to endless indecision at the café counter.
The Solution
A 6-question personality quiz that matches you to your perfect coffee in under 2 minutes.
Built during the "Claude Code for Product Managers" course by Carl Vellotti — kept live for nostalgia.
Try it →The Problem
Plenty of exciting projects are currently waiting in the wings!
The Solution
But in a desperate bid to save my sanity, and token usage, I've introduced a self-enforced ban on starting new things.