Feedback arrives as three paragraphs in Slack and one interviewer who never replies. Here is the model behind a scorecard app, the prompts to build it, and what it takes to run it.
Your private status link is on its way to your inbox.
An interview scorecard app is four parts: competencies defined per role before anyone interviews, a scorecard per interviewer, scores hidden until yours is submitted, and a decision view that compares candidates on the same axes. The mechanism that does the most work is independence. Interviewers who can see an earlier score converge on it, and the panel then mistakes agreement for evidence.
Scorecards
3
Feedback you owe
2
Ready to debrief
1
Competency nobody covers
6.1h
Median to submit
Competency
Systems design
One of two assigned to you
A 3 looks like
Designs for the case in front of them, and can name one thing that would break at ten times the load
Shown here, not in a document nobody opens
Your rating
4
Other panellists
Hidden until you submit
The rule that protects the signal
Evidence
Walked through the retry design unprompted, named the queue as the failure point, and said what they would measure
Required. A rating with no example is an impression.
You run recruiting or hire regularly. You already know which roles you struggle to assess consistently. What you want is feedback that arrives, is comparable across interviewers, and gives you something to say when a decision is questioned.
What happens before, during and after a panel, and the one rule that protects the signal.
With the scale written out in words, so a 3 means the same thing to two different interviewers.
And the app warns you if one is covered by nobody, or by four people at once.
Assigned competencies, behavioural anchors, and suggested questions, all in one place.
This is the whole design. Interviewers who read an earlier score move towards it, and the panel then mistakes agreement for evidence.
A score with no evidence is an impression, and the app should not accept one.
Disagreement highlighted rather than averaged, with the evidence expandable inline.
A scorecard app is not a feedback form. It is four parts, and the third one is what makes the data worth collecting.
What this role needs, defined before interviewing starts, each with a description and a scale written out in words. Reusable across roles of the same family.
Each interviewer assigned specific competencies to assess, with suggested questions. Coverage is checked at the panel level, not left to chance.
Scores hidden from other interviewers until yours is submitted, and locked afterwards. Edits create a visible revision rather than replacing the original.
Candidates side by side on the same competencies, with the evidence behind each score, dissent highlighted rather than averaged away.
These prompts start from a Helix project, which is what handles sign-in, credentials and hosting. Start with Helix
Paste these into Claude Code, Codex or Cursor in order. Each one leaves you with something that runs, so you can stop after any step.
Before anyone is in a room, and this is where most scorecards fail.
In this Helix project, build me an interview scorecard app.
Start with competencies, and do not ship a numeric scale without written
anchors. For each competency, write out what a 1, a 3 and a 5 actually
look like behaviourally. A scale of one to five with no words attached
produces ratings that are not comparable between two interviewers, which
makes the whole exercise decorative.
Then roles: title, level, family, hiring manager. Attach a set of
competencies to each role with a weight, and let me clone a role's set as
the starting point for another role in the same family.
And a question bank: per competency, questions worth asking and what a
good answer contains.
I sign in through Helix, so do not build a login page. Read the signed-in
user from the runtime. And do not put any key or connection string in the
code: if this needs to reach another system, tell me and I will create the
connection in my workspace. Worth knowing. The behavioural anchors are the whole exercise. Everything else here is plumbing around them.
So somebody is assessing the thing that actually matters.
Add candidates, panels and assignment.
For each interview, assign that interviewer specific competencies rather
than letting everyone assess everything. Then check the panel: warn me if
any competency for this role is assigned to nobody, and warn me if one is
assigned to more than two people.
Four people assessing the same broad trait while nobody assesses the
specific skill is the standard way a panel fails, and it is invisible
unless something checks for it.
On the page where each interviewer writes their feedback, give them their
assigned competencies, the behavioural anchors, and suggested questions
from the bank. Nobody should have to go and find those. The rule that protects the signal, and it is not optional.
Now scoring, and this is the most important rule in the app.
Hide every other interviewer's score and comments until the signed-in
interviewer has submitted their own. Interviewers who can see an earlier
strong yes produce more strong yeses, and the panel then reads its own
convergence as evidence, which is exactly backwards.
Require written evidence on every rating. A score with no example is an
impression, and impressions are where bias lives. Do not accept a rating
without one.
Give each interviewer an overall recommendation from a fixed list: strong
no, no, yes, strong yes. No neutral option. A panel of maybes decides
nothing.
Lock a submission once made. An edit creates a visible revision with a
reason, rather than quietly replacing the original. And chase unsubmitted
feedback automatically, with the debrief as the deadline. Comparing candidates properly, then looking at yourselves.
Build the candidate summary: every competency, each interviewer's rating and
evidence side by side, and the weighted total. Show the spread as well as
the average, and highlight any competency where interviewers disagreed by
more than a threshold. Disagreement is information and averaging destroys
it.
Add a comparison view for several candidates on the same role, on the same
competencies, with evidence expandable inline. Then a decision record:
outcome, who decided, when, why, and which competencies drove it.
Finally, three reports. Score distribution per interviewer, so I can see
who rates everyone highly and who has never given a strong no.
Competencies that never discriminate between candidates, which are
measuring nothing and should be dropped. And time from interview to
feedback submitted.
Add a retention rule too: flag candidate data older than a period I set
for deletion, and show me what is due. Worth knowing. The interviewer distribution report is uncomfortable and useful. Someone who has never used the ends of the scale is not calibrated.
The step that turns a working prototype into something with your data in it.
Now connect it to the systems we actually run, so it works on real data
rather than the rows you seeded.
Anything in angle brackets is a placeholder. Swap it for whatever we use
instead, and have the app name the connection it wants rather than assume
a vendor, so changing my mind later is a config change and not a rewrite.
<Greenhouse>. Read candidates, roles and scheduled interviews, and write
the decision back once the debrief closes.
<Okta>. Resolve interviewers to real accounts, so the app can match a
person to the panels they are actually on.
<Google Calendar>. Read who is on which interview, so assignment does not
need re-entering.
<Gmail>. Send the scorecard link and the reminder by email, for the panel
members who do not live in chat.
<Zoom>. Read which interviews actually happened, so chasing feedback is
not based on the calendar invite.
<Slack>. Chase unsubmitted feedback before the debrief, which is most of
what this saves.
<Snowflake>. Push scores into the warehouse for the calibration reporting,
without holding candidate data twice.
Only write where I have said to write. Everything else is read only.
Do not write a key, a token or a connection string anywhere in the code,
and do not ask me to paste one. Tell me which connections you need and I
will create each as an authentication in my Helix workspace. Reference
them by alias. Worth knowing. Every name in angle brackets is a placeholder for whatever you run. Helix holds the credential as a workspace authentication, so the app references an alias and never the secret itself.
The last step of every build: a URL, and the right people on it.
Deploy my app. Worth knowing. Your assistant runs helix deploy underneath and the app comes back as a URL. Candidate data is personal data with legal obligations attached, so set Access Control before sharing and scope it to the panels people are actually on.
Candidate data is personal data, so this reads carefully and writes back only the decision.
Greenhouse
Read candidates, roles and scheduled interviews, and write the decision back once the debrief closes.
Okta
Resolve interviewers to real accounts, so the app can match a person to the panels they are actually on.
Google Calendar
Read who is on which interview, so assignment does not need re-entering.
Gmail
Send the scorecard link and the reminder by email, for the panel members who do not live in chat.
Zoom
Read which interviews actually happened, so chasing feedback is not based on the calendar invite.
Slack
Chase unsubmitted feedback before the debrief, which is most of what this saves.
Snowflake
Push scores into the warehouse for the calibration reporting, without holding candidate data twice.
Each line says whether the app reads, writes or both. Anything not described as writing should be read only.
Named systems are the ones most teams actually run, not a list of the only ones that work. Swap in whatever you use.
Each connection is an authentication in your Helix workspace, referenced by alias. The app names the connection it wants and never holds the credential, so nothing here ends up in your code and any of it can be rotated or revoked without a redeploy.
The build gets you a working scorecard app. It holds candidate personal data with legal obligations attached and records hiring decisions, so how it is run is part of the design.
AI Deployment
One command takes the app from your assistant to a live address, so the people who need it get a link rather than instructions for running it locally.
App Security
Candidate data is personal data and hiring decisions carry legal weight. SSO means interviewers sign in with their existing account, and access is scoped so people see the candidates and panels they are actually on.
App Security
Pulling candidates from an applicant tracking system and writing decisions back needs real access. Granting it to the app rather than pasting a key into it means it can be rotated or revoked without a redeploy.
App Registry
Every app carries a named owner and an entry IT can see, so the tool does not become nobody's problem when the person who built it changes role.
Cost Management
Per-app spend visibility, with budgets and caps, so an internal tool cannot quietly become a line item nobody can explain.
A structured record of one interviewer assessing a candidate against specific competencies, with a rating and written evidence for each. It replaces free-text impressions with something comparable across interviewers and across candidates.
Because they converge on what they read. A panel that has seen an earlier strong yes tends to produce more strong yeses, and then mistakes its own agreement for evidence. Hiding scores until submission is the single most valuable rule in the app.
In words. Write out what a 1, a 3 and a 5 look like behaviourally for each competency. A numeric scale without written anchors produces ratings that are not comparable between two interviewers, which makes the whole exercise decorative.
Show the average, but never only the average. Highlight the spread and flag competencies where interviewers disagreed sharply, because disagreement is the most informative thing a panel produces and averaging deletes it.
Report which ones never discriminate between candidates. A competency where everyone scores 4 is measuring nothing and should be dropped. The same report shows which interviewers never use the ends of the scale.
Yes. The prompts here are written for Claude Code, Codex or Cursor and stage the build. The work that is not in the code is writing your behavioural anchors, and that is the part that determines whether any of it helps.
People
One record per role from request to filled, with approval, budget, and a status that finance, recruiting and the hiring manager all read the same way. Prompts to build it, and what it takes to run it.
People
Run a cycle to a schedule, collect self and peer input before the manager writes, keep ratings comparable across teams, and finish with something the person can act on. Prompts to build it, and what it takes to run it.
People
Generate the right task list per role, route each task to the team that owns it, and prove that access was actually removed. Prompts to build it, and what it takes to run it.
Last reviewed September 2026.
Helix is the governed runtime for AI-built apps. Deploy what you build, put SSO in front of it, connect it to your systems with managed credentials, and give it a named owner.
Your private status link is on its way to your inbox.