WorkLenovo

  • Lenovo

Client story

Ready to buy, with the evidence to prove it

Buying signals hide across public and purchased data. We built AI agents on a deterministic spine that read 24 sources and hand Lenovo’s sellers the accounts ready to buy, why now and who to call.

Client
Lenovo
Industry
Technology manufacturing
Timeline
18 months
Built with
Python, Dagster, AWS
Example County and its records are illustrative, while every count comes from the delivered system.

The problem

Organizations show they are about to buy technology in many small ways. A city posts a bid. A university wins a research award with a computing line. A school district files for federal connectivity funding. A company’s technology spending jumps.

All of it is public or purchasable. Almost none of it sits in one place. It lives in federal portals, city bid sites, grant databases and company data feeds, each with its own format and schedule.

Lenovo wanted its sellers to see those signs per account, with the reason and the person to call. No team can read all of that every month. So we built a system that does.

What we built

AI agents, each with one job, held in place by code that does everything that must be exact.

  • Read. Each of 24 sources has its own recognizer. Agents pull organizations, people and signals into a strict schema. Code parses structured fields.
  • Match. Code folds records from every run into one account, by exact ID then fuzzy name. A change agent turns shifts between runs into new signals.
  • Stage. Agents propose where each account sits, from target through awareness, consideration and decision to purchase. Evidence rules then check the call.
  • Contact. Agents find the people who buy technology and draft an email and a call script for each account.
  • Review. Two reviewer agents walk every card through Lenovo’s own quality specification. The gate fails closed and a person can edit any decision.
  • Deliver. One card per account with the stage and why, sourced signals and contacts, sent as PDFs and lead files.

How we know it works

An early review set the direction. The agents were mostly right about who did what, but often irrelevant. A research award for microbial inoculants is real and no reason for Lenovo to call. So signals must now tie to the manufacturer’s core product categories and a source statement that the account runs, maintains or must buy infrastructure.

A model can call any account ready to buy, so rules check every call against evidence tiered by closeness to a purchase. They work both ways. When a model is too cautious and the evidence meets the bar, code raises the call.

The last piece is a repeat check against Lenovo’s approved loads, so an account loaded in the last six months is not resent without a new need. Replayed on September’s cards with only prior knowledge, it showed account by account where its rules would disagree with the manufacturer’s choices.

  • A decision call needs a signal close to procurement, such as an open bid. Context alone never gets an account past awareness.
  • Bids past their deadline drop out. Signals older than twelve months do not count. An awarded contract is a finished purchase, not a lead.
  • Contacts are filtered to IT, technology, procurement, finance and executive leaders. Generic inboxes are dropped and invented names, emails and phone numbers are caught.

Results

account cards built in September’s monthly run
1,491
public and purchased data sources, each with its own recognizer
24
accounts Lenovo approved and loaded in August and September
188
automated tests behind the system
2,232

What changed

In September the system built 1,491 account cards. An existing repeat filter kept 781 for review. Lenovo’s own team made the final call. Across August and September it approved and loaded 188 accounts with 636 contacts into its sales systems: 101 accounts in August and 87 in September.

Where it stops

  • Our measure ends at Lenovo’s approval. Whether those accounts became revenue lives in its sales systems, outside what we can see.
  • The new repeat check was validated on saved September data and ships switched off. Turning it on is a monthly operating decision.
  • Lenovo’s load history only goes back to August, so the six-month window is not yet covered. Accounts without a known delivery are held for a person.

What we delivered

  • 24 sources, each with its own recognizer, refreshed weekly or monthly
  • Reconciliation across every run, with a change agent that turns shifts into signals
  • Buying-stage agents held to deterministic evidence tiers and expiry rules
  • Two reviewer agents on Lenovo’s specification, failing closed, with human override
  • Monthly orchestration on AWS, provisioned with Terraform and covered by 2,232 automated tests

Technologies

  • Python
  • Dagster
  • AWS
  • Terraform
  • Large language models
  • Parquet

More work

Client work

Modernizing the insurance journey across two brands

Two HUB insurance brands, Insureon and TechInsurance, needed steady work on the pages customers use and the systems behind them. We built policy recommendations and profession search, gave editors better publishing controls, made accessibility checks repeatable and kept the releases moving.

Read the story
  • HUB International

Client work

The claims nobody needs to open

Every short-ship deduction at Winland Foods went to a person, though most investigated claims proved real. We built a model that scores each new claim overnight in Snowflake, clears only the sure ones and was graded on months it never saw.

Read the story
  • Winland Foods

Bring us the project that matters most.

Tell us what you’re building and what’s in the way. You’ll hear back within 24 hours.