Skip to content
Lee Denness
← All work
Nº 02Live· Paying customers

Bycatch

A Chrome extension that warns recruiters when a LinkedIn candidate works at one of their clients. My own product, which I designed, built and still run.

Role
Founder · product, design & engineering
When
2023 – now
Stack
Chrome extension, React, TypeScript, Stripe, Astro, Vercel
Website
bycatch.app ↗
The Bycatch dashboard, showing a team's client list and a getting-started checklist.

The problem

Recruitment agencies agree not to poach staff from their own clients. In practice the off-limits list lives in a spreadsheet that nobody checks while they’re working. A consultant only finds out after they’ve approached someone they shouldn’t have.

What I built

Bycatch puts the list where the work happens. While a consultant browses LinkedIn, the extension flags anyone who currently works at a client. Team leads manage the list, invite colleagues and handle billing in a web dashboard, and changes reach every consultant’s browser in real time.

I built and run all of it: the extension, the backend, the dashboard, the marketing site and the pricing. Teams pay one flat price rather than a price per seat, and the first month is free.

Product decisions

Private by design. Candidate data never leaves the consultant’s browser.

Read-only. The extension only ever reads the page. It never clicks, messages or automates anything on LinkedIn.

Honest about certainty. Every flag says how sure it is: Confirmed, Possible or Unverified. Missing a client and wrongly ruling out a candidate both cost a consultant, so Bycatch never claims more than it knows.

Teams, not duplicates. When a colleague signs up, they’re guided into their company’s existing team rather than starting a new one.

Built to keep up. LinkedIn changes its pages without warning, so the extension is built to be updated quickly, with automated tests that run on every change.