About
Product architect, consultant & founder.
Who I am, how I work, and the full work history. Link to this page in place of a CV, or take the PDF.
I'm a product architect, consultant and founder. I started as an engineer, and never really stopped being one. For around twenty years I've moved between building things hands-on, leading the technical side of other people's products, and starting ventures of my own. The through-line is the same. I like problems that sit at the awkward intersection of product, technology and business, where the right answer needs all three and a purely technical or purely commercial view tends to miss.
These days that takes two shapes. Through sharp.works I run a small studio building intelligent systems: custom AI, designed and engineered from concept to production. Alongside that I build my own things, among them Tenderoo, a bootstrapped SaaS in public-sector procurement, and Condelo, a partnership building an AI platform and the products that run on it. Consulting and building are not two separate careers to me. Run together, each keeps the other honest.
How I work
I start from the outcome and work back to the smallest set of decisions that get there. Mostly that means caring about clarity: clean seams in the architecture, clear ownership in the team, and a plan a group of people can actually build. I've done it across a lot of industries, from transport and life sciences to aviation, defence and real-time consumer platforms, and lately a good deal of AI. Different sectors, the same shape of problem underneath.
Experience
Twenty years of shipping.
The companies below are who each engagement was with. Work for their end clients is described by sector.
-
sharp.works
Independent Apr 2026 – PresentFounding Engineer / Product Architect
Independent AI software development: building and shipping AI-enabled software from problem discovery through design, implementation and production operations.
- Built TypeFuse, a platform where developers and agents build, publish and reuse typed decisions, with versioned definitions, traceable changes and immutable releases.
- Designed production LLM workflows: document ingestion, RAG, semantic and vector search, reranking, structured outputs and cited evidence.
- Ships with TypeScript, React, Next.js, Node, Hono, PostgreSQL, Drizzle, Redis and GCP, owning product definition, architecture, deployment and operations.
TypeScript React Next.js Node Hono PostgreSQL GCP
-
Whitespace
Contract Dec 2023 – Apr 2026Senior Full-Stack Engineer
AI-enabled systems for defence and legal-sector clients, shaped and delivered with stakeholders and a solution architect.
- Integrated LLM capabilities into practical client workflows, balancing usefulness with reliability, traceability and the limits of the underlying models.
- Built TypeScript, Node, Hono and React applications backed by PostgreSQL, Drizzle and Redis.
- Contributed to technical direction and architectural decisions across evolving, security-critical projects.
TypeScript Node Hono React PostgreSQL Redis
-
Azinq
Contract Mar 2023 – Dec 2023Senior Full-Stack Engineer
Airport invoicing platform managing charges between airports and airlines.
- Built backend services, APIs, business rules and user-facing features across a full-stack NestJS architecture.
- Translated complex aviation and invoicing requirements into maintainable production software.
NestJS TypeScript PostgreSQL
-
White.Space
Contract Jul 2021 – Mar 2023Senior Full-Stack Engineer
Internal and client-facing applications for organisations across defence, higher education and life sciences.
- Built Node APIs and React applications using TypeScript, GraphQL and REST.
- Worked across frontend, backend and data layers with PostgreSQL and MongoDB.
TypeScript Node React GraphQL PostgreSQL MongoDB
-
bet365
Contract Jan 2018 – Jul 2021Senior Full-Stack Engineer
Internal and customer-facing products within small, multidisciplinary engineering teams.
- Built high-scale frontend applications with Vue and TypeScript, supported by Go services.
- Designed for performance, reliability and high-volume consumer use.
Vue TypeScript Go PostgreSQL SQL Server
-
Shield Safety Group
Contract Oct 2017 – Jan 2018Senior Full-Stack Engineer
Time-critical product enhancements delivered to a short, fixed deadline.
- Shipped the agreed scope across Angular, TypeScript, C# and NancyFX.
Angular TypeScript C#
-
Stagecoach Technology · Megabus.com
Contract Feb 2017 – Oct 2017Senior Full-Stack Engineer
Rebuild of the Megabus customer journey and content platform.
- Delivered Angular and TypeScript features over a C# Web API middle tier and Episerver CMS.
Angular TypeScript C# Episerver
-
Vee24
Contract Sep 2015 – Feb 2017Senior Full-Stack Engineer / Technical Consultant
Real-time audio and video customer-engagement platform: architecture advice plus hands-on delivery.
- Built with Node, Angular, WebRTC and Docker for performance and scale.
- Integrated mobile, messaging and data systems including RabbitMQ, Redis and MongoDB.
Node Angular WebRTC Docker Redis
-
Earlier permanent roles
2006 – 2015Senior and mid-level engineering roles at Havas Health Software, Swinton Insurance, Autocab and Interlink Software Services. Healthcare, insurance, ecommerce and service software across C#, .NET, JavaScript and SQL, including high-volume services, event-driven systems and automated test suites.
Skills
- Software engineering
- Backend services, API and interface design, external integrations, automated testing, troubleshooting, production delivery
- AI and LLM engineering
- RAG, embeddings, semantic and vector search, document ingestion, retrieval and reranking, prompt and context engineering, tool calling, structured outputs, source grounding, evaluation
- Agentic engineering
- Claude Code, tool calling, MCP integrations, prompt and instruction design, agent skills, automated validation
- Stack
- TypeScript, JavaScript, React, Next.js, Node.js, Hono, NestJS, PostgreSQL, Drizzle, Redis, MongoDB, GCP, Docker
Sound like a fit?
If you're hiring for something in this territory, or wrestling with a problem in it, I'd be glad to talk.