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, and the search grammar pattern, natural language search with one small LLM call. All my writing, projects and CV: CorneliuCroitoru.com.
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 |
Every article, grouped by project, plus my older AWS posts: CorneliuCroitoru.com/writing. Each one is something I built, with what failed first and the real numbers.
- The Search Grammar Pattern: Natural Language Search with LLMs: one small LLM call per search, over a catalog the model has never seen. Built for my own movie app at home.
- Building Back From My Trip, a series: how an LLM pipeline moderates, extracts and verifies a travel community, and never writes a word. It starts with the librarian pattern.
☁️ 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.





