I build things that scale.
Nine years building software that ships and keeps working. Four of them as a core engineer on Lace, a production Cardano wallet at IOG. Two products of my own, live on the App Store and Google Play. I hold an MSc in Computer Science with Distinction from the University of East London. I care about the parts users never see, the ones that decide whether a system holds up under real load.
Capabilities
Production React and React Native. Design systems, performance budgets, and the reliability work most people skip.
APIs and services that hold up under real load. REST, GraphQL, and the plumbing that keeps requests fast and predictable.
Schemas, queries, and caching layers that still make sense six months later: relational, document, and in-memory.
Ship it and keep it running. Containers, queues, cloud infra, and pipelines that deploy without drama.
Selected work
A non-custodial, multi-chain Web3 wallet for Cardano, Bitcoin, and Midnight. Built by IOG to make blockchain accessible to everyone.
A personal growth companion for readers. Upload books, track reading habits, set goals, and get insights. Designed, built, and shipped solo to both the App Store and Google Play.
A modular AI engine with installable skills that execute real-world outcomes, not just conversations. Solo-built as founder and CTO. Launching Q3 2026.
A guest relationship platform for hotels that turns data into personalised revenue, powering 200,000+ guest interactions monthly across 5,000+ rooms.
Writing
The Hidden Complexity Behind "Simple" Products
The simpler a product feels, the more complexity it is probably hiding. Great software feels effortless because someone else has chosen to carry the complexity.
→MAY 15, 2026Designing APIs You Don’t Hate Six Months Later
Most APIs feel clean at the beginning. The real challenge is designing APIs that still feel understandable after months of feature requests, refactors, and changing product requirements.
→APR 10, 2026Why TypeScript Scales Better Than Most Teams
Most engineering problems are communication problems in disguise. TypeScript helps teams manage complexity before complexity manages them.
→