No portfolio grids or logos without context — just what was broken, how it was fixed, and the numbers before and after.
AI Engineering
Document intelligence system for a legal-tech company
The problem
A legal-tech company needed users to query thousands of legal documents and contracts in plain English. Keyword search returned irrelevant results and drove 40% of users to abandon without finding an answer.
The approach
We designed a RAG pipeline with hybrid retrieval — BM25 for keyword precision plus dense vector search for semantic understanding. Documents were chunked with overlap to preserve context and indexed in Qdrant. Claude 3.5 Sonnet received structured retrieval context with source citations enforced through tool use, reducing sourcing hallucinations.
The result
Query accuracy improved from 58% to 91% on a held-out evaluation set
P95 query latency dropped from 4.2s to 810ms using streaming and pre-fetched context
LLM cost reduced 60% by routing short-context queries to Haiku and reserving Sonnet for complex synthesis
Shipped to production in four weeks from the first meeting
Next.jsClaude APIQdrantFastAPIPostgreSQL
Web Development
Core Web Vitals overhaul for a SaaS marketing site
The problem
A B2B SaaS company was losing organic search ranking. Their Next.js site scored 47 on mobile Lighthouse performance, with an LCP of 4.8 seconds. Mobile bounce rates ran 30% higher than desktop.
The approach
We ran a full Lighthouse audit and waterfall analysis. Root causes: a 340KB unoptimised hero image without modern formats, a third-party chat widget blocking the main thread, and a font strategy causing layout shift. We moved image delivery to next/image with AVIF/WebP, deferred the chat widget until after first interaction, and switched to next/font with preload.
The result
Mobile Lighthouse performance score: 47 → 96
LCP: 4.8s → 1.1s
CLS: 0.28 → 0.02
Mobile bounce rate dropped 18% in the following month
Next.jsVercelCloudflareLighthouse CI
Want results like these?
Tell us what you're working on. We'll be direct about whether we can help.