The duplicate application problem nobody talks about
Applying twice to the same role is more common than people admit, and the reason is structural: the same job legitimately appears at several different URLs.
Somewhere around application sixty, you will apply to a job you have already applied to. Not because you forgot the company — because you did not recognise the posting.
One job, many front doors
A single opening is routinely reachable through the company careers page, the raw ATS board, an aggregator listing, and a recruiter link. Each carries different tracking parameters. Visually they are different pages with different titles — the aggregator may have rewritten the role name, and the ATS may append a requisition id.
From the applicant tracking system's side this is one job. From your side it looks like four, and nothing tells you otherwise until a recruiter mentions it.
Why matching is harder than it looks
- URLs need canonicalising, but you cannot simply strip query strings — some systems put the job id there.
- Company names arrive as "Acme", "Acme, Inc.", and "acme-labs" depending on the source.
- Titles pick up noise: "(Remote)", "- New York", "#R4821", "Sr." versus "Senior".
Normalisation has to be lenient enough to catch these, which means it will occasionally match two genuinely different roles at the same company. That is the right trade — as a warning shown before you apply, a false positive costs you one glance, while a miss costs you a duplicate application and a slightly awkward conversation.
The asymmetry decides the design: warn liberally, merge never.
What you must not do is quietly merge records on a fuzzy match. Two similar titles at one company are frequently two real, distinct openings, and silently collapsing them destroys information the applicant cannot recover.