User Guide
Table of Contents
- Table of Contents
- Introduction
- Legend
- Quick start
-
Features
- GUI Introduction
- Prefix and Input Summary
- Viewing help :
help
- Adding an applicant:
add
- Listing all applicants :
list
- Viewing a specific applicant :
view
- Searching for an applicant :
search
- Adding skills to an applicant:
addskill
- Editing an applicant :
edit
- Sorting applicants :
sort
- Flagging an applicant :
flag
- Deleting an applicant :
delete
- Clearing the applicants :
clear
- Exiting the program :
exit
- Saving the data
- Editing the data file
- FAQ
- Glossary
- Command summary
Introduction
What is LinkedOUT?
LinkedOUT is the only application that any experienced recruiter needs. LinkedOUT allows recruiters to keep track of many applicants, and the job they applied for. You can store their contact details, skills and the round of their application, all in one place.
LinkedOUT helps recruiters manage the multiple job applications they may receive on a daily basis. With many applications, it may be difficult to keep track of each applicant and which application round they are currently at.
Thus, LinkedOUT aims to improve a recruiter’s experience. LinkedOUT presents recruiters with the ability to flag important applicants, edit applicants easily and search for them with ease.
LinkedOUT comes with a Command Line Interface (CLI) as well as a Graphical User Interface (GUI) in order to provide recruiters a more streamlined experience.
Who is this User Guide for?
This user guide is meant for users who wish to learn how to use our application. It is best suited for recruiters who are looking to incorporate this app into their daily workflows.
If you would like to learn more about the technical aspects of our application instead, you can do so by reading our Developer Guide.
Legend
Notes:
Notes are placed in this guide to specify extra details on the command format and serves as a guide to assist you.


Quick start
-
Ensure you have Java
11
or above installed on your Computer. -
Download the latest
LinkedOUT.jar
from here. -
Copy the file to the folder you want to use as the home folder for LinkedOUT.
-
For Windows: Double-click the file to start the app.
For Mac: Open up a terminal in the current folder which contains the LinkedOUT jar file
Then, run the following command to open the file that you have downloaded in step 2:
java -jar LinkedOUT.jar
LinkedOUT comes with sample data for you to experiment on. Upon starting the application, you should see the following screen:
-
Type the command in the command box and press Enter to execute it. e.g. typing
help
and pressing Enter will open the help window.
Some example commands you can try:-
list
: Lists all job applicants, along with an overview of each applicant. -
add
n/Bob p/99999999 e/bob@example.com j/Data Analyst r/Interview s/Pandas
: Adds an applicant namedBob
to the list of applicants. -
delete
1
: Deletes the first applicant from the list of applicants. -
exit
: Exits the app. -
Refer to the Features below for details of each command.
-
Features
Notes about the command format:
-
The command word and prefixes for the command have to be
lower_case
(case-sensitive).
Command words includelist
,add
,edit
etc.
Prefixes are used by commands to recognise different parts of your inputs, these includen/
,j/
,r/
etc.
e.g.edit 1 n/NAME
, this command is valid asedit
andn/
islower_case
.
That is,Add n/John Doe…
will be an invalid command because the command wordAdd
is notlower_case
. -
Words in
UPPER_CASE
are the inputs to be supplied by you.
Items in square brackets are optional. These inputs are optional because they are additional information you may not have yet.
e.g.add n/NAME p/PHONE_NUMBER e/EMAIL j/JOB r/ROUND [s/SKILL]…
.
NAME
,PHONE_NUMBER
,EMAIL
,JOB
,ROUND
,SKILL
are inputs which can be used as
add n/John p/999 e/john@e.com j/Engineer r/Interview s/Python
withs/Python
being optional. -
Items with
…
after them can be used multiple times including zero times.
e.g.[s/SKILL]…
can be used ass/Python
,s/Python s/Java
etc. -
Prefixes can be in any order.
e.g. If the command specifiesn/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
If an input contains
"/"
, you may wish to avoid putting spaces after"/"
. This is to prevent the symbol from being recognized as a prefix.
e.g.s/Java/Python
will be interpreted as a single skill ofJava/Python
but if you specifyn/Bob s/ Java/Python
,Java/
will be interpreted as a prefix. -
If an input is expected only once in the command but you specified it multiple times, only the last occurrence of the input will be taken.
e.g. If you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
If a valid prefix is given twice, but you only specified the input for the last occurrence of said prefix, then the input will be accepted. However, if you left the input for the last prefix empty, you will receive an error message.
e.g. If you specifyp/ p/56785678
,p/56785678
will be taken but if you specifyp/56785678 p/
, you will receive an error message. -
Extraneous inputs for commands that do not take in inputs (such as
help
,list
andexit
) will be ignored.
e.g. If the command specifieshelp 123
, it will be interpreted ashelp
. -
INDEX
refers to the index of the Applicant in the displayed list.INDEX
must be a positive number.
e.g.delete 1
is valid anddelete -1
is invalid.
Notes about sample output:
The sample output shown in this guide is for illustration purposes only.
The actual GUI might differ slightly depending on whether Windows/ Mac is used.
GUI Introduction
Prefix and Input Summary
The table below illustrates the meaning of the prefixes and their respective inputs
Prefix | Meaning | Input | Constraints |
---|---|---|---|
- | - | INDEX | Index of applicant specified must not be more than the total number of applicants in the list. |
n/ | Applicant’s Name | NAME | Names can only contain letters (including letters with accents), and cannot contain any numbers. Names can contain the following special characters: - and' . An applicant’s name is unique i.e. two applicants cannot have the same name. |
p/ | Applicant’s Phone Number | PHONE_NUMBER | Phone numbers must only contain numbers, and must be between 3 and 15 characters long. |
e/ | Applicant’s Email | Emails should be of the format local-part@domain . Examples of valid emails include: bob@email and bob@email.com.sg , examples of invalid emails include bobmail and -bob@email.com . |
|
j/ | Job Applied | JOB | Jobs must only contain alphanumeric characters. |
r/ | Application Round | ROUND | Rounds must only contain alphanumeric characters. |
s/ | Applicant’s Skill | SKILL | A single skill can be made up of 1 to 5 words. The skill cannot be completely made up of symbols. However, a mix of alphanumeric and symbols are allowed. eg. !@# is not allowed but C# is allowed. |
f/ | Field to sort by | FIELD | Field to sort list of applicant by can only be either NAME or JOB (case-insensitive). |
o/ | Order for sorting | ORDER | Order to sort list by can only be either ASC , ascending order or DESC , descending order (case-insensitive). |
Viewing help : help
Shows you a message explaining how to access the help page.
Format:
help
Example:
help
Sample Output:
Adding an applicant: add
Allows you to add a new applicant to the LinkedOUT application with the following information:
-
NAME
: Applicant’s name -
PHONE_NUMBER
: Applicant’s phone number -
EMAIL
: Applicant’s email -
JOB
: The job the applicant applied for -
ROUND
: The round of job application that the applicant is at -
SKILL
: Particular skills the applicant may have
Format:
add n/NAME p/PHONE_NUMBER e/EMAIL j/JOB r/ROUND [s/SKILL]…
Example:
add n/Bob p/99999999 e/bob@example.com j/Data Analyst r/Interview s/Pandas s/Python
Sample Output:
Listing all applicants : list
Allows you to list out all job applicants, along with an overview of each applicant.
Format:
list
Example:
list
Sample Output:
Viewing a specific applicant : view
Allows you to view a specific applicant, by inputting the applicant’s full name.
Format:
view NAME
- You must provide an exact match of an applicant’s full name in order to view their details.
e.g. If an applicant’s full name isSteve Jobs
, and the command provided isview Steve
then LinkedOUT will not displaySteve Jobs
’s details.
- The view command is case-insensitive.
e.g Viewinghans
will match an applicant with nameHans
. - Only full name will be matched.
e.g. ViewingHan Lee
will not match an applicant with nameHan
. - Only applicants with the right amount of spacing in their full name will be matched.
e.g. ViewingHanLee
will not match an applicant with nameHan Lee
.
Example:
view Bernice Yu
Sample Output:
Searching for an applicant : search
Allows you to search for applicants containing the input attributes and the attribute has to be an exact word. You can search for the applicant based on name, job, round or skills.
Format:
search [n/NAME]… [j/JOB]… [r/ROUND]… [s/SKILL]…
- You must provide a full match for attributes you want to search for.
e.g. Searchingn/Hans
will match an applicant with nameHans Lee
but will not match an applicant with nameHan
.
- The search command is case-insensitive.
e.g Searchingn/hans
will match an applicant with nameHans
. - You can search for a combination of attributes.
After a search command, applicants will be displayed in descending order of matched attributes. The applicant with the most number of matches is shown at the top of the list.
e.g Searchingn/Hans j/Engineer
will match with applicants with either nameHans
or jobEngineer
. Applicant with both name and job matched will be displayed on the top of the list. - At least one attribute must be provided to be searched. i.e.
search
is an invalid command.

search n/Alex s/Java
to search for applicants with
the name Alex
or skill Java
!
Example:
search n/Roy s/Java
Sample Output:
Adding skills to an applicant: addskill
Allows you to add skills to a specific applicant. The index number used corresponds to the one in the displayed applicant list. This command does not replace any pre-existing skills.
Format:
addskill INDEX [s/SKILL]…
- Index of applicant specified must not be more than the total number of applicants in LinkedOUT.
e.g If there are only4
applicants in the app but5
is specified, then the addition will not be carried out as it is invalid. - Index of applicant specified must be a positive number.
e.g As we label our applicants incrementally starting from1
(e.g1, 2, 3, and so on
), an index of-1
will not be tagged to an applicant and the addition will not be carried out as it is invalid. - If you would like to replace or remove certain skills instead, consider using
edit
. - At least one skill must be provided to be added. i.e.
addskill INDEX
is an invalid command.
Example:
addskill 1 s/React s/Vue
Sample Output:
Editing an applicant : edit
Allows you to edit specific details of the applicant identified by the index number. The index number used corresponds to the one in the displayed applicant list. Existing values will be overwritten by the input values.
Format:
edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [j/JOB] [r/ROUND] [s/SKILL]…
- Index of applicant specified must not be more than the total number of applicants in LinkedOUT.
e.g If there are only4
applicants in the app but5
is specified, then the edit will not be carried out as it is invalid. - Index of applicant specified must be a positive number.
e.g As we label our applicants incrementally starting from1
(e.g1, 2, 3, and so on
), an index of-1
will not be tagged to an applicant and the edit will not be carried out as it is invalid. - As an applicant can have more than 1 skill, you may remove skills using
edit
as illustrated by the following example:
e.g An applicant has skillsExcel
,Word
,Docs
. To remove the skillExcel
, you may type the following command.edit INDEX s/Word s/Docs
. - You may also add skills using
edit
. However, a simpler way of doing so would be to use our alternative commandaddskill
.
To add skills withedit
, you may do so as illustrated by the following example:
e.g An applicant has skillExcel
. To add the skillsWord
andDocs
, you may type the following command.edit INDEX s/Excel s/Word s/Docs
. - You can remove all of an applicant’s skills by simply typing
edit INDEX s/
without adding anything behinds/
.
Caution: This will clear all skills previously added for an applicant and cannot be undone.
- At least one attribute must be provided to be edited. i.e.
edit INDEX
is an invalid command.
Example:
edit 1 p/91234567 e/yeoh.99@example.com s/Rust
Sample Output:
Sorting applicants : sort
Allows you to sort the list of applicants temporarily by name or by job. That is to say, the list will not stay sorted if you were to use other commands following sort. You can sort based on ascending or descending order.
Format:
sort f/FIELD o/ORDER
- You must provide either
NAME
orJOB
as field to be sorted, both are case-insensitive
e.g if the field isNAME
, then the list will be sorted based on applicant’s name in the order given. - You must provide either
ASC
orDESC
for order, both are case-insensitive.ASC
stands for ascending andDESC
stands for descending
e.g if the order isASC
, then the list will be sorted in ascending order based on the field given.
Example:
sort f/job o/asc
Sample Output:
Flagging an applicant : flag
Allows you to flag an applicant identified by the index number. The index number used corresponds to the one in the displayed applicant list. Flagged applicants will appear at the top of the list and are identified with a flag symbol.
Format:
flag INDEX
- Index of applicant specified must not be more than the total number of applicants in LinkedOUT.
e.g If there are only4
applicants in the app but5
is specified, then the flagging will not be carried out as it is invalid. - Index of applicant specified must be a positive number.
e.g As we label our applicants incrementally starting from1
(e.g1, 2, 3, and so on
), an index of-1
will not be tagged to an applicant and the flagging will not be carried out as it is invalid. - Flag acts like a toggle. To un-flag the applicant, you may simply re-type the same command.

flag 1
. You should see it at the top with a flag symbol. Then try un-flagging the same applicant with flag 1
.
Example:
flag 1
Sample Output:
Extended Example for unflagging:
flag 1
Extended Sample Output for unflagging:
Flag Command Interaction with Other Commands:
-
INDEX
of applicant to be flagged/unflagged always follows the index indicated on the user interface.
e.g After executing a search, sort or view command,flag 1
still flags/unflags the applicant at the top of the list. - A flagged applicant acts like a pinned email, and will always be located at the top of the applicant list,
except after search and view commands.
In that case, flagged applicants will be displayed according to the command’s sorting order, and will no longer be displayed at the top.- e.g After a sort command, flagged applicants are not displayed at the top of the list and will be displayed according to the order specified in the command.
- e.g After a search command, applicants will be displayed in descending order of number of matches with the search conditions. For more information about this behavior, please refer to the search command.
Deleting an applicant : delete
Allows you to delete a specific applicant, specified by index.

Format:
delete INDEX
- Index of applicant specified must not be more than the total number of applicants in LinkedOUT.
e.g If there are only4
applicants in the app but5
is specified, then the deletion will not be carried out as it is invalid. - Index of applicant specified must be a positive number.
e.g As we label our applicants incrementally starting from1
(e.g1, 2, 3, and so on
), an index of-1
will not be tagged to an applicant and the deletion will not be carried out as it is invalid.
Example:
delete 1
Sample Output:
Clearing the applicants : clear
Clears the list of applicants.

Format:
clear
Example:
clear
Sample Output:
Exiting the program : exit
Exits the program.
Format:
exit
Example:
exit
Saving the data
LinkedOUT data is saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
LinkedOUT data is saved in [JAR file location]/data/linkedout.json
. Advanced users are welcome to update data directly by editing that data file.

FAQ
Q: How do I transfer my data to another Computer?
A: You may first install the app in another computer. Then, you may overwrite the empty data file it creates with the file containing data from the previous LinkedOUT home folder.
Glossary
- GUI: Graphical User Interface: Refers to the user interface that the user interacts with.
- CLI: Command Line Interface: Refers to a computer program that accepts text inputs.
Command summary
Action | Format, Examples |
---|---|
Help | help |
Add |
add n/NAME p/PHONE_NUMBER e/EMAIL j/JOB r/ROUND [s/SKILL]… e.g: add n/Bob p/99999999 e/bob@example.com j/Data Analyst r/Interview s/Pandas
|
List | list |
View |
view NAME e.g: view Steve Jobs
|
Search |
search [n/NAME]… [j/JOB]… [r/ROUND]… [s/SKILL]… e.g: search n/Steve
|
AddSkill |
addskill INDEX [s/SKILL]… e.g addskill 1 s/MySQL s/PostgreSQL
|
Edit |
edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [j/JOB] [r/ROUND] [s/SKILL]… e.g: edit 1 n/Elon Musk
|
Sort |
sort f/FIELD o/ORDER e.g: sort f/Name o/Asc
|
Flag |
flag INDEX e.g: flag 1
|
Delete |
delete INDEX e.g: delete 1
|
Clear | clear |
Exit | exit |