How AI Trainer-Client Matching Actually Works (And Why It's Better Than a Checkbox Filter)
By Ollie
How AI Trainer-Client Matching Actually Works (And Why It's Better Than a Checkbox Filter)
Every fitness platform does discovery the same way. You tick boxes. "Location: London." "Speciality: weight loss." "Price: under £100/month." You get a grid of faces that technically match your filters and you pick one based on... their photo? A one-paragraph bio?
That's not matching. That's a catalogue search with extra steps.
The Problem With Filters
Filters work when your needs are simple and binary. "Do they train in London? Yes or no." But fitness goals aren't binary.
Consider three people who all tick "weight loss":
- A postpartum mother rebuilding core strength after a C-section
- A desk worker with chronic lower back pain who hasn't exercised in five years
- A former rugby player getting back to competitive fitness after a knee reconstruction
All three said "weight loss." They need wildly different trainers. Filters collapse all that context into one checkbox.
The result? Clients bounce. They try a trainer, it doesn't click, they leave the platform. The trainer wasted onboarding time. The client lost trust. The platform lost both.
What Semantic Matching Actually Means
Instead of matching on keywords, PumplAI matches on meaning.
When a client describes their goals — in their own words, not through checkboxes — we convert that description into a mathematical representation called a vector embedding. It's a list of numbers that captures the semantic meaning of what they wrote.
We do the same for every trainer's profile: their experience, coaching philosophy, specialities, client success stories, and communication style.
Then we find the trainers whose vectors are closest to the client's. Not "same keyword" close — same meaning close.
A client who writes "I had a baby six months ago and I want to feel strong again" will match with trainers who have experience with postpartum recovery, core rehabilitation, and progressive programming for new parents — even if neither the client nor the trainer ever used the word "weight loss."
How It Works Under the Hood
We use pgvector, a PostgreSQL extension for vector similarity search, with HNSW indexing for sub-millisecond lookups even at scale.
Here's the flow:
1. Client writes their goals in natural language during onboarding 2. Embedding model (Qwen3-Embedding, running on-device via Ollama) converts the text into a 768-dimensional vector 3. Trainer profiles are pre-embedded the same way — their bio, specialities, coaching philosophy, and past client outcomes 4. Cosine similarity search finds the top-N trainers whose profile vectors are closest to the client's goal vector 5. Results are ranked with additional signals: availability, pricing fit, location preference, reviews
The embedding runs on-device. Your fitness goals never leave your phone. No data sent to OpenAI, no cloud processing of sensitive health information. This is core to our GDPR compliance and privacy-first architecture.
Why This Matters for Trainers
For trainers, semantic matching means you stop getting mismatched leads.
If you specialise in powerlifting programming for intermediate lifters, you won't get matched with someone looking for gentle yoga-based recovery. You get clients who are genuinely right for you — which means better retention, better outcomes, and better reviews.
The current model across the industry is: get discovered, pitch hard, hope the client stays past month three. Semantic matching inverts that. The client comes to you because the AI determined you're the right fit. The relationship starts with alignment, not audition.
How This Compares to Other Platforms
| Platform | Discovery method | AI matching? | Form checking? | |---|---|---|---| | Trainerize | Trainerize.me directory — browse by name/location | No | No | | TrueCoach | No marketplace — trainers share links manually | No | No | | Everfit | Basic filters — "claimed" AI matchmaking, unproven | Surface-level | No | | FirstRep | Filter-based directory — speciality/location/price | No | No | | PumplAI | Semantic vector matching on natural language goals | ✅ pgvector + HNSW | ✅ MediaPipe Pose |
No competitor in the personal training space is doing semantic matching today. Not surface-level "AI-powered" marketing copy — actual vector similarity search on the meaning of client goals.
Try It When We Launch
We're opening early access soon. If you're a trainer who wants clients matched to your actual expertise — or a client tired of checkbox roulette — join the waitlist.