skiffr

Product and roadmap

Who skiffr is for, what job seekers complain about, where skiffr stands today, and what comes next.

This page is the product research behind the board (#102). It is opinionated on purpose and meant to be argued with. Every item on the roadmap is an issue on the project board.

Vision

Applying for jobs is mostly retyping the same facts into forms that all behave differently. Tools that promise to do it for you tend to make things up, spam employers, hide behind a paywall and send your CV somewhere you cannot see. skiffr takes the other side:

  1. You stay the applicant. It fills, you review, you press submit. It never invents a fact and never bypasses a captcha or a login.
  2. It gets better with use. Corrections become answers, and it shows where every value came from.
  3. Your data stays yours. Open source, self hosted, no analytics. A model is optional: it runs on your server with the key you configure, and it only sees what a feature needs, when you press it. Importing a CV sends the CV text, and you review the result before anything is saved.
  4. It covers the whole journey, not only the form: finding jobs, checking they are real, the CV, the form, tracking replies, following up.

Who it is for

PersonaWhat they needWhat would make them leave
The active seeker (engineer, designer, analyst) applying to 5 to 20 jobs a weekFast, correct fills on Greenhouse, Lever, Ashby, Workday; tailored CV; a queue; knowing what got a replyA wrong visa or salary answer, a form left half filled with no explanation
The international applicant or career changerWork authorization per country, other languages, other date and phone formats, relocation answersAn English only tool that guesses
The privacy minded self hosterOwn Postgres, no telemetry, clear list of what the model sees, easy upgrades and backupsData leaving without a switch, a broken upgrade
The coach or helper (later)A read only view of a client's queue and statsNeeding the client's password or profile
The contributorA clear way to add an ats adapter or a languageNo contract, no starter issues, slow reviews

What job seekers say

Method and honest limits: Reddit blocks the research crawler, so there are no first hand Reddit threads here. The evidence is Hacker News threads, Trustpilot pages, Firefox add-on reviews, the README of an open source Workday filler, community forums of two password managers and a set of surveys. Trustpilot and add-on reviews are self selected and not fact checked: a claim about a named product below is what its reviewers report, with the month of the review, not a finding of ours. Many comparison blogs are written by competitors, and those are marked as such and used only where nothing better exists. Ratings and prices move: prices were read in November 2026, check the vendor before you trust a number.

Top 25 pains and desires

#Pain or desireEvidence
1Retyping the same CV data into every formHN: Upload your resume and then type it out (184 points, "if I have to retype my CV in your obnoxious web form, its just not worth the effort")
2Workday: an account per employer, many pages, repeated sectionsHN thread (a commenter calls making a new Workday account for each company the worst), Workday filler README ("the same 40-odd fields from scratch")
3Workday widgets break fillers: React components, custom dropdowns, date spinners, value saved only on blur, multi stepWorkday filler README
4Autofill that makes things up or fills irrelevant fieldsSimplify on Trustpilot (a June 2026 reviewer says the AI "will lie by default"), LazyApply on Trustpilot (a June 2026 reviewer reports consistent mistakes when applying)
5Dangerous defaults on visa, sponsorship and veteran questionsLazyApply on Trustpilot (a May 2026 reviewer reports a default "yes" that was incorrect on visa and veteran questions)
6Dropdowns and education options missed or wrong, demographic answers wrongSimplify Firefox reviews (December 2024: the degree dropdown is not filled when the degree is missing from the list; July 2023: skills and education fills fail when list options do not match; December 2021: no education on Workday forms), review roundup (competitor blog, relays a report of wrong demographic data)
7Blank or wrong name fields, an invented middle nameLazyApply on Trustpilot (February and May 2026 reviewers report first and last name not entered or blanked), review roundup (competitor blog, quotes a Reddit comment about a middle name added when there is none)
8Spam: bots applying to roles outside the person's scopeLazyApply on Trustpilot (2024 reviewers report applications to jobs outside their profile or filters)
9Fear of account restrictions from automation on LinkedInScoutify and FastApply (both vendors, mostly temporary Easy Apply pauses, no independent count)
10Ghost jobs: postings that never lead anywhereEnhancv survey (47 percent say they applied to a role that did not exist), Greenhouse via HR Review, Resume Genius via CPA Practice Advisor
11Applications vanish into a black hole, no statusHN thread ("black holes"), the praise for trackers in Teal on Trustpilot
12Refund and cancellation disputes, trial to subscription surprisesSimplify (refunds denied or delayed, a "3 months free" offer that was a 50 percent discount), LazyApply (a June 2026 reviewer says it took two weeks to get a response to a refund request inside the 30 day window), Jobscan (a September 2026 reviewer says a trial turned into a paid plan early) on Trustpilot, as reported by reviewers
13Price and paywalls: autofill free, everything else paidHuntr pricing (free plan tracks up to 100 jobs, Pro $40 a month or $30 a month billed quarterly), Simplify+ pricing ($39.99 a month, $89.99 a quarter, basic autofill and tracker free), Teal+ price (third party, $29 a month as of October 2026), AIApply credit packs on top (third party reported, the vendor site shows no prices)
14A tool that is slow or heavy in the browserSimplify Firefox reviews (June 2024 to October 2026: reviewers report RAM and CPU spikes and freezes, on Workday pages in two of them)
15Login loops, profile not connectingSimplify Firefox reviews (December 2023, August 2025 and October 2025 reviewers say the extension keeps asking to log in or cannot reach their profile)
16Parsed or pre filled CV data comes out garbledHN thread (LaTeX and multi column PDFs)
17File format friction and CV upload quirksHN thread
18Generic, robotic cover letters that need a heavy editTeal on Trustpilot (a May 2026 reviewer: cover letters "usually need a heavy edit"), Jobscan on Trustpilot (a September 2026 reviewer: generated bullets "sound stiff and need manual editing"), recruiter side view in Cake (vendor)
19Support that does not answerLazyApply (2026 reviewers report no replies to support emails), Simplify (reviewers describe slow or unresponsive support) on Trustpilot
20Where does my CV go: unclear privacy and which AI vendor sees itJobWizard guide (vendor blog) tells people to check what an autofill extension reads and stores
21Password managers are built for logins, not job forms: custom fields need setup and are not offered inline1Password community (a September 2023 staff reply: custom fields "won't appear in the inline menu or be filled with a shortcut", the feature request was still open in September 2026), Bitwarden help (custom fields are set per item and "typically" fill in form or input elements)
22Tools that report "applied" when it never reached the employerRemote Job Assistant on Sonara (competitor blog, relays user reports of silent failures at email verification steps, could not reach the vendor site, unverified)
23Distrust of ATS scores and keyword gamesmixed accuracy in Jobscan on Trustpilot; Jobscan on ATS and AI detection (vendor)
24A cheap way to tailor a CV per job and see missing keywordsthe top praise for Huntr and Jobscan in Huntr and Jobscan Trustpilot reviews
25Autofill that still leaves cleanup, and the employer side backlash against auto applyJobCopilot on Simplify (competitor blog, quotes Reddit users: "glorified autofill", one Reddit user is paraphrased as saying fixing errors took longer than applying by hand), Inquirer on employers and auto apply (an HR officer calls auto apply services "snake oil")

What people love, in short: free autofill that works on common systems (Simplify), a tracker that keeps the search organized (Teal, Huntr), keyword gap feedback (Jobscan, Huntr), and time saved when the fills are right.

Competitors at a glance

ProductKindWhat reviewers likeWhat reviewers report as problemsPrice signal (verify)
SimplifyAutofill and tracker, free coreFree autofill, broad ats coverageMissed dropdowns and Workday education, refund disputes, performance on FirefoxSimplify+ $39.99 a month, $89.99 a quarter
TealTracker and resume toolsEasy tracker, keyword analysisCover letters needing heavy edits, listings that feel like ghost jobs, email volumeTeal+ about $29 a month (third party)
HuntrTracker and tailoringTailoring, kanban, keyword feedbackOne reviewer found auto fill hit or missFree up to 100 jobs, Pro $40 a month
LazyApplyAuto apply botVolume, some interviewsWrong or blank fields, jobs outside the person's profile, refund delays, little supportSubscription
Sonara, JobCopilot, AIApplyAuto apply servicesHands offCompetitor blogs relay billing and renewal complaints, AIApply sells credit packs on top of a subscriptionTrial then recurring, credit packs (third party reports)
JobscanResume scoring and buildingKeyword gap analysisBilling and cancellation disputes, stiff AI text, mixed score accuracySubscription
LinkedIn Easy Apply botsAutomationEasy Apply is liked by manyAccount restriction risk, terms of serviceVaries
Chrome, Bitwarden, 1Password autofillGeneral form fillAlready installedBuilt for logins and addresses: custom fields need setupFree or bundled

skiffr's lane: the autofill and answer memory of Simplify, the queue and funnel of Teal and Huntr, CV tailoring that cannot invent facts, all in a place the user owns.

Where skiffr stands today

Status is as of this page: solved means it works and is tested, partial means it exists with known limits, unsolved means nothing yet.

AreaStatusWhat existsWhat is missingIssues
Detect forms, ask, fillsolvedGreenhouse, Lever, Ashby, Workable adapters, toast, shortcut, iframes (same origin)Cross origin iframes#131
Fill engine (React safe, selects, comboboxes, shadow dom)partialWorks on fixtures and the four atsKnown gaps in #48#48
Workday and account wallsunsolvedmyworkdayjobs.com, icims.com and SmartRecruiters hosts are detectedNo adapter for any of them, no multi page flow, no hand over#127, #128, #129, #130
Never submit, honeypots, hidden fieldssolvedEnforced and testedKeep testing per adapter
Sensitive fieldspartialCentral guard in five languagesLong tail of wording#98, #120
Learning from correctionssolvedLog, lookup, suggestions, per site profileStale answers, scope, never learn#115, #116, #117
Onboarding (profile from a CV)unsolvedA typed profile formImport and a first run checklist#107, #108, #109, #110
Resume uploadunsolvedA file fill primitive that nothing feedsUser confirmed attach, tailored PDF#123
CV tailoringsolvedReactive Resume copy, extractive edits, keyword scorePosting is pasted, not tried on a real instance (#88)
ATS score honestysolvedPlain counting, docs say it is not an ats score
Cover lettersunsolvedDraft per job#125
Free text screening answerspartialThe api can draft an answer, the extension does not call itReview flow#124
Work authorization and visapartialProfile has the dataDeterministic answers per country#118
Salary expectationspartialMin and max in the profilePolicy, currency, never fill default#126
Dates, phone, number formatspartialDate and number helpersPhone format, ambiguity rules by field#119
Names and addresspartialFirst and last name, city, region, country and postal codeMiddle and preferred name, street address lines, a full name composer, address widgets#107, #121
Other languagespartialSensitive lists in en, fr, de, es, arField matching synonyms#122
Captcha, bot checksunsolvedNothing is bypassed, but nothing is saidA calm hand over#129
Duplicate applicationspartialOne queue row per canonical urlSame company and role, cooldown, toast warning#133
Ghost and closed postingsunsolvedSignals and badges#132
Application trackingpartialManual statuses, funnel stats, Gmail job alert importReply detection, reminders, deadlines#135, #136
Personas, referrals, analytics by what workspartialStats by source, ats, role, match scorePer resume persona, referrals#138, #137
Bulk apply safetypartialApi rate limits, never auto submitPacing and quality gate for next job#134
Trust: why a value, undo, dry run, per site offpartialOutlined uncertain fields, "don't ask on this site"Provenance panel, undo, dry run, list#113, #114
Failure modespartialClear errors on some pathsOffline mode, version handshake, report a broken site#139, #112, #140, #20
Other browsers, phoneunsolvedChrome 142 plus onlyEdge, Firefox, share to queue from a phone#141, #142
Data export, import, deleteunsolvedgdpr export and erase, JSON Resume#111, #109
Self hosting upgrades, backupspartialDeploy guide, backup workflowRestore drill, upgrade guide, tagged releases#147, #145, #31
AccessibilityunsolvedAudit of the toast, panels and dashboard#146
Open source healthpartialContributing guide, code of conduct, ciAdapter contract, starter issues, translations#143, #144
Coach and team sharingunsolvedNot started, see ideas below
Interview prepunsolvedNotes boardNot started, see ideas below

Edge cases and designs

Short answers to the hard cases, with where each lands.

  • Account walls (Workday and others). skiffr never types a password and never creates an account. It detects the wall, says "your turn", and offers the fill again afterwards. A ledger of which tenant you have an account at, with the email used and no password, helps people who sign up for twenty companies (#129, #130). An optional application email or alias in the profile keeps signups apart from the main inbox.
  • Resume upload. The person picks the PDF once in the extension options, and confirms the attach on each form. The tailored PDF from CV tailoring can be pulled in per job. Cover letter and photo slots never get the resume (#123).
  • Cover letters and free text. Drafts come from the profile, the tailored CV and the posting. Numbers, employers and dates must exist in the sources or the draft is refused. Drafts are outlined, labelled and undoable, and an edit is learned (#124, #125).
  • Salary. Never filled by default. A policy per person (range, target, never) and per currency. A "current salary" question stays empty and outlined, because asking is illegal in some places. A negotiation note per job stays local (#126).
  • Work authorization, relocation, remote. Answered by rules from structured data, never by the model. Unknown means empty and outlined, never a default yes (#118).
  • Formats. Dates follow the field first, the locale second, and stay empty when ambiguous. Phones are stored as E.164 and shaped per field. Names carry parts, a preferred name and a transliteration slot (#119, #107, #121).
  • Captcha and bot checks. Never bypassed. Hand over to the person, then re arm (#129).
  • Duplicates and volume. A warning, not a block: same company and title, a cooldown after a recent application, and a pacing prompt in "open next" (#133, #134). skiffr will not become an auto apply bot: that is the line between it and the tools users complain about.
  • Ghost jobs. Signals with reasons, never a hidden score, and one click to say "it is open" (#132).
  • Tracking. Reply emails become suggestions the person confirms. skiffr stores the status, company and date, never the mail (#135). Reminders and deadlines come out as a private ics feed, with no calendar login (#136).
  • Learning quality. Facts expire (notice period, availability), answers have a scope (this site, this ats, global) with a conflict view, and the person can mark a field "never learn" (#116, #117, #115).
  • Trust. A panel with the source of each value, undo per field and for the whole fill, and a dry run (#113, #114).
  • Failure modes. Offline cache and queued learning, model down falls back to saved answers, a version handshake between extension and api, and a "this site did not work" report that shows exactly what it would share (#139, #112, #140).
  • Mobile and other browsers. Extensions do not run on phones, so the phone adds jobs to the queue through a share target and the form is done on a laptop (#142). Edge and Firefox are builds, Safari is a plan (#141).
  • Data rights. Export everything, delete everything, import JSON Resume and the LinkedIn archive (#111, #109).
  • LinkedIn Easy Apply and Indeed Apply. Open question, listed in the ideas below and not an issue yet. A person driven fill of those modals is not the same as a bot, but both sites forbid automation in their terms and users report restrictions. Until there is a clear reading of the terms skiffr does not touch them. Decide before building.

Roadmap

Ordering rule: first value, then trust, then the pains people name most, then breadth. Nothing here makes skiffr submit for you.

Now

Why: a new person should reach a correct fill in minutes, see why a value was used, and never get a wrong answer on the questions that reject an application. Then Workday, the pain every source names.

IssueItemSize
#107profile: work history, education and addressM
#108profile: import a cv with the model, review before saveL
#110dashboard: first run wizard, first fill in 3 minutesM
#113extension: why this value, undo and diff after a fillM
#114extension: dry run mode and per site disable listS
#112api: version handshake between extension and apiS
#145ci: tagged releases with changelog and extension zipS
#118fill: work authorization and sponsorship from structured dataM
#119fill: phone, date and number formats per fieldM
#123extension: attach my cv with a file the person confirmsM
#127extension: workday adapter and tenant flowL
#128extension: multi step and spa forms keep stateM
#129extension: hand over on captcha, login and account wallsM
#133jobs: duplicate and cooldown guardM
#134extension: guardrails for applying to many jobsS
#111account: export all my data and delete my accountM

Next

Why: the answer bank gets smarter, the journey after the form gets tracked, and the project becomes easy to contribute to. #120 is an evaluation only: it decides whether a model beats word lists for sensitive fields before anything is built.

IssueItemSize
#109profile: import json resume and linkedin data exportM
#115learning: never learn this fieldS
#116learning: expiring answers and factsM
#117learning: answer scope per site, ats or global, with conflict viewM
#121fill: name parts and address autocomplete widgetsM
#122fill: match labels in other languagesM
#120fill: model assisted sensitive field classifier (evaluate regex vs embeddings vs llm)eval
#124extension: draft free text answers for reviewM
#125cv: cover letter draft per job, reviewed before useM
#126profile: salary expectation policy and negotiation notesM
#131extension: cross origin iframes for fill and learningM
#132jobs: detect closed and ghost postingsM
#135gmail: detect rejections and interviews, update statusL
#136dashboard: follow up reminders, deadlines and an ics feedM
#138dashboard: resume personas per job type and stats per personaM
#139extension: api down and model down modesM
#140extension: report a broken site with a sanitized snapshotM
#143extension: adapter contract, contributing guide and good first issuesM
#146accessibility: toast, panels and dashboard auditM
#147deploy: restore drill and upgrade guideM

Later

Why: valuable, but they depend on the above or carry more risk.

IssueItemSize
#130dashboard: which ats accounts I have, without passwordsS
#137dashboard: referrals on jobs and in statsS
#141extension: firefox and edge builds, safari planM
#142dashboard: pwa and share target to queue jobs from a phoneM
#144dashboard and extension: translations setupM

Already on the board and kept as they are: learned http replay recipes (#18, after the trust items above), read only smoke across real ats sites (#20), the Chrome Web Store account (#26), and the follow up issues from earlier reviews.

Ideas without an issue yet

  • Team and coach sharing. A read only link to a person's queue and stats, with no profile and no answers. Large, depends on the data export work.
  • Interview prep sheet per application. Questions and stories drawn from the person's own answer bank and the posting, never invented experience.
  • Learning quality replay. A harness that replays correction logs and reports hit rate by source, correction rate and stale rate, run in ci on fixtures. Follows the recorded real model eval (#41).
  • LinkedIn Easy Apply and Indeed Apply. See the edge case above: a terms reading comes first, then maybe an issue.
  • Safari. An app store build costs money and a native wrapper. Only after Edge and Firefox.
  • A browser independent fill bookmarklet for pages where an extension is blocked. Low priority and hard to keep safe.

How this page is kept

When an item ships, move it to the gap table as solved and delete the row from the roadmap. When a pain shows up in a bug report or a review more than twice, add it to the top 25 with the link. The reviewer guide in .github/REVIEW.md is updated the same way with new bug classes.

On this page