Skip to content
IL
← Back home

Job-search copilot, interpretable models

Kairos

Screens 102 career sites every morning, scores each offer out of 100 like a hiring manager and prepares a tailored CV, letter and e-mail. The score is an explicit nine-factor model with TF-IDF similarity; the interview coach runs on naive Bayes, BM25, Bayesian knowledge tracing and Thompson sampling, all written from scratch. No generative AI, nothing invented.

102

career sites screened

9

score components

29

roles modelled

118

skills in taxonomy

Year
2026
Built with
Python, TypeScript, PostgreSQL, TF-IDF / BM25, Naive Bayes, LaTeX
κ

Problem

Looking for an internship is a full-time job: dozens of sites to watch, one CV to rewrite per offer, and no way to know which offers are worth it.

What Kairos does

Every morning it screens 102 company career sites (Workday, Greenhouse, Lever, Ashby, SmartRecruiters...) plus France Travail and Adzuna, scores each offer out of 100 the way a hiring manager would, and prepares the application: a one-page LaTeX CV reordered for the offer, a cover letter, an e-mail draft, the people to contact and the interview prep. The user reviews and sends.

The score is a model, not a vibe

The score is an explicit weighted sum of nine components, each in :

for required skills, nice-to-have skills, text similarity, role, seniority, start date, location, languages and education. Skill coverage is weighted, soft skills counting for :

Text similarity is a from-scratch TF-IDF with sublinear term frequency, , compared by cosine. Every point of the score is shown with its reason, so the user can disagree with it.

The interview coach

Written answers are scored and the next question is chosen by small statistical models, all implemented without external libraries:

  • Multinomial naive Bayes with Laplace smoothing , learning online, tags Situation, Task, Action and Result in a story and classifies company replies (interview, test, rejection, offer).
  • BM25 and TF-IDF cosine measure how close an answer is to the question.
  • Bayesian knowledge tracing updates the mastery of each topic after every answer: on a correct answer, then .
  • SM-2 spaced repetition decides when a question comes back.
  • Thompson sampling picks the next question between weak topics and unseen ones, drawing from .

A deliberate choice

No generative AI: scoring and writing are deterministic and the tool never invents a skill that is not in the CV. The only learned model is an open translation model (OpenNMT) for the CV, and each translated sentence is checked for numbers, protected terms and length.

Product

Local single-user mode or online multi-account platform, Stripe billing, an Autopilot that applies from the user's mailbox under explicit rules, and a bridge with QuantPad: the skills an offer asks for and the CV lacks become a training route.

Next

NotitiaPlatform →