Job Hunter Bot
Python job search aggregator scraping Finnish job boards with Telegram delivery.
- Python
- httpx
- BeautifulSoup
- aiosqlite
- python-telegram-bot
- Role
- Solo developer
- Outcome
- Automated daily job listing delivery matching target criteria across 3 Finnish boards
Problem
Finnish job boards are spread across a handful of sites, each with its own search UI, filters, and pagination quirks. Refreshing three tabs every morning — and trying to notice what changed since yesterday — is exactly the kind of task a script should be doing. What I wanted was a single channel where only new matches showed up, so the signal-to-noise ratio was roughly one glance per morning.
Approach
The bot is a Python service built around httpx for concurrent async HTTP and BeautifulSoup for parsing the three target boards. Results are normalized into a common shape and written to aiosqlite, which also acts as the dedupe memory — anything already seen doesn't get re-delivered. New matches are pushed through python-telegram-bot to a personal Telegram channel on a daily schedule. Keeping the dedupe state in SQLite (rather than relying on timestamps alone) meant the bot could survive restarts and backfills without spamming me with old listings.
Outcome
It's been running reliably and delivers new matches from all three boards daily, filtered to the criteria I actually care about. The boring part — checking, comparing, filtering — is gone, and the morning triage is now about whether to apply rather than what exists. Source is on GitHub.