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 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.