diff --git a/content/projekte/hack-n-fun/_index.md b/content/projekte/hack-n-fun/_index.md
index 5fde9c26e91fa7982de5fcfee276cd14450d9197..7428ce6cdb93f70fb82f86f82932db76a5fd9a96 100644
--- a/content/projekte/hack-n-fun/_index.md
+++ b/content/projekte/hack-n-fun/_index.md
@@ -1,9 +1,17 @@
 +++
 title = "Hack'n'Fun"
 description = "Technik gemeinsam ausprobieren und verstehen"
+template = "project.html"
 
 [extra]
 logo = "artwork/logo-hacknfun.svg"
+project_slug = "hack-n-fun"
+list_icon = "images/soldering.png"
+theses = [
+    "Wir zeigen, dass man Technik selber gestalten kann",
+    "Alle können von- und miteinander lernen",
+    "Ausprobieren, kaputt machen und reparieren sind die besten Lernmethoden"
+]
 +++
 
 Im Projekt Hack’n’Fun experimentieren Kinder, Jugendliche und Erwachsene gemeinsam, um technische Themen kennenzulernen. Jede\*r kann Themen vorschlagen und damit ankündigen, etwas zeigen zu wollen, darum bitten, etwas gezeigt zu bekommen, oder dazu aufrufen, etwas gemeinsam auszuprobieren und herauszufinden.
diff --git a/content/projekte/indiedact/_index.md b/content/projekte/indiedact/_index.md
index ff167b34bcc1f1a911820aa78f494e61bb634a3e..5ce5ebfe71b0cc709fa57651c2bc4e557ed62e09 100644
--- a/content/projekte/indiedact/_index.md
+++ b/content/projekte/indiedact/_index.md
@@ -1,9 +1,17 @@
 +++
 title = "Indiedact"
 description = "Partizipatives Lernen für alle"
+template = "project.html"
 
 [extra]
 logo = "artwork/logo-leopard.svg"
+project_slug = "indiedact"
+list_icon = "images/pencil.png"
+theses = [
+    "Selbstgewähltes Lernthema und -tempo ist Motivator Nr. 1",
+    "Pädagog*innen begleiten sensibel nach Bedürfnis der Lernenden",
+    "Digitale Plattformen sind Werkzeuge, um Lernende individuell zu begleiten – kein Selbstzweck"
+]
 +++
 
 Lernen und zusammenarbeiten nach Fähigkeiten und Zielen
diff --git a/content/projekte/schul-frei/_index.md b/content/projekte/schul-frei/_index.md
index e34b8c47f71ab41bc1df9a4e9454b2fad54d0fd5..84ce65b02b09fcaf6ed40000c44da28976952987 100644
--- a/content/projekte/schul-frei/_index.md
+++ b/content/projekte/schul-frei/_index.md
@@ -1,9 +1,17 @@
 +++
 title = "schul-frei"
 description = "Verstehbare digitale Werkzeug für Bildungseinrichtungen"
+template = "project.html"
 
 [extra]
 logo = "artwork/logo-schul-frei.svg"
+project_slug = "schul-frei"
+list_icon = "images/chalks.png"
+theses = [
+    "Software in Schulen muss offen und verstehbar sein",
+    "Schulen und Eltern müssen die Rechte der Schüler*innen und des Kollegiums respektieren und stärken",
+    "Dank Freier Software kann man im Unterricht reale, nachhaltige Projekte zum Lernen nutzen"
+]
 +++
 
 Das Projekt schul-frei ist ein Kuratorium für Freie Software in der Bildung.
diff --git a/sass/_teckids.scss b/sass/_teckids.scss
index 4ae0a25fbac1f5050a66d1341d789c0ba687fee4..914dec430c77019f97557e7700ef93add7b40232 100644
--- a/sass/_teckids.scss
+++ b/sass/_teckids.scss
@@ -21,6 +21,10 @@ $project-colors: (
 }
 
 @each $project in $projects {
+    .project-section-#{$project} {
+        background-color: findLightColor(map-get($project-colors, $project));
+    }
+
     #menu-project-section-#{$project} {
         border-color: map-get($project-colors, $project);
 
diff --git a/static/images/chalks.png b/static/images/chalks.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d066915b90ca0901133d5a26e2111457c2b4f50
Binary files /dev/null and b/static/images/chalks.png differ
diff --git a/static/images/pencil.png b/static/images/pencil.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ce59e5407e96b416ca4a3825451b5af56c52f2e
Binary files /dev/null and b/static/images/pencil.png differ
diff --git a/static/images/soldering.png b/static/images/soldering.png
new file mode 100644
index 0000000000000000000000000000000000000000..69fbae91d3df0afed81c0170fbe8f3d7a24bc36d
Binary files /dev/null and b/static/images/soldering.png differ
diff --git a/templates/menu/projects.html b/templates/menu/projects.html
index 8cd552b0534652583890445841f686013be7ae58..51b3be5c3ccce1cba7fa6ff5495707a0d119fc34 100644
--- a/templates/menu/projects.html
+++ b/templates/menu/projects.html
@@ -9,7 +9,7 @@
     >
       {% set section = get_section(path = "projekte/" ~ project.slug ~
       "/_index.md") %}
-      <h1 class="title is-6 is-mega-menu-title">{{ section.title }}</h1>
+      <h1 class="title is-6 is-mega-menu-title"><a class="navbar-item" href="{{ section.permalink }}">{{ section.title }}</a></h1>
       <strong class="is-mega-menu-subtitle">{{ section.description }}</strong>
 
       {% for page in project.pages %}
diff --git a/templates/project.html b/templates/project.html
new file mode 100644
index 0000000000000000000000000000000000000000..16385527c8e3192aecd92dfba95c3d756a4e83bd
--- /dev/null
+++ b/templates/project.html
@@ -0,0 +1,26 @@
+{% extends "base.html" %}
+
+{% block meta %}
+    {% if section.description %}
+        <meta name="description" content="{{ section.description }}" />
+    {% elif config.description %}
+        <meta name="description" content="{{ config.description }}" />
+    {% endif %}
+{% endblock %}
+
+{% block title %}
+    {{ section.title }}
+{% endblock %}
+
+{% block main %}
+<section class="container section is-medium project-section-{{ section.extra.project_slug }}">
+	<h1 class="title">{{ section.title }}</h1>
+	<h2 class="subtitle">{{ section.description }}</h2>
+	<ul class="box">
+		{% for thesis in section.extra.theses %}
+		<li>{{ thesis }}</li>
+		{% endfor %}
+	</ul>
+	<div class="content">{{ section.content | safe }}</div>
+</section>
+{% endblock %}