Lead Applied AI Engineer — I build production multi-agent AI systems that real businesses run on, end to end: from the LLM orchestration layer down to the infrastructure it ships on.
Currently leading applied AI engineering at Genie AI Labs, where we build an AI platform for the UK property industry — autonomous agents that hold real conversations with real customers across WhatsApp, email and SMS, qualify leads, book appointments against live calendars, and drive property transactions through a compliance-gated lifecycle.
- Multi-agent orchestration — LangGraph / LangChain agent systems with deterministic state machines around them: the LLM decides, the engine enforces. Tool-calling loops, structured outputs, per-channel behaviour from one shared brain.
- Eval-driven LLM engineering — I don't ship prompts on vibes. Persona-simulated conversation harnesses, deterministic checks plus independent LLM judges with cross-validation re-votes, golden replays of real production failures. If it isn't measured, it regresses.
- Deterministic guardrails — compliance gates, grounding rules, choke-point sanitizers and drift guards so an LLM can never send what a regulated business can't say. UK property compliance (PECR, GDPR, AML/MLR, Estate Agents Act) designed in, not bolted on.
- Production infrastructure — multi-tenant FastAPI on AWS (ECS, RDS Postgres + pgvector, ElastiCache, S3), Redis Streams workers with idempotency and DLQs, blue-green deploys, CloudWatch observability, LangSmith tracing on every agent turn.
- Real-world integrations — WhatsApp Business, Gmail API, Microsoft Graph, property portals and CRMs, calendar systems with travel-time-aware scheduling.
- Root cause before fix — trace evidence first, then the smallest change at the right choke point.
- One source of truth — when two code paths can disagree about a fact, that's the bug, whatever the symptom was.
- Every live failure becomes a permanent regression test before the fix ships.
- The customer-facing artifact is what gets judged — not the model's raw output.



