Manufacturing Operations & Delivery Assurance

    How do you make on-time delivery measurable in a CNC plant?

    Digitize the inputs, schedule against real capacity, and classify every shipment. FACT covers Sales, Engineering, Production and QC: PO PDFs extracted under a validated schema with human confirmation, 10k+ drawing-revision rows moved out of Excel with a three-way check, shift-aware scheduling with cascade preview, and OTD computed with day deltas.

    Alex Scharifker · Product architect and implementation lead

    Designed and led by Alex Scharifker for FACT as a manufacturing operations and delivery-assurance system.

    10k+
    Revision Rows Digitized
    3
    Bounded Contexts
    4
    Departments Covered
    Problem

    FACT On-Time Delivery Hub

    A precision CNC plant supplying oilfield equipment ran order-to-delivery on PDFs, WhatsApp, Dropbox folders and a whiteboard. Purchase orders were retyped by hand — sometimes with the wrong part number, because source PDFs list sub-components beside the customer part number. Drawing-revision control lived in one person's 10,000-row Excel file. Scheduling was a whiteboard, so committed dates had no capacity basis, and nobody could produce an on-time-delivery number or explain a late shipment with evidence.

    System

    How the system is put together

    Sources in, deterministic logic in the middle, AI restricted to interpretation.

    Data sources

    • Purchase-order PDFs, AI-extracted and human-confirmed
    • Bulk spreadsheet imports of order lines
    • Dropbox design plans and drawing revisions
    • Machine shift calendars and part-time standards
    • Shop-floor run start/stop and pieces completed

    Layers

    • Role-scoped operator surfaces on the edge
    • Typed RPC server functions, no separate API tier
    • Postgres with RLS across three bounded contexts
    • Pure-function scheduling and OTD core
    • Append-only event and audit tables
    • Server-side integrations: AI gateway, Dropbox, storage

    Deterministic logic

    • Duration resolution: override → standards catalog → heuristic, source labeled
    • Shift-aware capacity from per-machine productive hours and active shifts
    • Cascade projection of downstream schedule impact before commit
    • Three-way revision comparison blocking engineering sign-off
    • On-time-delivery classification with day deltas
    • Nine-role, track-scoped permissions with time-boxed delegation

    Where AI is used

    • Extracts line items from unstructured PO PDFs under a validated schema
    • Flags low-confidence part numbers for human confirmation
    • Narrates already-computed snapshots through three allow-listed prompts
    • Never schedules, certifies a revision, or appears as an actor in an audit log

    Decision loop

    • Ingest documents and shop-floor signals
    • Verify through a five-step engineering funnel
    • Schedule against real capacity, preview the cascade
    • Measure OTD and variance, correct the standards

    My role

    • Product architecture and bounded-context design
    • Data model and append-only audit design
    • Business rules as pure, testable functions
    • Workflow discovery across four stakeholder groups
    • Applied-AI boundary design and implementation leadership
    Architecture

    The architecture case file

    Layer-by-layer architecture, deterministic model, AI guardrails, and the decision loop.

    A machining plant could not prove whether an order would ship on time. This system makes the answer computable: documents become data, approvals become state, and commitments are measured against real capacity.

    IntakeVerifyScheduleRunMeasure

    Key takeaways

    • A precision CNC plant ran order-to-delivery on PDFs, WhatsApp, Dropbox and a whiteboard — nobody could answer, with evidence, whether an order would ship on time.
    • A ~10,000-row personal revision spreadsheet became an auditable matrix where a three-way revision mismatch blocks engineering sign-off.
    • Whiteboard scheduling was replaced by a shift-aware capacity engine with a cascade preview before any planner commits.
    • Hard boundary: AI extracts documents and writes summaries; deterministic pure functions own every date, status, approval and OTD score.

    Architecture Principle

    One record for an order's life — from PO document to shipped date.

    • po_line_items is the pivot entity: commercial terms, engineering state, body specs, quality linkage and drawing references on one row.
    • The scheduling core is pure TypeScript — shift-aware, side-effect-free, independently testable, no model in the loop.
    • Integrations (AI gateway, Dropbox OAuth, PDF storage) are server-side only, reached through signed URLs and stored refresh tokens.
    01

    Role-scoped operator surfaces

    TanStack Start (React 19, edge SSR) with file-based routing. Navigation is computed from the user's roles — quality never sees scheduling, operators never see pricing. Bilingual by surface: production and quality are Spanish-first, the commercial layer English-first.

    02

    Typed RPC on the edge

    Server functions run on the edge worker — PO extraction, workflow transitions, work-order numbering, quality-matrix operations, Dropbox calls, delegations. No separate API tier and no container; secrets live in server-only modules kept out of the client import graph.

    03

    Three bounded contexts, one seam

    Seam

    About 20 Postgres tables spanning orders, engineering/quality and production. They meet at exactly one join — an approved po_line_item becomes a scheduled job — so one team's process change cannot break another's.

    04

    Authorization in the database

    Three-dimensional access: nine roles, customer review track (in-house vs. third-party), and time-boxed vacation delegation. Enforced through SECURITY DEFINER helpers behind RLS on every table, never through client-side checks.

    05

    Append-only history

    Auditability

    Step events, revision events, date changes and downtime events are write-only tables. Every consequential change carries an actor and a timestamp, so customer disputes are settled with records instead of memory.

    Outcome

    What changed

    • Made on-time delivery computable — overall, by customer and by machine — for the first time.
    • Blocked wrong-revision manufacturing with a three-way check instead of one person's memory.
    • Replaced whiteboard promises with capacity-backed commit dates and visible delay cost.
    • Removed single-person dependency on revision knowledge and vacation-stalled approvals.
    • Instrumented step-level dwell times, making review bottlenecks measurable.

    Follow Me

    LinkedIn


    From Chaos to Clarity Newsletter

    From Chaos to Clarity

    Get insights on product management and operations delivered to your inbox.

    Subscribe on LinkedIn

    Send me a message