CometScout reads the job boards and alerts you already get, judges each posting against your profile, and picks the two best open roles of the day. For each one it drafts a CV from text you approved, a cover letter when the form asks for one, and answers to the form's questions. It uses the Claude or ChatGPT subscription you already have.
The Today screen with the fictional example profile: the picks, the reasoning behind each one, and its application pack.
One run on a timer, on your server. By the time you sit down, the decisions are made and the paperwork is drafted. What stays yours is the judgement call and the send button.
Greenhouse, Ashby and Lever boards of your target companies, RealtimeJobs, LinkedIn and hh.ru alerts from Gmail, Hirify, career-ops, and any tool that drops a file into a folder.
Hard rules before any model call: language, work permit and citizenship, on-site countries, remote scope, sponsorship refusals, excluded companies and industries. A missing field never rejects a job; it is flagged.
Each job is judged against your profile: strong fit, investable stretch, long shot or weak fit, with the reasons, the gaps, the next step, and your history with that company.
The best two open roles of the last two weeks, at different companies. Dead links, and roles you are already talking to, are skipped.
A CV assembled only from lines you approved, form answers in your voice, a cover letter when the form asks, and a list of what to check before sending.
An agent that writes job applications has one hard requirement: it must never put a false claim in front of a recruiter. Most of the design follows from that.
The CV comes from a vetted library: the model selects and orders lines, and may write only the tagline and summary. Your own fact rules and lint rules catch every claim you have corrected once, and a CV that still breaks one is not sent.
Before replacing the pipeline it grew out of, it was checked on that pipeline's real data: identical tracker rows, 14 days of gate decisions replayed with no unexplained difference, and outcome tracking agreeing on 28 of 30 email events.
Each decision is logged with the options that were considered and what would reopen it, from the dedupe rule to the update policy.
Work is briefed as self-contained tasks to Claude Code sessions; every pull request gets an independent review against real data and the full test suite on Linux and Windows before it is merged.

On the phone: check the pack, copy an answer, mark it applied.
The goal: nobody should need a terminal or an AI coding session after the first setup.
A web app served by CometScout itself: the Today screen is in preview; next come offline access, notifications, and the same screens as a Telegram Mini App, with one bot for picks and outcomes.
One ZIP you can open and read, nightly backups with restore, and an encrypted export for secrets.
Fit verdicts scored against human labels, blind comparison of CVs and answers, and a check that the answers still sound like you.
Release notes in the bot and the app, a backup before every update, and automatic rollback if anything fails.
An interview coach, meeting transcription on your own GPU, and a hosted option for people who would rather not run a server.
A Debian or Ubuntu server, Node.js 20, and a Claude or ChatGPT subscription. Your data stays on your server; only the model calls leave it.
# on the server, as your normal user git clone https://github.com/Dreamkeeper/cometscout.git && cd cometscout bash deploy/install.sh # then open the folder in Claude Code or Codex and say "set me up"