A single-file interview tool for the AI-capability module of an FP&A hiring loop. It runs the five interview blocks from Assessing AI capability in FP&A hires, scores against the paper's anchors, applies its rules mechanically, and compares candidates within a level.
Everything is one HTML file. No build, no server, no accounts. Candidate data stays in the interviewer's browser.
- Hosted: open
index.htmlfrom GitHub Pages (Settings → Pages → deploy frommain, root), or any static host. - Local: double-click
index.html. It works from the filesystem.
The tool saves to the browser's local storage. A different browser or a private window starts empty; if storage is blocked, the header says so and nothing is kept between refreshes — copy or print the sheet before closing.
1. Settings (once per loop). Choose the level you're hiring — one level per loop, because totals do not travel across levels. Optionally set weights on the three scored dimensions (with a written reason) and reporting bands. The tool snapshots these at the first score and flags any later change on every sheet.
2. Candidate. Add a candidate (name or code, role, date). Candidates persist in a list; open any of them later.
3. Blocks 1–5. Each block shows the level's question at the top. Take notes while the candidate answers. Tick What you heard — the items are the anchor text — and the tool suggests a score; click it or pick an anchor by hand. Mark any tells you observed. The rules apply themselves:
- Two or more tells in a block cap it at 3.
- Two or more tells in Block 1 score it a 1, and the judgment gate fails.
- Blocks 3 and 4 produce one score. Two or more apart: the lower, with the split recorded. Within a point: the lower by default, with a one-click override.
- Block 5 is a check, not a score: VERIFIED, ACCOUNTED, or NONE. NONE subtracts one point and requires a written reason. Two or more tells there mean NONE.
4. Score sheet. The unweighted total out of 15 is the score of record. The two gates (judgment floor, curiosity artifact), the weighted view if weights are custom, the band if defined, and flags for anything missing. Print it, or copy it as text for the debrief.
5. Compare. Every candidate in the loop, ranked. Within two of the top is marked a tie — the instrument cannot distinguish them; resolve with the rest of the loop. A failed judgment floor is marked no-hire.
Worked example and Load sample loop on the Candidate step put fictional candidates in so you can see a finished sheet and a populated comparison before your first real one.
The Review button (bottom right) turns on a comment layer: click any element, write a note, and export the set as a .txt with the element path, page coordinates, and your comment. To remove the feature, delete everything between <!-- ===== REVIEW-MODE START and <!-- ===== REVIEW-MODE END ===== --> at the end of index.html. Nothing else references it.
index.html— the tool, self-contained (styles and script included; no other files needed to run it).README.md— this file.
This scores AI-related capability only: judgment, domain knowledge, and process-and-build, with curiosity as an evidence check. Communication, stakeholder management, and the rest of the job belong to the rest of your loop. See the paper for the reasoning behind every rule.