Inspiration
Job searching is often repetitive, fragmented, and stressful. Candidates move between career pages, compare job descriptions, rewrite resumes, prepare for interviews, and repeatedly enter the same information. Existing automation tools may save time, but they can also recommend irrelevant roles, invent resume content, or submit applications without enough candidate oversight.
We created CareerCrew to offer useful automation without taking control away from the candidate. Our goal was to build a trustworthy career assistant that uses WebMCP to connect AI agents with structured web actions while keeping every important decision transparent and candidate-approved.
What it does
CareerCrew supports the job-application journey from resume review to guarded application assistance.
Candidates can upload a PDF, DOCX, or TXT resume. CareerCrew extracts their skills, experience, contact information, and suitable career tracks for review. It then evaluates available jobs using an explainable 0–100 fit score and recommends the strongest qualifying role from each company.
For a selected role, CareerCrew prepares an application packet using only evidence-backed, candidate-approved experience. It also creates cited interview-preparation plans covering technical questions, coding, system design, and behavioral interviews.
CareerCrew exposes structured WebMCP tools for working with candidate profiles, campaigns, job matches, and application questions, approvals, and interview plans. After receiving explicit approval, its Chrome companion can preview and fill verified information into supported Greenhouse, Lever, and Ashby application forms.
It pauses whenever a mandatory question needs candidate input and never guesses sensitive answers such as salary expectations, work authorization, relocation, or notice period.
How we built it
We designed CareerCrew as a modular full-stack platform:
- Next.js, React and TypeScript power the candidate dashboard.
- FastAPI, Python and Pydantic provide the backend workflows and validation.
- WebMCP exposes nine structured tools through the web interface.
- Auth.js provides configurable Google authentication.
- PDF and DOCX libraries process uploaded resumes.
- A Manifest V3 Chrome companion supports guarded ATS form assistance.
- One-time, origin-bound application codes connect approved CareerCrew data with the browser companion.
- Vitest, Testing Library and Pytest verify the frontend, extension, and API.
- Synthetic Greenhouse, Lever, and Ashby portals allow us to demonstrate and test the workflow safely.
The hackathon version uses clearly labelled demonstration jobs and ATS pages, so we do not represent demo actions as real applications.
## Challenges we ran into
One major challenge was balancing automation with candidate control. Automatically filling and submitting forms sounds convenient,but sensitive questions cannot be answered safely without the candidate. We designed explicit approval boundaries and pause states instead of allowing the system to guess.
Another challenge was supporting different ATS structures. Greenhouse, Lever, and Ashby organise their forms differently, so the browser companion needed separate adapters and careful field detection.
We also needed to keep resume tailor-trustworthy. CareerCrew links generated resume content to approved evidence so that stronger wording does not become fabricated experience.
Finally, we had to design WebMCP tools that were useful to AI agents while remaining narrow, predictable, and safe for sensitive actions.
## Accomplishments that we're proud of
We are proud that CareerCrew is more than a static concept—it is a tested, end-to-end local vertical slice.
It can process resumes, build a candidate profile, explain job-fit scores, shortlist roles, prepare evidence-based application content, generate cited interview plans, request approval, and securely hand verified information to a browser companion.
We successfully integrated nine WebMCP tools and demonstrated the guarded workflow across synthetic Greenhouse, Lever, and Ashby portals.
Most importantly, CareerCrew does not sacrifice trust for automation. It never fabricates qualifications, treats a fit score as hiring probability, or assumes that clicking a button means an application was successfully submitted.
What we learned
We learned that responsible automation is not about automating every possible step. It is about knowing which actions can be automated safely and where human judgement is essential.
WebMCP showed us how structured tools can make interactions between AI agents and web applications more reliable than coordinate-based browser automation.
We also learned that explainability matters in career technology. Candidates should understand why a role was recommended, where resume claims came from, what information will be entered, and what action the system intends to take.
Building synthetic ATS portals was another important lesson. They allowed us to test realistic workflows without risking accidental submissions or interacting with real employers.
## What's next for CareerCrew
Our next step is to turn the hackathon prototype into a production-ready candidate platform.
We plan to add:
- Live role discovery from official company career pages
- Job freshness and source verification
- Durable encrypted data storage
- Model-assisted resume tailoring with evidence controls
- Production-quality resume and cover-letter generation
- Additional ATS adapters
- Stronger audit trails and submission confirmation
- Cloud deployment and monitoring
- Candidate feedback loops for improving recommendations
- Calendar, email, and interview-tracking integrations
Our long-term vision is for CareerCrew to become a trusted career command centre: one place where candidates can discover opportunities, prepare credible applications, practise for interviews, and move through their job search with confidence—powered by AI and WebMCP, but always controlled by the candidate.
Built With
- 1.
- 8.
- auth.js
- chrome
- fastapi
- next.js
- pydantic
- python
- react
- typescript
- webmcp
Log in or sign up for Devpost to join the conversation.