// the 10-second version
Like a friend who reads every job board for you, all day, and only texts you when they find something you'd love.
// why it's cool
Job boards are noisy
Most listings are the wrong field, city or level, and checking several sites daily wastes hours. findr does the boring part in the cloud, for free, and stays silent when there's nothing worth sending.
// how it works
Every four hours
- FetchAbout 500 new listings from Jobicy, SimplifyJobs and Internshala.
- Skip repeatsAnything already seen is dropped.
- Quick filterCheap keyword checks remove obvious misses.
- AI scoringAn LLM rates each remaining listing 0–10 against my preferences.
- SendTop 5 in India and top 5 abroad, by my favourite cities, straight to WhatsApp.
// under the hood
Small pieces, one job each
- Scraping: Python with requests and BeautifulSoup, reshaping three sources into one format.
- Memory: a SQLite database stores a short fingerprint (MD5 hash) of every listing, so nothing is sent twice.
- Judging: an open-weight LLM via Groq, fast and free at this scale.
- Delivery and timing: Twilio sends the WhatsApp messages; GitHub Actions runs everything on schedule, so no computer has to stay on.
// the tricky part
Using AI sparingly, keeping secrets secret
Sending 500 listings to an AI every few hours would be slow and hit rate limits. The keyword filter does most of the rejecting for free, so the AI only sees real contenders. API keys and my phone number live in encrypted repository secrets, never in the code, which keeps the project safe to share publicly.