Job Search Engine
Candidate-to-employer matching with real-time messaging at scale
Built and operated over 2.5+ years
- Relevance scoring
- Multi-signal
- Messaging
- Real-time, horizontally scaled
- In production
- 2.5+ years
Overview
A job discovery and application platform matching candidates to postings and enabling direct, real-time conversations between employers and candidates — built and operated as a long-running production system, not a prototype.
The Problem
Candidates need fast, relevant job discovery; employers need a direct line to qualified applicants. Keyword search alone produced noisy, low-relevance results, and email-based follow-up was slow and easy to lose track of.
Architecture
A Node.js backend serves search and matching over a MongoDB store chosen for the variability of job-posting schemas across industries. A weighted relevance model combines keyword match, location, and recency. Employer-candidate messaging runs over a horizontally scaled WebSocket layer so conversations are real-time regardless of which server instance either party connects to.
Challenges and solutions
Challenges
- Ranking relevance with sparse candidate profile data, especially for new users
- Scaling real-time messaging horizontally without pinning users to a single server instance
- Modeling job postings whose required fields vary significantly by industry
Solutions
- Weighted relevance scoring blending keyword match, location proximity, and posting recency, tuned iteratively against real search behavior
- MongoDB's flexible schema absorbed industry-specific posting fields without a rigid relational model fighting the data
- A pub/sub layer in front of the WebSocket servers routed messages correctly regardless of which instance a user was connected to
Performance Improvements
- Improved search relevance and reduced time-to-first-application through iterative ranking tuning
- Messaging infrastructure scaled horizontally with no per-instance user pinning
Business Impact
Became the core matching layer connecting candidates and employers on the platform, sustaining real-time messaging in production for over two years.
Lessons Learned
Search relevance is an ongoing product problem you tune against real user behavior, not a one-time algorithm you ship and walk away from.
Stack
- Node.js
- MongoDB
- WebSockets
- AWS
- DigitalOcean