Case Studies

Real engagements. Real numbers.

Each is framed as Problem → Solution → Outcome. Specific numbers, named trade-offs, and one paragraph of what I'd do differently.

Healthcare SaaS

Inara AI — 40 microservices → 1 modular monolith

Right-sized a healthcare platform that was paying enterprise prices to serve a 5K-user product. Replaced six managed services with in-process equivalents.

$3.5–5.5K/mo → $340–545/mo (85–90%) · team 4–8 → 1–2
Enterprise CRM/ERP

Jobscope — 6 surgical fixes for a fragile legacy ERP

Cookie-bloat. Manual installer. Undocumented DB changes. Six independent failure classes, fixed one at a time, each shipping standalone.

Hours-long install → 1 click · cookie-bloat outages → zero
Travel SaaS

OffPeakBreak — 5 countries, 1 codebase, 1 domain

Multi-country expansion (UK, US, Singapore, UAE) on offpeakbreak.com without forking the codebase. Path-prefix routing, country-tenanted data, payment-provider abstraction.

8 weeks calendar · adding country 6 = config, not code
B2B Sales Automation

AI Sales & Logistics — 9 specialised agents end-to-end

Marketing → lead capture → WhatsApp qualifying → voice callback → counter-offer → payment → logistics → live tracking. Deterministic guardrails wherever margin is at stake.

9:30–6 → 24/7 · qualifying time near zero · margin protected
Healthcare SaaS · Multi-Tenant

Inara — single-tenant app → B2B SaaS platform

Configuration-driven multi-tenancy, 45+ per-org feature toggles, on-demand onboarding, white-label, full Arabic RTL i18n — all on a single deployment.

1 → N tenants · minutes-to-onboard · zero forks
Banking · Cost & Sustainability

Document Aggregator — UK bank: 6 letters/month → 2

Non-intrusive middleware between statement generation and the print pipeline batched per-customer mailings. A digital wallet phase opened the path to paperless.

~67% fewer envelopes · multi-million-£ annual saving · zero core-banking rewrite
CRM SaaS · Data Architecture

CRM Custom Fields — metadata-driven dynamic schema

Hybrid storage (structured + JSONB) with metadata-driven indexing; customers define their own fields and search them fast — without exploding the relational schema.

No schema explosion · hot fields auto-indexed · scales with the customer