20+ years of shipping software. The last few, shipping with AI.
7 years at AWS as a Solutions Architect, building GenAI prototypes with customers across EMEA from the early days of LLMs, when Claude 3 was the new model. Now Staff GenAI Solutions Architect at Betclic and co-founder of two travel products in production. Along the way: a 7k-star agent orchestration framework and a family of MCP servers.
A few years of building with LLMs taught me three things. Most problems still want a query, a rule or a cron job, not a prompt. When a model does belong, the pattern matters more than the prompt: an agent that sees the data but never writes the reply, a pipeline that extracts facts before it narrates, a second model as reviewer instead of author. And a model is a fast pair of hands, not an architect. It writes code, docs and tests under my direction, and nothing I can't explain gets shipped.
I keep trying new patterns and write up the ones that hold: the librarian pattern, which keeps an AI coding assistant from breaking my app, and place extraction, where the model reads and never invents. Latest experiment: on-device agent orchestration in Swift.
Two travel products for the two halves of a trip: StreetLens while you're there, Back From My Trip once you're back.
| Product | What it does | Role |
|---|---|---|
| 🌍 StreetLens | Hear the story of the places around you, in your language. 6 cities, 8 languages, GPS-triggered narration. No account, no ads, pay per place. Every story is written by an LLM pipeline from extracted, source-tagged facts, validated against them, repaired or dropped. A new city in days. streetlensapp.com · App Store | Co-founder |
| 🧳 Back From My Trip | Travel community where real travellers write trip reports that end with one honest question: would I go back? No star ratings. Behind the scenes an LLM pipeline moderates reports, extracts the places you mention and verifies photos. AI assists, never invents. backfrommytrip.com | Co-founder |
| Project | What it is | Role |
|---|---|---|
| 🧠 Agent Squad | Lightweight multi-agent orchestration framework. Python, TypeScript and Swift. Includes GroundedAgent: the agent that calls the tools never writes the reply. 7k⭐, formerly at AWS Labs. NPM · PyPI | Co-author |
| 🧩 Context Lens | MCP server for semantic search over local files and GitHub repositories. Think of it as SQLite for AI embeddings. | Author |
| 📊 Data Lens | MCP server to ask questions about spreadsheets in plain English. Excel, CSV, Parquet, powered by DuckDB. | Author |
| 🗣️ Ask James | MCP server that gets a second opinion from another LLM inside your assistant. | Author |
| ☁️ CloudFront Hosting Toolkit | CLI to deploy fast and secure frontends on Amazon CloudFront. NPM | Main maintainer |
| Date | Title | Platform |
|---|---|---|
| 07 SEP 2026 | You just write. The places find themselves. | dev.to |
| 26 AUG 2026 | The Librarian Pattern: How I Keep My AI Coding Assistant from Breaking My App | dev.to |
| 12 NOV 2025 | Context-Lens: A Serverless, Open-Source MCP Server for AI Document Understanding | Medium |
| 28 NOV 2024 | Unlock Bedrock InvokeInlineAgent API's Hidden Potential with Multi-Agent Orchestrator | community.aws |
| 12 SEP 2024 | Beyond Auto-Replies: Building an AI-Powered E-commerce Support System | community.aws |
| 04 JUN 2024 | Introducing CloudFront Hosting Toolkit | AWS Blog |
| 10 JAN 2023 | How DAZN Uses AWS Step Functions to Orchestrate Event-Based Video Streaming at Scale | AWS Blog |
☁️ Earlier work at AWS
- Food Analyzer App — GenAI nutrition app for shopping and recipes. Built at an AWS hackathon, demoed at AWS Summits worldwide. Co-creator.
- A/B Testing at the Edge — A/B testing on Amazon CloudFront for personalized content at scale. Owner and maintainer. Workshop
- Secure Media Delivery at the Edge — Protects premium video delivered through CloudFront. Sole coder, now maintained by the AWS Solutions team.
- Scaling cost effective architectures — Workshop.
Always building.
If you're solving a real problem with AI and less code, reach out.





