diff --git a/lectures/admin.py b/lectures/admin.py
index dbc960808a248b2c9afae277fe472bff0e73c44f..da42d9b91bd7ccaac09e66857a362d53a1c5c40f 100644
--- a/lectures/admin.py
+++ b/lectures/admin.py
@@ -10,6 +10,7 @@ from .models import (
     LectureLector,
     LectureMaterial,
     LectureRecording,
+    LectureCategory,
 )
 
 # Register your models here.
@@ -51,7 +52,7 @@ class LectureAdmin(MarkdownxGuardedModelAdmin):
         LectureMaterialInline,
     )
 
-    autocomplete_fields = ("lectors", "rsvp_users")
+    autocomplete_fields = ("lectors", "rsvp_users", "category")
     search_fields = ("name", "description")
     readonly_fields = ("rsvp_users",)
 
@@ -76,6 +77,10 @@ class LectureAdmin(MarkdownxGuardedModelAdmin):
         return display_string
 
 
+class LectureCategoryAdmin(MarkdownxGuardedModelAdmin):
+    search_fields = ("name",)
+
+
 class LectureLectorAdmin(MarkdownxGuardedModelAdmin):
     search_fields = ("name", "username")
 
@@ -88,5 +93,6 @@ for model in (
     admin.site.register(model, IndexHiddenModelAdmin)
 
 admin.site.register(LectureLector, LectureLectorAdmin)
+admin.site.register(LectureCategory, LectureCategoryAdmin)
 admin.site.register(Lecture, LectureAdmin)
 admin.site.register(LectureGroup, LectureGroupAdmin)
diff --git a/lectures/migrations/0026_lecturecategory_lecture_category.py b/lectures/migrations/0026_lecturecategory_lecture_category.py
new file mode 100644
index 0000000000000000000000000000000000000000..75fb20801bec34c40cac7d10d2e36fd320c52955
--- /dev/null
+++ b/lectures/migrations/0026_lecturecategory_lecture_category.py
@@ -0,0 +1,42 @@
+# Generated by Django 4.1.4 on 2023-09-05 13:09
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        ("lectures", "0025_alter_lecturegrouptype_group_and_more"),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name="LectureCategory",
+            fields=[
+                (
+                    "id",
+                    models.BigAutoField(
+                        auto_created=True,
+                        primary_key=True,
+                        serialize=False,
+                        verbose_name="ID",
+                    ),
+                ),
+                ("name", models.CharField(max_length=32, verbose_name="Jméno")),
+            ],
+            options={
+                "verbose_name": "Kategorie školení",
+            },
+        ),
+        migrations.AddField(
+            model_name="lecture",
+            name="category",
+            field=models.ForeignKey(
+                null=True,
+                on_delete=django.db.models.deletion.SET_NULL,
+                related_name="lectures",
+                to="lectures.lecturecategory",
+                verbose_name="Kategorie",
+            ),
+        ),
+    ]
diff --git a/lectures/migrations/0027_alter_lecturecategory_options.py b/lectures/migrations/0027_alter_lecturecategory_options.py
new file mode 100644
index 0000000000000000000000000000000000000000..8863a81aeb793c43d24cb14f01ff6e9c70868c2f
--- /dev/null
+++ b/lectures/migrations/0027_alter_lecturecategory_options.py
@@ -0,0 +1,19 @@
+# Generated by Django 4.1.4 on 2023-09-05 13:14
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        ("lectures", "0026_lecturecategory_lecture_category"),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name="lecturecategory",
+            options={
+                "verbose_name": "Kategorie školení",
+                "verbose_name_plural": "Kategorie školení",
+            },
+        ),
+    ]
diff --git a/lectures/models.py b/lectures/models.py
index 9f719cc33689eefb965c79ffd019b0da1eca1143..5bab9af056fef08969844fc900f0b819c81aedbe 100644
--- a/lectures/models.py
+++ b/lectures/models.py
@@ -114,6 +114,20 @@ class LectureGroupType(models.Model):
         verbose_name_plural = "Úroveň požadovanosti pro skupiny"
 
 
+class LectureCategory(models.Model):
+    name = models.CharField(
+        max_length=32,
+        verbose_name="Jméno"
+    )
+
+    def __str__(self) -> str:
+        return self.name
+
+    class Meta:
+        verbose_name = "Kategorie školení"
+        verbose_name_plural = verbose_name
+
+
 class Lecture(NameStrMixin, models.Model):
     is_current_starting_treshold = timedelta(hours=8)
     is_current_ending_treshold = timedelta(days=60)
@@ -124,6 +138,14 @@ class Lecture(NameStrMixin, models.Model):
         null=True,
     )  # If undefined, assume this event was in the past
 
+    category = models.ForeignKey(
+        "LectureCategory",
+        null=True,
+        on_delete=models.SET_NULL,
+        related_name="lectures",
+        verbose_name="Kategorie",
+    )
+
     name = models.CharField(
         max_length=128,
         verbose_name="Název",
diff --git a/lectures/templates/lectures/view_group_lectures.html b/lectures/templates/lectures/view_group_lectures.html
index 9c32e8345aefdf04c3a492edb5ae72dcef028bac..45678c8ab21b572e3f5ce9174ce3ee8a47dd62bd 100644
--- a/lectures/templates/lectures/view_group_lectures.html
+++ b/lectures/templates/lectures/view_group_lectures.html
@@ -5,7 +5,7 @@
 {% block content %}
     {% render_bundle "view_group_lectures" %}
 
-    {% include "shared/includes/double_heading.html" with heading=group.name subheading="výuka" icon="ico--user" %}
+    {% include "shared/includes/double_heading.html" with heading=group.name subheading="Vzdělávání" icon="ico--user" %}
 
     {% if group.description %}
         <div class="prose max-w-none mb-10">
@@ -122,11 +122,18 @@
                 </template>
                 <template v-if="isCurrentView('recordings')">
                     {% if past_lectures %}
-                        <ul class="grid grid-cols-1 md:grid-cols-2 gap-4">
-                            {% for lecture in past_lectures %}
-                                {% include "lectures/includes/lecture.html" with lecture=lecture group=group %}
+                        <div class="flex flex-col gap-3">
+                            {% regroup past_lectures by category as lecture_categories %}
+                            {% for category in lecture_categories %}
+                                <h2 class="text-3xl font-alt">{{ category.grouper }}</h2>
+
+                                <ul class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4">
+                                    {% for lecture in category.list %}
+                                        {% include "lectures/includes/lecture.html" with lecture=lecture group=group %}
+                                    {% endfor %}
+                                </ul>
                             {% endfor %}
-                        </ul>
+                        </div>
                     {% else %}
                         <span class="text-gray-600">Žádné dostupné záznamy.</span>
                     {% endif %}
diff --git a/lectures/views.py b/lectures/views.py
index 0f05d7f3baf607fe98947a8bd797f3370a7b4366..59cd78afc95d3c023626a06a020b6b0bad2a9966 100644
--- a/lectures/views.py
+++ b/lectures/views.py
@@ -124,7 +124,7 @@ def view_groups(request):
             **get_base_context(request),
             "title": "Výukové skupiny",
             "description": "Kurzy a školení zaměřené na politickou práci a organizaci kampaní.",
-            "header_name": "Pirátský e-Learning",
+            "header_name": "Sharing is caring",
             "lecture_groups": lecture_groups,
             "settings": Lecture.settings,
         },
@@ -251,8 +251,8 @@ def view_group_lectures(request, group_id: int):
         "lectures/view_group_lectures.html",
         {
             **get_base_context(request),
-            "title": f"Výuka pro {group.name}",
-            "description": f"e-Learningová výuka pro skupinu {group.name}.",
+            "title": f"Školení pro {group.name}",
+            "description": f"Školení pro skupinu {group.name}.",
             "header_name": group.name,
             "group": group,
             "current_lectures": current_lectures,
diff --git a/shared/templates/shared/includes/base.html b/shared/templates/shared/includes/base.html
index f4cdd4abf88b8be3989b446301de550a34e05ab6..141c161a89239fd61e5cd562baaed778225f5fe2 100644
--- a/shared/templates/shared/includes/base.html
+++ b/shared/templates/shared/includes/base.html
@@ -7,20 +7,20 @@
         <meta charset="utf-8">
         <meta name="viewport" content="width=device-width, initial-scale=1">
 
-        <meta name="title" content="{{ title }} | Výuka">
+        <meta name="title" content="{{ title }} | Vzdělávání">
         <meta name="description" content="{{ description }}">
 
         {% comment %}Open Graph / Facebook{% endcomment %}
         <meta property="og:type" content="website">
         <meta property="og:url" content="{{ site_url }}">
-        <meta property="og:title" content="{{ title }} | Výuka">
+        <meta property="og:title" content="{{ title }} | Vzdělávání">
         <meta property="og:description" content="{{ description }}">
         {% comment %}<meta property="og:image" content="">{% endcomment %}
 
         {% comment %}Twitter{% endcomment %}
         <meta property="twitter:card" content="app">
         <meta property="twitter:url" content="{{ site_url }}">
-        <meta property="twitter:title" content="{{ title }} | Výuka">
+        <meta property="twitter:title" content="{{ title }} | Vzdělávání">
         <meta property="twitter:description" content="{{ description }}">
         {% comment %}<meta property="twitter:image" content="">{% endcomment %}
 
@@ -51,7 +51,7 @@
         {% render_bundle "shared" %}
         {% render_bundle "base" %}
 
-        <title>{{ title }} | Výuka</title>
+        <title>{{ title }} | Vzdělávání</title>
     </head>
     <body>
         <nav class="navbar navbar--simple __js-root">
@@ -63,7 +63,7 @@
                                 <a href="/">
                                     <img src="https://styleguide.pirati.cz/2.12.x/images/logo-round-white.svg" class="w-8" />
                                 </a>
-                                <a href="/" class="pl-4 font-bold text-xl hover:no-underline lg:border-r lg:border-grey-300 lg:pr-8">Výuka</a>
+                                <a href="/" class="pl-4 font-bold text-xl hover:no-underline lg:border-r lg:border-grey-300 lg:pr-8">Vzdělávání</a>
                                 <div class="pl-5">{{ header_name }}</div>
                             </div>