Easy Apply,already filled in
Reads your resume once, then resolves every field through six layers — cache, profile, history, rule, inference, and you. It has no code path that presses Submit.
Resolution order *unresolved
0
Applications submitted without you pressing submit
Resolution pipeline *unresolved
The pipeline short-circuits.
Six layers, checked in a fixed order. A field exits at the first one that can answer it, and everything below that layer never runs. The early exit is why this is fast — and why it is cheap enough to give away.
- 01cacheSeen this exact question before
- 02profileYour resume and your settings
- 03historyHow you answered it last time
- 04ruleKnown question patterns
- 05inferenceA model call, open questions only
- 06unresolvedHanded to you, never guessed
Cache is checked first, before your profile. The second time a question appears anywhere, layer 01 answers it and nothing below layer 01 runs at all.
Not a deliberate blank — a resolution failure. When nothing above it can answer, the field is handed back to you empty rather than guessed at.
What it actually fills *unresolved
Every field, and where the answer came from.
One LinkedIn Easy Apply form, row by row. Each field stops at the first layer that can answer it — cache before profile, profile before the model. The last two stopped at layer 06, which means NeuroApply had no answer and handed them back instead of inventing one.
Alex Morgan is a fictional demo persona; no real applicant data appears on this page. NeuroApply fills the form and you press Submit — the extension skips every control whose label contains “submit”.
The one control we never touch *unresolved
We fill it. You send it.
Your browser, your session
NeuroApply runs as an ordinary Chrome extension, inside the real browser session you are already logged into. There are no headless bots, no cloud sessions driving your account from a datacentre, and no scraping servers sitting between you and the posting. The tab is yours; it was already open.
It never asks for your password
NeuroApply never asks for your LinkedIn password. There is nowhere in the product to type one, because nothing on our side ever needs to sign in as you. It reads the questions on the form in front of you, resolves them against the profile we hold on our server, and writes the answers back into the page. That is the surface area — not a login.
You set the velocity
You control how fast applications go out, because you are the one who presses Submit. Velocity is the actual thing platforms penalise — not autofill, not a filled field — and the only hand on that dial is yours. We removed our ability to move it.
Auto-advance is opt-in, and blind to Submit
Auto-advance is off by default. Switch it on and it will walk a multi-step form to Next, Continue or Review — and it skips any button whose label contains the word “submit”. That is one line of code rather than a policy, so here is the line:
extension/src/content/content.js:92
What the extension puts on your screen
NeuroApply has no code path that clicks this.
Setup *unresolved
Three steps. You do them once.
After that, NeuroApply only appears on the application form you already have open.
Install the extension
Add it to Chrome. Its host permissions are LinkedIn and its own API — nothing else.
v0.2.1Answer a short guided chat
It reads your resume, then asks only about what’s missing. That becomes your profile.
profile builtOpen any Easy Apply job
Fields fill in as you scroll. You read them, fix anything, and press Submit yourself.
0 auto-submitsData handling *unresolved
Your profile is on our server.
Not on your laptop. It sits in our database and is cached for speed, because that is the only way a question on a form you have never opened before gets answered in one round trip. Here is the rest of the ledger — both columns, in the order we would want to read them.
Stays on your machine
never sentYour LinkedIn password. We never ask for it and there is nowhere in the extension to type it. It works inside the session your own browser is already signed into.
Answers it has already seen. Repeat questions are served from a 24-hour cache in Chrome's local extension storage. Those fields never touch the network at all — only cache misses are sent.
Your switches. The on/off toggle and the auto-advance toggle live in local storage on this machine. They are not synced, and they are not reported anywhere.
Every site that is not LinkedIn. The content script is matched to LinkedIn and runs nowhere else. Your other tabs, your feed and your messages are not read, and the page HTML is never uploaded.
The Submit button. The button-finder skips any control whose label contains the word submit, so an application is never sent for you. The last click is always yours.
Leaves your machine
sent to our backendThe questions on the form you have open. For each field: its label, its type, whether it is required, the options it lists, and anything already in the box — plus the job URL and the platform. That is the request our resolver answers.
Your profile and your resume. They are stored in our Postgres database and cached in Redis. This is not local-first. A field gets answered because our server holds your profile, not because your laptop does.
Corrections you make. Fix an answer we filled and the field label plus your new value come back to us, so the same question is right the next time it appears.
One line per finished application. Company, job title, job URL, how many fields were filled, and the platform. That is what your dashboard history is made of.
Product analytics about you. Our admin panel has a conversion funnel, signups by day and a per-user breakdown. We can see that you signed up and how far you got. We would rather say so than claim we have none.
A ping every ten minutes. A single timer hits our health endpoint so the free-tier backend does not go cold before your first fill. Nothing rides along with it.
What the extension asks Chrome for
five permissions, three hosts — manifest v3, version 0.2.1This is the whole list, not a summary of it. Chrome shows you the same thing before you install, and the manifest ships as plain text inside the bundle, so you can check every line of it against this one.
Act on the tab you are actually looking at, and only when you invoke it.
The one repeating timer behind the keep-warm ping. It carries no data.
Re-inject the content script into open LinkedIn tabs after an update, so an application in progress does not break under you.
Hold your login token, your two toggles and the answer cache — all local to this machine.
Find the LinkedIn tab to talk to, and open your dashboard when you click it in the popup.
The only site the content script is allowed to run on.
Our backend. Where the questions go and the answers come from.
The development backend. It ships in the public manifest, and we would rather point it out than have you find it.
If a line on this page ever stops being true of the extension you have installed, that is a bug, and it is the kind we want reported first.
Questions *unresolved
Why is it free?
Because running it costs very little. Every field walks a six-layer resolver and stops at the first layer that can answer it — cache, then your profile, then how you answered the same question last time, then known question patterns. A field only reaches a model when all four of those layers came up empty, which by construction is the open-ended questions and nothing else. Layer 05 is one short model call. That is the entire bill.
There is no second business model sitting behind it. Your resume is not sold, rented or handed to an ad network, because there is no ad network — this is one person’s project, not a funded company with a plan for you. Product analytics do exist: signups, and how far people get, on the same server, read by me. If it ever has to charge, that will be said here first.
Will this get my LinkedIn restricted?
Pace is what platforms penalise — hundreds of applications an hour, headless sessions, scripts working through job cards while you sleep. NeuroApply cannot set a pace, because it does not own the last click. It fills the form already open in front of you, then stops and waits.
You read the answers and you press Submit. Every time, on every application. The content script walks the modal’s buttons looking for Next, Continue or Review, and skips anything whose label contains submit. The number of applications it has ever sent on its own is 0 — and it is 0 by construction, not by policy.
if (t.includes('submit')) continue; // never auto-submitextension/src/content/content.js:92What exactly can it see?
Exactly what the manifest asks for, which is the same list Chrome shows you at install. In full, nothing withheld:
activeTabalarmsscriptingstoragetabs*://*.linkedin.com/*https://neuroapply-ai.onrender.com/*http://localhost:8000/*The content script is registered for *://*.linkedin.com/* and nowhere else, so on every other site it is not running. Nothing on that list reaches your email, your files, or the contents of pages in your other tabs. Manifest v3, extension 0.2.1.
Where does my resume go, and can I delete it?
To a server. Your profile, the resume you upload and the text extracted from it are stored in a managed Postgres database and cached in Redis, because the resolver runs there rather than inside the extension. This is not a local-first tool and describing it as one would be a lie — your answers follow you between machines precisely because they are not sitting on one.
Custom questions that reach layer 05 are sent to OpenAI with the relevant profile context and come back as an answer you can edit before it is used.
Deleting your account removes the stored profile, resume and answer history. Deletion and correction requests go to shishirsingh@gmail.com. What is kept, and who processes it, is written out in full.
Install *unresolved
Stop typing your own name into forms.
Free · No account required to install · Works on every Easy Apply form