← Back to projects

Prospect Identifier

27 hours

A pipeline that takes messy public web data and outputs structured decision-maker profiles. Built and deployed for a Y Combinator-backed startup in 27 hours.

PythonFlaskSQLiteBeautifulSoupOpenAI APIApollo.io APIGmail OAuth

Delivered end-to-end for a Y Combinator-backed startup. Concept to deployed production system in 27 hours. Scoped, architected, and shipped solo. Implementation AI-directed.

How It Works

Crawl
Agency websites + nav discovery
Scrape
Client logos + case study text
LLM Structure
Dedupe to top 10 companies
Enrich
Apollo.io API for contacts
Output
Gmail drafts (never auto-sends)

Key Product Decisions

Legal-first data sourcing

The founder wanted to scrape LinkedIn. That violates their anti-scraping policy. I found the legal path: agency websites publicly list their clients through logos and case studies. Public data in, structured data out.

LLM as structuring engine

The LLM (OpenAI, temperature 0, strict JSON) deduplicates and structures messy scraped names into clean company records. It structures data - it does not discover or fabricate it.

API enrichment, not LLM guessing

Decision-maker contacts come from Apollo.io's API, not from the LLM. The model never fabricates contact information.

Drafts, never sends

Gmail integration creates drafts. A human reviews and sends. Deliberate product decision, not a technical limitation.

The Story

A Y Combinator-backed startup needed to identify prospective agency clients and their decision-makers from public web data. I delivered the full system - idea to logic to architecture to deployment - in 27 hours. Real client, real delivery.

I found a different path: competitor agency websites publicly list their clients through logos, case studies, and testimonials. That public data is the input. Structured decision-maker profiles are the output.

I delivered the full system - idea to logic to architecture to deployment - in 27 hours. Real client, real delivery.

Video walkthrough coming soon.