Basket: Four years of building a product that shops for you
Product & Design Lead · 2021–2025 · iOS, Android, Web, Browser Extensions

The product
Basket is a smart wishlist app – save items from any store, organize them, get price drop and restock alerts. The interesting challenge wasn't the feature set. It was making a tool that sits between the user and every retailer on the internet feel like a single, coherent product across iOS, Android, web, Safari extension, and Chrome extension.


What I owned
The migration problem
Migrating 20,000 users to a successor app is not a technical problem – it's a behavioural intervention. Status quo bias, loss aversion, and the endowment effect all work against you. The approach: a multi-stage psychological sequence – awareness banner, beta social proof with the 30 most active users, one-tap import bridge, then a hard upgrade wall. The users who migrated fastest weren't the most engaged. They were the ones who received stage-appropriate messaging. Cialdini's commitment and consistency principle in action.
The content engine
Three social posts a week, each taking half a day, was a ritual not a workflow. Built a Remotion pipeline – componentised video templates with design tokens. Swap an API call, get a new creative. Twenty to thirty pieces a week from the terminal. The revolution isn't AI-generated copy. It's infrastructure that makes testing as cheap as guessing used to be.
The AI chat
The shopping chat model was fine. The interface made it look dumb. Restructured responses: short intro, top 3 picks with rationale, secondary grid. Added personality to the system prompt. Made every product mention tappable. The model is never the bottleneck – the bottleneck is always the last metre between a good answer and a good experience.
Key outcomes
Interested in working together?