Work

Research automation

Granite International

I built a research tool for a wholesale sourcing business that finds supplier emails, then uses AI to categorize each supplier and write the first line of an outreach draft.

Granite International supplier-research tool with a website lookup, supplier details and an outreach email draft.
15 to 1 minEstimateresearch time per supplierCase-study estimate, not a controlled timing study.
Client
Wholesale sourcing
Role
Built
Timeline
2026 · Delivered
Stack
Python, Playwright, Flask, GPT-4o mini, Claude Haiku

Patrick communicates clearly, understands requirements quickly, and delivers exactly what we discuss. The system he built is already working well and bringing real value. It's been a professional and efficient collaboration, and I'm happy to continue working with him on the next steps.

Adam P. Balogh, Granite International LLCWholesale sourcing

A URL starts site research, sourced email extraction, AI categorization, and an AI-written opening line in the template, with plain-English errors when a step can’t finish.

Each supplier required manual site research, contact discovery, categorization, and a personalized opener. The client wanted a reusable tool he owned.

Supplier research took about fifteen minutes per lead and depended on repeating the same manual steps.

  1. Built a tool that reads supplier websites and finds published business email addresses.
  2. Added an AI step that reads each supplier’s site, picks one or two product categories, and writes a short personal line for the outreach draft.
  3. Added an editable message template, a browser interface, and clear messages when a research step cannot finish.

Return uncertainty instead of a guess

Prefer general business inboxes and report “email not found” when no address is present.

Hand over a reusable tool

Run locally with the client’s own API key and keep the outreach template editable without code changes.

Say hello.

Tell me what you'd like to build or improve.

Quick navigation

Find a page.

Use the arrow keys to choose a result, Enter to open it, or Escape to close.