Compare every Hireflix candidate for a role side by side

By General Input

A calibration board that lines up every candidate's answer to the same question, hides names until your panel has scored, and writes the agreed rating back.

Integrations

  • Hireflix
  • Gmail

Type

App

Categories

  • HR & People
  • Operations

Build me a calibration board app for comparing every candidate on a single Hireflix position side by side. Working through candidate profiles one at a time is where our hiring managers lose the most time and where bias creeps in, so the whole point of this app is the answer-level axis: comparing all candidates' answers to question three next to each other, rather than opening five profiles in sequence.

The app opens on a position picker populated from List Positions. When I choose a position, load its candidates with List Interviews for Position and build the main view: a grid where each ROW is an interview question and each COLUMN is a candidate. Each cell holds that candidate's video answer to that question with the transcript underneath, fetched through Fetch Interview Results. Question rows stay fixed as I scroll horizontally so I always know which question I am comparing.

Positions can have a lot of candidates, so cap how many columns render at once (default around five) and page through the remaining candidates instead of loading every interview at the same time. List Interviews for Position uses cursor pagination, so pass pagination: { limit, lastCursor } and carry the returned lastCursor forward when the reviewer pages to the next group of candidates.

Blind mode is ON by default. While it is on, hide every candidate's name, email address, and photo behind stable labels like Candidate A, Candidate B, and Candidate C. The label assigned to a given candidate must stay consistent for every panelist and for the whole session, so panelists can talk about Candidate C without knowing who that is. Identities stay hidden until scoring closes.

Each panelist scores candidates in the app question by question, against a short rubric shown next to the answers. Persist these scores per user inside the app: one score per panelist, per candidate, per question, so we keep the detail behind every decision. Critically, a panelist must NOT be able to see any other panelist's scores until they have submitted their own, because seeing a colleague's high mark anchors everyone else. Show only aggregate progress before submission, meaning which panelists have finished and which are still scoring.

When every panelist has submitted, or an admin closes scoring early, the app reveals candidate identities and opens a results view. That view unmasks names and photos, shows each panelist's per-question scores next to each other, and shows the average per candidate and per question so we can see where the panel disagreed. The panel then settles on one agreed rating per candidate, and the app writes that single agreed rating back with Score Interview. Individual panelist scores stay in the app and are never written back, only the agreed number. From the same view I flag the winners as finalists using Shortlist Interview.

Add a Compare finalists button that kicks off a background agent across the shortlisted candidates. The agent re-reads each shortlisted candidate's answers and transcripts through Fetch Interview Results and produces a ranked memo: an overall ranking with reasoning, plus a recommendation for every finalist where each claim is backed by a direct quote pulled from that candidate's actual answers rather than a general impression. The memo lands back in the app in its own view so I can read it before it goes anywhere.

From the memo view, give me a button to email it to the hiring manager using the Gmail Send a Message operation, with an editable recipient and subject line and the memo formatted so it reads cleanly in an inbox.

One important technical constraint: Hireflix interview video URLs are signed and expire after 14 days. Always fetch them fresh at read time when a cell renders, and never store or cache a video URL in app state or the database, or the grid will silently fill with dead players for older positions.

Related prompts

Explore more prompts
Win back LiveChat visitors whose chats went unansweredChase the paperwork every new client and vendor still owesFile Gmail attachments into storage with names you can findCandidate rediscovery desk for your archived Lever applicantsLaytime and demurrage claim workspace for chartering opsKajabi customer support console for member access fixesRun your application review round on Jotform submissionsRun your nutrition clients' weekly meal plans from one consoleReplace the dispatch whiteboard with a live production boardJob search command center with a self-filling pipeline board