Forty hours of prospecting, done by Tuesday morning.
Our client places foreign workforce with manufacturing companies. Their growth problem was upstream of sales: finding the factories that are about to need workers, before the need becomes a public tender everyone bids on. That knowledge exists in fragments, hiring announcements, expansion news, production signals, registry changes, and gathering it by hand consumed forty hours of skilled work every week. We built a four-agent research system that does the gathering, the qualifying, and the prioritizing. The client's team starts Monday with a ranked list instead of a blank search bar.
Hermes runtime 4-agent research fleet Public-source signals Ranked delivery Human outreach
Workforce services are sold on timing. A manufacturer that needs thirty workers in ninety days is a prospect; the same manufacturer after it has signed with a competitor is a case study in being late. The signals of upcoming need are public but scattered: job postings that stay unfilled, announced capacity expansions, new production lines, seasonal patterns, registry and news mentions. No single source tells the story, the combination does.
The client's team was assembling that combination manually: forty hours per week of reading job boards, industry news, and company announcements, cross-referencing them, and maintaining a spreadsheet that was outdated by the time it was finished. The work required judgment, which is why it consumed their best people, and it was mostly mechanical, which is why it wasted them.
I · Signal Scanner
Continuously reads public sources: job boards, industry news, company announcements, registry data. Emits raw signals, a company doing something that might mean workforce demand.
II · Qualifier
Filters raw signals against the client's criteria: industry, region, company size, signal strength. Most signals die here, by design. Company size 50 to 500 employees, industries manufacturing, food processing, and logistics, geographic match to target regions, and activity signals like recent expansion, new contracts, or workforce-related job postings.
III · Profiler
Builds a dossier on every qualified company: what they make, how they are growing, what the signal implies, and the recommended angle for first contact. Cross-references against existing CRM data to eliminate duplicates, then enriches with contact information, company size, and recent news.
IV · Prioritizer
Ranks the week's dossiers by urgency and fit, and delivers the list with reasoning attached. The Monday list is its product, a daily Telegram briefing with the top five to ten candidates, each with a one-sentence reason for qualification and a confidence score.
> scan
Public sources are read continuously across six predefined source categories: company registries, industry news, import and export databases, job posting boards, trade association announcements, and government procurement notices. Every mention of hiring, expansion, or capacity in the target industries becomes a raw signal with its source attached.
> qualify
Signals are scored against the written criteria contract. Not all sources are equal, company registries and government databases get a 3x weight multiplier, news articles get 1.5x, social media signals get 0.5x. Weak, duplicate, and out-of-profile signals are discarded, the discard rate is the quality.
> profile
Qualified companies get a dossier: business, signal history, implied need, suggested approach. Every claim traceable to a source. Instead of binary qualification, each lead gets a confidence score from 0 to 100. The client sets their own threshold, currently 65, and adjusts based on results.
> rank
Dossiers are ranked by urgency and fit into a weekly priority list. On days when no leads pass the threshold, the agent reports no qualified leads today instead of lowering the bar to produce results. Quality over quantity is non-negotiable.
> deliver
The list lands with the sales team, who make every call and send every message themselves. The system finds and explains, humans contact and close. All results also write to a staging table, no agent touches the production CRM.
Layer I · Visual Architecture
One diagram, four agents in a pipeline, sources in, ranked list out, humans at the end. Approved before code.
Layer II · Contracts
The qualification criteria and ranking logic are written contracts, edited with the client as their strategy shifts.
Layer III · Technical Diagrams
Source adapters, signal deduplication, scoring, and the weekly delivery cycle, specified before implementation.
Layer IV · Implementation
Hermes runtime on a dedicated isolated instance, Supabase for signals, dossiers, and history. Tool contracts for Tavily Search, Firecrawl, Supabase Insert, and the Telegram Bot, each with a full 15-column contract defined before any code was written.
Signal noise
A job posting is not a trend. Signals gain weight through repetition and combination, one mention alerts nobody.
Duplicate companies under different names
Deduplication runs on registry identity, not on spelling.
Stale dossiers
Every dossier carries its evidence dates, and old signals decay out of the ranking instead of haunting it.
Source drift
Public sources change format without notice; every adapter monitors its own health and reports silence as an incident.
40 hrs
Weekly prospecting effort before the system
2 hrs
Weekly effort now, spent reviewing the ranked list
4
Agents in the research fleet
8 weeks
From kickoff to production
34%
Qualification accuracy, up from an estimated 15 to 20%
Mar 2026
In production since
Effort figures measured against the client's own time tracking before and after deployment.
The discard rate is the product. The system's value is not how much it finds, it is how much it throws away with documented reasons. A short list the team trusts beats a long list they have to re-check.
Timing is a feature you can engineer. The same lead two weeks earlier is a different lead. Continuous scanning does not find better companies, it finds the same companies sooner, and sooner is the entire business.
Research automates cleanly, relationships do not. The strict boundary, system researches, humans contact, was not a compliance concession. It is why the sales team adopted it instead of fighting it.
Your next client is announcing themselves right now. Someone should be listening.
> ../book_a_call.sh