How we rebuilt Manet's people search so it finds the right people in under a minute.
You tell Manet who you're looking for the way you'd tell a colleague. "VPs of Sales at fintech companies in London that are hiring SDRs." It comes back with people who fit, and next to each one, the reason they fit. Usually before you'd have finished setting up the filters in any other tool.
That's the product. This post is about how it got fast, because not long ago it really wasn't. (Like, painfully not.)
The short version
Manet gets to eight confirmed people in a median of 42 seconds. On the same briefs, an agent-based list builder takes about three minutes.
The first match usually shows up in under 10 seconds.
Change one requirement and the list updates in about 3 seconds, because Manet re-checks only that one.
Every person comes with evidence: the requirement they passed, and the post, page or comment that proves it.

The last pair is the one you'll feel most. When you change your mind, an agent tool starts the whole search over. Manet re-checks the one requirement you changed.
The job
Say you sell to sales leaders, and you write: "VPs of Sales at fintech companies in London that are hiring SDRs."
A filter tool turns that into Title = VP Sales, Location = London, Industry = Financial Services, and hands you a few thousand rows. Some of those people moved on a year ago. Some of the "fintech companies" are banks. Nothing on the list tells you who's hiring. You end up with a spreadsheet and a weekend of checking it.
What you want is eight people you'd happily message today, each with a line that says why. Then you look at those eight, think "wait, Series A only", change it, and see the new eight. And all of that has to be fast enough that you keep tweaking the description until it's right.
Why building a list is slow today
There are three usual ways to build a list, and each one is slow for its own reason.
Filter tools treat the filter as the answer. The search runs fast, and then the checking is your problem.
Enrichment waterfalls run every step on every row. Find thousands of people, enrich all of them, score all of them, throw most of them away. You pay, in time and in credits, for people you were never going to message.
Agent tools are the new kid. An AI agent takes your brief and works it the way a person would: think, search, read, think again, write a bit of code, check some rows, repeat. They're fun to watch, I'll give them that. But every step is the model reasoning about what to do next, and the model is the slowest and most expensive thing in the loop. A lot of what it's deciding could be decided by a few lines of boring code.
Speed matters more here than people think. If a search takes ten minutes, you write your brief once and live with whatever comes back. If it takes forty seconds, you can try four versions in the time an agent tool spends on one, and the fourth one is usually the good one.
Where we started
Our first engine wasn't fast either. It was slow in its own special way. In September, one test run asked for a sample of eight people. It ran for 72 minutes, made almost 500 LinkedIn reads, and judged nobody. Not one person came back confirmed or rejected.
Changing a single requirement meant starting over, which took anywhere from seven minutes to well over an hour. And when we finally profiled a live search, it was sitting idle almost three quarters of the time. People waiting on a slow LinkedIn read were holding their place in line, and everyone behind them waited too.
So we threw most of it out and rebuilt the search around one idea.
The idea: the model judges, code counts
Language models are very good at one thing we need: reading something messy and saying whether it matches. They're not especially good at deciding where to look next, how many people to pull, or when you have enough. Those are counting problems, and counting is what code is for.
In Manet, the model reads and judges. Plain old code decides where to look, what to check next, and when the list is done. There's no agent writing and running code at every step.
If you've ever looked at how a database runs a query, this will feel familiar. We borrowed that way of thinking and pointed it at people instead of tables.
When you hit search:
Your words become requirements. Each one is a yes or no question, tied to something Manet can actually read.
Manet sizes up the possible starting points and picks the one most likely to fill your list quickly.
It finds people, likeliest first, and only as many as it needs.
Cheap checks run on everyone first.
The careful checks run on whoever's left, one requirement at a time, each against only the evidence that can answer it.
You get a confirmed list, and the reason the search stopped.
Steps 3 to 5 overlap. While the next batch of people is loading, the last batch is already being judged. That alone took about a third off the total time.
Four hard problems
Knowing what can be checked
People write things like "French founders" or "under 40". Fair enough, those are reasonable things to want. But nothing public reliably shows someone's nationality or age, so a search that treats them as requirements can never confirm anyone. We learned that one the hard way. One test brief asked for a nationality, most of the people Manet found came back as "can't tell", and that single requirement stalled the whole search.
Now every requirement gets tied to something that can answer it, right when the brief is written. If nothing public can, it isn't treated as a requirement, and Aria tells you so in one line instead of quietly returning nobody.
Some requirements can only ever be disproved. "Bootstrapped" is the classic. You can't prove a company never raised money, but you can see when it did. So Manet flips it into "exclude companies that raised outside funding". Same intent, except now it's something you can check.
Searching wide without losing anyone
Filters are fast, so it's tempting to push everything into them. The trouble is that filters are blunt. Put "B2B" or "startup" in a filter and you'll drop people who fit perfectly, just because their company describes itself differently.
Our rule is that filters only carry what's certain. Anything fuzzy gets checked person by person, against evidence. Filters narrow, evidence decides.
The same goes for the quick first look Manet takes at each person. That look is there to save work, and it never rules anyone out on a guess.
Not paying for people you'll never need
You asked for eight. Pulling thousands of people to find eight is the waterfall mistake. Manet pulls only as many as it needs, likeliest first, and runs the cheap checks on everyone before the expensive ones. The moment someone clearly fails a must-have, it stops checking them. Why confirm the city of someone who isn't even in sales? On a typical brief, the cheap checks clear out about 70% of people before a careful check even starts.
It also doesn't re-check what it already knows. If someone was found through "people who engaged with this post", well, they engaged with the post.
One example we're a bit proud of: "Series A fintech founders in the US". An early version read 114 funding rounds from every sector to find two in fintech. Now it narrows at the source, reads 21, and still finds every company the old way did.
Changing your mind in seconds
This is the one you feel. Every answer is stored per requirement, per person. Change one requirement and Manet re-checks only that one. If the search itself didn't change, nothing gets searched again.
That used to take somewhere between seven minutes and over an hour. Now it's about 3 seconds. You edit the brief, and by the time you look back at the list it has already changed.
Why fast didn't mean sloppy
Speed is easy if you don't care what comes back. We do care, so there are a few rules we hold ourselves to.
A person makes the list only when every must-have is confirmed by something Manet read. Nobody gets dropped for something Manet couldn't see, because an unknown never rejects anyone. Every person shows which requirement they passed and the post, comment or page behind it.
A funding round or a job opening only counts if it belongs to the company the person works at today. Sounds obvious, and it's still very easy to get wrong.
And when one requirement is what's holding the search back, Aria tells you. You don't get handed an empty list and left to guess why.
Signals: hiring, funding, and people who engaged
What sales teams usually care about is timing. Who's hiring, who just raised, who's paying attention to them right now. So on top of role, seniority, place, company size and the kind of company, you can ask for:
companies that are hiring, for a named role or at all
companies that raised money, by round, amount and time window
people who posted about a topic
people who engaged with your post, a post you link, a named person's posts, or posts on a topic
people who changed jobs
how closely you're connected
Mix and match any of these, in whatever order you write them.
Engagement is the one I'm most excited about. "People who commented on my latest post and run sales at a fintech" is close to impossible in a filter tool. Manet starts from the people who engaged and checks them, instead of searching everyone and hoping they turn up. And because that starting point is already small, those lists tend to come back in around 20 seconds.
And it doesn't stop once you launch. New people who fit keep showing up.
How fast it is now
Here's where the rebuild landed, next to where we started.
Before the rebuild | Now | |
|---|---|---|
Time to a list of eight | 72 minutes, and nobody judged | 42 seconds (median) |
First confirmed person | Sometimes never | Under 10 seconds |
Changing one requirement | 7 minutes to over an hour | About 3 seconds |
LinkedIn reads for a list of eight | Almost 500 | Under 60 |
Time the search sits idle | Almost three quarters | Under 10% |
Funding rounds read for "Series A fintech founders in the US" | 114 | 21 |
We also ran the same briefs through an agent-based list builder, both started at the same moment. Manet's median to eight people was 42 seconds. The agent tool's was 172 seconds, almost three minutes. That makes Manet about four times faster, and it finished first on almost every brief.
Nine in ten searches now come back complete in under a minute, and while one is running, Manet checks about 50 people a minute against your brief.
Where it's still weak, and what's next
Some things are still hard. Recent funding is the toughest. Funding records run behind, so "raised in the last month" is the brief Manet is weakest on, and it tells you that rather than guessing. Fuzzy company traits like "startup" or "B2B" are hard to confirm from pages. Some LinkedIn profiles are hidden, and we can't check those. And you do need your own LinkedIn account connected to search.
What we're working on next: changing course mid-search when a starting point stops paying off, learning what works for each workspace, and stopping exactly when more searching stops turning up better people. Some of this is already running quietly next to live searches, watching what it would have done, before we let it steer.
What we'd tell anyone building this
Let the model judge, and let code count.
If nothing can check a requirement, it isn't a requirement.
Filters narrow, evidence decides.
An unknown never rules anyone out.
Never re-check what you already know.
Pull only the people you need, and run the cheapest check first.
FAQ
Can I find leads by describing them in plain English?
Yes, that's the whole point. You write who you want in your own words, and Manet turns it into requirements it can check.
How long does it take to build a lead list?
Usually under a minute. The median time to eight confirmed people is 42 seconds, and the first one tends to show up in under ten.
How is this different from an AI SDR?
An AI SDR writes and sends messages. Finding the right people comes first, and if you get that part wrong, nothing after it works. Manet does both, but this post is about the finding.
How do I find decision makers on LinkedIn?
Describe the role and seniority you want, plus the company and the place. Manet checks each person's current title against that, so you don't end up messaging someone who left the job a year ago.
What is an ideal customer profile?
A written description of the companies and people most likely to buy from you. In Manet, your ICP is the brief, and each line of it becomes a requirement.
Do I need a LinkedIn account?
Yes. Manet searches through your own connected account.
How do I know a person really matches?
Every person on the list shows which requirements they passed and the evidence for each one, so you can check it yourself in a click.
Start a campaign at app.manet-app.com, and bring your hardest brief.
[
ready to start?
]






