Beyond Keywords: How Vector Databases Power Better Professional Matching
When you search for a "journeyman electrician in Montreal," a keyword system does one thing: it looks for records containing those exact words. If a profile says "licensed electrician" instead of "journeyman electrician," it might not surface. If the person is in Laval, they might not show up for a Montreal search even if they work across the region regularly.
This is the fundamental limitation of traditional search and matching systems: they match on form, not meaning.
Vector databases work differently — and for a marketplace like crewd., that difference changes what becomes possible.
What Vector Databases Actually Do
Every piece of information — a worker's profile, their certifications, their work history, a job posting — can be converted into a high-dimensional mathematical representation called a vector. Similar concepts end up close together in this multi-dimensional space. Different concepts end up far apart.
"Journeyman electrician" and "licensed electrician" end up near each other, because they describe similar things. A profile listing experience with "high-voltage panel installation" and a job requiring "electrical systems experience" are understood to be compatible, even if they share no exact words.
The database doesn't just store records — it understands relationships.
Why This Matters for Skilled Trades Matching
Skilled trades matching has a harder version of this problem than most domains. Here's why:
Certification systems are complex and vary by province. A Red Seal certification means something specific, but so does a provincial journeyman ticket, an apprenticeship level, or a specialized equipment license. A keyword system requires exact matching of terms that vary by how people learned to describe their credentials.
Experience descriptions are informal. Workers describe their experience in their own language — "commercial builds," "residential renovations," "heavy industrial," "infrastructure work." These terms overlap and nest in ways that don't reduce cleanly to category checkboxes.
Geographic availability is contextual. A worker based in Longueuil is available in Montreal. A firm in Gatineau might draw workers from the Ottawa side of the border. Static radius searches miss the reality of how construction labour markets actually work.
Vector representations handle all of these more gracefully. The system develops a richer understanding of what a profile means, not just what it says.
How crewd. Applies This
Our matching engine uses vector representations of worker profiles — including certification data, trade specialization, experience signals, and availability patterns — alongside vector representations of job requirements.
When a contractor posts a job, we're not scanning for matching keywords. We're finding workers whose entire profile is semantically close to what the job needs: the right trade, the right certification level, the right experience depth, available in the right geography, at the right time.
This produces better initial matches, fewer obvious mismatches that waste both parties' time, and a system that improves as it observes which matches work and which don't.
The Honest Caveat
Vector matching is powerful, but it's not magic. A good matching engine needs quality data to work with — accurate certifications, honest experience descriptions, reliable availability. Garbage in, garbage out applies here as it does everywhere.
Part of what crewd. invests in is data quality: the onboarding flows that capture certification details correctly, the profile structures that make experience legible to the model, and the feedback loops that surface when a match underperformed.
Technology like vector search changes what's possible. But the infrastructure of trust and data quality underneath it is what makes that possibility real.