← zakagent.devCase study · Flagship 01
AI automation · RAG · Chrome extension · Next.js

AI Lead Capture & Qualification System

Turning a fuzzy idea — “capture leads with AI” — into a shipped, secure, end-to-end system.

Role: solo — architecture → deployLive demo ↗Source ↗Extension ↗

Problem

Manual lead qualification is slow, inconsistent, and lossy.

You spot someone promising, retype their details into a sheet, open five tabs to research the company, guess at fit, then write outreach from scratch — roughly ten minutes a lead, and error-prone. Worse, the knowledge evaporates: three weeks later, “who were those fintech VPs I looked at?” is unanswerable without scrolling a spreadsheet. Three pains: capture is manual, qualification is subjective, and past leads aren’t retrievable by intent.

Approach

One connected system, four parts, one typed contract.

  • Capture where the work happensA Manifest V3 Chrome extension reads the page you’re already viewing — on a click, with minimal permissions — and lets you confirm before sending. No fragile scraping; the AI does the extraction.
  • Qualify server-sideA Hono backend calls Claude for a fit score, reasoning, ICP signals and a drafted message, then embeds the lead with Voyage. Every AI key stays on the server.
  • Make history searchable (RAG)Postgres + pgvector store the embedding; before scoring a new lead the backend retrieves the most similar past ones to ground the assessment. Search finds leads by meaning, not keywords.
  • Surface itA Next.js dashboard shows scored leads, the reasoning, the ready-to-send draft, and semantic search — reading Supabase with a publishable key only.

The decisions that matter: a single shared contract — zod types every part imports, so the boundaries can’t drift; secrets never touch the client; least privilege everywhere; and deployment treated as first-class — CI, Render, Vercel, and Chrome Web Store packaging from day one.

Result

Manual lead research, designed down from ~10 minutes to under 30 seconds.

Capture becomes click-and-confirm; scoring, research synthesis, and a first-draft message come from the pipeline instead of by hand. Qualification is consistent and explainable — the same rubric, with written reasoning, every time. And past leads compound instead of decaying, retrievable by intent through semantic search.

Verified green end to end: typecheck, lint, 44 tests and build across every package; the backend smoke-tested live. Two patterns — a secure MV3 extension scaffold and a Supabase + pgvector RAG recipe — were extracted for reuse on the next engagement.

A demonstration project with synthetic data — the time figure is a reasoned design target, not a measured client outcome.

Work together

Want this kind of thing built — or reviewed — for your product?

AI integration, an architecture review, or a full build. Tell me the problem and the outcome you’re after.