In private testing

Jobs triaged. Resumes tailored.

Marionette reads your job listings, ranks them, and builds a resume for the ones worth your time.

The job list, as it looks once you are signed in.

What happens to a listing

Three passes run without you. Only the last one needs a decision, and the decision is yours.

  1. Collect

    Listings arrive from the scraper with the company, the location and the source left intact.

  2. Triage

    A model sorts each one into must apply, apply or no need, and writes the one-line reason.

  3. Tailor

    The listings worth your time get a resume branch built against that job description.

A model reads every listing first

Each listing gets one of three tiers and a one-line reason. The tier is the only colour in the interface, which is what keeps it readable at a glance.

must apply
The filter rates this one highest. These are the listings the tailoring pass runs on.
apply
A reasonable fit, worth a look when the top tier is quiet.
no need
Not a fit. Sorted out of the way so the list stays short.

One resume branch per job

Every listing that passes triage gets its own branch, named for the job that produced it and compiled to a one-page PDF. The PDF is built once at commit time, so the preview is instant and nothing is recompiled on request.

Easy Apply listings are the exception, and permanently so. LinkedIn submits those with your base resume, so there is nothing to fork.

  • cobalt-row-platform-engineer-4012887761a1f9c2d1 page34 KB
  • northgate-analytics-data-engineer-40092210447d3e08b1 page33 KB
  • kestrel-labs-infrastructure-engineer-39981174502c67a151 page35 KB

Sign-in is limited while this is tested

Marionette is running against a small allowlist. Accounts are created by hand, so signing in with any other Google account creates nothing.

MarionetteA private job-application dashboard, in testing.