Startup intelligence that surfaced funding rounds
before the news did

A signal-driven pipeline I built and operated solo during my internship with Microsoft's Enterprise Partner Solutions team in Central and Eastern Europe and Central Asia. It discovered, verified and scored partnership-ready startups across 12 countries — and flagged six funding events 4–22 days before public coverage, in a region where commercial databases openly acknowledge a coverage gap.

0countries in production
0startups tracked
0partnership-ready targets
0signals in 2 months
0days — best lead on a round

The receipts

Every internal timestamp is from the pipeline's append-only changelog; every announcement date links to public coverage. Anyone can check the math. Full receipts →

3 of the 6 catches landed while the system ran fully unattended — a 30-day window with zero operator intervention. The mechanism produces the latency, not the operator: hiring, portfolio additions and local-language press move weeks before the press release, and the pipeline watches exactly those.

How it works — the loop

One daily cycle. Country-specific code exists only at the edges; the core is one universal pipeline. Click a stage, or let it walk itself.

The economics — one decision, two outcomes

Re-score a company only when a real-world signal lands. Watching changes instead of snapshots is simultaneously the cheap design and the early-warning design.

LLM cost vs the naive design

re-score everything daily
100%
signal-driven (production)
~5%

The mini-engine in this repo reproduces the ratio on synthetic data: 31 scoring calls vs a 1,114-call counterfactual — 2.8%.

Cost of a seat

€12.6k–25kcommercial database, per team, per year — and thinnest exactly in this region
tens of $SUDigger, per month, all-in (LLM + infra), 12 countries

A slice of the real dataset

21 real 5★ targets across 11 countries — trimmed columns from the production database (the full dataset was delivered to the team it was built for). Switch to the synthetic tab to see the full output schema.

Design decisions that mattered

Verification is the product

LLM-guessed LinkedIn URLs were ~90% broken. Every URL is HTTP-verified with content matching; every company geo-verified before entering a country file; unverifiable facts published as honest "Not found" — never guessed. The dashboards earned daily use because nothing in them is hallucinated.

Conservative beats aggressive

The first name-cleaning pass made 969 automatic changes — and broke real names ("Labs of Latvia" → "Labs of"). The rewrite touches a name only when a legal suffix is positively detected: 513 changes, zero false positives. Cross-script dedup still collapses «Иннотех» and "Innotech" into one row.

Human data is sacred

The team annotates rows directly in the dashboards. Sync reads those columns before every rebuild and writes them back after. In months of daily rebuilds, no annotation was ever lost — the difference between a tool the team tolerates and one it trusts.

What I deliberately didn't build

A Copilot chat agent as the pipeline — prototyped, measured, rejected: a chat agent answers from one live web pass and degrades under orchestration. The correct shape is the agent as a window onto a hosted pipeline engine. That finding is the PRD; the harness view is in HARNESS.md.

Run the mechanism yourself

The production source is private. So this repo carries a clean-room mini-engine — the same loop on a synthetic 60-day world. Zero dependencies, zero keys, deterministic.

python3 -m engine
$ python3 -m engine