Relay
Relay is an async AI task agent platform that decouples HTTP intake, background workflows, and result delivery for observable long-running LLM jobs.
- Status
- v0.1.0
- Updated
- Aug 2026
- Tools
- TypeScript, CSS, JavaScript, ai-agent, background-jobs

The problem
Relay is an async AI task agent platform that decouples HTTP intake, background workflows, and result delivery for observable long-running LLM jobs.
What I built
Relay is an async AI task agent platform prototype that keeps HTTP intake, background execution, and result delivery separate. The web layer validates a request, records a queued job, schedules worker code, and returns a job ID immediately; provider calls, retries, event logging, and delivery live outside the request handler.
How it works
- Next.js 14 App Router with TypeScript strict for API routes and dashboard UI.
- Render blueprint and workflow registration boundary; a fake in-process worker runs locally.
- Render Postgres schema in migrations/001_initial.sql; the local adapter is still in-memory.
- Server-Sent Events backed locally by an event bus; Postgres LISTEN/NOTIFY or Redis is still production follow-up work.
- Groq is the default LLM provider. OpenAI, Anthropic, and mock providers share the same interface.
Tradeoffs and limits
This project does not currently have a hosted demo. Run and verification instructions live in the repository when available.
What I learned
Long-running LLM work should not block a request handler. Relay uses three layers: a thin Next.js API, a job/event store, and worker code behind a workflow boundary. The dashboard exists to make that architecture visible: queue position, status events, attempts, cost, provider usage, and delivery state are first-class data.