Inspiration
Job hunting isn't hard because people can't find jobs — it's hard because applying well, to dozens of listings, is repetitive: read, compare, rewrite, answer the same screening questions, repeat. WebMCP asks what's possible when a site hands an agent real capabilities instead of buttons to click. Job applications felt like the right proving ground — tedious enough to automate, risky enough that no one wants an agent auto-submitting unsupervised. Automate the drafting, never the decision became the whole design.
What it does
Job Application OS is a career workspace where a human and an agent (ChatGPT's browser, or Chrome with WebMCP) apply together through real tools registered via document.modelContext.registerTool(): search, score, rank, tailor a resume, draft screening answers, and — in one call — applyToTopMatch. Every prepared application lands in pending_review. approveApplication/rejectApplication are plain button handlers, never registered as tools — an agent has no path to approve its own work. submitApplication checks status === 'approved' and fails otherwise.
How we built it
Next.js, TypeScript, Tailwind, and Zustand, on Vercel — no external LLM calls, no API key; the reasoning model is whichever agent is browsing the tab. Tool execute handlers call the same store actions the UI's buttons do, so state updates render live, no polling needed.
Challenges
The original pitch assumed a server-side LLM key calling page functions — the spec corrected that before UI work started. A Tailwind v4 cascade-layer bug silently broke every theme color. A Zustand selector allocating new arrays per render caused an SSR hydration race and an infinite loop. The hardest problem was making the approval boundary structural — provable by grepping the tool list, not a comment asking nicely.
What we learned
"Human-in-the-loop" only means something if you can point to the one function an agent cannot call.
🔗 Live app: https://jobwebmcp.vercel.app
💻 Source code: https://github.com/VishnuKugarthi/Job_Os_WebMCP
My blog on WebMCP: https://medium.com/@vishnutejaap/webmcp-letting-ai-agents-actually-use-the-web-70f1f97e3540?sharedUserId=vishnutejaap
Built With
- agent
- application
- chatgpt
- webmcp
Log in or sign up for Devpost to join the conversation.