All projects
EVIDENCE-GROUNDED AIPrivate beta

JobCopilot

An application assistant that links every claim to verified profile evidence, then prepares a reviewable, human-supervised application pack.

Key metric
121/121

supported claims · frozen 50-case benchmark

An application workflow
  1. 1Human-verified profile
  2. 2Relevant evidence retrieval
  3. 3Matching & evidence ledger
  4. 4Draft reviewed before action

Facts come from the profile. The model selects the evidence.

Architecture

JobCopilot

Components, data flows and trust boundaries of the system.

Candidate · StreamlitAgent · LangGraphGroundingState & actionsuploadjob offeroffer needsverifyembedindexevidencepacktrackerconfirmedCandidateauthenticated beta userStreamlit UIprivate betaCV importPDF · DOCX · TXTLangGraph agentper-user graph & toolsOffer extractionPydantic schemasProfile factshuman-verified · IDsLLM routerOpenAI · AnthropicFAISS retrievaltenant-scoped indexEmbeddingsHugging FaceEvidence matchingLLM picks memory IDsClaim composerdeterministic proseEvidence ledger121/121 claims supportedSupabaseRLS · atomic quotasHuman reviewconfirmation gateGmail · Calendardrafts & follow-ups

Scroll the diagram →

Technologies

  • Python
  • LangGraph
  • Pydantic
  • FAISS
  • Hugging Face
  • OpenAI · Anthropic
  • Streamlit
  • Supabase
  • Gmail API
  • Google Calendar
  • Docker
  • GitHub Actions

Design decisions

  1. 01

    The LLM does not write facts: it only selects one to three verified memory IDs, and deterministic code writes the matching sentences.

  2. 02

    Every claim is recorded in an evidence ledger; unknown IDs and amplification (“built” → “designed”) are rejected.

  3. 03

    Per-user isolation: identity is injected server-side through closures, the model cannot pass a user_id; FAISS indexes are rebuilt from Supabase.

  4. 04

    No external action without confirmation: a Gmail draft is never recorded as a sent application.

What I built

Profile import and human verification, tenant-isolated semantic memory, structured offer extraction, matching, an evidence ledger, deterministic email composition, tracking and Gmail drafts.

Scope and limitations

The grounding benchmark measures a fixed set of cases, not guaranteed performance on every new offer. External actions remain human-supervised. Real-user validation is a separate stage.
Next project
RelationScope NLP