Talentcy is a desktop app for managing job applicant contacts and monitoring their interview stages, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Talentcy can get your contact management tasks done faster than traditional GUI apps.
The codebase of Talentcy originates from AddressBook Level 3 (AB3) developed by CS2103 team.
help: Viewing helpadd: Adding a personlistListing all personsedit: Editing a personfind: Locating persons by criteria givendelete: Deleting a personstats: Showing applicant statisticsmassreject: Bulk reject persons by criteriasort: Sorting persons by fieldsclear: Clearing all entriesexit: Exiting the programEnsure you have Java 17 or above installed in your Computer.
Download the latest .jar file from here.
Copy the file to the folder you want to use as the home folder for your Talentcy app.
Windows: Navigate to the home folder and right-click within the area highlighted in green in the image below. Select "Open in Terminal" from the menu. When the terminal window opens, enter java -jar Talentcy.jar to start the application.

MacOS:
Right click on the homefolder. Then select "New terminal at Folder". A terminal will pop up. Type java -jar Talentcy.jar and press enter.

Linux:
Open the folder where you placed the Talentcy.jar file.
Right-click inside the folder and select "Open in Terminal" (or use the Ctrl + Alt + T shortcut to open the terminal, then navigate to the folder using the cd command).
In the terminal, type java -jar Talentcy.jar and press Enter.
A GUI should appear in a few seconds. Shown below is the annotated GUI. Note how the app contains some sample data.

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 persons.
add n/John Doe p/98765432 e/johnd@example.com j/SWE123 t/A r/good ethic : Adds a person.
named John Doe to the Address Book.
delete 3 : Deletes the 3rd person shown in the current list.
clear : Deletes all persons.
exit : Exits the app.
Refer to the Features below for details of each command.
Notes:
When you open the app, a GUI will appear with a few sample persons already loaded, so you can immediately see the app in action.
Notes about the command format:
Words in UPPER_CASE are the parameters to be supplied by the user.
e.g. in add n/NAME, NAME is a parameter which can be used as add n/John Doe.
Items in square brackets are optional.
e.g n/NAME [r/REMARK] can be used as n/John Doe r/have pHD or as n/John Doe.
If a list of optional items separated by | are together wrapped in curly braces, exactly one item or at least one item are needed, depending on the presence of + after the curly braces.
e.g. {[n/NAME] | [p/PHONE] | [e/EMAIL]} means exactly one of the fields is needed.
e.g. {[n/NAME] | [p/PHONE] | [e/EMAIL]}+ means at least one of the fields is needed.
Parameters can be in any order.
e.g. if the command specifies n/NAME p/PHONE, p/PHONE n/NAME is also acceptable.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
helpShows a message explaining how to access the help page.
Format: help
addAdds a person to the address book.
Format: add n/NAME p/PHONE e/EMAIL j/JOB CODE t/TAG [r/REMARK]
r/, then remark is empty by default.Please refer to this table for list of valid tags:
| Tag | Interview Stage | Definition |
|---|---|---|
| N | New | New applicant |
| TP | Technical Interview in Progress | Technical interview is in the process of being scheduled for the applicant |
| TC | Technical Interview Confirmed | Technical interview has been schedule for the applicant |
| BP | Behavioral Interview in Progress | Behavioral interview is in the process of being scheduled for the applicant |
| BC | Behavioral Interview Confirmed | Behavioral interview has been scheduled for the applicant |
| A | Accepted | Applicant has been accepted by the company |
| R | Rejected | Applicant has been rejected by the company |
Examples:
add n/John Doe p/98765432 e/johnd@example.com j/XYZ1010 t/Nadd n/Betsy Crowe t/BP e/betsycrowe@example.com j/AB1301 p/1234567add n/John t/A e/johnnie@example.com j/CS2103 p/444888 r/Good at drawinglistShows a list of all persons in the address book. list does not take in any parameters.
Format: list
editEdits an existing person in the address book.
Format: edit INDEX {[n/NAME] | [p/PHONE] | [e/EMAIL] | [j/JOB CODE] | [t/TAG] | [r/REMARK]}+
INDEX. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …edit command to reapply the same values to a person without making any changes.r/ will replace existing remark to an empty remark.Examples:
edit 1 p/91234567 e/johndoe@example.com Edits the phone number and email address of the 1st person to be 91234567 and johndoe@example.com respectively.findFinds persons by at least one criteria given.
Format:
find {[n/NAME] | [p/PHONE] | [e/EMAIL] | [j/JOB CODE] | [t/TAG] | [r/REMARK]}+
Hans Bo will only match Hans Bo, Hans Bobo, and Rohans Bobo, but not Bo HansExamples:
find n/alex yeoh returns Alex Yeoh, Alex Yeoh Bin Sheng, and Dalex Yeohanesfind t/TP returns the list of persons with TP tag 
find n/alex yeoh t/TP return the list of persons with name containing alex yeoh whose tag is TPdeleteDeletes the specified person from the address book by finding exact match of a field using one criterion.
Format:
delete {[INDEX] | [n/NAME] | [e/EMAIL] | [p/PHONE]}
Deletes the person at the specified INDEXor NAMEor PHONEor EMAIL
The index refers to the index number shown in the displayed person list.
The index must be a positive integer 1, 2, 3, …
If there are persons with duplicate names, user must use delete e/EMAIL or delete p/PHONE
Examples:
list followed by delete 2 deletes the 2nd person in the address book.find n/Betsy followed by delete 1 deletes the 1st person in the results of the find command.delete n/Betsy will delete person with the full name Betsy.delete e/betsy@gmail.com will delete the person with the email betsy@gmail.comstatsFormat:
stats
Shows the following statistics of the address book at the time the command is called:
Examples:
stats
massrejectMarks persons as "rejected" by updating their tags based on specified job code, tag, or a combination of both.
Format:
massreject {[j/JOB CODE] | [t/TAG]}+
r (rejected) based on the specified criteria.a (accepted) tag will be excluded from the update.Examples:
massreject j/SWE2024 t/TP marks all persons with the job code SWE2024 and the tag TP as rejected.massreject t/BP marks all persons with the tag BP as rejected.massreject j/SWE2024 marks all persons with the job code SWE2024 as rejected, except those already tagged as a (accepted).sortSorts the list of persons based on specified fields in a case-insensitive manner. Sorting can be done by a single field or layered across multiple fields.
Format:
sort [n/] [p/] [e/] [j/] [t/]
Examples:
sort n/ and sort sorts all persons by name.sort t/ j/ sorts all persons by tag first, and within each tag, sorts by job code.sort j/ n/ sorts all persons by job code, and within each job code, sorts by name.clearClears all entries from the address book.
Format: clear
exitExits the program.
Format: exit
Talentcy data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Talentcy data are saved automatically as a JSON file [JAR file location]/data/talentcy.json. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file makes its format invalid, Talentcy will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Notes about each valid input field:
--) are not allowed (e.g., "HR--2023" is invalid).Please refer to this table for list of valid tags:
| Tag | Interview Stage | Definition |
|---|---|---|
| N | New | New applicant |
| TP | Technical Interview in Progress | Technical interview is in the process of being scheduled for the applicant |
| TC | Technical Interview Confirmed | Technical interview has been schedule for the applicant |
| BP | Behavioral Interview in Progress | Behavioral interview is in the process of being scheduled for the applicant |
| BC | Behavioral Interview Confirmed | Behavioral interview has been scheduled for the applicant |
| A | Accepted | Applicant has been accepted by the company |
| R | Rejected | Applicant has been rejected by the company |
Context menu options allow users to perform typical text actions, which are available in the command box and feedback box. To see the context menu options, click right on the command box or feedback box.
Descriptions of each context menu option in command box:
Undo
Redo
Cut
Copy
Paste
Delete
Select All
Descriptions of each context menu option in feedback box:
Copy
Select All
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Talentcy home folder.
preferences.json file created by the application before running the application again.help command (or use the Help menu, or the keyboard shortcut F1) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window.| Action | Format, Examples |
|---|---|
| Add | add n/NAME p/PHONE e/EMAIL j/JOB CODE t/TAG [r/REMARK] e.g., add n/James Ho p/22224444 e/jamesho@example.com j/CS2103 t/R r/have-pHD |
| Clear | clear |
| Delete | delete {[INDEX] | [n/NAME] | [e/EMAIL] | [p/PHONE]}e.g. delete 3delete n/Alex Yeohdelete e/alexyeoh@gmail.comdelete p/88306733 |
| Edit | edit INDEX {[n/NAME] | [p/PHONE] | [e/EMAIL] | [j/JOB CODE] | [t/TAG] | [r/REMARK]}+e.g., edit 2 n/James Lee e/jameslee@example.com |
| Exit | exit |
| Find | find {[n/NAME] | [p/PHONE] | [e/EMAIL] | [j/JOB CODE] | [t/TAG] | [r/REMARK]}+e.g. find n/John j/123 ABC find p/12345678 |
| List | list |
| Mass Reject | massreject {[j/JOB CODE] | [t/TAG]}+e.g. massreject j/CS2103 massreject t/BP j/123ABC |
| Sort | sort [n/] [p/] [e/] [j/] [t/] e.g. sort sort n/ e/ sort p/ |
| Statistics | stats |
| Help | help |
Java: A programming language used to create applications that can run on many types of computers.
CLI (Command-Line Interface): A text-based user interface used to interact with a computer program by typing commands.
GUI (Graphical User Interface): A user interface that enables interaction with a program through graphical elements like buttons, icons, and windows.
Parameter: A piece of information you give to a program or command to tell it exactly what users want it to do.
Alphanumeric: Characters only made up of both letters and numbers.