Zaid Bin Haris Available for new work
All work

Lead enrichment pipeline

A six-phase run where something always fails partway

A long-running enrichment and scoring pipeline that survives the third-party rate limits and timeouts it is built on.

  • Year
    2026
  • phases, resumable
    6
  • Stack
    Python, MongoDB, LLM scoring
  • Status
    Not public

The problem

Build a qualified prospect list: pull company records in paginated batches, enrich them, then score each against an ideal-customer profile.

The constraint

The engineering problem is not the scoring. It is that a six-phase run across rate-limited third-party APIs takes long enough that something will fail partway through, and restarting from the beginning wastes both hours and paid API calls.

The decision

Every phase checkpoints its state to disk. Supervisor scripts watch the process, notice when it has died or wedged, and resume it from the last checkpoint rather than the start.

A pipeline that cannot resume is a pipeline you run once, and one you run once is one you cannot iterate on.

Client work. Described by mechanism rather than by customer, and the prospect data stays out of it.

At a glance

Phases
6, each checkpointed
Recovery
Automatic resume
Scoring
LLM against an ICP