Skip to content

Commit b43f11f

Browse files
committed
Open the CFP and add dates!
1 parent 3aaafb1 commit b43f11f

9 files changed

Lines changed: 125 additions & 36 deletions

File tree

‎astro.config.mjs‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ export default defineConfig({
1414
"/compact": "/compact-schedule",
1515
"/program": "/#schedule",
1616
"/organizers": "/#organizers",
17-
"/cfp": "/#cfp",
1817
"/venue": "/#venue",
1918
"/coc": "/#coc",
2019
"/terms": "/terms-of-service",

‎src/components/EventJsonLd.astro‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const schema = {
55
"@context": "https://schema.org",
66
"@type": "ConferenceEvent",
77
name: event.name,
8+
startDate: event.startDate,
89
url: Astro.site?.href,
910
offers: {
1011
"@type": "Offer",

‎src/content/prose/cfp-details.mdx‎

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
import { event } from "@data/event";
2+
3+
<div class="prose-banner">
4+
<p class="m-0">Submissions close {event.cfp.deadlineDisplay}.</p>
5+
<p class="m-0"><a class="text-white" href={event.cfp.url} target="_blank" rel="noopener noreferrer">Submit your talk →</a></p>
6+
</div>
7+
8+
## Everyone is welcome here
9+
10+
This is a community-made, volunteer-led event, and we want the stage to look like the community: all levels, all backgrounds, all kinds of Python.
11+
12+
- Never spoken before? Good - we're actively looking for first-time speakers, and the form even asks so we can make sure there's room for you.
13+
- Not sure you're "technical enough"? A fresh perspective is exactly what makes a talk worth watching.
14+
- Making art, music, or games with Python instead of shipping production code? That counts too - bring it.
15+
- Feel like an imposter? So does most of the room, including some of us organizing this.
16+
17+
If any of that sounds like you, that's your sign to submit.
18+
19+
## What we're looking for
20+
21+
Each talk is **10 minutes long**, with no time set aside for questions. We love practical, experience-driven sessions - the kind where you share what you actually built, broke, or learned.
22+
23+
## Topics
24+
25+
Bring whatever you're excited about. The form groups submissions into:
26+
27+
- Python Core, Internals & Extensions
28+
- Web Development & APIs
29+
- Data Science, ML & Analytics
30+
- Cloud, DevOps & Infrastructure
31+
- Developer Tooling, Testing & Productivity
32+
- Community, Education & Career Growth
33+
- Ethics, Sustainability & Social Impact
34+
- Python for Fun: Games, Art & Creative Coding
35+
- Other Topics
36+
37+
## Language
38+
39+
We'll run the event mainly in **English**. As a small experiment for this first edition, we're also opening a limited number of slots for talks in **Turkish** - if that's your preference, give it a shot too.
40+
41+
## Writing a good 10-minute proposal
42+
43+
Ten minutes isn't a lot of runway, so the proposals that land best are the ones built around one clear idea rather than a whole topic. A structure that works:
44+
45+
- **The problem.** What were you actually stuck on, curious about, or trying to fix? Start here, not with the solution - it's what makes people want to know what happens next.
46+
- **Why it matters.** Is this something a lot of Python developers hit, or a strange corner most people never see? Either is a great hook, as long as you tell us why you cared.
47+
- **Your take.** What did you find, build, or figure out? This is the actual content of your talk.
48+
- **What people leave with.** One thing the audience should remember or go try tomorrow. If you can name that thing, your talk has a spine.
49+
50+
You don't need slides or a finished project to submit - just a clear sense of what you'd say in ten minutes.
51+
52+
## What you'll need
53+
54+
- A title (10-75 characters) and an abstract (250-3000 characters)
55+
- Your topic and language of choice
56+
- Co-speaker details, if any - one submission covers your whole team, no need for them to submit separately
57+
- Whether you're okay with your talk being recorded
58+
- Any special AV or accessibility needs
59+
60+
## About AI-assisted proposals
61+
62+
Used an LLM to help polish your abstract? Just note it in the additional info field. Fully AI-generated proposals tend to read as generic, so we'd rather see your own voice come through.
63+
64+
## The honest bits
65+
66+
This is our first edition, so we're not able to cover **travel, accommodation, or visa costs** this time around. Please keep that in mind before submitting. We're also expecting speakers to attend in person, so the form asks about that too.
67+
68+
## Before you submit
69+
70+
Please make sure you're comfortable with our <a href="/#coc">Code of Conduct</a> and <a href="/privacy-policy/">Privacy Policy</a>. Your submission is collected via Google Forms and processed via Google Drive, hosted outside Turkey.
71+
72+
## Questions?
73+
74+
Write to us at <a href={`mailto:${event.contactEmail}?subject=%5BCFP%5D`}>{event.contactEmail}</a> - we can't wait to hear what you're bringing.

‎src/content/prose/cfp.mdx‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
The Call for Proposals isn't open yet. Stay tuned - we'll share how and when to submit a talk here.
1+
import { event } from "@data/event";
2+
3+
The CFP is open! Got a Python project, story, or hard-won lesson to share? We want to hear it - all experience levels welcome, first-time speakers especially.
4+
5+
Talks are 10 minutes, mostly in English, with a few Turkish slots for this first edition. Submissions close **{event.cfp.deadlineDisplay}**.

‎src/data/event.ts‎

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1-
const ticketsUrl = "#";
2-
31
// Single source of truth for this edition's facts.
42
// Update this file (and the other ones in this directory)
53
// to stand up a new edition.
4+
5+
const cfpUrl = "https://forms.gle/41Zpwh2N2uS4P1RB8";
6+
67
export const event = {
78
name: "Python Pizza Istanbul",
89
city: "Istanbul",
9-
description: "Python Pizza Istanbul - date and venue to be announced",
10-
subHeading: "Venue to be announced",
11-
whenDisplay: "November 2026",
10+
description:
11+
"Python Pizza Istanbul - a one-day Python micro-conference on Saturday, 14 November 2026",
12+
subHeading: "Venue announcement coming soon 👀",
13+
whenDisplay: "Saturday, 14 November 2026",
14+
startDate: "2026-11-14",
1215
contactEmail: "organizers@pythonturkiye.org",
13-
ticketSeller: "TBA",
14-
ticketsUrl,
16+
ticketsUrl: "#",
17+
cfp: {
18+
url: cfpUrl,
19+
deadlineDisplay: "Tuesday, 25 August 2026, 23:59 AoE",
20+
},
1521
// whatever is most important right now
16-
cta: { label: "Help us find a venue! 📍", href: "/help-us/" },
22+
cta: { label: "Submit a talk! 🎤", href: cfpUrl },
1723
};

‎src/data/navigation.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
export const menuItems = [
22
{ href: "/#about", label: "About 🍕" },
3+
{ href: "/#cfp", label: "CFP 🙋🏻‍♀️" },
34
{ href: "/#sponsors", label: "Sponsors 💛" },
45
// { href: "/#schedule", label: "Program 📅" },
56
// { href: "/compact-agenda/", label: "Compact agenda 🔗" },
67
{ href: "/#organizers", label: "Organizers 👩🏻" },
7-
{ href: "/#cfp", label: "CFP 🙋🏻‍♀️" },
88
// { href: "/#venue", label: "Venue 🏰" },
99
{ href: "/#coc", label: "CoC 💂" },
1010
];

‎src/pages/cfp.astro‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
import Base from "@layouts/Base.astro";
3+
import Header from "@components/Header.astro";
4+
import Footer from "@components/Footer.astro";
5+
import Prose from "@components/Prose.astro";
6+
import CtaButton from "@components/CtaButton.astro";
7+
import { event } from "@data/event";
8+
import Content from "@prose/cfp-details.mdx";
9+
---
10+
11+
<Base
12+
title={`Call for Proposals | ${event.name}`}
13+
description={`Submit a talk for ${event.name}, ${event.whenDisplay}. All experience levels welcome.`}
14+
>
15+
<Header />
16+
<main class="section-sm text-left pt-32">
17+
<h1 class="section-heading">Call for Proposals</h1>
18+
<Prose class="[&_p]:mb-4 [&_h2]:mt-10 [&_strong]:font-medium">
19+
<Content />
20+
</Prose>
21+
<div class="text-center mt-8">
22+
<CtaButton href={event.cfp.url}>Submit your talk</CtaButton>
23+
</div>
24+
</main>
25+
<Footer />
26+
</Base>

‎src/pages/help-us.astro‎

Lines changed: 0 additions & 22 deletions
This file was deleted.

‎src/pages/index.astro‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,13 @@ const twitter = socials.find((s) => s.handle);
4646
<Section id="about" title={`Python Pizza is Coming to ${event.city}!`}>
4747
<Prose><AboutContent /></Prose>
4848
</Section>
49+
<Section id="cfp" title="Call for Proposals is Open! 🎤">
50+
<Prose><CfpContent /></Prose>
51+
<CtaButton href="/cfp/" class="mt-8">Read the full CFP →</CtaButton>
52+
</Section>
4953
<Sponsors />
5054
{/* <Schedule /> */}
5155
<Organizers />
52-
<Section id="cfp" title="Call for Proposals - opening soon">
53-
<Prose><CfpContent /></Prose>
54-
</Section>
5556
{/* <Venue /> */}
5657
<Section id="coc" title="Code of Conduct">
5758
<Prose class="text-left [&_ul]:list-none [&_ul]:pl-0"><CocContent /></Prose>

0 commit comments

Comments
 (0)