
Joules is a personal assistant chatbot designed to help users manage tasks and contacts with energy and clarity. Inspired by project Duke, Joules adds a layer of personality and memory, making task management feel more human and intuitive.
Joules helps you manage your tasks with simple, intuitive commands.
Note: Words in <> are the parameters to be supplied by the user. e.g. in
todo <description>,<description>is a parameter which can be used astodo math assignment
todo, deadline, eventFormats:
todo <description>
Adds a ToDo task.deadline <description> /by <yyyy-mm-dd>
Adds a Deadline task with a due date.event <description> /from <yyyy-mm-dd> /to <yyyy-mm-dd>
Adds an Event task with a scheduled date.Example: event java crash course /from 2025-09-19 /to 2025-09-20
listFormat: list
Displays all current tasks with their type of task and status of completion.
Example Output:
1.[T][X] buy vegetables
2.[D][ ] coding assignment (by: Sep 19 2025)
mark, unmarkFormats:
mark <task number>
Marks a task as done. Task number is 1-indexed.unmark <task number>
Marks a task as not done. Task number is 1-indexed.Example: mark 1
deleteFormat: delete <task number>
Deletes the specified task at position number in the task list
Example: delete 2
findFormat: find <keyword>
Lists tasks that contain the given keyword in their descriptions.
Example: find assignment
addcFormat: addc <name> <contact number>
Adds a contact. Contact number must have a country code in front of it.
Example: addc mum +6512345678
contactsFormat: contacts
Displays all current contacts.
Example Output:
1.mum: +6512345678
2.sister: +6587654321
deletecFormat: deletec <contact index>
Deletes the specified contact. Contact index is 1-indexed.
Example: deletec 1
findcFormat: findc <keyword>
Lists contacts that contain the given keyword in their contact name or number.
Example: findc +65
Tasks and Contacts are automatically saved locally and reloaded when you restart Joules.
byeFormat: bye
Exits the chatbot gracefully.
AI like ChatGPT and Copilot have been used to generate JavaDoc for some of the functions.