Inspiration

Navigating the healthcare job market is complex for both recruiters and candidates. Traditional platforms often rely on rigid keyword matching, failing to account for the nuanced skills required in medical roles or the critical importance of geographic proximity. Furthermore, the volume of available roles across different trusts and private providers makes it difficult for seekers to find truly relevant opportunities through a unified, intelligent interface.

What it does

Upstic Recruiter transforms the job discovery process into an interactive, agent-led experience. By positioning Elasticsearch as the central "Reasoning Engine," the platform focuses on three high-impact agentic pillars:

  1. Intelligent Discovery Agent (Jobs): Moving beyond simple filters, our discovery agent uses Elasticsearch Hybrid Search (Semantic + Keyword) to interpret natural language intent. Searching for "Specialized nursing roles in London with competitive pay" triggers a multi-layered query that understands context, not just tokens.

  2. Geo-Aware Reasoning Agent (Map): Our geospatial agent visualizes the healthcare landscape in real-time. It doesn't just plot points; it calculates job density, clusters and allows users to "Ask the Map" queries like "NHS roles near transport hubs," leveraging Elastic's powerful geo-processing capabilities.

  3. Conversational Interaction Agent (Chat): A dedicated AI chat interface allows users to interact with the job pool using raw reasoning. The agent acts as a recruiter's assistant, summarizing job requirements and helping bridge the gap between candidate inquiries and job metadata.

How we built it

Modular Breakdown

1. The Real-time Frontend (Vanilla JS + CSS)

A dark-themed, premium UI focused on interactive job discovery. It features dedicated modules for List search, Interactive Maps, and an AI Chat assistant.

2. Search & Discovery Engine (Elasticsearch)

The core "Brain" of the system.

  • Job Index: Stores thousands of medical jobs (Reed/NHS) with rich metadata.
  • Discovery Hub: Uses hybrid queries to connect user intent with relevant roles.
  • Geo-Processing: Leveraging Elastic to calculate proximity and regional density for healthcare roles.

3. Interaction Agent (Node.js)

The bridge between user queries and AI reasoning.

  • Reasoning: Uses local Ollama integration to translate natural language queries into Elastic-compatible parameters.
  • Contextual Awareness: Maintains the conversational state for the Chat interface, allowing for iterative job refining.

Data Flow

  1. Query: User enters a natural language request (Jobs/Map/Chat).
  2. Translation: The agent interprets the intent (e.g., "Find me nurse roles within 10 miles").
  3. Retrieval: Elasticsearch performs high-speed hybrid and geo-keyword matching.
  4. Visualization: Results are plotted on the interactive map or listed with AI-generated relevance summaries.
  5. Interactive Loop: User continues the conversation in the Chat panel to refine or ask questions about the results.

Challenges we ran into

  1. How to translate "High paying night-shift nurse roles in London" into a precise database query.
  2. How to Visualize the job and candidate market using useful techniques?
  3. How to connect disparate UI events with the LLM and the Elasticsearch hub.

Accomplishments that we're proud of

Discovery of a direction to an end-to-end solution to a problem that has been unsolved in the current context.

What we learned

Effective use of AI is a productivity booster. Creation of synthetic data for the candidates used in the prototype.

What's next for Upstic

To onboard workers into employment roles for temporary or permanent positions., preliminary mandatory and professional checks as defined by the UK government and professional medical checks are required. Create an MCP server that performs these checks, and then add them as Tools and give the Tools to the Elasticsearch Agents.

Use workflows for orchestrating the agents by creating isolating functions and defining handoffs between the agents.

Use agentic decision loops for providing agency to the agents for communicating with the candidates autonomously and executing the checks.

Built With

Share this project:

Updates