Inspiration
Job searching is fragmented across job boards, spreadsheets, resumes, recruiter messages, application portals, and interview notes. I originally built Job Scout to solve that problem for myself: find relevant jobs, understand why they fit, and keep the entire application lifecycle in one place.
It evolved into something much bigger: a multi-user Career OS designed for both humans and AI agents.
For the WebMCP Challenge, the goal is to make those workflows agent-accessible without giving an AI uncontrolled authority over a user's career. The system can help discover, analyze, organize, and prepare — but consequential actions such as submitting an application remain behind explicit human approval.
What it does
Job Scout: WebMCP Career OS brings the job-search lifecycle into one product:
- Job discovery and searchable market browsing
- Personalized job-fit scoring and explanations
- Saved, dismissed, applied, and application-stage tracking
- Resume building, versioning, ATS analysis, and job-specific tailoring
- Cover-letter generation
- Reusable application-answer generation
- Application capture and career CRM workflows
- Interview-management workflows
- Anonymous demo access with isolated temporary state
- Durable multi-user accounts and preserved career history
- Agent-accessible workflows designed around WebMCP
- Human confirmation before any application submission
The underlying philosophy is simple: AI should reduce the mechanical work of a job search without taking control away from the job seeker.
How we built it
Job Scout uses a split-plane architecture.
The job market is represented as an immutable, versioned snapshot rather than repeatedly loading the global job corpus into each user's database. Each user's mutable state — preferences, sessions, saved jobs, applications, resume evidence, and lifecycle history — stays in a much smaller PostgreSQL-backed state plane.
The backend is built primarily with Python and FastAPI, with PostgreSQL/asyncpg for durable state. The product includes server-side sessions, role and lifecycle separation, anonymous demo identities, telemetry, health receipts, rate limiting, and account-upgrade paths.
The browser experience is built as a responsive product UI with desktop and mobile acceptance testing. Automated tests cover backend contracts, database behavior, cross-user isolation, lifecycle safety, accessibility, keyboard behavior, reduced motion, and end-to-end browser flows.
WebMCP provides the bridge between the web application and agent-driven interaction: rather than depending on brittle visual automation, the product is being shaped around explicit, bounded capabilities that an AI agent can understand and invoke.
Challenges
One of the hardest problems was separating identity, authorization, and lifecycle correctly.
Anonymous users need to explore the product without creating an account, but if they later sign in, their saved jobs and application state should survive. At the same time, cleanup of expired demo accounts must never be capable of deleting an account that has become durable.
That led to explicit lifecycle classification, atomic demo-to-durable conversion, revocable sessions, race-condition testing, and a strict rule that user IDs are opaque identifiers rather than sources of authorization truth.
Another challenge was making agentic behavior useful without making it reckless. Job applications affect real people and real opportunities, so Job Scout intentionally stops short of autonomous submission. The agent can prepare the work; the human remains the final decision-maker.
What we learned
The biggest lesson was that agent-ready software benefits from the same things that make distributed systems reliable: explicit contracts, narrow capabilities, deterministic state transitions, provenance, and fail-closed boundaries.
WebMCP is especially interesting because it creates an opportunity to design web applications that are understandable to both people and agents instead of forcing agents to reverse-engineer interfaces intended only for humans.
What's next
The remaining work is focused on deeper WebMCP convergence, end-to-end acceptance, additional workflow polish, named-account authentication, and demonstrating the complete career journey:
discover → evaluate → save → tailor → prepare → track → interview
The end goal is a Career OS where an AI agent can do dramatically more of the busywork while the user keeps control of every consequential career decision.
Built With
- python
- webmcp
Log in or sign up for Devpost to join the conversation.