diff --git a/public/media/bingo/ep2002-announcement.png b/public/media/bingo/ep2002-announcement.png
new file mode 100644
index 000000000..f0e149481
Binary files /dev/null and b/public/media/bingo/ep2002-announcement.png differ
diff --git a/public/media/bingo/ep2002-website.png b/public/media/bingo/ep2002-website.png
new file mode 100644
index 000000000..0b066e68a
Binary files /dev/null and b/public/media/bingo/ep2002-website.png differ
diff --git a/src/components/sections/TriviaCarousel.astro b/src/components/sections/TriviaCarousel.astro
new file mode 100644
index 000000000..911064c64
--- /dev/null
+++ b/src/components/sections/TriviaCarousel.astro
@@ -0,0 +1,165 @@
+---
+interface TriviaItem {
+ text: string;
+ year?: string;
+}
+
+interface Props {
+ trivia: TriviaItem[];
+}
+
+const { trivia } = Astro.props;
+---
+
+
+
+ {trivia.map((item, i) => (
+
+ {item.year &&
{item.year}
}
+
{item.text}
+
+ ))}
+
+
+
+
+
+ {trivia.map((_, i) => (
+
+ ))}
+
+
+
+
+
+
+
+
diff --git a/src/content/deadlines/03_anniversary.md b/src/content/deadlines/03_anniversary.md
new file mode 100644
index 000000000..5818a7392
--- /dev/null
+++ b/src/content/deadlines/03_anniversary.md
@@ -0,0 +1,10 @@
+---
+title: Celebrating 25 Years of EuroPython
+subtitle: Celebrate With Us
+url: /25yearsofep
+image: volunteers-2024.jpg
+---
+
+EuroPython turns 25! Join us in Kraków to celebrate a quarter-century of the
+community. Dig out your oldest EuroPython t-shirt and badge: there are contests
+and awards waiting at the Social Event.
diff --git a/src/content/pages/25yearsofep.mdx b/src/content/pages/25yearsofep.mdx
new file mode 100644
index 000000000..36125058f
--- /dev/null
+++ b/src/content/pages/25yearsofep.mdx
@@ -0,0 +1,86 @@
+---
+title: 25 Years of EuroPython
+subtitle: A quarter-century of the European Python community — and two contests to celebrate it.
+toc: false
+---
+
+import TriviaCarousel from "../../components/sections/TriviaCarousel.astro";
+
+# 25 Years of EuroPython
+
+Since its very first edition back in 2002, EuroPython has grown into the longest-running community Python conference in Europe. Over the years it has travelled
+across the continent, hosted by volunteers in city after city, bringing together
+thousands of Pythonistas to learn, share, and build the community we know today.
+
+In 2026 we reach a special milestone: **our 25th edition**, here in Kraków. To mark
+it, we want to celebrate not just the talks and the code, but the people and the
+memories: the conversations in hallways, the friendships, and yes, the swag.
+
+
+
+## Two contests on the Social Event night
+
+Bring a piece of EuroPython history with you to the **Social Event** and take part
+in our anniversary contests. Winners will be crowned and awarded on the night!
+
+
+
+
👕
+
Oldest T-shirt
+
Still got a EuroPython T-shirt from years gone by? Wear it or bring it along. The oldest EuroPython T-shirt wins.
+
+
+
🪪
+
Oldest Badge
+
Kept your conference badge as a souvenir? Dust it off and bring it: the oldest EuroPython badge wins.
+
+
+
+Awards for both contests will be handed out during the Social Event on Thursday. See you there!
+
+{/*
+ TRIVIA FORMAT
+ Each item in the array below is an object with:
+ - year (optional) — short label shown above the text, e.g. "EP 2002" or "2010"
+ - text (required) — 2–3 plain-text sentences about that edition or milestone
+
+ Example:
+ { year: "EP 2002", text: "The very first EuroPython was held in Charleroi, Belgium in June 2002. Around 200 Pythonistas from across Europe gathered for three days of talks and sprints." }
+*/}
+
+
+
+
+
+
+
+Here's to the next 25 years of learning, connecting, laughs, and friendship!
diff --git a/src/data/nav.ts b/src/data/nav.ts
index 632252f16..5ae86618b 100644
--- a/src/data/nav.ts
+++ b/src/data/nav.ts
@@ -114,6 +114,7 @@ const L = {
url: "https://ep2026.europython.eu/25anniversary",
external: true,
},
+ yearsOfEp: { label: "25 Years of EuroPython", url: "/25yearsofep" },
};
// ── Nav menus ────────────────────────────────────────────────
@@ -148,6 +149,7 @@ export const NAV_MENUS: NavMenu[] = [
L.beginnersDay,
L.speakersDinner,
L.openSpaces,
+ L.yearsOfEp,
],
},
{