Case Studies

The problem, the approach, the result.

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.

Start a project