Pharmacy Job Finder
Node.js bot that scrapes 4 pharmacy job platforms hourly and sends real-time Telegram alerts for matching listings. Cron-scheduled, production-deployed, saves 3+ hours daily.
Replacing 3 hours of daily job-hunting with a Telegram ping.
The problem
A family member was spending 3+ hours/day refreshing 4 pharmacy job platforms looking for new listings — slow, repetitive, and they kept missing fast-moving postings that closed within hours.
The approach
Built a Puppeteer-driven scraper that polls each of the 4 platforms hourly via cron, dedupes against a small JSON-Lines history file, and pushes new listings to a private Telegram channel with a one-tap 'open posting' link. Each platform has its own scraper module so a layout change at one site doesn't break the others. Deployed to a small VPS with PM2 supervision.
Tech decisions
Outcomes
- Saves 3+ hours of daily manual search time
- Real-time Telegram alerts on matching listings
- Per-platform isolation — one site's redesign doesn't break the others
- Production-deployed under cron + PM2 supervision
What I learned
The best small automations replace specific, painful human routines — not 'general productivity'. Tying the output to a notification channel the user already lives in (Telegram, email) beats building a dashboard they have to remember to check.