Apply to nursing jobs
without retyping your whole career.

NurseApply is a Chrome extension that fills hospital application portals from a profile it builds out of your resume, on your machine, with no account and no API key: licenses, certifications, trauma level, bed count, typical ratio, EMR systems, immunization dates. It fills. You review and submit.

Manifest V3, unpacked install, no backend, no accounts, no telemetry. Everything stays in chrome.storage.local on your machine.

What it will not do

The part that matters more than the autofill.

Every application asks a handful of questions that a credentialing office later verifies against the state board, your prior employer's HR file and federal exclusion lists. A wrong answer on one of those is not a typo, it is a false statement on an employment application. NurseApply never answers them, no matter how confident the mapper is. They go to a drawer with the reason attached, and they wait for you.

  1. Termination and separation. Fired, asked to resign, resigned in lieu, eligible for rehire.
  2. Criminal history. Convictions, pleas, deferred adjudication, pending charges.
  3. Board discipline. Revocation, suspension, surrender, consent orders, license restrictions.
  4. Federal exclusion. OIG, SAM, debarment, abuse registries.
  5. Malpractice. Claims, suits, National Practitioner Data Bank reports.
  6. Substance screening history. Failed or refused screens, diversion, impaired practice.
  7. Identifiers. Social Security number, date of birth, driver's license, bank details. Not stored, so not fillable.
  8. Signatures. Electronic signature and certification fields. Signing is yours alone.

It also never clicks Submit, never solves a CAPTCHA, never advances a wizard on its own, and never overwrites a field you have already typed into.

Getting your resume in

Three routes, because one is not enough.

Reading a free-form document with rules is wrong often enough, and plausibly enough, that it cannot be the only path. A blank field is harmless. An employer that reads perfectly well and is actually a line from your duties is not. So there are three independent ways in, and none of them writes anything to your profile without showing you first.

  1. The parser. Instant, on your machine, no key, no account. It works because most of what a nursing application asks for comes from closed vocabularies rather than free prose: certifications are an eight-item list, EMR systems are an eight-item list, and degrees, units, license types and trauma levels are all enumerated. Dates, phone numbers, license numbers, bed counts and ratios have fixed shapes. That is matching, not comprehension.
  2. Your browser's own AI, if it has it. Recent Chrome ships a small model that runs on the device. Where it exists the extension quietly uses it to settle which line is the employer and which is the job title. Nothing is sent anywhere, there is no key, and there is nothing to turn on.
  3. A handoff to the chatbot you already use. One button copies your resume and a ready-made question, and opens ChatGPT, Claude or Gemini. Paste it in, press enter, then paste the answer back. The free version of any of them is enough. It reads whatever you paste, even the whole conversation, and it works with no file at all, so a scanned resume with no text in it is not a dead end.

Nothing is invented on any of these routes. A license number, an expiration date, an NPI or a graduation date that is not written in your resume stays empty, and an NPI that fails its check digit is rejected with the reason shown.

Then you check it

The step that makes the rest safe.

Every import opens a review panel rather than filling your profile. It shows what it read, and makes the two corrections that actually happen take one click each.

  1. One question fixes the whole document. It shows your first job's employer and title and asks whether they are the right way round. A resume keeps one layout all the way through, so if they are swapped they are swapped everywhere, and a single button flips all of them at once.
  2. Click a line to use it. Each job can show the exact lines from your resume that it was built from, with an Employer and a Title button beside each. When something is wrong, the right words are usually already on the screen.

How it maps a field

Three tiers, most specific first.

Tier 1Platform adapter

Keyed on stable attributes such as Workday's data-automation-id. Adapters also handle the things that break naive autofillers: Workday splits every date into three separate spinbuttons, and almost every dropdown is a button plus a popup listbox rather than a <select>.

Tier 2Nursing heuristics

Around ninety weighted rules over the resolved label, assembled from the label element, aria-label, aria-labelledby, placeholder, name, id and, for radios, the enclosing fieldset legend. Without that last one, "Have you ever been convicted of a felony?" reads to a scraper as a field labelled "Yes".

Tier 3Model fallback, off by default

When you switch it on with your own Anthropic key, it sends the structure of the form only: control type, visible label, dropdown options. The model returns a key name, never a value, and the extension resolves that key locally. Answers are cached per form layout, so a hospital template costs one call, once.

Supported portals

Explicit host permissions. No <all_urls>, so it cannot read anything else.

WorkdayiCIMSTaleoSuccessFactors symplrHealthcareSourceLinkedIn Easy ApplyIndeed Apply

iCIMS and Taleo usually host the application inside an iframe on the employer's own domain, so content scripts run in every frame. The floating status pill moves itself out of the way when a Next or Submit button is underneath it.

Install

Two minutes, unpacked.

  1. Download the zip above and unzip it. The folder you want is the one containing manifest.json.
  2. Open chrome://extensions and turn on Developer mode, top right.
  3. Click Load unpacked and pick that folder.
  4. The profile page opens automatically. Import a resume to fill most of it, or type in licensure, certifications and work experience by hand.
  5. Open an application on a supported portal and press Fill step on the pill in the bottom right.

Or build it from source

Includes a headless harness that fills a synthetic React-style form and asserts the result field by field.

git clone https://github.com/upham51/nurse-apply.git
cd nurse-apply && npm install

npm run check      # syntax, manifest integrity, safety invariants
npm test           # resume parser, fill harness, options page, real PDF
npm run package    # dist/nurseapply-1.6.3.zip

The test suite includes a negative control: a naive element.value = assignment on an identically guarded input, which the simulated React component must discard. If that control ever passes, the harness is not reproducing the failure mode and the positive results mean nothing. The PDF test runs behind a request interceptor that fails if anything leaves the local origin, which is what makes "no network" a checked claim rather than an assertion.