Keenan George

From a public signal to revenue that did not exist.

One method, two live systems. One watches what owners say and turns it into a daily playbook. The other reads what companies leave in public and plans each match into the CRM. Every bar is one name; it goes white when a signal fires.

01 to 08 · Tellwright Capital, invented · 09 · a live client, unnamed

01 Profile

Decide who the next customer is.

Tellwright wants owners who are starting to think about a sale. Sector, size, ownership, and the moment: succession, a capital need, or plain exhaustion. The profile is written down before any list exists.

Tellwright Capital
Sector
Specialty manufacturing, industrial services, regional logistics
Revenue
$10M to $50M
Ownership
Founder or family, no institutional capital
Moment
Succession, capital need, or exhaustion
Written before any list
02 Roster

Turn the profile into named people.

We enumerate the companies that match, resolve the owner of each one, and enrich every person to a LinkedIn profile. The roster is deduplicated on that URL.

Live system

The roster is built by API and capped per company, so budget covers every company before any one company's deep bench.

Roster
1,120
Companies matched
1,384
Owners resolved
97%
With a LinkedIn profile
Deduplicated on the LinkedIn URL
03 Signal

Watch what they say, every day.

Daily monitors read each person's posts and comments for the language of a sale: succession, a next chapter, capital, buyer conversations, an advisor hire. A signal is a phrase with a timestamp. Companies leave a different kind of signal in public records; stage 09 shows those.

Live system

1,347 leaders monitored every day in the live system, past 24 hours window.

Signal feed
  1. Succession2h
    starting to think about what the next chapter looks like
    Dana Kowalczyk, Merrow Tool and Die
  2. Advisor hire6h
    we brought on an advisor to look at our options
    Luis Ferreira, Northgate Industrial Services
  3. Capital need11h
    capital is the constraint on the next three depots
    Priya Raman, Coastline Freight
  4. Buyer conversations19h
    34 years in and the phone calls from buyers are picking up
    Tom Ashby, Ashby Precision Castings
4 signals in the past 24 hours
04 Score

Fit plus intent, with a floor.

Fit is the profile match. Intent is what they said and how recently. A floor keeps weak signals away from a human, so the daily list is short and worth the hour.

Live system

A cap of 8 posts a day reaches a person. Below the floor, nothing is surfaced.

Score
OwnerFitIntentScore
Dana Kowalczyk549
Tom Ashby448
Luis Ferreira437
Floor 6. Below this line nobody sees it.
Priya Raman325
Marcus Ellwood224
Floor 6 · 3 above it today
05 Move

The daily playbook, posted by a person.

Two drafted comments per post, in the partner's voice. A person picks one and posts it. Each move is marked done, then checked against LinkedIn the next morning, so a claimed comment and a real one are two different rows.

Live system

Two drafts per post. Recorded as commented, skipped, or snoozed. Verified against LinkedIn the next morning.

Daily playbook
Dana Kowalczyk, Merrow Tool and Die
Thirty one years running this shop. Starting to think about what the next chapter looks like, for the team most of all.
Draft A

The team-first framing is the tell of a shop that will outlast the owner. Most transitions we see fail on that exact point.

Draft B

Thirty one years and the first question is about the team. That is the order a good buyer wants to hear it in.

CommentedSkippedSnoozed
Draft A posted · marked commented
06 Ladder

Familiarity has a count.

Two verified touches earn a connect request. Five earn a meeting ask. The ladder is per person and resets after 56 days, so nobody gets asked cold and nobody gets asked twice.

Live system

Connect at 2 verified touches, meeting ask at 5, over a 56 day window.

Dana Kowalczyk
  1. Day 1
  2. Day 4
  3. Day 9
  4. Day 15
  5. Day 22
Connect at 2Meeting ask at 5
5 of 5 verified · ask sent
07 Meeting

The ask lands on someone who knows the name.

The meeting ask goes out on the fifth touch. The hold goes on the calendar with its source attached: which signal, which comment, which day. The meeting starts with its history attached.

Calendar hold
Thursday, 10:30
Dana Kowalczyk, Merrow Tool and Die
  • Signal: succession, day 1
  • Five verified comments
  • Connected on day 4
  • Meeting ask on day 22
Source attached · day 22
08 Revenue

Then the only question that matters.

The deal closes. Would it have happened anyway? We compare what closed against the baseline that would have closed without the system. The gap is net-new. K+ marks it.

Closed revenue, indexed
Observed, after the system
100
Baseline, without it
64

36 of 100. The gap is net-new. It would not exist without the system.

100 observed · 64 baseline · 36 gap
09 CRM

The same method, pointed at companies.

A software client sells to small trucking and freight brokerage firms. Nobody posts that they are shopping for software, so we read what companies leave in public instead. Four signals, three free sources, no logins. Every match that passes the gate is planned into Twenty CRM as a company, a person, and a dated note with its evidence attached, through the Twenty REST API. A person approves it before anything is written.

Live system

Run by hand every week. 117 automated tests on every change. Nothing writes to the CRM until a person reads the plan.

Signal lanes
  1. Rival customer

    A rival platform gives each customer a named integration subdomain. A new certificate on one points to a company that already pays a competitor. It fires only after a person has identified the company and recorded its size.

    Public certificate logs · strength 5 under 90 days, else 3 · expires in 120 days · Switch call
  2. Homepage tell

    The visible text names one of 19 rival products, or advertises a carrier portal, a tracking page, or a load board.

    The company homepage · strength 4 for a rival, 2 for a portal · expires in 90 days · Side-by-side demo
  3. New registration

    A new registration since the last run, checked by hand against the registry before anyone calls.

    Public carrier registry · strength 3 · expires in 60 days · Intro call
  4. Fleet growth

    Trucks or drivers up since the last snapshot. A fleet that grows outgrows its spreadsheets.

    Public carrier registry · strength 3 at 25 percent or more, else 2 · expires in 60 days · Growth call
Free public sources, no logins
The gate
67,487
Registry rows in market
314
New since the window opened
8
Passed the gate
  1. 01excluded_domainPartner or own domain
  2. 02excluded_nameMovers, couriers, towing, customs, software
  3. 03countryOutside the market
  4. 04regionOutside the regions in scope
  5. 05not_for_hirePrivate fleet, hauls only its own goods
  6. 06size_unknownNo size on record. Fails closed.
  7. 07fleet_rangeUnder 10 or over 100 trucks
  8. 08drivers_maxOver 100 drivers
  9. 09staff_rangeBrokers outside 1 to 100 staff

Certificate lane, an earlier run the same day: 191 certificates, 39 named hosts, 4 fired, 24 sent to a person to identify.

264 of 314 failed on fleet size alone
Twenty / Companies / Quillfeather Haulage
Name
Quillfeather Haulage
Domain
quillfeather-haulage.example
Employees
24 (size hint, trucks on record)
Address
City and region from the registry
Created by
Signal push
R. OkaforCompany officerRegistry record, third party. Never sent to an email tool.
  1. Homepage tell: Quillfeather Haulage
    fingerprint:
    4d7a12c9...e01f
    type:
    website_fingerprint
    strength:
    4
    detected:
    2026-09-29
    evidence:
    homepage names a rival dispatch product
  2. New registration: Quillfeather Haulage
    fingerprint:
    9c41e0b3...b27d
    type:
    new_registration
    strength:
    3
    detected:
    2026-09-15
    evidence:
    24 trucks, 30 drivers, for hire
Play for this signalSwitch call, side-by-side demo, chosen by a person
Invented company, real note format, not a live record

Nothing writes until a person reads the plan.

The push runs in three modes. With no key it only plans. With a key it only looks things up. Writes happen on a second, deliberate command. Companies match on domain, then on a cleaned name. People match on the full name or the first and last. A note is skipped when its fingerprint is already linked, so the same signal never lands twice.

Twenty push
No key: planKey: look upApply: write
RecordMatch onResult
companyQuillfeather Haulagedomainplan create
personR. Okafornameplan create
note9c41e0b3fingerprintplan create, link
note4d7a12c9fingerprintplan create, link
companyOttergate Freight Linesdomainmatched
note71be0a44fingerprintskip, linked
Test run: 9 companies, 6 people, 11 notes, 11 links, 37 planned requests

What it takes to run either system

Four parts, none of them optional, whichever system runs: the profile, the sources, a person in the loop, and the record.

Requirements
01A profile
Written down before any list. Sector, size, ownership, moment. It sets the gate for people and for companies.
02Signal sources
Posts and comments for people. Registries, certificate logs, and homepages for companies. Free public sources first.
03A person in the loop
People system: about an hour a day, a person posts every comment. Account system: a weekly review, and a person approves every CRM write. Nothing goes out on its own.
04Measurement from day one
Every signal, every action, every record, kept with its source. The baseline is set before the first touch goes out.
Set before the first touch goes out

Want this running for your business?

One call. We map the profile, the signals your buyers leave in public, and the person who works them, and say what the first eight weeks look like.

Book the call