Skip to content
createwithlogic

US B2B sales-intelligence company

Contact-data engine

live · used daily by the client’s team

A sales-intelligence company was sitting on hundreds of thousands of contacts spread across 20 export files in two incompatible formats. Nobody could answer a simple question like “how many VPs of Marketing do we have in Texas?” Now anyone on the team can, in plain English.

863,484
contacts in the final database
0
duplicates after dedup
1.2M+
empty fields enriched
8/8
QA checks passed before handover

The starting point

  • Twenty large CSVs, ~777k raw rows, two different schemas, overlapping and conflicting records.
  • No way to search, segment, or export without a data person doing manual spreadsheet surgery.
  • Data quality unknown: duplicates, stale emails, inconsistent industry labels.
architecture
Sources
  • 20 CSV exports
    ~777k raw rows, 2 schemas
  • Enrichment feeds
    ZIP geodata · email validation
Pipeline
  • Normalize
    24 canonical fields
  • Deduplicate
    email PK + fuzzy name/company
  • QA gates
    8/8 checks before load
Serve
  • Postgres · 863,484 rows
    RPC search + count
  • Custom GPT
    plain-English queries via OpenAPI
  • Exports & bulk updates
    edge functions, 10k-row CSV
Twenty inconsistent exports on the left, one clean asset on the right, with natural language as the query interface.

What got built

01

Normalization & dedup pipeline

Every source normalized to 24 canonical fields, deduplicated on email primary key with fuzzy name/company fallback, industries collapsed into a normalized 35-industry taxonomy. Final state: 863,484 contacts, zero duplicates, 1.2M+ previously-empty fields enriched, 8/8 QA checks passing.

02

Natural-language search

Supabase RPC functions exposed via OpenAPI to a custom GPT: search and count by title, industry, location (including ZIP-radius search), company size, and revenue, with pagination, CSV export up to 10k rows, and bulk updates via edge functions.

Stack

  • Supabase (Postgres + RPCs + edge functions)
  • Custom GPT via OpenAPI actions
  • Python data pipeline
  • ZIP-radius geosearch

Got a system like this waiting to exist?

Start with the free teardown: I’ll map your three biggest automation leaks and what they cost you monthly. In your inbox within 72 hours.

Get your free systems teardown