Product manager and software developer with a Cambridge MBA. At Topo Solutions I owned Know Your Product as the sole PM and the sole engineer, and a compliance check that had been taking teams hours per product came back in seconds.

I run discovery, write the requirements, set the roadmap and track the numbers after launch. I also write the code and design the evaluation, which means the product call and the technical call are made by the same person, and I can read a design document and challenge it rather than take it on trust.
Most of that has been in compliance-heavy domains, at IBM across banking, airline and eCommerce clients, at Topo Solutions on supply-chain compliance, and at Coinfound on two live tokenized assets. In those domains a wrong answer reaches a market or a regulator, so correctness is the product rather than a quality gate at the end.
What I am looking for now is AI or technical product management, on a product where the hard calls are technical ones.
Working out which regulations, tests and certifications a product must meet before it can be sold took compliance teams hours per product, spread across scattered sources. I owned Know Your Product from concept to launch as the only PM and the only engineer on it, and it returned that same answer in seconds: pick a product, its category, its materials and its destination market, and get back everything it has to satisfy to sell there.
I ran discovery with the people doing those checks by hand, wrote the requirements, then designed and built the system. The regulatory content it depended on arrived from a partner consultancy as 100+ inconsistent, multi-tab spreadsheets that nothing could query, so the Python ETL that parsed, flattened and reconciled them into one clean dataset had to come first. Getting an answer wrong meant a non-compliant product reaching a market, so correctness was the product itself and not a check at the end.
I trialled it with a demo group of existing customers, then launched UK and EU first across five sequenced categories with a multi-year roadmap into seven further industries, tracking adoption, search accuracy and time to compliance and feeding those numbers back into the backlog.
Separately, on ALDI's Social Monitoring Programme, I ran discovery with the client on how their constantly changing social-audit rules were applied in practice, then designed an extensible decision-tree rules engine in C# that evaluated 70,000+ supplier facilities and flagged failures for inspection. New and amended rules dropped in without touching existing code, and ALDI came back with follow-on contracts.
Built · C# / .NET REST APIs · React and Sencha ExtJS · Azure SQL, Blob, Functions, Queues · Azure DevOps CI/CD · Python ETL · integrated into Topo's low-code platform

A team sitting on thousands of free-text feedback items cannot read all of them, so FAIE classifies, scores and routes each item by sentiment, urgency and theme in seconds, uses embeddings for semantic search and deduplication, and escalates the highest-priority items automatically.
Then I made it measurable. I hand-labelled a fixture suite and scored two providers head to head through the same code path: sentiment accuracy 85% against 75%, urgency error 0.9 MAE against 1.2, P0 and P1 recall 100% against 87.5%, plus latency at p50 and p95 and embedding separation. The published call was tiered rather than a single winner, using each provider for the hop it is good at instead of standardising on one.
The eval also caught three model-lifecycle failures inside one migration window, including a pipeline that had been silently degraded for weeks because a deprecated model was failing into plausible-looking defaults. Nothing broke, so nothing raised a flag. That conclusion, that fallback rate has to be tracked as a first-class metric, became my Cambridge MBA research topic.
Built · Cloudflare Workers AI · Vectorize · D1 · DistilBERT · Llama 3.1 · BGE embeddings · Mistral La Plateforme
A generative-AI product for self-discovery and decision-framing, grounded in Ancient Indian frameworks. I built and shipped it in Python on the Gemini API, grew it to 60+ active early users, and added automation that cut advisory turnaround time by 50%.
It then hit an accuracy ceiling. That was a data problem rather than a model problem: the frontier models were never trained on this domain, and the expertise sits with a handful of practitioners, so no amount of prompt tuning was going to close the gap. I re-architected it around a deterministic computation engine with no model anywhere in a calculation path, and kept the model for a separate interpretation layer built as retrieval-augmented generation over specialist source texts.
The next step was a multi-agent layer. Before I built it, the agentic systems inside Claude and OpenAI became good enough to produce the same reading and run the calculations themselves in their own sandbox, which removed the case for a separate paid product. So I stopped, rather than keep building something people can now get in an ordinary chat.
Built · Python · Gemini API · deterministic computation engine · RAG over specialist source texts

The evidence for transport poverty sat in four separate places, census, deprivation, accessibility and live GTFS transport data, with no single figure joining them. I reconciled those sources into a Transport Poverty Index and a Bus Frequency Score at neighbourhood (LSOA) level, then built an interactive heatmap of Lancashire that shades each neighbourhood by severity and zooms into the ten worst, so the affected areas were visible without reading the data.
Built · Python · pandas · GTFS transit data · IMD and census data · geospatial (LSOA) · interactive map
As the client-facing technical lead I led the data and privacy workstream on two live tokenized assets, XAUT, which is gold-backed, and USDGO, a regulated USD stablecoin. I traced user data through onboarding, wallet registration, minting, transfer, monitoring, redemption and retention, and identified where wallet addresses, transaction history and KYC and KYB records create identifiability and right-to-erasure risk across the UK, US and Hong Kong regimes.
The engagement was a one-off exercise, so I turned the output into a self-serve toolkit that other issuers could reuse: a DPIA template, a controller and processor model, and a compliance checklist.
Domain · Real-world asset tokenization · stablecoin and KYC / KYB data flows · GDPR and DPIA · UK, US and Hong Kong regimes
A B2B augmented-reality menu platform for restaurants, taken from a product concept to a live demo in a single weekend, covering the admin upload flow and a customer-facing menu with 3D dish rendering and mobile AR launch.
Built · Next.js · TypeScript · Cloudflare Workers, D1 and R2 · model-viewer (AR)
Client-facing technical lead on the data and privacy workstream for a Web3 ratings and advisory firm working in real-world asset tokenization for institutional finance.
Founded a generative-AI product and grew it to 60+ active early users, owning discovery, build and iteration, and shelving it once the case for a separate paid product had gone.
Sole PM and sole engineer on Know Your Product, a new compliance product taken from concept to a UK and EU launch, inside a low-code B2B platform serving enterprise users across 40+ countries.
Built the mobile modules that let customers of Hong Kong's first fully app-based bank open an account without visiting a branch. Led an HR operations transformation across 17 Asian markets using RPA and an IBM Watson chatbot, building the business case and running the change management that reached 10,000+ users and cut manual workload by 45%. Presented solution architectures to senior non-technical executives and to engineering teams, and mentored 100+ consultants.
While rebuilding FAIE, my feedback-triage pipeline, I ran it across two LLM providers, Cloudflare Workers AI and Mistral La Plateforme, and scored them head to head on a hand-labelled set: sentiment accuracy, urgency, P0 and P1 recall, latency, and embedding separation. Mistral came out ahead on classification and Workers AI on edge latency. The quality gap was not the lesson.
The lesson was operational. The model my deployed pipeline relied on had been quietly deprecated, its calls were failing, and a catch block was returning sensible-looking defaults, so nothing surfaced as an error and the output just got worse. When I went to replace it, the first replacement had also been deprecated, so I had to switch twice. The new model's response contract had changed shape as well, which was a runtime crash waiting on real ingestion, caught only by a smoke test.
My conclusion is that a managed model catalogue is mutable infrastructure rather than a stable API. I now instrument fallback rate as first-class observability, because silent degradation is the failure mode you cannot afford to find late. I pin to versioned model IDs. And I weigh a provider's deprecation cadence and contract stability alongside its accuracy.
See FAIE ↗That migration is now my Cambridge MBA summer research paper, on the risks companies overlook when they switch to a newer AI model. The interesting case is not the migration that breaks loudly. It is the one where a deprecated model fails into plausible defaults, every dashboard stays green, and the product quietly gets worse for weeks with nobody assigned to notice.
The paper is due in September 2026.
Trained in the classical Indian dance form.
Chasing the best local food in every city I land in, though mostly craving spicy ramen wherever I go. 🤤
Exploring new places on the ground.