Work / design

Scout

an automated lead finder for a French VC fund

Role
product designer and developer
Timeline
2 months
Activity
VC Fund
Context
Client: COO of a VC fund
Tools
AI Module, Wiza, AWS hosting, Frontend, Python, Scraping
30+qualified leads per day from day one
Scout output in a spreadsheet, TRUE or FALSE per profileScout V2: on/off, search links, editable prompt, healthLinkedIn Sales Navigator search used to source Scout leadsWiza dashboard used to reveal contact details

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.