AI Document Processing Pipeline
An async document pipeline: upload or webhook, Temporal extract/analyze/summarize, then Trigger.dev email — without blocking the request.
- Temporal
- Trigger.dev
- TypeScript
- Webhooks
- LLM
Learning project in the AI Learning Tracker series.
A LangGraph support workflow for LEPA: typed state, conditional routing, tools, memory, and a multi-agent split behind FastAPI.
LEPA Support Agent is Project 2 in my public AI learning series. It is a LangGraph learning project, not a production chatbot. A support request moves through an explicit graph — intake, classify, optional clarification, knowledge search, then a support answer — with SQLite checkpointing so a thread can continue across turns.
After a tool-calling CLI, an MCP server, and a thin agent harness, I still could not explain branching, durable state, and named steps as a workflow. A loop was not enough.
I drew the work as a StateGraph: typed SupportState, START/END, conditional edges after classify, a Markdown search tool, a multi-agent split (intake, knowledge, support), and a SQLite checkpointer keyed by thread_id. FastAPI exposes POST /chat. Classification stays heuristic so routing is testable without an LLM.
An async document pipeline: upload or webhook, Temporal extract/analyze/summarize, then Trigger.dev email — without blocking the request.
Parse a job and a CV, explain the match, draft materials, then stop for a human. The AI never applies.
A public repo of small AI engineering projects — terminal agents, MCP, LangGraph, and async document workflows — built while learning in public.
What Project 2 became — end to end — and what I would change next.
What HITL actually means — and why asking “which LEPA area?” is not the same thing.
Intake, knowledge, and support — why split the work, and how LangGraph keeps the specialists in order.
Checkpoints, thread IDs, and how a LangGraph support agent remembers a conversation across turns.
Why agents need tools, how search_knowledge works over Markdown docs, and how the knowledge node uses them.
Project setup, state, nodes, edges, and how a support request actually moves from START to END.
How I finally made sense of orchestration, state, memory, and multi-agent workflows — and why I decided to build a LEPA support agent next.