By: AY1920S2-W15-2
Since: Feb 2020
HireLah! is a productivity app that helps busy interviewers like you manage multiple interview sessions in an orderly
manner. During each interview session, HireLah! helps you to keep track of interviewee information and interview
rubrics in one central location so that you can focus on what’s important - the interview itself!
HireLah! has the following main features:
-
Manage multiple interview sessions, one for each different job position you are conducting interview for.
-
Add and modify interview rubrics for each interview session, including:
-
A list of attributes you want to look out for in an interviewee.
-
A set of questions that you would like to ask all interviewees.
-
A collection of metrics to score interviewees, allowing you to easily rank potential candidates.
-
-
Record your remarks for an interviewee during an interview, and score the interviewee based on the attributes.
-
Identify the best interviewees based on particular attributes or metrics, so that you can follow up with them.
-
Export interview transcripts for future reference.
HireLah! is optimised for interviewers who are fast typists and prefer typing over other means of input. It comes with:
-
A Command Line Interface (CLI) which allows you to access all HireLah! features by typing.
-
A Graphical User Interface (GUI) that displays the information you need to conduct an interview, with limited GUI convenience features.
This User Guide explains how you can use HireLah! to help you manage your interviews.
You may refer to Section 3, “Quick Start” for a short tutorial on how to run HireLah! on your device and use HireLah!'s main features. Please refer to Section 4, “GUI Components” for a breakdown of HireLah!'s GUI components. For a full walkthrough of HireLah!, please refer to Section 5, “Features”.
If you encounter any difficulties while using HireLah!, you can refer to Section 7, “FAQ” for a list of common issues.
If you are an experienced CLI user, you can find all the HireLah! commands under Section 8, “Command Summary”.
This section explains the format of commands in this User Guide:
Command Format
-
Words in
<angular brackets>
are the parameters to be supplied by the user e.g. inadd interviewee <full name>
,<full name>
is a parameter which can be used asadd interviewee John Doe
. -
Items in square brackets are optional e.g
<full name> [-aka <alias>]
can be used asJohn Doe -aka Jo
or asJohn Doe
. -
Items with
…
after them can be used multiple times including zero times, unless otherwise stated e.g.[-a <attribute> -w <weight>]…
can be used as,-a ambition -w 0.5
,-a ambition -w 0.5 -a teamwork -w 0.1
etc.
-
Ensure you have Java 11 or above installed in your Computer.
-
Download the latest
HireLah.jar
here. -
Copy the file to the folder you want to use as the home folder for your HireLah!.
-
Double-click the file to start the app. The following window should appear within a few seconds - this is the Session Screen, where you can create, open, or delete interview sessions:
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open this user guide. -
Some example commands you can try:
-
Once you are on the Interview Screen shown above, here are some example commands you can try:
-
add interviewee
John Doe
: adds an interviewee named John Doe to the application -
add question
How old are you?
: adds the question to the application -
exit
: exits the app
-
-
Refer to Section 4, “GUI Components” for an explanation of the GUI and Section 5, “Features” for details of all the commands.
HireLah! consists of two main screens, the Session Screen as well as the Interview Screen, as shown below.
Displays a list of all current interview sessions that has been created using HireLah!
For more information, see Section 5.3, “Managing Sessions”.
The Result Display Box displays success and error messages for your last command.
Refer to Section 4.1.1, “Menu Bar”
This panel displays a few meta information about this interview session, in order:
-
The name given to this interview session.
-
The number of interviewees that has been interviewed over the total number of interviewees.
-
Whether this session has been finalised. Refer to Section 5.4.8, “Finalise Interview Attributes and Questions” for more information.
Interviewee List Display shows the current list of interviewees. This list will display either the list of all interviewees, or a list of the best few interviewees selected based on your input ranking criteria, as shown below: (See Section 5.6.5, “Find Best Candidates”)
Each interviewee card contains the full name, ID and alias of the interviewee. It also shows whether the interviewee has had uploaded a resume (indicated by a green circle with a tick beside "Resume:") and the interview status of the interviewee (white circle indicates the interviewee has not been interviewed, yellow circle indicates that interview with this interviewee is currently underway/incomplete, green circle indicates that the interview with this interviewee has been completed).
In addition, if the list of best interviewees is being shown, the score of each interviewee based on the ranking criteria will be displayed on each interviewee’s card.
Transcript Panel displays the interview transcript of an interviewee. It consists of two sub-components:
-
A Detailed Interviewee Card on the left, which contains:
-
Full name, ID and alias of the interviewee.
-
A button that opens the interviewee’s resume.
-
A table showing the score assigned to the interviewee for each attribute that this interview looks out for. If an attribute has not been scored yet, the score will be shown as "-".
-
-
A Remarks List showing the time-stamped remarks entered by the user about the interviewee during the interview. The list also contains question headers, indicating that the remarks entered after it are in response to the interviewee’s answer to the particular question.
Rubrics Panel displays information about attributes, questions and metrics created for this interview session. You can easily toggle between these lists of information by clicking on the respective tab headers at the top of this Panel.
Refer to Section 4.1.3, “Result Display Box”
Refer to Section 4.1.4, “Command Box”
Generally, in an interview session (for example, an interview for a role in a company), there are 3 phases:
-
Initialization phase (or preparation phase) - where the interviewer prepares his/her questions, manages candidates, receives their resumes, etc.
-
Interview phase - where the interviewer actually conducts interviews, asking questions and making notes about each candidate
-
Decision phase - after interviewing all candidates, the interviewer summarises his/her opinions, refers to the remarks he/she made of each interviewee and decides who to select
These 3 phases are clearly defined in HireLah!. What you can do in each phase is listed below.
Command
You never know when you need to refer to this guide. For that reason, the helpful help
command is available
always within the app, except during an interview, where "help" may be a remark you want to make about the current
candidate being interviewed! Still, the help command is always accessible via the F1 key, or by clicking the
"Help" button on the top of the menu.
help
Action: This user guide is opened as a PDF with your system’s default PDF viewer.
Similar to help, exit
is always available to close the app, except during an interview (Why would you want
to close the app during an interview?).
Command
exit
Action: The app exits.
HireLah! allows you to clearly separate your interview sessions. After all, it would be disastrous to mix up your candidates for one job with the candidates for a totally different role, or ask the wrong questions to the wrong person!
When you first start the app, there will be no existing sessions. You can create a new session to get started via the new
command.
💡
|
Sessions are stored as directories in a /data directory HireLah! creates in the same location as the app. To make sure
session names are valid, we only allow Alphanumeric characters (a, b, c or 1, 2, 3) and spaces (but not all spaces!).Do not accidentally delete this folder! HireLah! will not be able to restore your data if you delete it! |
Command
new <session name>
Execution Example
> new ceo interview
Action: Creates a new session called "ceo interview" and opens the session.
On subsequent uses of HireLah!, you will be greeted at the starting screen with all the sessions you have
created. You can choose to start a new session again, or open a previous session to continue working in it using the
open
command. After you are done for the day, or need to switch to another session, simply close the session with the
close session
command. Closing a session will naturally return you to the starting screen where you can open or create new
sessions.
Commands
open <session name> close session
After a long time, old sessions may not be relevant anymore. To clear space for new interviews, use the delete
command.
Command
delete <session name>
Execution Example
> delete ceo interview
Action: Deletes the ceo interview session and all its data.
Output:
Successfully deleted the session: ceo interview
HireLah! allows you to manage your list of candidates from within the app. You can add interviewees to the list by giving their full name, and HireLah! automatically generates a unique ID for each candidate. To make things easier, you can also specify an alias (a shorter name) to the interviewee, so you need not memorise their IDs or type out their full names every time.
Whenever you see <interviewee>
, it means that you can specify the interviewee you are referring to via any of his/her
unique identifiers - ID, full name or alias.
At any time you can delete any interviewees and edit their information.
💡
|
Most names and aliases are accepted - even non-English names or names with funny punctuation and numbers (eg. Larry O’Brien the 3rd). Your interviewees could come from anywhere after all. But do not give blanks or a name full of numbers (eg. 12345)! |
💡
|
If you are adding an interviewee with an alias, but you accidentally give an invalid alias (the same as another interviewee’s name or alias)
HireLah! does what it can - it adds the interviewee, but tells you that it failed to add the alias. If you are editing an interviewee and specify both a new name and new alias, if either are invalid, HireLah! will prevent you from performing that action! |
Commands
add interviewee <full name> [-aka <alias>] edit interviewee <interviewee> [-n <new full name>] [-aka <new alias>] delete interviewee <interviewee>
Execution Example
> add interviewee Jane Doe -aka Doe > edit interviewee Jane Doe -n Janice Doe -aka JDoe > delete interviewee Janice Doe
Action: Interviewee Jane Doe with alias of Doe is first created and then her name is changed to Janice Doe.
Output:
New interviewee added: Jane Doe Edited interviewee: Jane Doe Deleted interviewee: Janice Doe
Interviewer can upload a resume for a specific interviewee. If the path is specified, the resume will be uploaded from the specified path. Otherwise, it will open a file-picker.
💡
|
HireLah! does NOT copy the file you upload! It merely remembers the location of the resume.
If you delete or move the file, HireLah! can no longer open the resume! We recommend that you organize all the resumes in a folder, perhaps next to the /data directory.
|
Command
upload <interviewee> [-p <path>]
Execution Example
> upload Jane Doe
Action: Resume is selected by the user via a file-picker window and then uploaded for the interviewee Jane Doe.
Output after selecting the resume file:
Successfully added the resume!
Interviewer can open a resume from a specific interviewee.
Warning
|
Note: Make sure you have a default app for viewing PDF files, or whatever format your resumes are in! HireLah! tries to open the file you give as a resume, but if your system does not know how to open the file, HireLah! will not be able to help! As far as HireLah! is concerned, it has successfully performed its job to request your system to open the file. |
Command
resume Jane Doe
Action: Jane Doe’s resume is opened.
Output:
Resume of Jane Doe opened.
In an interview, you often look out for a particular set of attributes in your candidates. HireLah! lets you keep track of what to look out for during the interview, and even assign scores for each attribute to the interviewees so you can compare them after interviewing.
💡
|
An attribute’s name can only contain alphabets and spaces, and it should not be blank! |
Command
> add attribute <attribute> > edit attribute <old attribute> -a <new attribute> > delete attribute <attribute>
Execution Example
> add attribute teamwork > add attribute leadersip > edit attribute leadersip -a leadership > delete attribute teamwork
Action: teamwork and leadersip is first added. leadersip (with a typo) is edited to leadership, and then teamwork is deleted.
Output:
New attribute added: teamwork New attribute added: leadersip Edited attribute: leadersip to leadership Deleted attribute: teamwork
Before the interview process, the interviewer may wish to review the questions. During review process before the commencement of interviews, the interviewer may want to add more questions, remove unnecessary questions or modify existing questions.
Command
add question <question description> edit question <question number> -q <edited question> delete question <question number>
Example
> add question What are your relevant experiences? > add question What are your strengths? > edit question 1 -q What do you hope to accomplish in 5 years? > edit question 2 -q How can you add value to the company? > delete question 1
Action: The question "What are your relevant experiences?" will be added first, followed by the question "What are your strengths?". Then, question 1 and 2 are edited, before question 1 is deleted.
Output:
New question added: What are your relevant experiences? New question added: What are your strengths? Edited question 1 to What do you hope to accomplish in 5 years? Edited question 2 to How can you add value to the company? Deleted question: What do you hope to accomplish in 5 years?
In case of having multiple sessions with the same attributes and questions. There is a load
command
to load attributes and questions from other session. Therefore, there is no extra work to do.
Command
load attributes <session> load questions <session>
Example
> load attributes ceo > load questions janitor
Output:
Loaded attributes from ceo Loaded questions from janitor
When working on the attributes, questions and metrics (more about metrics in Section 5.6.4, “Add, Edit and Delete Metrics”), HireLah! displays the relevant content you are working on on the right side of the application. To switch views between them, HireLah! also provides these commands.
Command
attributes questions metrics
Action: Switches between displaying attributes, questions and metrics.
Output:
Here is the list of attributes: Here is the list of questions: Here is the list of metrics:
On the left side of the application, all of the interviewees are listed. It will switch to only show several
best interviewees when the the command is entered by the user. To switch back to list down the interviewees, HireLah!
provides this command.
Command
interviewees
Action: Displays the interviewee list.
Output:
Here is the list of interviewees:
After the interviewer is satisfied with the list of questions and attributes created for an interview session, the interviewer must finalise changes in attributes and questions. This is to ensure that the interviewers will evaluate all interviewees fairly and equally using the same set of questions and attributes.
Warning
|
Finalise is irreversible! Make sure you are sure of the attributes and questions you have, since HireLah! will not allow you to make changes to them after giving this command. This may seem restrictive, but this consistency will give you guarantees that make HireLah! really useful. For example, later on, if you open someone’s interview report and find his/her answer to a question, then go to another report and view the same question, you are guaranteed that both interviewees were asked the same thing! |
Command
finalise
Output:
Attributes and questions of this interview session has been finalised. You cannot change them anymore.
After finalising, you can start to interview the interviewees.
Command
interview <interviewee>
Example
> interview Jane Doe
Action: Initializes an interview session with Jane. The app also starts the interview time.
Output:
Interview with Jane Doe started!
After starting the interview, HireLah! allows you to easily take notes within the app itself. Anything you type in the Command Box, will be recorded as interview remarks, which are timestamped, allowing you to easily navigate your interview remarks after the interview is over.
Command
<remarks>
Example
> Interesting family history, all of her family members are very rich.
Action: Stores this remark and maps it to the specific time when you enter it.
Output:
Added the remark.
Special commands while interviewing are prefixed with a ":". These commands are not recorded as remarks and instead perform special actions.
The start question command allows you to indicate when you asked a question during the interview. This allows you to easily navigate to relevant parts of the interview after the interview ends, while viewing the report.
Command
:start q<question number>
Example
> :start q1 > Strengths: resilience, ambitious, good time-management > Weakness: perfectionist, not detail-oriented > Short answers
Output:
Marked the start of question 1 Added the remark Added the remark Added the remark
Action: Marks the start of question 1, then adds some remarks related to question 1.
During the interview, as you form your opinion on the candidate, you can give them scores for the attributes you have created earlier (see Section 5.4.4, “Add, Edit and Delete Attributes”).
💡
|
To keep things sensible, HireLah! allows you to give a score from between 0 to 10 inclusive. So 9.6 and 0.2 are in, but don’t try and give someone -10! |
Command
:set <attribute> <score>
Example
> :set leadership 5
Action: update the leadership score for John Doe (displayed in a table).
Output:
Scored 5.00 to leadership
During the interview, only a small subset of the usual commands are available by placing ":" in front. It would be terrible if you accidentally deleted an interviewee while interviewing him/her! However, it is important to be able to look at the current interviewee’s resume, and look at the attributes and questions needed in the interview, thus these viewing operations are supported.
Command
:resume :questions :attributes :metrics
Example
> :resume > :questions
Action: Opens the resume of the current interviewee. Then switches the tab to show the questions.
Output:
Resume of John Doe opened. Here is the list of questions:
After finishing the interview, give the end command. After the interview has ended, you will not be allowed to make any more remarks or change the interviewee’s scores. Don’t end prematurely!
💡
|
HireLah! will not allow you to end the interview if you have not assigned a score on all the attributes! |
Command
:end
Example
> end
Action: Ending the interview session.
Output:
Ended interview with Jane Doe.
After interviewing a candidate, you can view the interview transcript any time by doing an open command. To close the report, you can use a close command.
*Command
open <interviewee> close report
Example
> open Jane Doe
Action: Shows the entire list of remarks made during the interview, with their timestamps.
Output:
Successfully opened Interviewee report: Jane Doe
After interviewing a candidate, you can also export the report of the interviewee in the form of a PDF.
Command
export <interviewee>
Example
> export Jane Doe
Action: Exports the interview report of a particular interviewee in PDF.
Output:
Report of Anna exported in /Users/jane/main with file name "2.pdf".
After opening a report, you can scroll up and down to navigate through the remarks you made during the interview. In addition, you can zoom in on a particular moment in the interview by question number, or by the interview time.
Jumps to the point when the interviewee was
answering the given question (marked by the :start q<question number>
command).
Command
goto q<question number>
Example
> goto q2
Output:
Here is the remark of question 2!
After the interview process, the interviewer may want to compare the interviewed interviewees by
creating a custom metric to determine the relative importance of several attributes. Each metric
assigns a weight to one or more Attributes, and interviewees can be ranked based on their score calculated by
this metric via the best
command (see Section 5.6.5, “Find Best Candidates”.
💡
|
A metric’s name can only contain alphabets and spaces, and it should not be blank! |
Command
add metric <name> -a <attribute> -w <score> [-a <attribute> -w <score>]... edit metric <name> [-n <metric name>] [-a <attribute> -w <score>]... delete metric <name>
Example
> add metric extremeLeader -a leadership -w 0.7 -a tenacity -w 0.6 > edit metric extremeLeader -n extremeDictatorship -a leadership -w 3 > delete metric extremeDictatorship > add metric extremeLeader -a leadership -w 0.7 -a tenacity -w 0.3
Action: Adds a metric named extremeLeader with the scoring scheme Score = 0.7*leadership + 0.6*tenacity. Then, the extremeLeader metric name will be changed to extremeDictatorship with the weightage of leadership increased to 3. Next it deletes extremeDictatorship, then adds the metric extremeLeader (again) with a different scoring scheme Score = 0.7*leadership + 0.3*tenacity.
Output:
New metric added: extremeLeader Edited metric: extremeLeader Deleted metric: extremeDictatorship New metric added: extremeLeader
After interviewing all the candidates, HireLah! can help you analyse the candidates and show you who scored the best in the attributes you set. By default, HireLah! allows you to compare by:
-
The candidates' average scores across all attributes.
-
A single attribute (eg. find who scored the highest in leadership).
-
Your own custom scoring metric (see Section 5.6.4, “Add, Edit and Delete Metrics”).
💡
|
Take note that HireLah! will only compare interviewees who have completed their interviews
(Those who you have successfully performed an :end command after interviewing). This is
to make sure all the compared candidates have been scored in all attributes.
|
💡
|
In case there are ties in terms of the score, e.g. if we would like to retrieve the best 5 interviewees, but the score is the same between the fifth and the sixth interviewees, both interviewees will be shown. |
Command
interviewees -best <number of candidates> [-a <attribute>] interviewees -best <number of candidates> [-m <metric>]
Example
interviewees -best 1 interviewees -best 2 -m extremeLeader interviewees -best 3 -a leadership
Action: Firstly, HireLah! will show the top interviewee in overall score. Then, it will show the top 2 interviewees based on the extremeLeader metric. Finally, it will show the top 3 interviewees based on their leadership score.
Output:
Here are the best 1 interviewees. Here are the best 2 interviewees. Here are the best 3 interviewees.
It is often tedious to have to type out a long attribute like "Productivity" or "Team Player". Especially during an interview, a typing mistake may cost you precious time, possibly missing some important thing the interviewee said. HireLah! thus allows you to simply type part (a prefix) of the full word, as long as it uniquely identifies an attribute.
For example, if you have the following attributes:
-
Leadership
-
Ambition
-
Team player
-
Team motivator
Then:
-
"L", "Le" or any longer prefix can uniquely identify "Leadership"
-
"A" sufficiently identifies "Ambition"
-
"Team" cannot identify "Team player" as "Team motivator" shares this prefix
-
To minimally distinguish the 2, you must provide "Team p" or "Team m"
HireLah! also provides this convenient function for other things that require typing names, such as the metric names. Questions are referenced by their question number and interviewees can use their interviewee ID, and a short alias can be given so the feature is not provided.
It might be tedious opening an interview session via the open command open <session>
, as session names can be very
long. As such, we have implemented a convenient way of opening interview sessions via the GUI.
In order to open the report of an interviewee, you can simply scroll to the interview session you want to open, and double click on it!
During an interview or while viewing the interview report of an interviewee, the user can open the interviewee’s resume easily by clicking on the "View Resume" button in the Detailed Interviewee Card. If no resume has been uploaded for the interviewee, the button will say "No Resume" instead, and clicking on the button will do nothing.
You may wish to refer to the attributes, questions and metrics created during an interview. As an alternative to typing the switching views commands (See Section 5.4.7, “Switching views”), you may also click on the respective tab headers to view the list.
Q: After an interview session for a role is finished, how do I start a fresh session?
A: You can close the current interview session with the close session command close session
, then use the new interview session
command new <session name>
to start a new interview session!
To switch between multiple sessions, just select the interview session you want in the session screen via
open <session>
or by clicking the interview session card.
Q: What happens if the app crashes halfway? Especially during an interview?
A: HireLah! saves your work after every change. If the app crashes during an interview,
the next time you open the app, the interviewee you were interviewing will be in
an "incomplete interview" state. You can simply resume the interview by calling
the interview <interviewee>
command again. Note that you cannot perform the usual
decision phase commands (finding best interviewee, viewing report) on an interviewee whose
interview is incomplete!
Q: After an interview, can I check how the interviewee would score under metric X?
A: Yes you can! You can use the use the best interviewees command:
interviewee -best <total number of interviewees> -m X
The interviewee’s scores would be shown in the best interviewees list, as shown below:
Utility commands
-
Open User Guide:
help
-
Exit app:
exit
Sessions
-
Start new session:
new <session name>
e.g.new ceo interview
-
Open existing session:
open <session name>
e.g.open ceo interview
-
Delete existing session:
delete <session name>
e.g.delete ceo interview
Initialization Phase
-
Add an interviewee:
add interviewee <full name> [-aka <alias>]
e.g.add interviewee Jane Doe -aka Doe
-
Edit an interviewee:
edit interviewee <interviewee> [-n <new full name>] [-aka <new alias>]
e.g.edit interviewee Jane Doe -n Janice Doe -aka JDoe
-
Delete an interviewee:
delete interviewee <interviewee>
e.g.delete interviewee Doe
-
List interviewees:
interviewees
-
Add an attribute:
add attribute <attribute>
e.g.add attribute teamwork
-
Edit an attribute:
edit attribute <old attribute> -a <new attribute>
e.g.edit attribute -a leadership
-
Delete an attribute:
delete attribute <attribute>
e.g.delete attribute productivity
-
List attributes:
attributes
-
Add a question:
add question <question description>
e.g.add question What are your relevant experiences?
-
Edit a question:
edit question <question number> -q <edited question>
e.g.edit question 1 -q What do you hope to accomplish in 5 years?
-
Delete a question:
delete question <question number>
e.g.delete question 1
-
List questions:
questions
-
Upload resume:
upload <interviewee> [-p <path>]
-
Open resume:
resume <interviewee>
Interviewing Phase
-
Start:
interview <interviewee>
e.g.interview Jane Doe
-
Add Remarks:
<remarks>
e.g.This guy is good at bluffing
-
Start a Question:
:start q<question number>
e.g.:start q1
-
Score an attribute:
:set <attribute> <score>
e.g.:set Agility 10
-
List attributes:
:attributes
-
List metrics:
:metrics
-
List questions:
:questions
-
Show resume:
:resume
-
End:
:end
Decision Phase
-
Open an interviewee report:
open <interviewee>
e.g.open Jane Doe
-
Close an interviewee report:
close report
-
Export interview report of an interviewee:
export <interviewee>
-
Navigate to answer of interviewee:
goto q<question number>
e.g.goto q4
-
Navigate to a time of interviewee:
goto <time>
e.g.goto 30.00
-
Create a new metric:
add metric <name> -a <attribute> -w <weight> [-a <attribute> -w <weight>]…
e.g.add metric -a ambition -w 0.9 -a leadership -w 0.1
-
List metrics:
metrics
-
Find the Best N candidates based on average attribute:
interviewees -best <no_of_candidates>
-
Find the Best N candidates based on a particular attribute:
interviewees -best <no_of_candidates> -a <attribute>
e.g.interviewees -best 3 -a strength
-
Find the Best N candidates based on a metric:
interviewees -best <no_of_candidates> -m <metric>
e.g.interviewees -best 5 -m extremeDictatorship