Inspiration:

With over four years in the background verification industry handling criminal dispute cases on a daily basis, I’ve long wondered whether we could automate routine tasks using AI. The main challenge is processing applicants’ natural-language responses and dealing with frequent inconsistencies and incomplete information in their disputes.

Problem Statement:

Background verification teams spend hundreds of hours each week manually researching disputes submitted by job applicants after their criminal background checks complete.

When an applicant disputes a criminal record (e.g. claiming identity mismatch, court-ordered expungement, or incorrect disposition), human background check specialists must:

  1. Locate the candidate's original background verification report.
  2. Cross-reference disputed charges and case numbers.
  3. Identify the state, county, and court authority having jurisdiction over the case.
  4. Locate the specific court's Public Access Terminal (PAT) portal URL, physical address, operating hours, search fee, and researcher access protocols.
  5. Manually type out a research investigation docket and assign it to an investigator.

Proposed Solution:

DisputeBot - an autonomous AI Agent built with the AWS Strands Agent SDK and Amazon Bedrock.

When an applicant submits a dispute,

  1. parse_dispute_submission: DisputeBot extracts candidate ID, disputed charge, and dispute reason.
  2. search_background_report: DisputeBot queries background check records to pull exact case numbers and disposition dates.
  3. lookup_court_and_jurisdiction: DisputeBot searches a nationwide County Court PAT Directory to retrieve online PAT links, physical terminal locations, hours, search fees, and researcher lookup protocols.
  4. generate_investigation_docket: DisputeBot automatically compiles a comprehensive Markdown/JSON research docket.
  5. forward_to_researcher: DisputeBot enqueues the enriched docket into the Senior Researcher Workqueue with urgency priority (CRITICAL/ HIGH / NORMAL).

Technology Stack:

  • AI Agent Framework: AWS Strands Agent SDK (strands-agents)
  • LLM Foundation Model: Amazon Bedrock (anthropic.claude-3-5-sonnet / amazon.nova-pro)
  • Report Cloud Storage: Amazon S3 (boto3 handler with automatic local fallback)
  • Backend API: Python 3.10+ / FastAPI / Uvicorn
  • Frontend Dashboard: React / Vite / Vanilla CSS (Glassmorphism + Dark Mode Design Tokens) / Lucide Icons

Accomplishments :

Sub-10-Second Dispute Turnaround: Reduced the average manual investigation prep time from 2+ hours down to under 10 seconds. Visual Reasoning Trace: Created a live visual execution visualizer directly in our dashboard showing every Strands @tool call, input payload, and reasoning output in real time. AWS Ecosystem Integration: Combined AWS Strands Agent SDK, Amazon Bedrock, and Amazon S3 into a solution, solving a real human problem (Agents for Humans).

Challenges:

  • Navigating Court Fragmentations: U.S. county court systems are highly fragmented - each of the 3,000+ county courts (e.g., Cook County IL vs Harris County TX) has drastically different Public Access Terminal(PAT) procedures, and captvha verification. Designing @tool schemas that normalize this complex domain is challenging.

  • Agent Determinism vs. Flexibility: Balancing the autonomous reasoning loop of Strands Agents with strict FCRA compliance requirements. We need to train the agent to flexibly parse messy, informal applicant emails while strictly following legal validation rules.

What I learned:

The Power of Model-First Agent Development: AWS Strands Agent SDK simplifies agentic workflows. Instead of writing complex state machines, defining clean @tool docstrings allows Bedrock models to make intelligent tool routing decisions autonomously. Human-in-the-Loop AI Design: AI shouldn't replace human judgement in sensitive compliance domains—it should amplify human efficiency. DisputeBot acts as the ultimate researcher copilot, handling the 90% repetitive data lookup so human researchers can focus on final legal verification.

What's next for DisputeBot:

  • PAT Portal Web Scraping: Integrating AWS Lambda + Playwright to automatically query court PAT portals and download certified court docket PDFs.
  • Multi-Modal Document Parsing: Leveraging Amazon Bedrock's vision capabilities to ingest scanned PDFs of court expungement orders submitted directly by candidates.
  • Integration with Background Check Platforms: Developing turnkey webhooks for enterprise background check platforms (HireRight, First Advantage, Checkr, Veremark).

Built With

Share this project:

Updates

Submission history