diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e43b0f9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.DS_Store
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/codenode-lowerground.png b/images/codenode-lowerground.png
new file mode 100644
index 0000000..2b3630c
--- /dev/null
+++ b/images/codenode-lowerground.png
Binary files differ
diff --git a/images/gerrit-user-summit-2022.png b/images/gerrit-user-summit-2022.png
new file mode 100644
index 0000000..d453ddb
--- /dev/null
+++ b/images/gerrit-user-summit-2022.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/index.md b/index.md
new file mode 100644
index 0000000..0210517
--- /dev/null
+++ b/index.md
@@ -0,0 +1,38 @@
+# 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
+shaping the future of Gerrit development and solutions.
+
+# Gerrit User Summit 2022 - 7-11 November, London (UK)
+
+| 7,8,9 November     | 10,11 November    |
+|--------------------|-------------------|
+| 3 days Hackathon   | 2 days Conference |
+
+# Back face-to-face after 2 years of remote events
+
+After two years of remote meetings and virtual conferences, this year,
+we are back face-to-face in the heart of the vibrant City of London.
+
+Similarly to what we have experimented in [Sunnyvale in 2019](https://gerrit.googlesource.com/summit/2019/+/master/schedule-usa.md),
+the event will also be broadcasted on a live stream to allow people
+to join from around the globe.
+
+# Celebrate the comeback of the Summit, drinks are on us
+
+To celebrate the return to a face-to-face Gerrit User Summit, we have organised
+free drinks on the 10th of November, from 5 PM till the evening.
+Feel free to come and network with the other members of the community,
+all drinks will be on us.
+
+# Engaging remotely using Discord
+
+For the first time in the history of the Gerrit User Summits, we will also
+have a parallel platform to encourage peer-to-peer interaction during the
+meeting and beyond.
+
+The Gerrit community has moved to [Discord](https://discord.gg/HkGbBJHYbY) and
+we will encourage people to continue their discussions, participate remotely
+and engage with the attendees and speakers in London.
\ No newline at end of file
diff --git a/location.md b/location.md
new file mode 100644
index 0000000..7875893
--- /dev/null
+++ b/location.md
@@ -0,0 +1,64 @@
+# Gerrit User Summit 2022 - Location
+
+## CodeNode
+
+The User Summit venue is [CodeNode](https://codenode.live)
+in the lower-ground floor dedicated to meetups and conferences.
+
+CodeNode is a 23,000 sqft Tech Events and Community venue. CodeNode provides fantastic meetup,
+conference, training and collaboration spaces with unique technology capabilities for our tech,
+digital and developer communities.
+
+CodeNode features a 5,000 sqft break-out space, complete with fully-licensed bar, plenty of power sockets,
+meeting and collaboration spaces and entertainment areas.
+
+## Hotels and Places to Stay
+
+There are plenty of [Hotels near Liverpool Street](https://goo.gl/maps/yAZEst1kfgHuL4ea8) which is
+walking distance form the venue of the event.
+
+Many of the Gerrit contributors and maintainers are staying at the [YOTEL London Shoreditch](https://www.yotel.com/en/hotels/yotel-london-shoreditch)
+if you would like to have interesting networking opportunities in the evenings or early mornings.
+
+## Getting there
+
+**By Car**
+
+If you want to commute by car to CodeNode, NCP Finsbury Square offers an ideal parking spot.
+Located beneath the lawn bowls green you're only a short walk from CodeNode, Moorgate and Old Street.
+
+You can also check out [Parkopedia](https://en.parkopedia.co.uk/parking/locations/south_place_city_of_london_london_ec2m_2up_united_kingdom_cg3egcpvn48ze4z85i/?country=uk&arriving=202211100830&leaving=202211111700)
+for details of nearby parking.
+
+*** note
+__ULEZ and Congestion Charge__
+
+Bear in mind that you need to have an electric or other zero-emission vehicle for avoiding
+charges when entering the _Ultra Low Emission Zone_ (ULEZ). You also need to pay extra for entering
+the central London zone with a car within the _Congestion Charge_ area.
+
+Refer to to the [TFL Congestion Charge](https://tfl.gov.uk/modes/driving/congestion-charge) site for more details.
+
+***
+
+
+**By Bicycle**
+
+For cycling directions, check out a bike map around CodeNode.
+
+During the event, you can store your bicycle at the reception area, but please let one of our staff know on arrival.
+Please note that your bike will be left at your own risk.
+
+**By Train**
+
+The nearest Underground station is Liverpool Street, using the [Elisabeth Line](https://www.crossrail.co.uk/route/stations/liverpool-street/),
+Circle, Metropolitan, Hammersmith & City, Northern line and the Overground.
+
+There is a [3 minutes walk from Liverpool Street Station](https://goo.gl/maps/1QeFKYfPzgbnZrfaA) to 10 South Place.
+
+## Inside CodeNode, lower-ground floor map
+
+See below the map of the CodeNode lower ground floor where the User Summit will take place.
+There will be roll-up banners at the entrance of CodeNode and in front of the Conference Room used for the two days event.
+
+![CodeNode - Gerrit User Summit](images/codenode-lowerground.png)
diff --git a/navbar.md b/navbar.md
new file mode 100644
index 0000000..8a07568
--- /dev/null
+++ b/navbar.md
@@ -0,0 +1,13 @@
+# London (UK) - 10-11 November 2022
+
+* [**REGISTER**](https://www.eventbrite.co.uk/e/gerrit-user-summit-2022-tickets-424995963367)
+* [Home](/index.md)
+* [Location](/location.md)
+* [Schedule](/schedule.md)
+* [Speakers](/speakers.md)
+* [Overview](/overview.md)
+* [Sponsors](/sponsors.md)
+* [Conduct Policy](/conduct-policy.md)
+
+[home]: /index.md
+[logo]: images/gerrit-user-summit-2022.png
diff --git a/overview.md b/overview.md
new file mode 100644
index 0000000..809bfbc
--- /dev/null
+++ b/overview.md
@@ -0,0 +1,31 @@
+# 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 major Gerrit users
+annually meet and exchange experiences and practices that foster the
+community with new and useful ideas.
+
+## Gerrit Community in Numbers
+
+* 14 years of activity
+* 20 events in USA, UK and Germany
+* 1000+ contributors worldwide
+* 292 releases
+* 160+ plugins
+* 6,500+ topics discussed on the repo-discuss mailing list 20,000 users registered on GerritHub.io
+* 1500+ teams on GerritHub.io
\ No newline at end of file
diff --git a/schedule.md b/schedule.md
new file mode 100644
index 0000000..f7b7811
--- /dev/null
+++ b/schedule.md
@@ -0,0 +1,77 @@
+# Gerrit User Summit 2022 - Schedule
+
+## Hackathon - 7,8 and 9 November
+
+Three days of hacking on Gerrit Code Review and for building new plugins
+by contributors and people passionate about understanding and extending
+Gerrit.
+
+The hackathon will take place at [Spaces Aurora](https://g.page/71-Uxbridge-Road-5099?share),
+in the historical borough of [Ealing](https://en.wikipedia.org/wiki/London_Borough_of_Ealing),
+well known for being the birthplace of [Ada Lovelace](https://en.wikipedia.org/wiki/Ada_Lovelace),
+the very first software developer in history.
+
+**Schedule**
+
+All the three days will follow this schedule:
+
+| Time  | Session
+|-------|----------------------------
+|  9:00 | Welcome to the Hackathon
+|  9:30 | Coffee and breakfast nearby
+| 10:00 | _Hacking together_
+| 12:00 | Lunch & Networking
+| 13:00 | _Hacking together_
+| 18:00 | End of the day
+
+Remote contributors and maintainers will be able to interact remotely
+using the [Discord Event](https://discord.gg/n6KJmZUs?event=1027503668041363517)
+and [Discord Channel](https://discord.com/channels/775374026587373568/1027206237957410887).
+
+*** note
+__By invitation only__
+
+The number of places available is 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 contributors and maintainers attending the hackathon will also
+help with the release of the forthcoming Gerrit v3.7.0.
+***
+
+## Gerrit User Summit, 10-11 November
+
+Introduction, intermediate and advanced sessions on Gerrit Code Review.
+
+### Thursday, 10th of November
+
+| Time  | Session
+|-------|----------------------------------------------------------------
+|  9:00 | Registration Opens, Breakfast & Networking
+|  9:30 | Welcome introduction
+|  9:45 | [What's new in Gerrit 3.6 and 3.7](sessions/whats-new-gerrit-3.6-3.7.md)
+| 10:30 | __Talk available__
+| 11:15 | __Talk available__
+| 12:00 | Lunch & Networking
+| 14:00 | __Talk available__
+| 14:20 | __Talk available__
+| 14:45 | __Talk available__
+| 15:30 | Break & Networking
+| 16:00 | __Talk available__
+| 16:45 | [Q&A with the Gerrit Maintainers](sessions/maintainers-qa.md)
+| 17:30 | Party and free drinks
+
+### Friday, 11th of November
+
+| Time  | Session
+|-------|-------------------------------------------
+|  9:00 | Breakfast & Networking
+|  9:30 | __Talk available__
+| 10:15 | __Talk available__
+| 11:00 | __Talk available__
+| 12:00 | Lunch& Networking
+| 14:00 | __Lightning talks (6x 10 mins)__
+| 15:00 | Break & Networking
+| 15:30 | Final retrospective and proposals
+| 16:30 | Conference wrap-up and Closing Keynote
diff --git a/sessions/maintainers-qa.md b/sessions/maintainers-qa.md
new file mode 100644
index 0000000..d8dfa4a
--- /dev/null
+++ b/sessions/maintainers-qa.md
@@ -0,0 +1,7 @@
+# Q&A with the Gerrit maintainers
+
+Meet the Gerrit maintainers and ask those questions that
+you've always been wanting to ask.
+
+* *[Luca Milanesio, GerritForge](../speakers.md#lmilanesio)*
+* *other maintainers TBC*
diff --git a/sessions/template.md b/sessions/template.md
new file mode 100644
index 0000000..396ae65
--- /dev/null
+++ b/sessions/template.md
@@ -0,0 +1,14 @@
+# 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](../speakers.md#anchor)*
diff --git a/sessions/whats-new-gerrit-3.6-3.7.md b/sessions/whats-new-gerrit-3.6-3.7.md
new file mode 100644
index 0000000..16d0145
--- /dev/null
+++ b/sessions/whats-new-gerrit-3.6-3.7.md
@@ -0,0 +1,11 @@
+# What's new in Gerrit v3.6 and v3.7
+
+Gerrit v3.6 and v3.7 have been released in Spring and Autumn 2022.
+
+Luca gives an overview of the major improvements introduced:
+
+- Goodbye Prolog, welcome Submit Requirements
+- Markdown support
+- Mention in reviews
+
+*[Luca Milanesio, GerritForge](../speakers.md#lmilanesio)*
diff --git a/speakers.md b/speakers.md
new file mode 100644
index 0000000..4fae984
--- /dev/null
+++ b/speakers.md
@@ -0,0 +1,12 @@
+# Gerrit User Summit 2022 - Speakers
+
+### Luca Milanesio - GerritForge {#lmilanesio}
+
+[LinkedIn](https://www.linkedin.com/in/lucamilanesio/)
+
+Luca is co-founder of GerritForge and has over 30 years of software development
+and application lifecycle management experience.
+He is a Gerrit Contributor for over 10 years, Gerrit Release manager,
+member of the Gerrit Engineering Steering Committee and maintainer
+of [GerritHub.io](https://gerrithub.io), the Open Service for Gerrit Code Review
+on top of GitHub repositories.
diff --git a/sponsors.md b/sponsors.md
new file mode 100644
index 0000000..b312468
--- /dev/null
+++ b/sponsors.md
@@ -0,0 +1,13 @@
+# Gold Sponsors
+
+![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.
