Noé Geste
experiment[04] · Job desk · Personal tool · shown with demo data, every company invented

A job search on one screen.

Job desk is the dashboard I built for my own job search. Agents scout new roles every morning, tailor applications and prepare interviews. Everything they write lands as plain Markdown in my notes. Sending is always mine.

Electron · Node · plain HTML, CSS and JS Claude Code agents · Markdown vault Solo, AI-directed design & build Mac menu-bar app · demo data · not public
Job desk overview: today's job actions in order, overdue follow-ups, a package ready to send and scored scout matches, then counters for waiting, due, drafts and matches, demo data
Overview, the day in order: follow up, send what is ready, decide on this morning's matchesjobdesk · demo_data
ChallengeRun a job search without a spreadsheet, a task app and ten browser tabs.
My roleConcept, the agents' briefs, interface, copy and the build, directed through Claude.
TeamSolo. One user: me.
TimelineSeptember 2026 · in daily use.
StackElectron menu-bar app, a small Node server, a Markdown vault as the only database.
AgentsScout, tailor, follow-up, interview prep, case study and week review, each a Claude Code skill.
RuleAgents draft and score. Nothing is sent by an agent, ever.
StatusWorking private app. Screenshots use an invented job search: fictional companies, roles and dates.
01 · The idea

The notes are the database.

My job search already lived in Markdown notes: one per application, one per scout run, one per interview briefing. Job desk reads that folder as it is and shows it on one screen. It writes back only for a handful of things I trigger myself: sent, not interested, dismiss.

Because the notes are plain text, nothing is locked in the app. If Job desk disappeared tomorrow, the search would still be there, readable, in a folder.

02 · The agents

Every button runs one agent.

Each agent has one job and a written brief. The scout runs by itself every morning. The others run when I press the button, and every run streams what it reads and writes.

08:30 · every morning

Scout

Brings back roles worth a look, scored against what I am after, with the reason for each score. I can also paste a posting and have it scored on the spot.

On request

Tailor

Reads the posting and my career notes, then drafts a brief, a CV and a letter in my voice. The application note lists what to check before I send.

On request

Prepare

Picks an application and writes an interview briefing: what they ask for, the proof I would lead with, the honest gap.

Job desk agents view: the run history with the morning scout, follow-ups and week review, and a tailoring agent streaming the files it reads and writes, demo data
Agents, the run history and a tailoring run streaming what it reads and writesagents · demo_data
03 · Scoring

A posting, scored against my targets.

My targets live in one note: the kind of role, the markets, the language, the work I want to own. The scout scores each posting against them, criterion by criterion, and quotes the line in the posting that earned the points.

The score is only the start. Under it come the flags, what they ask for, the proof I would lead with and the honest gap. A note I add to a run steers the emphasis; it never lifts a rule.

A pasted posting scored 7 of 10: a table of criteria with weight, fit and why, then flags, what they ask for, proof to lead with and the honest gap, demo data
A pasted posting, scored with the same rubric as the morning scoutscore · 7 of 10 · demo_data
04 · Status

The agents draft. I send.

1
Screen for the whole search
08:30
The scout runs every morning, by itself
0
Applications sent by an agent
Current status: Job desk runs on my Mac every day, over my real job search. Nothing of that search is on this page: the screenshots come from a demo vault with invented companies, roles, scores and dates.

"I wanted the search to run itself, except the one part that has to be me."