Senior AI/ML Engineer with 7+ years deploying production systems at HSBC, Marriott, Tesco, and StormGeo. Real-time fraud detection, GenAI platforms, demand forecasting at scale.
A public AI assistant I built and shipped solo. Live with public signups, real users, real conversations. Built end-to-end with React, Supabase, Netlify Functions, and the Anthropic Claude API.
I'm a Senior AI/ML Engineer based in Milton Keynes, UK. I specialise in shipping ML systems that survive contact with reality — real users, real edge cases, real money on the line.
My work spans regulated industries (banking, hospitality, retail, energy) where ML failures have real consequences. I'm also the maker of ShastraAI, a live AI product I built and shipped independently.
Open to senior AI/ML roles, consulting engagements, and interesting collaborations. Best way to reach me is email.
HSBC's existing rules-based fraud system was producing too many false positives, blocking legitimate transactions and frustrating customers. We needed an ML system that could decision in under 100ms at 1M+ tx/day, while reducing false positives without missing real fraud.
Marriott's UK properties were sitting on 200K+ guest reviews scattered across booking platforms, with no scalable way to extract actionable insights. Manually responding to each review took staff hours per day. We needed a GenAI system that could analyse sentiment, surface themes, and draft personalised responses at scale.
Tesco was over-ordering perishables across thousands of stores, leading to high waste and margin loss. The existing forecasting was too coarse — it couldn't account for local weather, regional events, or promotion cannibalisation. We needed an SKU-level forecasting system that could handle 10K+ products across multi-horizon windows.
Insurance partners needed earlier and more accurate storm impact predictions to prepare claims teams, route field assessors, and warn policyholders. Existing weather models gave general regional warnings but couldn't predict damage severity at postcode level. We needed a model fusing satellite, radar, and historical claims data to score risk 72 hours ahead.