Skip to content

Job posting check

See what a job posting leaves out before you apply.

Paste a posting. Get 14 checks and the question to ask the recruiter for every gap. Your first 3 checks are free.

Checked, then dropped. The text is never stored.0 characters

Senior iOS Engineer, Northwind HealthWhat a result looks likeSample
10of 14 stated
  • Salary rangeMissingAsk: What is the salary range for this role?
  • Interview processMissingAsk: How many rounds are there, what does each test, and how long does it take?
  • Work authorization and visaMissingAsk: Do you sponsor visas, and which countries can you hire in?
  • No red flagsRed flagExclusionary wording

The other 10 are stated.

Access

$9.99once, access for good

Every check after your 3 free ones, on the page and in the extension. No subscription.

Bought a book or a service?

Then it is free for you. Type the email you used and a sign-in link arrives in a few minutes.

On the posting itself

The Chrome extension checks the posting you have open on LinkedIn, Greenhouse, Lever, Ashby or Workday. It reads the tab only when you click.

Add it to Chrome

What the extension reads

Built by Mike Salari, a staff mobile engineer with 500+ technical interviews from the hiring side. 15 years across Apple, Adobe, Cisco, Mastercard, Visa.

How the check works

Rules only, no AI model. The same 14 checks run on every posting. The result is a count, for example 10 of 14 stated, never a score, because a posting cannot tell you whether a job is worth it. It can only tell you what it says.

The 14 checks, and what to ask when one is missing
  1. 1. Salary range

    Stated when the posting gives an amount with a currency. Unclear when it only says competitive, negotiable or depending on experience.

    When it is missing, ask: What is the salary range for this role?

  2. 2. Seniority level

    Stated when the posting names a level (junior, mid, senior, staff, principal, lead) or a number of years of experience.

    When it is missing, ask: Which level is this role hired at, and what does that level mean on your team?

  3. 3. Location, remote policy and time zone

    Stated when the posting says remote, hybrid or on site. Unclear when it names a place but not how the work is done.

    When it is missing, ask: Is the role remote, hybrid or office, and which hours must overlap?

  4. 4. Employment type

    Stated when the posting says full time, part time, permanent, contract, freelance, fixed term or internship.

    When it is missing, ask: Is this a permanent hire, a contract, or through an agency?

  5. 5. The company is named

    Stated when the hiring company is named or described. Unclear when the posting hides it behind our client or a confidential company.

    When it is missing, ask: Which company is hiring?

  6. 6. The product or team

    Stated when the posting names the product, the app or the team the hire joins.

    When it is missing, ask: Which product and which team will I work on?

  7. 7. Concrete responsibilities

    Stated when the posting has a section on what the hire will do with at least three items. Unclear when the section is there but holds less.

    When it is missing, ask: What would I own in the first 90 days?

  8. 8. Must-haves separated from nice-to-haves

    Stated when the posting has both a required list and a separate nice to have, bonus or preferred list. Unclear when there is only one list.

    When it is missing, ask: Which of the listed skills are required on day one?

  9. 9. Current stack

    Stated when the posting names at least three technologies in use. Unclear when it names one or two.

    When it is missing, ask: Which versions and tools are in production today?

  10. 10. Interview process

    Stated when the posting describes the interview or hiring steps.

    When it is missing, ask: How many rounds are there, what does each test, and how long does it take?

  11. 11. Reporting line and team size

    Stated when the posting says who the hire reports to and how big the team is. Unclear when it gives only one of the two.

    When it is missing, ask: Who would I report to, and how big is the team?

  12. 12. Work authorization and visa

    Stated when the posting says whether it sponsors visas or where it can hire.

    When it is missing, ask: Do you sponsor visas, and which countries can you hire in?

  13. 13. Posting is current

    Stated when the posting has a date in the last 60 days, a closing date, or a start date. Unclear when its date is older than 60 days.

    When it is missing, ask: Is this role still open, and when do you plan to decide?

  14. 14. No red flags

    Stated when none of these appear: fees to apply, contact moved to a personal messenger, exclusionary wording, or a known scam pattern (equipment to buy and be reimbursed, bank or ID details before an offer, easy money).

Red flags: asks for a fee or a payment, moves the contact to a personal messenger, exclusionary wording, asks you to buy equipment for reimbursement, asks for bank or id details before an offer, promises easy money. A red flag is shown first, whatever the count. Old technology is not a flag.

12 to 14 stated: This posting tells you what you need to decide. 8 to 11 stated: Ask before you apply. 7 or fewer stated: This posting leaves out the basics.

The full sample result
Read the sample posting
Senior iOS Engineer

Northwind Health is hiring a Senior iOS Engineer to join the Patient App team. Our app helps 2 million people book appointments and read their test results.

Location: Berlin, Germany. Hybrid, 2 days a week in the office. Core hours overlap 10:00 to 15:00 CET.
Employment type: full time, permanent.

What you will do
- Own the appointment booking flow in the iOS app, from design review to release.
- Move the remaining UIKit screens to SwiftUI and keep the app fast on older devices.
- Work with the backend team on the GraphQL API the app depends on.
- Review code and mentor two mid-level engineers.

What we are looking for
- 5 or more years building iOS apps in Swift.
- Experience with SwiftUI, Combine and Swift concurrency.
- You have shipped an app with offline data, for example with Core Data or SwiftData.

Nice to have
- Experience with health data or HealthKit.
- Some Kotlin, to read the Android code when you need to.

Our stack: Swift, SwiftUI, UIKit, Combine, GraphQL, Xcode Cloud, Firebase Crashlytics.

You will report to the Engineering Manager of the Patient App, in a team of 6 engineers.

We are a young team of digital natives who love to move fast.

Apply by 30 November. We reply to every application within one week.
10of 14 stated

Ask before you apply. Some of what you need to decide is not in the posting. The questions below get it.

  • Salary rangeMissing

    Ask: What is the salary range for this role?

  • Seniority levelStated

    Read: Senior iOS Engineer Northwind Health is hiring a

  • Location, remote policy and time zoneStated

    Read: Location: Berlin, Germany. Hybrid, 2 days a week in the office. Core hours

  • Employment typeStated

    Read: Employment type: full time, permanent. What you will do - Own

  • The company is namedStated
  • The product or teamStated

    Read: a Senior iOS Engineer to join the Patient App team. Our app helps 2 million people book

  • Concrete responsibilitiesStated

    Read: What you will do - Own the appointment booking flow in the iOS

  • Must-haves separated from nice-to-havesStated

    Read: Nice to have - Experience with health data or HealthKit. -

  • Current stackStated

    Read: swift, swiftui, uikit, combine, kotlin, graphql

  • Interview processMissing

    Ask: How many rounds are there, what does each test, and how long does it take?

  • Reporting line and team sizeStated

    Read: You will report to the Engineering Manager of the Patient App, in

  • Work authorization and visaMissing

    Ask: Do you sponsor visas, and which countries can you hire in?

  • Posting is currentStated

    Read: Apply by 30 November. We reply to every application

  • No red flagsRed flag

    Exclusionary wording

    Ask: Verify the employer through its official website before you send anything else.

Questions to send before you apply

  1. What is the salary range for this role?
  2. How many rounds are there, what does each test, and how long does it take?
  3. Do you sponsor visas, and which countries can you hire in?
  4. Verify the employer through its official website before you send anything else.

This reads only what the posting says. It cannot tell whether the role is real, still open or well paid against the market. Ask.

When there is no result, and what is kept

If fewer than 700 characters were read, or the text stops in the middle, there is no result: a count on half a posting would be wrong. On LinkedIn, click See more first.

The posting text is checked and dropped, never stored. Only the date of a check and which items came out missing are kept. The result email carries only the items, never the posting.

Questions

What does Job posting check do?

It reads a job posting and tells you which of 14 basics it states, which are unclear and which are missing: salary, level, location and remote policy, employment type, company, team, responsibilities, must-haves, stack, interview process, reporting line, visa, whether it is current, and red flags. For every gap you get the question to ask the recruiter.

Is it free?

Your first 3 checks are free, with the full result. After that it is $9.99, paid once, with access for good. It is free for anyone who bought a salari.dev book or service.

Does it use AI?

No. It runs the same written rules on every posting, so the same posting always gets the same result. The rules are listed on this page.

Is my posting stored?

No. The text is checked and dropped. Only the date of a check and which items came out missing are kept.

Does it work on LinkedIn?

Yes. The Chrome extension checks the posting you have open on LinkedIn, Greenhouse, Lever, Ashby or Workday. On LinkedIn, open See more first so the whole posting is read.

Why a count and not a score?

A posting cannot tell you whether a job is worth it, only what it says. So the result is a count, for example 10 of 14 stated, never a percentage.