Rizqey Labs ← rizqey.com
Field notes · 4–6 August 2026

43 hours.
50 agents.
One lead list.

We sell done-for-you lead generation. Then we had the same problem ourselves — a list of 374 companies and no way to contact anyone on it. So we pointed 50 AI agents at it and left them running. This is the full log.

43Hours
50Agents
730Founders found
92,556Rows produced
The problem

A list of company names, and no way to reach a human being.

In July we filtered 1,463 recently-funded YC companies down to 374 that matched our buyer. Then we stalled.

The list held companies, not people. No names. No emails. No profiles. Paid enrichment tools quoted real money for the rest.

By hand, we qualified ten of them in three weeks. At that rate the list would take two years.

The run

What happened over 43 hours

Not one long job — nine multi-agent workflows, two power failures, four scraper rewrites.

Tue 17:53

Cold start

Handed a 200MB transcript of a dead session and told to catch up. It parsed 40,603 lines and reconstructed a month of context — who we had spoken to, what was promised, what was actually delivered.

Wed 00:30

Rebuilt our admin console overnight

Our internal tools still ran inside a dead brand's infrastructure. Forked, database migrated, domain moved, single sign-on wired. 153 links, 96 videos, 6 leads carried across. No downtime.

Wed 13:40

The unlock

One of the agents found a route to the people behind the companies that the rest of the market has walked past. Six minutes later it had the whole list.

730 founders. 725 LinkedIn profiles. 99.7% coverage.

Wed 15:31

The laptop died mid-scrape

One scraper survived because it saved its progress. The other didn't — it wiped its own table on every restart. Four failed runs before the real bug surfaced: 44 minutes of CPU burned by pattern-matching against minified JavaScript. Never a network problem at all.

Wed 20:00

Six agents read a 62-minute meeting with my VC

Then two more were told to attack the analysis. They proved the first read wrong on four counts — including a claim our investor had killed a plan he was never actually told about.

Wed 18:12
→ Thu 04:00

Ten rounds, ten different doors

Each round attacked the same 374 companies with a technique the previous rounds hadn't tried. Ran unattended for ten hours.

Thu 02:03

The laptop died again

Rounds 1–8 replayed from cache instantly. Only unfinished work re-ran. Cost of the second crash: nothing.

Ten rounds

Where the contacts were actually hiding

Ten methods, run in sequence, each one told what the previous nine had already tried. The top three carried 63% of everything found. What they are is the part we keep.

01
Method one
+341
02
Method two
+214
03
Method three
+162
04
Method four
+133
05
Method five
+111
06
Method six
+62
07
Method seven
+57
08
Method eight
+47
09
Method nine
+7
10
Method ten
+7

Rounds 6 and 7 were duds — and that matters. The run was originally designed to stop after two weak rounds in a row. That logic was wrong: each round is a different door, so a locked one tells you nothing about the next. We removed it. Rounds 8 and 10 went on to find 295 more contacts.

Scale

What "leave no stone unturned" actually costs

10,893

Hostnames enumerated

Every corner of a company's web presence, not just the front door.

10,155

Lookups against public registries

One agent, one script, fifteen thousand requests, four minutes.

1,493

Historical page versions

What a company's site used to say is often more useful than what it says now.

1,793

LinkedIn posts read

Logged out, no scraping tool — enough to rank every content format by what actually performs.

The counter-intuitive part

The expensive part is thinking, not doing.

Where the compute actually went was the opposite of what I expected.

An agent that writes a script and reads back a summary is doing arithmetic. The heavy lifting happens outside the model, and it scales almost without limit.

The expensive hour was six agents reading one 62-minute transcript, twice over, then arguing about it. No script compresses that — every word has to be read and weighed.

The machine can do a hundred thousand things. Deciding which hundred thousand is the job.Which is why judgement, not volume, is where the money goes
Honest ledger

What went wrong

Published because the wins mean nothing without these.

Wrong

"Your VC killed the content plan"

Reported as fact. An adversarial agent then searched both transcripts: he was never told the plan. He'd rejected one tactic, and his silence on the rest was read as a verdict.

Wrong

"The list isn't on your machine"

It was. One folder over from where the search ran.

Wrong

"Switching models won't help"

Stated as fact, never tested. It was wrong — a step that failed under one model went through under another.

Bug

Our admin site was unusable on a phone

One missing line of code rendered it as a shrunken desktop page. We read everything on our phones. That single omission explained months of preferring PDFs to our own tools.

Caught

Contacts that belonged to strangers

Startups copy each other's boilerplate word for word, so a page can hand you somebody else's contact details. One yielded an address for the California Department of Consumer Affairs. Another yielded ten law firms. 25 rows quarantined rather than shipped — this is exactly the failure a cheap list ships to you and never mentions.

Blocked

A safety wall on the final step

Compiling everything into one outreach file was refused — the shape resembles mass data-harvesting. Legitimate business, blunt rule. We ran the last command ourselves rather than route around it.

Output

What exists now that didn't on Tuesday

730 named founders725 with LinkedIn, across 373 of 374 companies
973 usable emailsDeduplicated, graded, 332 companies covered
2,442 social profilesGitHub, LinkedIn, Hacker News, Calendly
A rebuilt admin consoleOwn database, own domain, works on a phone
Nine research reportsEach fact-checked by an agent told to attack it
A written buyer definitionReverse-engineered from the filter, not invented
A content strategyBuilt on 1,793 real posts. It killed two of our three planned platforms.
A reusable pipelineDocumented, ready to point at the next list

Reproducible the day the next YC batch lands.

The part worth stealing

Make something argue with you.

The most valuable output of 43 hours wasn't a contact. It was an agent proving the analysis wrong.

Every significant finding got a second agent whose only job was to refute it. That pass caught four real errors before they reached a decision — including one that would have walked me into a VC meeting with the wrong story.

A quiet round tells you nothing about the next one. A locked door tells you nothing about the door beside it.Why we kept going after two failed rounds — and found 295 more contacts
What I'd tell another builder

Four things about running fifty agents

Nothing here is about my industry. It is all about not losing two days of machine work.

1 · Checkpoint, or the power cut wins.Two blackouts. The job that saved progress as it went lost nothing and resumed mid-stride. The one that rebuilt its state on startup lost four complete runs. Same crash, opposite outcomes — and the difference was about six lines of code.
2 · A quiet round tells you nothing about the next one.I had it stop automatically after two weak attempts in a row. That logic is only right when every attempt is the same method. Mine weren't — a locked door says nothing about the door beside it. Removing that rule found 295 more results.
3 · Verify the process, not just the output.A job ran 44 minutes with nothing to show and I assumed the network was down. It wasn't — the work was being eaten internally. Watch what a job is actually doing, not whether it has finished.
4 · Build the thing that argues back.Every finding got a second agent whose only job was to prove it wrong. It caught four real errors, including one that would have walked me into a VC meeting with the wrong story. This was the single highest-value thing in the whole 43 hours.

Written up by Faris Irfan, who mostly just kept asking why it had stopped.