LEPA Support Agent
A LangGraph support workflow for LEPA: typed state, conditional routing, tools, memory, and a multi-agent split behind FastAPI.
- Python
- LangGraph
- FastAPI
- SQLite
- OpenRouter
Learning project in the AI Learning Tracker series.
An async document pipeline: upload or webhook, Temporal extract/analyze/summarize, then Trigger.dev email — without blocking the request.
The AI Document Processing Pipeline is Project 3-A in the learning series. A file upload returns immediately. Temporal owns the durable processing lifecycle (extract text, analyze metadata, AI summary). Trigger.dev owns the notification after results exist. v1 supports PDF and plain text, with no OCR.
Long AI work cannot sit inside a request/response. I needed to feel jobs, events, durable workflows, and background tasks as separate pieces before stacking them.
POST /documents stores the file, starts DocumentProcessingWorkflow, and returns 202. Activities extract, analyze, and summarize (LLM or mock). A later step enqueues a Trigger.dev notification task that emails via Resend or logs to the console. GET /documents/:id reports status.
A LangGraph support workflow for LEPA: typed state, conditional routing, tools, memory, and a multi-agent split behind FastAPI.
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.
How I combined webhooks, Temporal workflows, AI summarization, async notifications, and email into one small system.
Jobs, events, durable workflows, and background tasks — the concepts I needed before building an AI document pipeline.