Overview

This workshop is designed for technical professionals and engineering leaders who are interested in exploring approaches on how to mitigate AI risks when working with documents.

Main Architecture Diagram

Attendees will see how minimizing the probabilistic surface area and treating event sourcing as an overall architectural strategy can turn each document into an auditable, replayable record; bridging AI reasoning with observability and governance.

A Preview:

Applicant Tracking System (ATS) - Main Applicants View

ATS System Preview 1

ATS System (ATS) - Positions View

ATS System Preview 2

Rather than treating AI as an add-on feature, we explore how deterministic APIs such as Foxit's Document Extraction, Document Generation, and eSigning APIs can structure and constrain generative reasoning.

Objectives

By the end of this workshop, you will:

Prerequisites

AI-driven systems are increasingly influencing hiring, compliance, legal review, and approvals.

McKinsey Global Survey 2025

McKinsey State of AI Survey

Recent survey data shows efforts to mitigate AI risks becoming more common in Enterprise Organizations:

When AI outputs carry consequences, we need systems that are:

1) Install dependencies

Node.js LTS Version 24 is needed in your system.

Please find instructions on how to download and install Node.JS in your system here

2) Download the project's zip File Below

Download Project Source Code

3) Create your Foxit Developer API Account

Claim 500 Free Foxit API Developer credits with Foxit Developer APIs

Step 1. Explore the application and notice the "workflow spine":

  1. Explore the ATS System Positions, Applicants View
  2. Generate a report with Foxit by heading to Manager Actions -> Generate Candidate Pipeline Report

ATS System Preview 1

The Source-Driven AI Pattern

AI emits decisions. The system commits events. The event log is the source of truth.

Rules of the road:

Step 2. Upload a New Applicant Resume

  1. Upload resume under Applicants → New Resume

ATSView 1

  1. Foxit Extraction API will extract the PDF data into deterministic structure that can be understood semantically.

Step 3. Start the AI Screening Process

  1. Drag-and-drop the new applicant into the "Resume Review/Screening" Stage.

ATSView 2

  1. Select the default EvaluationPolicy_v1.0 policy and continue.

ATSView 3

Step 4. Bounded AI Approach: Versioned policy evaluation

Re-run AI Screening, change the policy version:

Re-run evaluation and see:

ATSView 4

Step 5. The Trust Layer: Event timeline as the UI backbone

The audit timeline on the page highlights that:

ATSView 4

This is not observability added later. This is the product's source of truth whenever any event takes place in the system.

Step 6. Accountability loop: Offer letter flow with Foxit eSign

Move a candidate to the Offer Letter Sent Stage.

ATSView 5

AI can recommend, but signatures create accountability and further compliance.

Now head back into the Applicants View and move your candidate to Hired.

Step 7. Stable artifacts: Candidate pipeline report with Foxit Document Generation

From Manager Actions, run Generate Candidate Pipeline Report once more. ATSView 8

ATSView 7

ATSView 8

Key takeaways

  1. Deterministic workflow state + events make AI systems auditable and replayable.
  2. Policy-bounded AI makes decisions explainable and versionable.
  3. Foxit APIs provide reliable document and signing primitives:
    • Extraction for stable inputs
    • Document Generation for stable artifacts
    • eSign for accountable approvals

A Call to action!

Clone the repo and adapt the pattern to your own workflow: