Inspiration
I was deep in a 1,000 application internship hunt and needed something better than a spreadsheet. I wanted my AI assistant to actually work on my job search, not just chat about it. Career Copilot gives an AI assistant three real tools for the hunt: logging applications, honestly scoring resume fit, and running interview practice sessions. Everything runs locally. No API keys, no accounts, no network calls.
What it does
Career Copilot is a Model Context Protocol (MCP) server with three tools any MCP compatible assistant (Claude Desktop, or an Alexa+ skill host) can call:
- track_application: log job applications (company, role, date, status, posting link) into a local SQLite database; update statuses; list and filter by status or company.
- match_resume_to_jd: paste a resume and a job description and get a keyword overlap match score plus the most important missing keywords, ranked by frequency in the JD. Honest TF based keyword coverage. It measures coverage, not semantic magic, and says so.
- interview_quiz: practice CS fundamentals and behavioral questions from a local question bank. Answers are graded loosely by concept coverage; your score is tracked per session.
How we built it
Python, built on the official MCP Python SDK (FastMCP) following the open source MCP docs at modelcontextprotocol.io. The application tracker stores to SQLite; the matcher is a stopword filtered token overlap scorer; the quiz bank is local JSON with keyword based answer checking.
For the Alexa+ track requirement, the server runs the Streamable HTTP transport per MCP spec 2025-11-25 (server.py --transport streamable-http --port 8000), with stdio as the default for local clients. A one command demo runner (demo_run.py) exercises all three tools.
Challenges we ran into
- Keeping the resume matcher honest: it is deliberately keyword overlap, not an LLM, so the score is explainable and cannot flatter a resume that does not have the keywords.
- Making the server speak both transports (stdio for local clients, Streamable HTTP for the Alexa+ track) without two codebases.
Accomplishments that we're proud of
- A fully offline, zero cloud dependency job hunt copilot. No API keys, no accounts, nothing leaves the machine.
- Spec compliant MCP server (2025-11-25, Streamable HTTP) that any MCP compatible assistant can adopt as tools.
- An honest matcher: it shows exactly which JD keywords are missing instead of inventing a fit score.
What we learned
Building on the MCP spec, a single FastMCP server can serve local clients over stdio and the Alexa+ track over Streamable HTTP from one set of tool definitions, as long as the protocol version and handshake are verified directly instead of assumed from the docs.
What's next for Career Copilot
- Wire the server to an Alexa+ agent skill so the whole flow is voice first.
- Semantic matching (embeddings) as an opt in layer on top of keyword coverage, keeping the honest score visible.
- Reminders and follow up nudges on tracked applications.
Log in or sign up for Devpost to join the conversation.