diff --git a/docs/README.md b/docs/README.md
index 47b9f984f7..727eb1dee3 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,30 +1,117 @@
-# Duke User Guide
+# Tsundere User Guide
-// Update the title above to match the actual product name
+
-// Product screenshot goes here
+Watched too much anime but still can't get enough of your favourite tsundere waifu?
+Look no further! Your friendly ~~(or not)~~ Tsundere chatbot assistant is here as your personal task manager!
-// Product intro goes here
+## Setting Up
+All you need to do is,
+1. Ensure you have Java `11` installed in your computer. [How to check](https://www.baeldung.com/java-check-is-installed)
+ - If you do not have Java `11`, download it from [here](https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html)
+ - Help with configuring correct Java version: [Windows](https://www.happycoders.eu/java/how-to-switch-multiple-java-versions-windows/) | [MacOS](https://stackoverflow.com/questions/21964709/how-to-set-or-change-the-default-java-jdk-version-on-macos) | [Linux](https://www.baeldung.com/linux/java-choose-default-version)
+1. Download the latest ``tsundere.jar`` release file from [here](https://github.com/macareonie/ip/releases/).
+1. Copy the downloaded file to the folder you want to use as the _home folder_ for your Tsundere Task Assistant.
+1. Double click the `tsundere.jar` file. Alternatively, for users with command line experience, open up your favourite terminal and navigate to the directory using `cd` and type the command `java -jar tsundere.jar`.
-## Adding deadlines
+Now the GUI would have popped up and you can start managing your tasks!
-// Describe the action and its outcome.
+## Adding Tasks
-// Give examples of usage
+There are three types of tasks which can you add: ToDos, Events and Deadlines.
-Example: `keyword (optional arguments)`
+__Format:__
+ - `todo [task]`
+ - `event [task], from [ ], to [ ]`
+ - `deadline [task], by [YYYY-MM-DD]`
-// A description of the expected outcome goes here
+__Things to note:__
+ - Omit the square brackets `[]` when entering the commands
+ - Adding events currently supports any input for the `from` and `to` fields
+ - Adding deadlines currently supports only the data format `YYYY-MM-DD`
-```
-expected output
-```
+
-## Feature ABC
+![img.png](add.png)
-// Feature details
+A confirmation response will be seen once a task has been successfully added with the notation `T`, `E` and `D` denoting _ToDos_, _Events_ and _Deadlines_ respectively.
+## Listing Tasks
-## Feature XYZ
+You can list all recorded tasks.
-// Feature details
\ No newline at end of file
+__Format:__
+- `list`
+
+
+
+![img.png](list.png)
+
+## Deleting Tasks
+
+You can delete tasks based on their index or task number.
+
+__Format:__
+- `delete [task number]`
+
+
+__Things to note:__
+- Omit the square brackets `[]` when entering the commands
+- Inputting invalid task numbers will prompt you with the proper command format
+
+
+
+![img.png](del.png)
+
+A confirmation response will be seen once a task has been successfully deleted.
+
+## Additional Features
+
+1. Marking and Unmarking tasks
+2. Tagging and Untagging tasks
+3. Finding tasks by keyword
+
+__Format:__
+- `mark [task number]`
+- `unmark [task number]`
+- `tag [task number] [tag name]`
+- `untag [task number] [tag name]`
+- `find [keyword]`
+
+__Things to note:__
+- Omit the square brackets `[]` when entering the commands
+- Inputting invalid task numbers will prompt you with the proper command format
+- You can tag each task with a maximum of 3 unique tags
+- The find command is currently case-sensitive
+
+
+
+
+Tasks are unmarked by default denoted with `[ ]` while marked tasks are denoted with `[X]`.
+
+Tagged tasks have their tags appended after their description. Eg. `...borrow book #fun...`.
+
+
+
+## Getting help
+
+If you can't be bothered to read the rest of the User Guide or if you need help while using the program. `help` displays all the available commands.
+
+__Format:__
+- `help`
+
+
+
+
+## Exiting program and Saving data
+
+__Format:__
+- `bye`
+
+Typing `bye` exits the program and automatically saves the current session data into a `data.txt` file. A new `data.txt` will be created if one doesn't exist already.
+
+## FAQ
+
+Q: Can I edit the data file directly or transfer it to another device?
+A: Data storage is done by converting each task and their details to strings and parsing them when loading it for a new session. As such, invalid changes to the `data.txt` file could cause problems and it is not recommended to directly edit the file.
+To transfer data to another device, just copy the `data.txt` file to the `data` directory of the `tsundere.jar` file.
\ No newline at end of file
diff --git a/docs/Ui.png b/docs/Ui.png
new file mode 100644
index 0000000000..d7c1f43a6a
Binary files /dev/null and b/docs/Ui.png differ
diff --git a/docs/add.png b/docs/add.png
new file mode 100644
index 0000000000..1338420bc6
Binary files /dev/null and b/docs/add.png differ
diff --git a/docs/del.png b/docs/del.png
new file mode 100644
index 0000000000..d6abe5da79
Binary files /dev/null and b/docs/del.png differ
diff --git a/docs/find.png b/docs/find.png
new file mode 100644
index 0000000000..a9af24b75b
Binary files /dev/null and b/docs/find.png differ
diff --git a/docs/help.png b/docs/help.png
new file mode 100644
index 0000000000..cff072b1de
Binary files /dev/null and b/docs/help.png differ
diff --git a/docs/list.png b/docs/list.png
new file mode 100644
index 0000000000..84dc01ae28
Binary files /dev/null and b/docs/list.png differ
diff --git a/docs/tag.png b/docs/tag.png
new file mode 100644
index 0000000000..ac2e801842
Binary files /dev/null and b/docs/tag.png differ