DEEP DIVE · UNFINISHED PROJECT

Network Mine

This one didn't ship the way I wanted it to. What got built: matching the team's LinkedIn connections against CRM accounts so we could see who already knew someone at a target company. What never got built: the real version, a workflow that walks the full multi-hop graph and tells a rep in Slack, with the outreach already drafted, the moment a deal opens or an account lands in their book.

prototype, never finished LinkedIn exports HubSpot Slack Lemlist (planned)
[ What Got Built ]

Matching connections to accounts, one upload at a time

The part that shipped was simple. Execs, and a handful of reps, exported their LinkedIn connections and uploaded them. The system mirrored open deals and target accounts from HubSpot and matched the two lists by company name, surfacing who on the team already had a connection at any account we cared about. A leaderboard showed each person's coverage of our target accounts, so we knew, in aggregate, how much warm network the team was sitting on.

It worked. Paths into pipeline that were buried in individual LinkedIn accounts became visible and searchable. When a new deal was created, Slack could show whether anyone on the team already knew someone there.

[ The Ceiling ]

First-degree connections aren't the real graph

What we had was a lookup table of everyone's direct connections. That's useful, but it's not the interesting question. The interesting question is: who is my exec connected to, who is that person connected to, and does that chain eventually reach someone at the account we're trying to open? LinkedIn doesn't hand that over. An export or API only gives you your own first-degree list, never the connections of your connections.

Tools like Swarm exist to solve this same problem, and they hit the same wall: they're still built on top of whatever slice of the graph LinkedIn's platform is willing to expose, so they only ever see a portion of anyone's real network. The only actual fix I could see was blunter than any tool: get everyone's full LinkedIn data export into one database, so the multi-hop graph exists somewhere outside of individual people's heads and individual LinkedIn accounts.

Why this stayed hard
That fix requires every exec and every rep to actually export their full connection data and hand it over, repeatedly, as their networks change. Getting one upload out of people was already friction. Getting a standing pipeline of full exports, from everyone, on an ongoing basis, is an adoption problem as much as an engineering one.
[ The Unbuilt Workflow ]

What I actually wanted: Slack tells the rep before they even start prospecting

The real version of this, in my head, triggers on two events: a deal opens on an account, or an account gets moved into someone's book of business. Either one kicks off a walk of the network graph, not just a first-degree lookup, looking for the strongest path from anyone on our team to anyone at the target account, including paths that route through people who aren't employees at all (investors, advisors, former colleagues). If a path exists, AI turns it into plain language and drops it in Slack: "You're connected to Person A, who's connected to Person B, who's connected to the VP of Marketing at this account." A drafted connection-request note goes with it, ready for the rep to send as-is or edit.

If this lived as its own hosted app instead of a Slack bot, it could go one step further: AI drafts a full warm-intro email instead of just a connection note, and on approval, the app launches it as a Lemlist sequence automatically. No manual campaign setup, no rep writing an email from scratch, just a Slack card and a decision.

sequenceDiagram
  participant CRM as HubSpot
  participant NET as Network graph DB
  participant AI as Claude
  participant SL as Slack
  participant REP as Rep
  participant APP as Hosted app (unbuilt)
  participant LL as Lemlist

  CRM->>NET: Deal opens on Account X,
or Account X assigned to Rep NET->>NET: Walk the graph for the
strongest multi-hop path to Account X NET->>AI: Send the path found (if any) AI->>AI: Draft plain-language explanation
+ connection-request note AI->>SL: Post the path and drafted note SL->>REP: Card: "You're connected to X,
connected to Y at Account X" REP->>REP: Approve, edit, or send as-is Note over APP,LL: Never built: approval handing off
to a full intro email + auto Lemlist sequence
Same trigger, two entry points
A new deal and a book-of-business reassignment are functionally the same event for this workflow: "a rep now needs a way into an account." Both should fire the identical graph walk and Slack alert, not two separate systems.
[ Why It Stalled ]

Real potential, real blockers

This is the one system on this site I'll call unfinished rather than shipped. Three things stood between the working prototype and the vision above: getting full, recurring LinkedIn exports out of an entire team instead of a one-time upload from a few people; standing up an actual graph database that could walk multi-hop paths instead of a flat matching table; and building the path-to-draft-to-Lemlist handoff, which never got past the design stage. Any one of those was doable. All three, on top of everything else that was shipping, wasn't something I got to.

"The tool that shipped answered 'does anyone on the team know someone here?' The tool I actually wanted would have answered 'here's who, here's the chain, and here's the message already written.'"

Want systems like these at your org?

Contact Me 727-637-2778