Forge: Rank Tracking That Outran a Marketplace Blacklist
A rank-tracking SaaS that follows about 20 products, the client's and its competitors', across 5 locations on a major B2B marketplace, with weekly reports. When the marketplace blacklisted Vercel's IPs and blocked launch, I moved the crawler onto residential proxies.

The problem
The client needed to know where its products ranked against competitors, location by location, for its key products. Rankings meant search position on a major Indian B2B marketplace, where buyers search by product and city.
What I built
A rank-tracking SaaS that checks about 20 products, the client's and its competitors', across 5 locations on a schedule and sends a weekly report.
How it works
- Scheduled crawls: cron jobs run the checks per city on a fixed schedule.
- Control panel: a UI to configure search parameters, a history graph of rank over time, and controls for the scheduled email jobs.
- Anti-bot proxies: requests go through a residential sticky proxy, paced in search groups, so the checks aren't blocked.
- Storage: results land in Supabase Postgres for history and comparison.
- Reports and email: a weekly email through Resend gives the client a table of position changes for every tracked product.
- Launch fix: the deployed checks were failing and blocking launch. I traced it to the marketplace blacklisting Vercel's IP ranges. I routed requests through a residential sticky proxy instead and added a 30-second pause between search groups, so the crawler looks like steady normal traffic.
Result
About 20 products tracked across 5 locations, around 100 requests a day through the proxy without being blocked, with a weekly table of position changes in the client's inbox and the full history in the dashboard.
My role
I built Forge solo, from the start: the crawler, the scheduling, the UI for search settings, rank history and email jobs, and the launch fix.