All projectsIndependent product Lead-Prospecting Platform

Pulse

Twelve sources. One queue worth reviewing.

My role
Solo product design & engineering
Built as
Independent product
Engagement
2026
Location
Solo build

Pulse opportunity inbox with lead sources, filters, and matched skills

Full size
Inside the productPulse

The context

What needed
to work.

My prospecting starts before a company appears in a polished sales list: hiring threads, funding events, product launches, and founder activity. Reviewing those sources in separate tabs was becoming the job.

Pulse is the acquisition workspace I built for that workflow. Source-specific collection, contact verification, saved searches, and outreach state feed one keyboard-friendly opportunity inbox.

My contribution

I built the Next.js review experience, FastAPI acquisition pipeline, source adapters, verification stages, scheduling, and Supabase-backed records.

Inside Pulse

Explore the product.

The key workflows, up close.

01Repeatable research

A saved search does the repeated work.

Saved searches combine sources, keywords, locations, and a schedule. Scan status and results remain attached to the search that produced them.

PulseRepeatable research

Pulse saved searches with scan schedules and source status

Full size
The thinking behind it

Each source keeps its own fetch strategy, rate limits, retries, and hydration requirements while returning a shared lead record.

03Less repetitive setup

Build a useful search without typing every keyword.

Keyword bundles group related terms into selectable chips. Active and partial states reflect what is actually selected rather than behaving like independent toggles.

PulseLess repetitive setup

Pulse categorized keyword bundle picker

Full size
The thinking behind it

Removing a bundle removes its terms while preserving manually added keywords. Accent normalization and word boundaries help technical terms match cleanly across English and French sources.

04Reviewing the results

Make a large queue quick to work through.

A command palette, keyboard navigation, quick filters, and matched-keyword highlighting support repeated triage. The original source remains reachable from the opportunity.

PulseReviewing the results

Pulse command palette for navigating opportunities and product pages

Full size
The thinking behind it

Review actions and outreach stages preserve the evidence that made a lead relevant in the first place.

Behind the interface

The decisions
underneath.

  • Next.js
  • FastAPI
  • Supabase
  • Playwright
  • Scrapling

Choose the fetcher per source

Direct APIs, HTTP parsing, Scrapling, and Playwright are selected according to the source. One normalized contract keeps that complexity out of the inbox.

Verify contact quality before outreach

Syntax, MX, SMTP, catch-all checks, and company-domain ranking reduce widget and tracking addresses in extracted contact data.

Bound concurrency and show progress

Separate worker limits for detail fetching and email extraction keep long-running scans responsive. Progress updates follow completed work rather than a decorative timer.

My work on Pulse

Built into
the product.

  • Twelve source adapters and a unified lead model
  • Saved searches and scheduled acquisition
  • Contact verification and keyword matching
  • Keyboard triage and outreach workflows
Next project

Atlas

Personal Finance

Have a product
that needs this kind of care?

Let’s talk about it