The brief
The fund wanted to be first to contact early-stage French founders the moment they signalled on LinkedIn. Being a French fund was its advantage, so every lead had to be French, with no exceptions.
I worked alongside the COO to create an automated qualified lead finder to be the first to reach out to early stage french tech founders.
We created Scout over 2 months, starting with a local scraper that brought in 30+ daily leads. Then finished with hosting and executive dashboard.
The core problem
how do you tell if a profile is French?
Only a name and job history are available. My solution was a model trained on the INSEE public name rankings that estimates how likely a name is to be French. The client wanted an LLM instead, he insisted “j’y tiens beaucoup”. I advised against it, because GPT-4o performed poorly on this task, but we built what the client chose. We never measured both approaches’ accuracy, but GPT 4o could give you a TRUE answer once, and a FALSE answer if you prompt it again on the same profile. No consistency.
Design principle
the smallest possible surface
The first version was a black box with no interface. Each day it filled a Google Sheet and posted to a Slack channel when the scraping job finished. The COO already lived in spreadsheets, and was limited in time so I gave him no new tool to learn. Output was a single TRUE/FALSE per profile, which kept token costs predictable.
What happened next
After a month he asked for a V2 with three things:
- Health metrics for the tool, with on and off switch
- An editable GPT prompt, so he could iterate himself.
- Sales Navigator search URLs as inputs for advanced filters.
V2
- On/off toggle
- Search links
- GPT prompt
- GPT output
- Health check
Decisions and tradoffs
- Minimal interface first: the spreadsheet and Slack matched how the user already worked.
- TRUE/FALSE output: cheapest and easiest to scale, but it hides the reasoning.
- Following the client over my model: this preserved the relationship, but consistency suffered, and so did satisfaction.
- Giving control in V2: the editable prompt and URL inputs moved the product from black box to configurable tool.
Outcome
The client ended the service after V2 without giving a reason. I can’t know why. These are my hypotheses: the LLM’s name accuracy never met his bar, or he found a way to recreate our system with No code tools he’s more familiar with like Zapier (choosing the evil he knows over a black box).
What I learned
- When I’m overruled, I should set a measurable test, such as accuracy on 200 labelled profiles, before building, so the decision rests on evidence rather than on persuasion.
- “Minimal” isn’t automatically right. After one month, this user wanted visibility into how the tool worked. I should have offered a simple health view from the start.
- Cost is a design constraint. Showing the client what full reasoning would cost per lead is the kind of conversation I’d have earlier.



