Job Monitor
Scrapes eight job boards daily, matches postings against a real
Overview#
A self-hosted job board aggregator and application tracker, replacing a routine of checking the same handful of sites by hand. Eight scraper adapters, each written and verified against the real site it targets rather than a guess at typical job-board markup: five Maldives-specific boards (furusathu.com, job-maldives.com, Jobsicle, Maldives Islamic Bank's own careers page, and the Maldives National Careers Service) and three global remote-work boards (Dice, RemoteOK, WeWorkRemotely). Each adapter's own file documents exactly how it was verified and against what date, rather than assuming a scraper keeps working just because it once did.
Matching, not filtering blind#
Every posting is matched against a real eligibility profile before it counts as a match at all: a keyword and title gate, then a location and work-authorization gate. The deliberate design choice is in how ambiguity is handled. A posting abroad with no mention of accommodation or visa sponsorship is marked needs_review, never silently excluded. Only an explicit excluded keyword, or a complete title-keyword miss, drops a posting from matches entirely. The same philosophy the Tracker uses for its own numbers: nothing is invented, and an answer the data doesn't actually support stays flagged rather than guessed at.
Every matched posting moves through the same pipeline: new, viewed, saved, applied, interviewing, offered, rejected, or dismissed, tracked explicitly rather than left to memory.
Drafting a CV, without inventing one#
The newest piece: generating a tailored CV and cover letter per posting, built from the real career data already published and kept current at profile.fiventhree.com, not a second copy of it. The model's job is strictly to reorder and lightly rephrase real material for relevance to one specific posting; contact details, education and technical skills never pass through it at all, pulled straight from the untouched source data instead. Nothing it produces may introduce a company, title, date, skill or achievement that isn't already real, the same "nothing is invented" rule this whole domain holds to. The layout mirrors a real, hand-authored reference CV rather than a generic template, rendered to PDF with WeasyPrint.
Notify and track, never auto-apply#
The one action in this app that does something irreversible to the outside world is sending an application email, and it happens exactly once per posting, on an explicit click, after previewing the recipient, subject, body and the generated PDF in full. Everything else in this app only notifies and tracks. There is no path from "a new posting matched" to "an email went out" that doesn't pass through a human looking at it first.