Autonomous Job-Hunt Engine
An end-to-end agentic system that runs an entire job-search funnel - discovering, scoring, tailoring, submitting, handling recruiter replies, and even placing screening phone calls - instrumented so every action is logged, gated, and reconcilable to the cent.
Problem
Job hunting is a high-volume, low-signal funnel: hundreds of postings to read for a handful worth applying to, a slightly different CV for each, and recruiters who reply on their own schedule across email and phone. It's tedious, easy to drop, and impossible to keep organised in your head. Automating it is the obvious idea - but an AI that takes *real, outward-facing actions* (submitting applications, emailing recruiters, placing phone calls, spending money on tokens and telephony) is a different problem from a chatbot. The hard part isn't the reasoning; it's making those actions safe, observable, idempotent, and cheap - and knowing exactly what each one cost and why it happened.
Solution
A single Next.js app that runs the whole funnel: scheduled scrapers discover postings; a two-pass scorer (cheap Haiku by default, Sonnet only at the decision boundary) shortlists them; Claude tailors a CV and cover letter and renders PDFs; applications are submitted by the right channel (email, a residential-IP browser bot, or a manual queue for LinkedIn); recruiter replies arrive over a webhook and advance a conservative, forward-only status machine; and a high-confidence interview request composes and places an outbound voice call that books into Cal.com. The engineering is in the safety rails. Every Claude call goes through one instrumented wrapper that writes a cost row even on failure, so spend can't leak and the ledger reconciles line-for-line against the Anthropic invoice. Parsers never throw (regex recovery for truncated JSON), the pipeline is resumable by construction within Vercel's function limit, voice sits behind a swappable interface that degrades gracefully with no key, and a budget monitor with soft/hard caps flips a global pause flag every cron entry checks. The principle throughout: automate the confident cases, escalate the ambiguous ones, and instrument everything.