diff --git a/public/speakers/bara.jpg b/public/speakers/bara.jpg
new file mode 100644
index 0000000..dc2c631
Binary files /dev/null and b/public/speakers/bara.jpg differ
diff --git a/public/speakers/honzak.jpg b/public/speakers/honzak.jpg
new file mode 100644
index 0000000..b3448ee
Binary files /dev/null and b/public/speakers/honzak.jpg differ
diff --git a/public/speakers/janp.jpg b/public/speakers/janp.jpg
new file mode 100644
index 0000000..0c8ce89
Binary files /dev/null and b/public/speakers/janp.jpg differ
diff --git a/public/speakers/jurgen.jpg b/public/speakers/jurgen.jpg
new file mode 100644
index 0000000..21456d7
Binary files /dev/null and b/public/speakers/jurgen.jpg differ
diff --git a/public/speakers/karolina.jpeg b/public/speakers/karolina.jpeg
new file mode 100644
index 0000000..051c93b
Binary files /dev/null and b/public/speakers/karolina.jpeg differ
diff --git a/public/speakers/katerina.jpeg b/public/speakers/katerina.jpeg
deleted file mode 100644
index 7224993..0000000
Binary files a/public/speakers/katerina.jpeg and /dev/null differ
diff --git a/public/speakers/kayla.png b/public/speakers/kayla.png
new file mode 100644
index 0000000..b9192a0
Binary files /dev/null and b/public/speakers/kayla.png differ
diff --git a/public/speakers/klara.jpeg b/public/speakers/klara.jpeg
new file mode 100644
index 0000000..8c6fa21
Binary files /dev/null and b/public/speakers/klara.jpeg differ
diff --git a/public/speakers/martin.jpg b/public/speakers/martin.jpg
new file mode 100644
index 0000000..0ece1ed
Binary files /dev/null and b/public/speakers/martin.jpg differ
diff --git a/public/speakers/matej.jpeg b/public/speakers/matej.jpeg
new file mode 100644
index 0000000..7b754b0
Binary files /dev/null and b/public/speakers/matej.jpeg differ
diff --git a/public/speakers/mia.jpg b/public/speakers/mia.jpg
new file mode 100644
index 0000000..5c8a8bb
Binary files /dev/null and b/public/speakers/mia.jpg differ
diff --git a/public/speakers/mikulas.jpg b/public/speakers/mikulas.jpg
new file mode 100644
index 0000000..0107dbd
Binary files /dev/null and b/public/speakers/mikulas.jpg differ
diff --git a/public/speakers/miro.jpg b/public/speakers/miro.jpg
new file mode 100644
index 0000000..2242856
Binary files /dev/null and b/public/speakers/miro.jpg differ
diff --git a/public/speakers/pavel.jpeg b/public/speakers/pavel.jpeg
new file mode 100644
index 0000000..ea10b58
Binary files /dev/null and b/public/speakers/pavel.jpeg differ
diff --git a/public/speakers/piotr.jpg b/public/speakers/piotr.jpg
new file mode 100644
index 0000000..c1541d4
Binary files /dev/null and b/public/speakers/piotr.jpg differ
diff --git a/public/speakers/pizza-square.png b/public/speakers/pizza-square.png
new file mode 100644
index 0000000..f082107
Binary files /dev/null and b/public/speakers/pizza-square.png differ
diff --git a/public/speakers/redpythonpizza.png b/public/speakers/redpythonpizza.png
new file mode 100644
index 0000000..af055ba
Binary files /dev/null and b/public/speakers/redpythonpizza.png differ
diff --git a/public/speakers/roman.jpg b/public/speakers/roman.jpg
new file mode 100644
index 0000000..4d8cbe6
Binary files /dev/null and b/public/speakers/roman.jpg differ
diff --git a/public/speakers/soraya.png b/public/speakers/soraya.png
new file mode 100644
index 0000000..a70cade
Binary files /dev/null and b/public/speakers/soraya.png differ
diff --git a/public/speakers/tetiana.jpg b/public/speakers/tetiana.jpg
new file mode 100644
index 0000000..74ec004
Binary files /dev/null and b/public/speakers/tetiana.jpg differ
diff --git a/public/speakers/tim.jpg b/public/speakers/tim.jpg
new file mode 100644
index 0000000..1b39492
Binary files /dev/null and b/public/speakers/tim.jpg differ
diff --git a/src/components/header.tsx b/src/components/header.tsx
index 800753a..89a865f 100644
--- a/src/components/header.tsx
+++ b/src/components/header.tsx
@@ -143,6 +143,8 @@ export const Header = () => (
as="nav"
>
About 🍕
+ Schedule 📅
+ Organizers 👩🏻👨🏻🧑🏻
Venue 🏰
{/* Sponsors 💕 */}
CoC 💂
diff --git a/src/data/schedule.ts b/src/data/schedule.ts
index e69de29..31510c9 100644
--- a/src/data/schedule.ts
+++ b/src/data/schedule.ts
@@ -0,0 +1,196 @@
+export type Event = {
+ label?: string;
+ name?: string;
+ title?: string;
+ photo?: string;
+ link?: string;
+ when?: string;
+ };
+
+ export const SCHEDULE: Event[] = [
+ {
+ label: "Open Doors",
+ when: "2024/02/24 9:30 AM UTC+1"
+ },
+ {
+ label: "Welcome",
+ when: "2024/02/24 10:00 AM UTC+1"
+ },
+ {
+ name: "Łukasz Langa",
+ title: "Keynote: The big leap of Python 3.13",
+ photo: "/speakers/lukasz.jpeg",
+ link: "https://lukasz.langa.pl/",
+ when: "2024/02/24 10:12 AM UTC+1"
+ },
+ {
+ label: "Quick break (24 minutes)",
+ when: "2024/02/24 10:48 AM UTC+1"
+ },
+ {
+ name: "Honza Kral",
+ title: ".",
+ photo: "/speakers/honzak.jpg",
+ link: "https://www.linkedin.com/in/honzakral/",
+ when: "2024/02/24 11:12 AM UTC+1"
+ },
+ {
+ name: "Kayla Eilhart",
+ title: "Why Cyberfolks Love Python?",
+ photo: "/speakers/kayla.png",
+ link: "https://www.linkedin.com/in/zuzanapechova/",
+ when: "2024/02/24 11:24 AM UTC+1"
+ },
+ {
+ name: "Jan Pipek",
+ title: "Is Margherita Better than Quattro Stagioni? a.k.a. Polars vs Pandas API",
+ photo: "/speakers/janp.jpg",
+ link: "https://github.com/janpipek",
+ when: "2024/02/24 11:36 AM UTC+1"
+ },
+ {
+ name: "Karolina Surma",
+ title: "Licensing your Python project",
+ photo: "/speakers/karolina.jpeg",
+ link: "https://www.linkedin.com/in/karolina-surma-950452b7/",
+ when: "2024/02/24 11:48 AM UTC+1"
+ },
+ {
+ name: "Miro Hrončok",
+ title: "Python Packaging: pyproject.toml build backends under the hood",
+ photo: "/speakers/miro.jpg",
+ link: "https://hroncok.cz",
+ when: "2024/02/24 12:00 PM UTC+1"
+ },
+ {
+ name: "Mikuláš Muroň",
+ title: "Python in Orbit: Unleashing the Power of Satellite Data",
+ photo: "/speakers/mikulas.jpg",
+ link: "",
+ when: "2024/02/24 12:12 PM UTC+1"
+ },
+ {
+ name: "Barbora Drbohlavová",
+ title: "Do's and Don't's of event organizing",
+ photo: "/speakers/bara.jpg",
+ link: "https://www.linkedin.com/in/baradrb/",
+ when: "2024/02/24 12:12 PM UTC+1"
+ },
+ {
+ label: "Pizza Time! (1 hour)",
+ when: "2024/02/24 12:36 PM UTC+1"
+ },
+ {
+ name: "Kateřina Lesch",
+ title: "Keynote: TBA",
+ photo: "/speakers/katerina1.jpg",
+ link: "https://www.linkedin.com/in/kveselovska",
+ when: "2024/02/24 1:36 PM UTC+1"
+ },
+ {
+ name: "Martin Kolar",
+ title: "Freelancing: How to start work as a freelancer?",
+ photo: "/speakers/martin.jpg",
+ link: "https://martinkolar.eu/en/",
+ when: "2024/02/24 2:24 PM UTC+1"
+ },
+ {
+ name: "Tetiana Kukhelna",
+ title: "Automating Tasks with Python and Ansible",
+ photo: "/speakers/tetiana.jpg",
+ link: "https://www.linkedin.com/in/tetiana-kukhelna/",
+ when: "2024/02/24 2:24 PM UTC+1"
+ },
+ {
+ name: "Tim Hobbs",
+ title: "Deploying your Jupyter notebooks directly into production",
+ photo: "/speakers/tim.jpg",
+ link: "https://hobbs.cz",
+ when: "2024/02/24 2:36 PM UTC+1"
+ },
+ {
+ name: "Pavel Král",
+ title: "Large Language Models Across Languages",
+ photo: "/speakers/pavel.jpeg",
+ link: "https://pavelkral.eu",
+ when: "2024/02/24 2:48 PM UTC+1"
+ },
+ {
+ name: "Jürgen Gmach",
+ title: "Your perfect Python development experience on Ubuntu",
+ photo: "/speakers/jurgen.jpg",
+ link: "https://jugmac00.github.io/",
+ when: "2024/02/24 3:00 PM UTC+1"
+ },
+ {
+ name: "Matěj Volf",
+ title: "Web scraping tricks with mitmproxy and its scripting API",
+ photo: "/speakers/matej.jpeg",
+ link: "https://mvolfik.github.io/",
+ when: "2024/02/24 3:12 PM UTC+1"
+ },
+ {
+ name: "Soraya Roberta dos Santos Medeiros",
+ title: "CompiledPoem.py: Diversity, Education, and the Python Community in Brazil",
+ photo: "/speakers/soraya.png",
+ link: "https://sorayaroberta.com/",
+ when: "2024/02/24 3:24 PM UTC+1"
+ },
+ {
+ label: "Quick break (24 minutes)",
+ when: "2024/02/24 3:36 PM UTC+1"
+ },
+ {
+ name: "TBA",
+ title: "",
+ photo: "/speakers/pizza-square.png",
+ link: "",
+ when: "2024/02/24 4:12 PM UTC+1"
+ },
+ {
+ name: "Roman Pavelka",
+ title: "CLI to OpenAI GPT models",
+ photo: "/speakers/roman.jpg",
+ link: "https://www.romanpavelka.cz",
+ when: "2024/02/24 4:24 PM UTC+1"
+ },
+ {
+ name: "TBA",
+ title: "",
+ photo: "/speakers/pizza-square.png",
+ link: "",
+ when: "2024/02/24 4:36 PM UTC+1"
+ },
+ {
+ name: "TBA",
+ title: "",
+ photo: "/speakers/pizza-square.png",
+ link: "",
+ when: "2024/02/24 4:48 PM UTC+1"
+ },
+ {
+ name: "TBA",
+ title: "",
+ photo: "/speakers/pizza-square.png",
+ link: "",
+ when: "2024/02/24 5:00 PM UTC+1"
+ },
+ {
+ name: "Klára Mikšíčková",
+ title: "How to overcome overwhelm and reduce work stress",
+ photo: "/speakers/klara.jpeg",
+ link: "www.kouc-miksickova.cz",
+ when: "2024/02/24 5:12 PM UTC+1"
+ },
+ {
+ name: "TBA",
+ title: "",
+ photo: "/speakers/pizza-square.png",
+ link: "",
+ when: "2024/02/24 5:24 PM UTC+1"
+ },
+ {
+ label: "Closing 👋 and Lightning Talks ⚡",
+ when: "2024/02/24 5:36 PM UTC+1"
+ },
+ ];
\ No newline at end of file
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 32caec1..53eec8a 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -5,12 +5,13 @@ import { Footer } from "~/components/footer";
import { Header } from "~/components/header";
import { genericInformation } from "~/data/generic";
import { About } from "~/sections/about";
-import { CFP } from "~/sections/cfp";
-import { Announcements } from "~/sections/announcements";
+
import { SpeakersSection } from "~/sections/speakers";
import { Coc } from "~/sections/coc";
+import { Schedule } from "~/sections/schedule";
import { Hero } from "~/sections/hero";
import { Sponsors } from "~/sections/sponsors";
+import { OrganizerSection } from "~/sections/organizers";
import { Venue } from "~/sections/venue";
const Home = () => (
@@ -41,11 +42,11 @@ const Home = () => (
-
-
-
+
+
+
diff --git a/src/sections/organizer.tsx b/src/sections/organizer.tsx
new file mode 100644
index 0000000..1552607
--- /dev/null
+++ b/src/sections/organizer.tsx
@@ -0,0 +1,21 @@
+import React from 'react';
+
+const Organizer = ({ name, image }) => {
+ return (
+
+

+
{name}
+
+ );
+};
+
+export default Organizer;
diff --git a/src/sections/organizers.tsx b/src/sections/organizers.tsx
new file mode 100644
index 0000000..8ee3760
--- /dev/null
+++ b/src/sections/organizers.tsx
@@ -0,0 +1,40 @@
+import React from 'react';
+import Organizer from './organizer';
+import { Container, Heading, Grid, Paragraph } from "theme-ui";
+
+const orgData = [
+ { name: "Mia Bajić", image: "/speakers/mia.jpg", index: 1 },
+ { name: "Artur Czepiel", image: "/speakers/pizza-square.png", index: 2 },
+ { name: "Sena Şahin", image: "/speakers/pizza-square.png", index: 3 },
+ { name: "Piotr Gnus", image: "/speakers/piotr.jpg", index: 4 },
+ { name: "Moisés Guimarães de Medeiros", image: "/speakers/pizza-square.png", index: 5 },
+];
+
+export const OrganizerSection = () => {
+ return (
+
+ Organizers
+ Python Pizza is brought to life by volunteers. Everyone from our organizing team to our amazing speakers are donating their time to make this event happen.
+
+ By the community for the community.
+
+
+
+
+ {orgData.map((org) => (
+
+ ))}
+
+
+
+
+ );
+};
diff --git a/src/sections/schedule.tsx b/src/sections/schedule.tsx
index b6d68ce..e92d55b 100644
--- a/src/sections/schedule.tsx
+++ b/src/sections/schedule.tsx
@@ -6,8 +6,6 @@ import { SCHEDULE } from "~/data/schedule";
export const Schedule = () => (
Schedule
- The schedule is displayed in your timezone
- THIS IS NOT THE FINAL SCHEDULE!
{SCHEDULE.map((schedule, index) => (
{
return (
-

+
{name}
{affiliation}
diff --git a/src/sections/speakers.tsx b/src/sections/speakers.tsx
index a142d98..d2adb63 100644
--- a/src/sections/speakers.tsx
+++ b/src/sections/speakers.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import Speaker from './speaker';
-import { Container, Heading, Paragraph } from "theme-ui";
+import { Container, Heading } from "theme-ui";
const speakersData = [
{ name: "Łukasz Langa", affiliation: "CPython Developer in Residence, Python 3.8 and 3.9 release manager", image: "/speakers/lukasz.jpeg", index: 1 },
@@ -9,7 +9,7 @@ const speakersData = [
export const SpeakersSection = () => {
return (
-
+
Keynote speakers
{speakersData.map((speaker) => (