The problem
A senior executive whose career runs on relationships, and a network too large to hold in one head.
The client's professional network had grown past the point where any human could keep track of it. Almost two thousand contacts across two decades of finance: former colleagues, current peers, board members, advisors, founders she'd backed, founders who'd pitched her. Every one of them mattered to a different degree, at a different moment, for a different reason.
The status quo was a LinkedIn feed and memory. Useful contacts went cold because she forgot they existed. Time-sensitive signals like a job change, a funding round, a board appointment were buried in noise. Outreach happened in bursts when something reminded her, never on a rhythm tied to actual relationship value.
The brief was simple. Stop letting valuable relationships decay. Surface what matters. Without forcing her to learn a new tool, because she would not.
Why this needed AI
The reason this was not a CRM project.
A traditional CRM would have failed here for the same reason every CRM the client had tried previously failed. The cost of maintaining structured data manually was higher than the value of having it. The unlock was an AI layer that could read free-form professional context (a LinkedIn bio, a public profile, a news mention) and turn it into structured signal without the executive tagging anything.
Classify a contact by industry, seniority, and relationship recency from a 200-word bio. Detect a job change from a profile diff. Score outreach priority from signal recency, relationship history, and strategic fit. None of this is possible with rules. All of it is straightforward with an LLM in the loop.
The point of the AI was to make the structured data cheap enough to actually have.
Architecture
How it was built.
Four layers, each doing one job.
- Ingestion. LinkedIn export plus profile enrichment via structured scraping. Contacts land in a Postgres store with a stable identity key that survives the messy reality of name changes, job changes, and duplicate profiles.
- Enrichment. An LLM pass over each contact's public profile produces a structured record: seniority band, sector, geography, signal markers (recent role change, funding event, public appearance), relationship hypothesis. Versioned, with the prompt and model captured for every record, so when the model changes you know which contacts need re-scoring.
-
Scoring and outreach routing. A state machine drives every contact through outreach states (
cold,warm,recently-touched,scheduled,dormant) with transitions triggered by time-since-last-contact, detected signals, and explicit executive overrides. The state is the source of truth; the LLM never decides who gets contacted, only what to surface for human decision. - Surface. Output lands in an Excel workbook the executive opens every Monday morning. Sortable, filterable, with prioritised rows and one-line LLM-written context for each. The most senior decision in the design was this one: meet the user where she works, not where the tool wants her to.
The hard parts
What made this engineering, not prompting.
Identity resolution. Two LinkedIn profiles for the same person, an old email address, a contact entered with a typo five years ago. A senior executive does not have time to deduplicate a CSV. The system had to do it, conservatively, and surface ambiguities for one-click confirmation.
Prompt drift across model versions. Classifications written under one model version produced subtly different distributions under the next. The fix: pin the model per record, store the prompt alongside the output, re-score only when a deliberate migration runs.
Signal vs. noise on profile changes. Every LinkedIn profile mutates. Most mutations are uninteresting. The classifier had to learn (via examples in the prompt, not training) what counts as a real signal versus formatting churn.
Trust gradient. The executive needed to trust the system enough to act on its recommendations and distrust it enough to override them. Every prioritisation came with the reasoning that produced it, in plain English, in the same row. No black boxes.
Results
What it produced.
The system runs every week without supervision. The executive opens her workbook on Monday and sees who to reach out to, what changed about them, and what to say. The networking advantage that used to live in her head, plus the part she'd been quietly losing for years.
This is the closest existing analog to the kind of build I most often run for new clients. A quiet AI layer underneath a familiar interface, doing structured cognitive work that scales badly with human attention.