diff --git a/cfp.md b/cfp.md
new file mode 100644
index 0000000..505a61c
--- /dev/null
+++ b/cfp.md
@@ -0,0 +1,43 @@
+# Propose a talk about Gerrit Code Review
+
+The User Summit is about people and their experiences
+in using Gerrit Code Review for their teams and companies.
+
+We are looking forward to receiving fantastic proposals from industry
+experts about how they have used and improved their Development
+Pipeline and/or have extended Gerrit with amazing plugins.
+
+Your experience could include as well the entire Continuous
+Integration pipeline, including integration with CI (Jenkins or others)
+and your issue tracking system.
+
+## How to submit my proposal?
+
+It is very simple, just clone this project, create a Markdown under the
+/sessions directory using the template.md as an example and then push for review.
+
+You need to be registered on https://gerrit-review.googlesource.com in order
+to be able to be authorized to push changes for review.
+
+**Example:**
+
+```bash
+$ git clone https://gerrit.googlesource.com/summit/2017 && (cd 2017 && curl -Lo `git rev-parse --git-dir`/hooks/commit-msg https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x `git rev-parse --git-dir`/hooks/commit-msg)
+$ cd 2017/sessions
+$ cp template.md myamazingtalk.md
+$ vi myamazingtalk.md
+
+...
+
+$ git add myamazingtalk.md & git commit -m 'This is my amazing talk'
+$ git push origin HEAD:refs/for/master
+```
+
+## How my talk is going to be voted and selected?
+
+The voting is opened to everyone that is registered to
+https://gerrit-review.googlesource.com.
+People will be able to post comments, ask questions and vote for it.
+
+The top 12 rated proposals will become part of the Gerrit User Summit 2017
+agenda.
diff --git a/conduct-policy.md b/conduct-policy.md
new file mode 100644
index 0000000..66e763a
--- /dev/null
+++ b/conduct-policy.md
@@ -0,0 +1,7 @@
+# Conduct Policy
+
+The Gerrit Community reserves the right to refuse admittance to, or remove any
+person from SkillsMatter premises at any time in
+its sole discretion.  This includes but is not limited to attendees
+behaving in a disorderly manner or failing to abide by our
+[anti-harassment policy](http://www.google.com/events/policy/anti-harassmentpolicy.html).
diff --git a/images/collabnet.png b/images/collabnet.png
new file mode 100644
index 0000000..a70d976
--- /dev/null
+++ b/images/collabnet.png
Binary files differ
diff --git a/images/gerritforge.png b/images/gerritforge.png
new file mode 100644
index 0000000..3c226bf
--- /dev/null
+++ b/images/gerritforge.png
Binary files differ
diff --git a/images/gerritusersummit2017-countries.jpg b/images/gerritusersummit2017-countries.jpg
new file mode 100644
index 0000000..35ba3cb
--- /dev/null
+++ b/images/gerritusersummit2017-countries.jpg
Binary files differ
diff --git a/images/gerritusersummit2017.png b/images/gerritusersummit2017.png
new file mode 100644
index 0000000..e74dd02
--- /dev/null
+++ b/images/gerritusersummit2017.png
Binary files differ
diff --git a/images/skillsmatter.png b/images/skillsmatter.png
new file mode 100644
index 0000000..3c88a73
--- /dev/null
+++ b/images/skillsmatter.png
Binary files differ
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..1d962b8
--- /dev/null
+++ b/index.md
@@ -0,0 +1,34 @@
+# Gerrit User Summit is *THE event of the year* for the Community.
+
+We will bring together Gerrit thought leaders, developers, practitioners,
+the whole community and ecosystem, in one event, providing attendees
+with the opportunity to learn, explore, network face-to-face and help
+shape the future of Gerrit development and solutions.
+
+*** promo
+[Register Now to the Gerrit User Summit 2017](https://www.eventbrite.co.uk/e/gerrit-user-summit-2017-tickets-34486175078)
+***
+
+# Gerrit User Summit 2017 - Sept 30th to Oct 3rd, London (UK)
+
+| Sep 30th - Oct 1st | Oct 2nd - 3rd     |
+|--------------------|-------------------|
+| 2 days Hackathon   | 2 days Conference |
+
+# Why a Gerrit User Summit in Europe?
+
+We want to engage with a *wider and more diverse community*, who can bring
+new requirements and needs from of the European Gerrit Community;
+an opportunity to *see more faces and get new ideas*.
+From a poll for the Gerrit community here’s what we found out that some
+70% of the polled base would participate in a London event. There is clearly
+a meaningful part of the Gerrit use base that is European based and not served
+well by the US based events.
+
+**Gerrit interest and adoption around the world**
+
+See below a heatmap of the results of the polls on the interest of having
+a Gerrit User Summit this year.
+
+![Gerrit User Summit 2017 Poll Results](images/gerritusersummit2017-countries.jpg)
+
diff --git a/navbar.md b/navbar.md
new file mode 100644
index 0000000..c838477
--- /dev/null
+++ b/navbar.md
@@ -0,0 +1,12 @@
+# London (UK) - Sep 30th / Oct 3rd, 2017
+
+* [Home](/index.md)
+* [Schedule](/schedule.md)
+* [Overview](/overview.md)
+* [Propose a Talk](/cfp.md)
+* [Sponsors](/sponsors.md)
+* [Conduct Policy](/conduct-policy.md)
+* [Register NOW](https://www.eventbrite.co.uk/e/gerrit-user-summit-2017-tickets-34486175078)
+
+[home]: /index.md
+[logo]: images/gerritusersummit2017.png
diff --git a/overview.md b/overview.md
new file mode 100644
index 0000000..79e129d
--- /dev/null
+++ b/overview.md
@@ -0,0 +1,32 @@
+# What is Gerrit Code Review?
+
+Gerrit provides web based code review and repository management
+for the Git version control system.
+
+If you are new to Gerrit, you may read a [Quick Introduction](https://gerrit-review.googlesource.com/Documentation/intro-quick.html)
+directly from the Google-hosted documentation Gerrit web-site:
+
+> Gerrit is intended to provide a lightweight framework for reviewing
+> every commit before it is accepted into the code base. Changes are
+> uploaded to Gerrit but don’t actually become a part of the project
+> until they’ve been reviewed and accepted.
+
+# What is Gerrit User Summit?
+
+Gerrit User Summit and Hackathon is THE event for everything related
+to the Gerrit Code Review Community.
+
+The Gerrit User Summit is the place where all of major Gerrit users
+annually meet and exchange experiences and practices that foster the
+community with new and useful ideas.
+
+## Gerrit Community in Numbers
+
+* 9 years of activity
+* 13 events in USA, UK and Germany
+* 300+ contributors worldwide
+* 124 releases
+* 100+ plugins
+* 6,500+ topics discussed on the repo-discuss mailing list 10,000 users registered on GerritHub.io
+* 800+ teams on GerritHub.io
+* 2.5M repositories hosted by Google on Gerrit Code Review
diff --git a/schedule.md b/schedule.md
new file mode 100644
index 0000000..081a54a
--- /dev/null
+++ b/schedule.md
@@ -0,0 +1,73 @@
+# Gerrit User Summit 2017 - Schedule
+
+## The Hackathon - September 30th (Sat) to October 1st (Sun)
+
+Two days of hacking on Gerrit Code Review and for building new plugins
+by contributors and people passionate about understanding and extending
+Gerrit.
+
+*** note
+__By invitation only__
+
+The number of places available is deliberately very limited.
+The primary purpose of the hackathon is to speed up the communication
+between Gerrit contributors with white-boarding face-to-face sessions
+and pair programming in a quiet and co-located
+roundtable.
+***
+
+## The User Summit, October 2nd (Mon) to 3rd (Tue)
+
+Introduction, intermediate and advanced sessions on Gerrit Code Review.
+The **Call For Papers is officially open**, [submit your talk proposal](cfp.md)
+directly through [Gerrit Code Review](https://gerrit-review.googlesource.com/#/admin/projects/summit/2017)
+
+The voting and final **selection of the agenda is totally driven by Community**,
+the review score defines the chart of best rated talks.
+
+> **Follow the instructions** described in the [sessions proposal section](cfp.md)
+> and be active part of the Summit by sharing your experience and provide
+> your feedback on how to improve Gerrit Code Review.
+
+*** promo
+__Open to everyone__
+
+There are over 150 seats available on a first-come-first-served basis,
+open to anyone who is using Gerrit Code Review or interested in adopting
+it in his daily software development workflow.
+
+[Register Now to the Gerrit User Summit 2017](https://www.eventbrite.co.uk/e/gerrit-user-summit-2017-tickets-34486175078)
+***
+
+### Monday
+
+| Time  | Session                                          |
+|-------|--------------------------------------------------|
+|  8:00 | Registration Opens, Breakfast, Expo & Networking |
+|  9:00 | Welcome introduction                             |
+|  9:15 | **Gerrit Code Review Talk #1**                   |
+| 10:00 | **Gerrit Code Review Talk #2**                   |
+| 10:45 | Break, Expo & Networking                         |
+| 11:30 | **Gerrit Code Review Talk #3**                   |
+| 12:15 | Lunch, Expo & Networking                         |
+| 14:00 | **Gerrit Code Review Talk #4**                   |
+| 14:45 | **Gerrit Code Review Talk #5**                   |
+| 15:30 | Break, Expo & Networking                         |
+| 16:00 | **Gerrit Code Review Talk #6**                   |
+| 16:45 | **Gerrit Code Review Talk #7**                   |
+| 17:30 | Drinks, Expo & Networking                        |
+
+### Tuesday
+
+| Time  | Session                                          |
+|-------|--------------------------------------------------|
+|  8:00 | Registration Opens, Breakfast, Expo & Networking |
+|  9:15 | **Gerrit Code Review Talk #8**                   |
+| 10:00 | **Gerrit Code Review Talk #9**                   |
+| 10:45 | Break, Expo & Networking                         |
+| 11:30 | **Gerrit Code Review Talk #10**                  |
+| 12:15 | Lunch, Expo & Networking                         |
+| 14:00 | **Gerrit Code Review Talk #11**                  |
+| 14:45 | **Gerrit Code Review Talk #12**                  |
+| 15:30 | Break, Expo & Networking                         |
+| 16:00 | Conference wrap-up and Closing Keynote           |
diff --git a/sessions/template.md b/sessions/template.md
new file mode 100644
index 0000000..1b2f0f6
--- /dev/null
+++ b/sessions/template.md
@@ -0,0 +1,17 @@
+# Insert here your session title
+
+Describe your session in a few sentences (max 200 words),
+something like ...
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris
+feugiat libero leo, hendrerit interdum elit ornare eu. In sed
+nibh auctor, consectetur turpis in, interdum ligula. Nullam
+enim quam, imperdiet sit amet venenatis vitae, molestie at
+magna. Maecenas in posuere tellus. Morbi ut neque vel ante
+tristique elementum. Phasellus fringilla, turpis nec posuere
+feugiat, risus mi lobortis dolor, at consectetur orci dolor ut nunc.
+
+*First Last Name, Affiliation / Company*
+
+Short bio about yourself (max 100 words).
+
diff --git a/sponsors.md b/sponsors.md
new file mode 100644
index 0000000..d78dac2
--- /dev/null
+++ b/sponsors.md
@@ -0,0 +1,41 @@
+# Gold Sponsors
+
+![collabnet-logo](images/collabnet.png)
+
+[CollabNet](http://www.collab.net)
+
+CollabNet is the leading partner for Secure DevOps of Enterprise and
+Federal Applications. Increase the speed and quality of software
+development and operations with CollabNet’s connected solutions.
+
+![gerritforge-logo](images/gerritforge.png)
+
+[GerritForge](http://www.gerritforge.com)
+
+GerritForge is one of the main contributors of Gerrit Code Review
+and provides LDAP integration, Single-Sign-On, Role-Based Access
+Control, Lifecycle Integration with a Enterprise-grade Support 24x7
+for medium and large installations.
+
+GerritForge provides [GerritHub.io](http://gerrithub.io), an open Gerrit server
+to perform code reviews on top of GitHub repositories.
+
+## Silver Sponsors
+
+![skillsmatter-logo](images/skillsmatter.png)
+
+[SkillsMatter](http://skillsmatter.com)
+
+Skills Matter was founded to help drive innovation in software
+engineering by bringing smart and creative developers together to
+learn and share new skills, discover emerging technologies and evolve
+practices and ideas.
+
+### Would you like to contribute?
+
+If you would like to sponsor the event, please get in touch with
+[GerritForge](http://www.gerritforge.com/contact) to become part
+of the Gerrit Community Event of this year.
+
+
+
