🚀 Inspiration

The job search process is overwhelming — especially for those early in their careers or navigating transitions. We wanted to build an intelligent, human-feeling assistant that helps people explore, plan, and progress with clarity. Our goal: reduce friction, remove fluff, and deliver career guidance grounded in real opportunities.

WorkMatch was created specifically for the Agent Development Kit Hackathon with Google Cloud. It was our opportunity to explore how ADK can be used to orchestrate emotionally intelligent, real-world decision support systems — going beyond simple LLM chat and into structured, multi-step automation.

WorkMatch was born out of the idea that career coaching shouldn't be limited to those who can afford it — and that AI can do more than generate text; it can orchestrate real, personalised reasoning.


🤖 What It Does

WorkMatch is a multi-agent career coach that guides users through:

  • 🧭 Exploration – Match interests to beginner-friendly or advanced roles
  • 💡 Insight – Explain what jobs involve, what skills they require, and how to get started
  • 🔁 Pivoting – Suggest alternative career paths and upskilling routes
  • 🔍 Real Listings – Fetch live job opportunities from Adzuna based on refined queries
  • 💬 Encouragement – Supports discouraged job seekers with motivational framing

While WorkMatch operates through a conversational interface, its agent-based architecture goes beyond traditional chatbots — providing structured, contextualised guidance using dynamic reasoning and tool integrations.


🛠 How we built it

  • Framework: Agent Development Kit (ADK)
  • Language Model: Gemini 2.5 Flash (via Vertex AI)
  • Hosting: Google Cloud Run
  • Secrets & Config: Google Secret Manager
  • Observability: Langfuse tracing via TracedAgentTool wrappers

We designed a multi-agent system with:

  • A workmatch_root_agent as the entry point
  • Specialised sub-agents (e.g. entry_level_agent, advanced_pathways_agent)
  • Function tools for job listings, skills, certifications, etc.

Everything routes through a reasoning-led orchestrator that responds to user goals, not fixed scripts.


🧱 Challenges We Ran Into

  • Bootstrapping with ADK — understanding the ADK orchestration model, tools vs. agents, and how to manage async, tool-chained workflows took experimentation
  • Unwinding agent flow complexity — as agent layers grew, we had to repeatedly refactor orchestration to reduce redundancy and keep interactions coherent
  • Tool + agent coordination — balancing when to use sub-agents vs. direct function tools (e.g. for skills, job listings) led to several architectural revisions
  • Deprecating early bets — we initially explored Pinecone and Google Talent API, but dropped them when they didn’t support personalised, transparent search
  • Crafting reusable, emotionally intelligent prompts — especially for the beginner and motivation agents, it was challenging to combine structure with human tone

🏆 Accomplishments that we're proud of

  • Built a full multi-agent system with real-time listings, streaming response logic, and emotionally grounded output — all within a few days
  • Created prompt structures that feel like coaching, not chatbots
  • Deployed to Google Cloud Run with a production-ready stack
  • Designed an architecture that can scale across use cases (entry-level, mid-career, re-skilling)
  • Managed to create a test to simulate AI to AI conversation using turn-based interaction

📚 What we learned

  • Agents thrive with structure — giving tools distinct boundaries makes orchestration more coherent
  • Gemini’s streaming + function-calling support is powerful when prompt logic is well-designed
  • Secret Manager + Cloud Run provide secure, flexible deployment — but getting the right IAM roles is key
  • Prompting for warmth, motivation, and realism is possible — but requires deliberate language choices and step-by-step output control

🔮 What's next for WorkMatch

  • Replace the ADK dev UI with a simple branded frontend, starting with:
    • Clean layout for chat interactions
    • Basic branding and messaging guidance
  • Add authentication and session tracking for persistent user history using Google Identity Platform
  • Extend output capabilities to generate:
    • CVs/resumes based on identified skills and listings
    • LinkedIn profile summaries
    • Action plans tailored to entry-level or career-switching users
  • Leverage Firestore logs for:
    • Personalised query recall and agent re-entry
    • Usage analytics for iterating on prompts and flows
    • Future support for vector-based search across past queries

✅ Testing Instructions

Visit the live deployment here:
👉 https://workmatch-ui-718117052413.europe-west1.run.app

Start the conversation by saying hi or describing a goal (e.g. “I want to become a designer” or “I'm stuck in my job”). The agent will guide you through exploration or career planning via streaming responses.


🧱 Built with

Python, Agent Development Kit (ADK), Vertex AI Gemini 2.5 Flash, Google Cloud Run, Google Secret Manager, Firestore, Adzuna API, Langfuse

Built With

  • adzuna-jobs-api
  • agent-development-kit-(adk)
  • gcp
  • google-cloud-run
  • google-secret-manager
  • langfuse
  • nextjs
  • python
  • react
  • serverless-backend-deployment-google-secret-manager-?-secure-environment-variable-and-credential-handling-google-firestore-?-for-session-tracking-and-storing-job-search-context-vertex-ai-/-gemini-2.5-pro-&-flash-?-for-high-fidelity
  • typescript
  • vertex-ai-(gemini-2.5-pro-&-flash)
Share this project:

Updates

posted an update

I have changed the user flow to include some menu based options to make the transition between agents easier. The flows can be seen in the new Mermaid diagrams. Furthermore, I've also tried out the turn based agent tester which simulates a conversation with the adk api

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

posted an update

I've just tried to use 'gemini-2.5-flash-lite-preview-06-17' in my application and I'm very pleased with the response speed and the fact I don't have to choose global or a US based location.

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

posted an update

I've just published version 1 using the cloud run adk web deployment, but I noticed that the turn logic from the main career guidance to the other agents still feels clunky. Mainly, when a user is in the entry level agent or advanced agent, there is no way to switch modes yet. Furthermore, I will try to add a simple react interface over it, but I want to leave enough time to record the demo video after optimising the prompts.

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