Job·Ka
Every job from Quebec employers, straight from their ATS
969 direct employer connectors across 21 applicant-tracking platforms — the original career-page offer always wins over reposted portal listings.
21,492
Active offers
1,653
Employers
969
Direct ATS connectors
21
ATS platforms
6,856
With posted salary
$62,283
Average posted salary
Overview
Big job boards mix paid ads, reposted duplicates and dead offers; the only reliable source is the employer's own career page. Job·Ka plugs directly into the applicant-tracking systems of Quebec employers: 969 direct employer connectors across 21 ATS platforms (Workday, SmartRecruiters, Dayforce, Greenhouse, Lever, BambooHR and more), complemented by three public portals (Guichet-Emplois, Jobillico, Espresso-Jobs) — the direct offer always wins.
As of 2026-08-24 the base holds 21,492 active offers from 1,653 employers (963 sources), of which 19,856 are direct offers and 6,856 display a salary (average ≈ $62,283/yr) — salaries normalized to $/h and $/yr, never invented: parsing requires an explicit currency sign or unit, with plausibility bounds and a change log.
Connectors are auto-discovered — any BaseConnector subclass with a source_id is registered automatically, so plugging a new employer on a known ATS platform takes about ten lines. A diff engine compares content hashes on every sync: an offer missing for two syncs goes inactive (never deleted), and if a source returns a quarter of its historical median, removals are suspended and an alert raised. Compliance is documented per connector: 995 generated compliance sheets, no candidate personal data, ever.
Key Features
Direct-from-employer offers
19,856 offers come straight from career pages and ATS APIs; portal listings only complement, never override.
Salaries normalized, never invented
parse_salary() requires explicit currency or unit, applies plausibility bounds, converts $/h ↔ $/yr and logs every change.
Ten-line connectors
Auto-discovery via pkgutil: a new employer on a known ATS platform is a ~10-line subclass with throttling and an identifiable JobKaBot User-Agent.
Anti-drift diff engine
Offers absent two syncs go inactive (never deleted); a source below 25% of its historical median suspends removals and raises an alert.
Geocoded job map
16,303 offers geocoded via Nominatim with the official Adresses Québec fallback, served as GeoJSON on a MapLibre map.
Employer self-serve
A direct-submission form with manual moderation lets employers publish without an ATS.
Tech Stack
Backend
Frontend
Platform
Job·Ka is live
Every job from Quebec employers — part of the Groupe Ka ecosystem.