In short
AI candidate matching turns a resume and a job description into structured data and embeddings, then scores how well they fit. We built a platform that does this for SoftwarePlacement Group, connected to the PCRecruiter and Top Echelon applicant tracking systems. It parses resumes, enriches candidate records, ranks candidates for each job and syncs the results back to the ATS. A recruiter still decides who to contact and who to submit.
What problem does AI matching solve?
A recruiting firm sits on a large database of resumes and a changing list of open jobs. The right candidate for a new job is often already in the database, under a job title that does not match the search.
Keyword search misses those people. A resume that says “led the storefront rebuild” does not contain the words “e-commerce architect.” Reading every resume against every job by hand does not scale.
The platform we built for SoftwarePlacement Group closes that gap. It reads candidates and jobs for meaning, scores the fit and hands recruiters a ranked shortlist.

How does a resume become data?
Resumes arrive as documents in every layout imaginable. The first job is to turn each one into the same structure.
- Parse. The document is read and converted to structured JSON.
- Enrich. The record gains attributes a recruiter searches by, such as skills, tenure, seniority and company history.
- Store. The structured record goes into MongoDB, a document database that suits records whose shape varies.
OpenAI’s models do the reading. The structure is ours, so every candidate ends up in the same shape no matter how the resume was written.
What is an embedding, and why does it matter?
An embedding is a list of numbers that represents the meaning of a piece of text. OpenAI’s embeddings guide describes it as a vector, where a small distance between two vectors means the texts are closely related.
That is what makes matching by meaning possible. The platform creates an embedding for the job and one for the candidate, then measures how close they are. “Led the storefront rebuild” and “e-commerce architect” can land near each other with no words in common.
OpenAI lists search, recommendations and classification among the standard uses. Candidate matching is a mix of the first two.
How is the final score built?
Similarity is one input. On its own it could rank a junior candidate above a qualified senior one because their resumes read alike.
So the score reads the embedding alongside the structured attributes: skills, tenure, seniority. Scores are stored with the records they came from, and when a candidate’s record or a job changes, the fit is scored again.

How does it connect to the tools recruiters already use?
A matching engine that lives outside the applicant tracking system creates double entry, and recruiters stop using it.
The platform integrates directly with the PCRecruiter and Top Echelon APIs. Candidates, job orders, submissions and status updates sync in both directions. A unified API layer normalizes the data from each ATS, so ranking and search work across all of it at once.
How does it handle volume?
With queues. Parsing and scoring take time, and a firm may load a large batch of resumes at once.
Ingestion is asynchronous. Documents are staged in Amazon S3, queued and processed in the background, so a large import does not block a recruiter running a search. The services run on Amazon EC2, with Amazon Aurora for relational workflows next to MongoDB and Amazon SES for transactional email and outreach.
What about candidate privacy?
Resumes are personal data, and the platform treats them that way.
- Least-privilege access. IAM roles, policies and security groups limit what each service can reach.
- Audit trails. Logging records what was done to a record and when.
- PII safeguards. Controls around how candidate information is stored and handled.
- Monitoring. CloudWatch watches service health and raises alerts.
What does the recruiter still decide?
Everything that involves a person. The platform ranks. The recruiter reads the shortlist, decides who to call, decides who to submit and manages what the client hears.
That split is deliberate. It is the same rule we apply to our own AI-assisted work: the model drafts, and an experienced person reviews and decides. We wrote about it in AI With a Person at the Wheel.
Could this work for other kinds of matching?
Yes. The pattern is the same anywhere you match one set of documents to another: products to shopper questions, support tickets to help articles, properties to buyers. Parse, enrich, embed, score, and put a person at the decision.
Sitting on documents that should be searchable by meaning?
Talk to us about AIFrequently asked questions
How does AI match candidates to jobs?
The system converts each resume and job description into structured data and into embeddings, which are numeric representations of meaning. It measures how similar a candidate is to a job, combines that with attributes such as skills and seniority, and ranks candidates by fit.
What is an embedding in AI?
An embedding is a list of numbers that represents the meaning of text. Texts with similar meaning have embeddings that sit close together, which lets software search and match by meaning instead of exact keywords.
Does AI matching replace recruiters?
No. It replaces the manual search through a large database. Recruiters still review the shortlist, speak to candidates and decide who to submit.
Can an AI recruiting tool work with an existing ATS?
Yes, if the ATS has an API. The platform we built syncs candidates, job orders, submissions and status updates in both directions with PCRecruiter and Top Echelon.