← Back to work
Case study · 2024 — Live

Job Research AI Agent

A live AI agent that reads any job posting and tells you what matters.

Role
Solo founder · full-stack
Stack
RAGReact 19Cloudflare Workers AILlama 3.3Durable ObjectsWebSocket
Live
jobresearchagent.com

The problem

Job postings are full of corporate language that hides what the work actually is. Compensation buried under "competitive." Growth potential implied, never stated. Culture inferred from word choice.

I wanted a tool that pastes a URL and gets honest answers in 5 seconds.

What I built

A live AI job-research agent. Users paste a job URL; the agent extracts role requirements, compensation, growth potential and company culture via Claude + Llama 3.3 on Cloudflare Workers AI.

The chat is stateful, runs on a Durable Object per conversation, and streams responses over a persistent WebSocket so there are no cold starts and no polling. The first useful token reaches the user in under a second.

Why the stack

  • Workers AI instead of OpenAI for cost — Llama 3.3 on Cloudflare's edge is a fraction of GPT-4 pricing and good enough for structured extraction.
  • Durable Objects instead of a Postgres session table — state lives in the same process as the connection, no round-trip to a database between turns.
  • WebSocket instead of SSE — duplex, lets the client signal intent (cancel, regenerate) without opening a new request.

What it shipped

  • Sub-second first-token for cached job URLs
  • Stateful multi-turn chat without a session DB
  • No cold starts under typical traffic
  • Single-engineer end-to-end build