The Platform
Name the role. See the number, and see where it came from.
You name the role you are filling and the county you are filling it in. You get the federal wage band for that occupation where we have loaded it, where your own posted range sits against it, how many live postings are competing for the same work, and the source line under all three. This page walks that first session, then lists every instrument that ships today and names the route it renders on. What is not built yet is at the bottom, in its own fenced section, marked, including how far the wage coverage reaches.
Your first session
From a role name to a number you can defend.
No import, no integration, no data warehouse, and no call. The console reads the market against the occupation code it resolved from the role you named, and every cell that cannot produce a source and a denominator refuses to render rather than guessing.
01
Name the role
You pick the role and the county you are hiring in. The console resolves it to the federal occupation code and stamps that same code onto the posting when you publish, so the market read and the job you post can never describe different work.
02
The wage band
Federal wage percentiles for that occupation in your metro, printed with the instrument, the vintage, and the exact area they were measured over. Coverage today is the metros we have loaded, California first. Outside them, and in the cells the government publishes nothing for, you get that sentence instead of a number and you enter the range yourself.
03
Where your own posting sits
Your stated maximum, marked against that band, annualized when you stated an hourly figure. It is a fact about your posting. It is never a fact about a person.
04
The competition
How many live postings are competing for the same occupation: everywhere in the index, in your own county as a floor, and across the rest of your metro. Printed with the sentence that says what share of postings state a county at all, so a thin field can never read as a total.
05
Local employment
How many people the federal government counts as employed in that occupation across your metro, all employers. That is the market answer to local supply, and it is true whether or not a single candidate has ever heard of us.
06
Draft the posting
Write the description from the facts you just entered, with the wage band already on the screen. It refuses to run on a bare title, and any line that comes back as to-be-determined is stripped before you see it. You edit it. Nothing publishes without you.
What ships today
Every instrument, and the route it renders on.
A capability is on this list only if it renders on a route in the console today, and each card prints that route so you can go and open it. That constraint is the point. A dataset a vendor holds is not a capability you have, and naming the surface is the only thing that keeps those two sentences apart.
Wage band, cited
/employer/intelligence · /employer/post
Federal occupational wage percentiles for the occupation in your metro, with the source and the vintage sitting beside the number. Coverage today is the metros we have loaded, California first, and outside them the console tells you it has nothing rather than substituting a national average. Never an imputed figure. The gap is named on this page, in the fenced section, because you would find it in week one anyway.
Your pay position
/employer/intelligence
Where your own posted maximum falls against that band. It is the answer to the only question a long-open req really raises, and it is computed from what you posted, not from anyone's opinion of your offer.
Competing postings
/employer/intelligence
Live counts of active postings in the same occupation: total, your county as a stated floor, and the rest of your metro as a widen-only lever. Counts of the market, not a named list of rivals.
Local employment
/employer/intelligence
The federal employment count for that occupation across your metro, all employers, labelled as exactly that. The supply question answered by the government rather than by our own traffic.
Credential demand
/employer/intelligence
How many live postings in the occupation state each certification you require, against the count that state any requirement at all. Most postings state none, and the panel says so rather than letting a small numerator look like a market.
Apprenticeship share
/employer/intelligence
How much of the live posting feed in this occupation is apprenticeship work. It is a share of our own index, and it is labelled as a share of our own index.
Decompose
/api/why/employer/[panel]
A link under the panels that opens what the number was computed from: the instrument, the vintage, the universe, and the coverage caveat. No data about a person crosses it. If you cannot check a number, you should not have to defend it.
Post a role, drafted from your facts
/employer/post
A real posting into the same index every other employer's posting lands in, stamped with the occupation code, opened and closed on your control. The AI is the language layer and nothing else: every figure in the draft comes from the deterministic read.
Discover, reciprocity gated
/employer/discover
The people who raised a hand toward you: applied to your postings, saved them, or already sit on your shortlist. Nobody else. This is not a searchable database of strangers, and it is not sold as one. Rows are ordered by the date of the person's own most recent action.
Shortlist and a four-stage pipeline
/employer/shortlists · /employer/pipeline
Four stages you move yourself: shared, interview requested, hired, passed. Aging chips when someone has been waiting, and a minor never leaves guardian consent to reach you.
Saved views and CSV export
/employer/pipeline · /employer/shortlists · /employer/discover
The filter and sort you keep returning to, saved, on all three candidate lists. Export runs on your shortlist and your pipeline, where every row is an interest you recorded yourself, and the header is decided on the server from what your session is cleared to see, so the client cannot ask for a column it should not have.
The Monday digest and the waiting nudge
email, on a schedule
What moved on your postings last week, and a nudge when a candidate has been waiting on you. Aggregate counts, never a candidate name. A week where nothing moved sends nothing at all.
Also live, and unglamorous: a company profile with a completeness checklist that is a coverage fraction and never a score, team invites scoped to your organization on the server, and one shared inbox for the people you are already connected to.
The line we will not cross
We never score a person, and the build will not let us.
This is a capability statement and a legal posture, not a value. Every competitor in this category is one product decision away from handing you a ranked list of human beings with a number beside each one. We took that decision in the other direction, wrote it into the build, and deleted the version of it we had already written.
It is a gate, not a promise
A build check fails the entire deploy on a dial bound to a value about a person, on a percent attached to a person, and on every banned phrase in the list. The rule and the enforcement read the same file, so the policy and the gate cannot drift apart while nobody is looking.
We deleted the one we had
An earlier version computed a zero-to-one-hundred blend from a language-model score, a weights vector and hardcoded defaults, then sorted human beings by it and drew it as a ring. That is an automated employment decision tool. It was deleted, and the gate is what keeps it deleted.
What replaced it
An evidence ledger. Every line is a count, a stated constraint, or a real logged action, each traceable to a single row. Never summed, never weighted, never used to put one person above another. You read the evidence and you decide.
Radius widens, it never narrows a person
A wider radius adds postings and metros to what you can see about the market. It is never turned around and applied to a human being to include or exclude them. Geography in this product is a lever on the market, and only ever a lever on the market.
What that means for your review
When legal or procurement asks what the algorithm does to candidates, the answer is that there is no such algorithm to describe. Nothing here scores, rates, ranks or orders a person, and nothing is scheduled to.
Not a phase we are in
No fit percentage. No ranking. No ordered list of candidates. No automated screen. Not a setting, not a roadmap item, not a later. It is the one thing on this page that will still be true when everything else on it has doubled.
What a number carries
Five things, or it does not render.
The value, the named instrument it came from, its vintage, the universe it was computed over, and a coverage sentence when the underlying field is thin. A cell that cannot produce a source and a denominator returns nothing and the screen says so. An empty state here means we could not read it, never a confident zero we did not measure.
Your environment is yours
Scoped on the server, not in the interface.
Your postings, your shortlist, your pipeline and your stated requirements belong to your organization and are fenced to it on the server, where a crafted request cannot reach around the screen. An invite cannot leave your organization. The market layer underneath is the same index every employer reads, which is what makes it comparable.
22.2M+ jobs reach · 86,000+ employers · 50 states · the reach we index toward, not a live count
What founding partners shape next.
Nothing in this section exists in the product today. It is the build queue, published so you can argue with the order now instead of discovering it in month two. Some of the data behind these is already indexed, which is exactly why they are down here and not up there: holding a dataset is not the same as putting a row in front of you, and we have learned that distinction the expensive way. Founding partners decide what moves up.
Not built
Wage coverage beyond the metros we have loaded
The federal wage file is national. We have loaded the California metros. Everywhere else the console tells you it has nothing rather than estimating, and closing that gap sits at the top of the queue.
Not built
Shift as a dimension of the band
Days, nights and weekends priced separately. A base wage with no shift attached is half a number to anyone staffing more than one.
Not built
The posted band, and who disclosed it
What employers are actually posting for the work in your county, printed beside the share of postings that disclosed a figure at all, so you can see how thin the evidence is before you lean on it.
Not built
The employers competing for this worker, by name
Named employers posting the same work in your county, how long they have been at it, and which of them are staffing firms rather than the end employer.
Not built
When to post
A year of posting volume for the role in your county, month by month, with the peak named, so the hiring calendar stops being folklore.
Not built
Where the skill is produced near you
The institutions and programs that finish people into this occupation inside a radius you set, how many finish and when, terminating in a program office you can actually call.
Not built
Public money for hiring and training
Credential grants, wage reimbursement and apprenticeship sponsorship for your state and occupation, each carrying a primary source, an amount and a deadline. An expired deadline renders as expired rather than quietly disappearing.
Not built
The one-page exhibit
A dated, sourced, portrait document you hand to a CFO, a comp committee or an owner unaltered, with the footnotes and the vintages on the page.
Not built
Pay transparency rules where they apply
Whether a posting clears the disclosure law in the states you hire in, rendered only in the states where it applies and absent everywhere else.
Not built
Spanish
The posting draft and the title read in Spanish as well as English, for the roles where that is most of the applicant pool.
Get involved before launch
Open the console and check the list.
The demo is the real product on real data, in its own environment, with an honest empty wherever the index is thin. Everything above renders on a route you can open. Everything below the fence does not, and we said so on the page.
Live demo · real data · honest-empty where the index is thin