HS logo
back to work
case study · Feb 2026 – Apr 2026

Evident

An evidence-grounded AI decision system that ranks outreach targets, cites why, and explicitly refuses to recommend when confidence is too low, with bounded cost and a full audit trail.

PythonFastAPIClaudePlaywrightDockerAWS ECS

The problem

LLMs sound confident even when evidence is thin, and a bad output becomes a bad decision at scale. Evident grounds every decision in retrieved evidence, exposes the reasoning, and returns "insufficient evidence" instead of guessing.

What it does

  • Takes a people-directory URL plus a research interest as input.
  • Returns a ranked shortlist, each with reasoning, cited evidence, and an outreach draft.
  • Three explicit outcomes per contact: recommended, not recommended, or insufficient evidence (a refusal).
  • A deterministic pre-filter drops weak candidates before spending model budget.

how it fits together

Evident · architecture

Evidence-grounded decision pipeline

Retrieval-grounded evaluation that ranks outreach targets, cites its evidence, and refuses when support is too thin.

  1. Contact source (pluggable)
    Directory parser or evidence_scraper → RawContact[]: name, title, email, research text, evidence, identity signals.
  2. Clean & enrich
    Dedup, evidence chunks, identity scoring.
  3. Deterministic pre-filter
    Drops weak candidates before any model spend.
  4. LLM evaluation · triage model
    Cheap first pass over the shortlist (Claude, retrieval-backed).
  5. Refuse-when-weak gate
    Structural floor enforced across every path, so an over-confident model cannot upgrade a thin contact.
  6. Bounded loop · escalate uncertain
    ≤1 adaptive retrieval + 1 re-eval on the primary model, then finalize.
  7. Hybrid rank → drafts (top only)
    AI fit + evidence strength + seniority · persist + full audit trail.
recommended
strong fit + support
not recommended
below threshold
insufficient evidence
explicit refusal
Python · FastAPI · Playwright · Claude · SQLite/Postgres · Docker · AWS ECS/Fargate · GitHub Actions

product screens

Workspace: a ranked shortlist with the selected case file, recommendation, confidence, evidence, and reasoning.
Case file: cited evidence and an audit-style match / gap / evidence breakdown for the decision.
Run insights: confidence mix, evidence quality, and the cost panel, estimated USD, cost-per-recommended, and tiered-routing.

key engineering decisions

One refuse-when-weak gate across every path

The uncertainty gate applies across the LLM path, the heuristic fallback, and the second pass, so an over-confident model can't upgrade a thin contact.

Cost-safe LLM usage

A deterministic pre-filter plus per-run caps on evaluations, drafts, retries, and fetches, with timeouts and backoff, keeps cost bounded.

results & outcomes

  • Ranked targets with cited reasoning, explicit refusals on weak evidence, and ~60% fewer unnecessary model calls.
  • Prompt-injection defense on untrusted scraped text: a 12-pattern sanitizer delimits and neutralizes injected instructions, 3/3 attempts caught.
  • A hard insufficiency floor (at least two evidence items, sufficient research text, verified identity) the model cannot override, so it refuses instead of guessing.
  • 13 offline tests gate CI (injection plus decision guarantees) against a stubbed model with no API key, so the safety properties hold on every push.
  • Full per-contact audit trail: score breakdown, cited evidence, confidence justification, and decision revisions.
  • Deployed on AWS ECS/Fargate (Docker), run on-demand, with the API key injected via AWS Secrets Manager.
deep dive
Teaching an AI system to say "I don't know"

How Evident grounds every decision in retrieved evidence, uses a bounded agentic loop, and refuses to recommend when the evidence is too thin.