diff --git a/app/__init__.py b/app/__init__.py
index 50f946be7238ded249d7a6b8ca72dc24f5275a85..41b3eeb143a9af9ce5fc63d991cfa1784a0a252c 100644
--- a/app/__init__.py
+++ b/app/__init__.py
@@ -102,4 +102,7 @@ def create_app(config: Config = Config) -> Flask:
     default_breadcrumb_root(users_blueprint, '.users')
     app.register_blueprint(users_blueprint, url_prefix='/users')
 
+    from .workshops import bp as workshops_blueprint
+    app.register_blueprint(workshops_blueprint, url_prefix='/workshops')
+
     return app
diff --git a/app/templates/workshops/_fgho_sommerschule_2023/_aufgaben.html.j2 b/app/templates/workshops/_fgho_sommerschule_2023/_aufgaben.html.j2
new file mode 100644
index 0000000000000000000000000000000000000000..dcdee8e1247587c68e4f12cc365ce0336b96947c
--- /dev/null
+++ b/app/templates/workshops/_fgho_sommerschule_2023/_aufgaben.html.j2
@@ -0,0 +1,131 @@
+<h2>Workshop Aufgaben</h2>
+<p>Hallo liebe Inga</p>
+
+<h3>Aufgabe 1</h3>
+<p>
+  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+  eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+  voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+  clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+</p>
+<ul class="collapsible">
+  <li>
+    <div class="collapsible-header">Tipp 1</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Tipp 2</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Lösung</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+</ul>
+
+<h3>Aufgabe 2</h3>
+<p>
+  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+  eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+  voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+  clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+</p>
+<ul class="collapsible">
+  <li>
+    <div class="collapsible-header">Tipp 1</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Tipp 2</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Lösung</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+</ul>
+
+<h3>Aufgabe 3</h3>
+<p>
+  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+  eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+  voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+  clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+</p>
+<ul class="collapsible">
+  <li>
+    <div class="collapsible-header">Tipp 1</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Tipp 2</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Lösung</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+</ul>
diff --git a/app/templates/workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2 b/app/templates/workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2
new file mode 100644
index 0000000000000000000000000000000000000000..d888bb3d16e59d286d9045906f57ddcc733fb7ab
--- /dev/null
+++ b/app/templates/workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2
@@ -0,0 +1 @@
+<h2>Vorbereitungen</h2>
diff --git a/app/templates/workshops/fgho_sommerschule_2023.html.j2 b/app/templates/workshops/fgho_sommerschule_2023.html.j2
new file mode 100644
index 0000000000000000000000000000000000000000..46ae8d7a2d044abcd46ab1dc7c07b092f6dd5cbf
--- /dev/null
+++ b/app/templates/workshops/fgho_sommerschule_2023.html.j2
@@ -0,0 +1,19 @@
+{% extends "base.html.j2" %}
+
+{% block page_content %}
+<div class="container">
+  <div class="row">
+    <div class="col s12">
+      <h1 id="title">{{ title }}</h1>
+    </div>
+
+    <div class="col s12" id="fgho-sommerschule-2023-vorbereitungen">
+      {% include "workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2" %}
+    </div>
+
+    <div class="col s12" id="fgho-sommerschule-2023-workshop-aufgaben">
+      {% include "workshops/_fgho_sommerschule_2023/_aufgaben.html.j2" %}
+    </div>
+  </div>
+</div>
+{% endblock page_content %}
diff --git a/app/workshops/__init__.py b/app/workshops/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..25dffcc601ed0456591bbad2fdd2a4abcfefc9cc
--- /dev/null
+++ b/app/workshops/__init__.py
@@ -0,0 +1,5 @@
+from flask import Blueprint
+
+
+bp = Blueprint('workshops', __name__)
+from . import routes
diff --git a/app/workshops/routes.py b/app/workshops/routes.py
new file mode 100644
index 0000000000000000000000000000000000000000..95e2487599580a693693a390d3973ee6f0f44abc
--- /dev/null
+++ b/app/workshops/routes.py
@@ -0,0 +1,10 @@
+from flask import render_template
+from . import bp
+
+
+@bp.route('/fgho_sommerschule_2023')
+def index():
+    return render_template(
+        'workshops/fgho_sommerschule_2023.html.j2',
+        title='FGHO Sommerschule 2023',
+    )