Simon-Pierre Boucher
All Groupe Ka projects
Job·Ka icon
Groupe Ka
Mobility & Employment

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

Python
FastAPI
SQLite
pkgutil auto-discovery
74 offline pytest tests

Frontend

Editorial premium design
MapLibre
ka-ui

Platform

PM2 + ngrok
KA ID SSO
PDF reports (kacharts/kapdf)

Job·Ka is live

Every job from Quebec employers — part of the Groupe Ka ecosystem.

www.job-ka.com