We build in the open.

Every change we make to Staffer, in plain language — what shipped, who it’s for, and why we did it.

12 changes

August 2026

1 change

  • Everyone

    Katakombe Entry from Sanity

    This entry came from the Sanity CMS, not hardcoded data.

July 2026

7 changes

  • For companies

    Scorecard reasoning travels with the export

    A scorecard with each criterion scored and the reasoning written beneath it

    A score you cannot open is a score you cannot defend. Exports used to flatten every match to a number, which meant the reasoning stayed in Staffer while the number went into the hiring meeting on its own.

    Both export formats now carry the per-criterion reasoning alongside the score:

    • CSV gets one column per criterion, plus its written reason
    • PDF keeps the scorecard layout, reasoning under each line
    • Both stamp the criteria version the score was produced against
  • For companies

    Bulk actions on the shortlist

    A shortlist with several candidates selected and the bulk action bar showing

    Shortlist triage was the one place the product still made you work one row at a time. Select any number of candidates and the action bar applies to all of them at once — advance, reject, or move them to another role.

    Rejections still ask for a reason. That has not changed and will not: a bulk action is a faster way to do the work, not a way to skip the part that the candidate reads.

  • For candidates

    One profile, every company

    Your profile is yours, not a copy held by each company you apply to. Fill it in once and it travels with every application you send on Staffer.

    Companies see the profile as it stands when they open it, so a detail you add today shows up in an application you sent last week. Nothing is duplicated at the point of applying, which is what used to leave four slightly different CVs in four different pipelines.

  • For candidates

    Real application status, not a guess

    The worst part of applying is not rejection, it is silence. Every application now carries a real state, written the moment it changes rather than inferred from how long ago you applied:

    • Seen — someone on the hiring team has opened it
    • In review — it is actively being assessed
    • Closed — a decision was made, with the reason attached

    These come from what actually happened in the company's workspace. No company can set a status by hand to keep a pipeline looking tidy.

  • Everyone

    Scheduling stopped guessing timezones

    An interview offered at “14:00” is a question, not an appointment. Slots are now offered in the candidate's own timezone, and every invite names the zone it is quoting so there is nothing left to interpret.

    The hiring team still sees its own local time on its own calendar. Both sides read the hour they will actually show up at.

  • For companies

    Criteria you wrote once, reused everywhere

    A role's written criteria open in the workspace, ready to save as a template

    Most teams hire the same handful of shapes repeatedly, and were rewriting the criteria from scratch each time. Any role's criteria can now be saved as a template and opened as the starting point for the next search.

    Templates are a starting point, not a lock — edit freely once a search is open. Scores record the criteria version they ran against, so changing a template never quietly rewrites what an old scorecard meant.

  • For candidates

    Withdraw an application without emailing anyone

    Taking yourself out of a process should not require composing a polite email to someone whose name you may not know. Withdraw straight from your dashboard, and the hiring team sees it immediately.

    Giving a reason is optional. If you skip it, nothing is invented on your behalf.

June 2026

4 changes

  • Everyone

    Rejections that say something

    “We decided to move forward with other candidates” tells you nothing you could act on. Closing an application now requires a written reason, and the candidate reads the same words the hiring team recorded.

    This is a deliberate piece of friction on the company's side. It is also the one that makes the rest of the product honest: a scorecard nobody has to explain drifts toward a number nobody checks.

  • For candidates

    Salary expectations, set once

    Set a range once on your profile and every application carries it. You are not asked to restate it per company, and no company sees a different number from the one you set.

    The range is yours to change at any time. Editing it updates what open applications show, so the figure a hiring team reads is never a stale one you have moved on from.

  • For companies

    Shortlists post to your team's Slack channel

    Hiring decisions get made in Slack whether or not the hiring tool knows about it. New shortlists now post to the channel you choose, each candidate with their score and a link straight into the workspace.

    The post carries the scores, not the candidates' contact details — the channel is usually wider than the hiring team, and a shortlist notification is not a reason to widen who can see someone's personal data.