Product
Overview
heineken-interview-arrange โ an interview arrangement system that covers the whole flow: selecting interview targets from survey respondents, matching them against interviewers' calendars, and confirming the schedule.
Problem (Why)
Selecting interview targets from a large pool of survey respondents and arranging schedules used to be a fragmented, manual process.
| Existing problem |
How this product solves it |
| Response data scattered across CSVs and spreadsheets, impossible to filter by condition |
Creative Survey / Ask One answers are read from Databricks so candidates can be filtered by their answers |
| Candidate quality judged manually |
Scoring rules (projects.scoring_rules) score candidates automatically from their answers |
| Checking interviewer availability and sending emails done by hand |
Free slots are computed from Google Calendar, tentative holds are placed, and invitation emails are sent |
| Email round-trips with candidates cannot be tracked |
Candidates submit preferred slots via a tokenized public page, recorded as a status change |
| No record of who was sent what and when |
Status histories, email logs, and import logs are all persisted |
Target Users
| User group |
Description |
| Researchers (admin / member) |
Primary users. They create projects, import candidates, select them, and drive scheduling |
| Interviewers |
Linked to a project; their Google Calendar availability drives scheduling. They run the actual interviews |
| Viewers |
Read-only. Cannot perform any write operation |
| Candidates |
Submit their preferred slots from an unauthenticated tokenized page. They never access the admin console |
Key Concepts
| Term |
Description |
| Project |
One interview initiative. Holds interview duration, scheduling window, interview type, scoring rules, and arrange settings |
| Arrange flow |
The staged wizard on the project detail screen: STEP1 (date conditions, interviewers, tentative holds) โ STEP2 (segmentation and candidate selection) โ STEP3 (additional questions) |
| Segment |
A group of candidates classified by their answers to survey questions, defined in STEP2 |
| Selection type |
Splits candidates into primary and reserve |
| Tentative slot |
A provisional event placed on the project calendar in advance, with the assigned interviewer as an attendee. Converted to a confirmed event once the schedule is fixed |
| Project calendar |
A dedicated Google calendar per project. Every event, from tentative holds to confirmed interviews, is kept here |
| PROTOTYPE_MODE |
A mode that disables email sending and Google Calendar writes. Enabled by default, and turned off on stg |
Out of Scope
- Creating and distributing the surveys themselves (that is Creative Survey / Ask One's role)
- Recording, evaluating, or reporting on interview content
- Paying or settling candidate incentives
- Candidate account registration / login (tokenized URLs only)
- Writing to Databricks (the integration is read-only)