diff --git a/.github/ISSUE_TEMPLATE/presentation-submission.md b/.github/ISSUE_TEMPLATE/presentation-submission.md
new file mode 100644
index 0000000..ad7edb4
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/presentation-submission.md
@@ -0,0 +1,13 @@
+---
+name: Presentation Submission
+about: Submit Vue.js presentation to post for the community
+title: "[Presentation]"
+labels: ''
+assignees: ''
+---
+
+## Presentation
+
+No need to post an issue for a presentation just get the presentation author authorization and submit a pull request following [this format](https://github.com/vuejs/events/compare/master...presnetation-pr-example?template=pull-request-presentation.md)
+
+If you meet a deadlink or a wrong informations please contact the author of the presentation.
diff --git a/.github/PULL_REQUEST_TEMPLATE/pull-request-presentation.md b/.github/PULL_REQUEST_TEMPLATE/pull-request-presentation.md
new file mode 100644
index 0000000..18472f8
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/pull-request-presentation.md
@@ -0,0 +1,35 @@
+---
+name: Presentation PR
+about: Share a new presnetation
+title: ''
+labels: ''
+assignees: ''
+---
+
+Thank you for submitting a presentation.
+
+To submit a presentation you just need to add a json file that contain your data at: src/.vuepress/data/presentations/\[theme\]/\[year\]/presentation-title.json
+
+The json format is the following, please copy it fully even if some fields are not filled:
+
+{
+ "slides": "",
+ "author": "",
+ "sourceLanguage": "",
+ "city": "",
+ "country": "",
+ "vueVersion": "",
+ "event": {
+ "name": "",
+ "link": ""
+ },
+ "gitRepository": "",
+ "videoLink": "",
+ "reachSpeaker": {
+ "twitter": "",
+ "github": "",
+ "vueDiscord": "",
+ "email": ""
+ },
+ "description": ""
+}
\ No newline at end of file
diff --git a/src/.vuepress/components/PresentationFilters.vue b/src/.vuepress/components/PresentationFilters.vue
new file mode 100644
index 0000000..5d06688
--- /dev/null
+++ b/src/.vuepress/components/PresentationFilters.vue
@@ -0,0 +1,141 @@
+
+