JobPilot
Inspiration
The software job market right now is exploding with opportunities, but that's actually part of the problem — with so many postings out there, it's genuinely hard to pin down the handful that are actually well-suited to your specific skill set. Most people end up mass-applying instead, which wastes their time and the recruiter's. We think the better bet is investing effort into finding the right opportunities for a given person's actual skills — that's what raises the odds of a real match instead of noise, and it's the whole premise behind JobPilot: a cognitive agent that does that matching work for you, continuously, instead of you doing it manually every time.
What it does
JobPilot is your agent — it keeps track of everything about your career so you don't have to. As you change jobs, ship new projects, and pick up new skills, that all becomes part of an evolving context instead of something you have to remember to update by hand. The Context Manager is what makes this work: it takes your resume or any draft you give it and breaks it down into structured, reusable context, which then feeds everything downstream. So you stop doing the thing everyone dreads — opening a blank resume template every time you apply somewhere and re-writing the same experience slightly differently.
From there, two things matter most. First, it helps you pinpoint the jobs that are genuinely well-suited to you, using proper search and scoring instead of a raw keyword dump, and shortlists the ones worth your attention. Second, it runs all of this in the background — you're not babysitting it. It only comes to you when it genuinely needs a human decision, like confirming you want to move forward with a particular application, and otherwise it just keeps working and shows you the results when you check in. Beyond discovery and shortlisting, it also keeps track of applications you've submitted and any interviews that get scheduled off the back of them.
Mock interview preparation is part of the vision too, but to be upfront — it's not built as part of this submission.
How we built it
The core idea, the Context Manager, and the search/scoring logic are written as plain, cloud-neutral Python — no provider SDK baked into the actual decision-making, so the same logic isn't locked to one cloud. The first deployed runtime uses Google ADK and Gemini for the agentic and search-grounding work, Cloud Run for the always-there API and a bounded background worker, Firestore for durable state, Pub/Sub for the event handoff between the two, and Cloud Scheduler to wake the agent up periodically instead of it needing to be babysat into running. Everything is event-driven and checkpointed, so a background cycle that gets interrupted picks back up from where it left off instead of losing work or duplicating it.
Challenges we ran into
Getting search to actually understand what someone means, not just what words they typed, was the hardest part. A literal keyword match either missed obviously relevant postings because they used different wording for the same thing, or it let in postings that shared one incidental word but weren't actually relevant — and both problems look identical from the outside ("the results are bad") while needing opposite fixes. We had to move from a flat keyword match to something that understands roles, skills, and locations as different kinds of things, widens the search sensibly within each, and still checks anything it adds back against the actual posting.
The other real constraint was working within hackathon-scale cloud credits — that meant deliberately designing for scale-to-zero, caching search results instead of re-querying constantly, and keeping the background worker bounded rather than always-on, so we could actually afford to run and demo this without burning through the budget.
Accomplishments that we're proud of
Getting an end-to-end loop actually running in the background — discover, score, shortlist, and hand off for a human to approve — without needing to be manually triggered at every step, is the thing we're most proud of. On top of that, the Context Manager genuinely does what it set out to do: turn a messy resume or a pile of project updates into structured context that downstream steps can actually use, instead of everyone re-typing their experience for every application. And the core logic being cloud-neutral from day one means this isn't locked to a single provider — it's built so the same agent can eventually run on a different stack without a rewrite.
What we learned
Search relevance is a much harder problem than it looks from the outside — recall and precision genuinely pull against each other, and the fix isn't a bigger list of keywords, it's treating different kinds of terms (a skill, a location, a seniority level) differently instead of averaging them into one bag of words. We also learned a lot about where to draw the line on autonomy: deciding what the agent should just handle quietly in the background versus what genuinely needs a human's judgment call turned out to be its own design problem, not an afterthought.
What's next for JobPilot
More accurate resume prioritization, better semantic search so results keep improving rather than staying static, proper record-keeping over time, smarter scheduling of the background jobs so they run at the right cadence instead of a fixed interval, and in-browser notifications so you actually know when the agent needs you. Beyond that: finishing the Mock Interviewer end to end, and porting the same core over to an AWS Strands runtime to prove the cloud-neutral design was real and not just a diagram.

Log in or sign up for Devpost to join the conversation.