Screen recording of Winnow sorting a sample contact export into keep, trash and review

Winnow

The CRM cleaner.

Status: Public. Web

Sorts a HubSpot contact export into keep, trash and review before it goes into Attio, so years of Gmail-sync clutter stay out of the new CRM.

Role
Designed and built
Status
Live on the web. Anyone can use it.
Built with
  • Python
  • JavaScript
  • HubSpot API
  • Attio API
  • Vercel
Open Winnow (opens in a new tab)

Why it exists

A CRM migration is the one chance to leave the junk behind, and nobody reads every contact by hand. Winnow does the first pass, flags the judgement calls, and never deletes anything from HubSpot.

What it does

  • A rules pass first, then an optional AI pass for the ambiguous contacts.
  • A keyboard-driven review screen for the contacts that need a person to decide.
  • One-click Attio import that updates existing records instead of creating duplicates.

How it’s built

  • Started as a Python CLI. The web version is a verified port that runs entirely in the browser, so contacts never leave the device.
  • Works with your own AI key, or with no AI at all.