diff --git a/scripts/sync-sched/schedule-2025.json b/scripts/sync-sched/schedule-2025.json index dbb4a158b7..8b3b04055b 100644 --- a/scripts/sync-sched/schedule-2025.json +++ b/scripts/sync-sched/schedule-2025.json @@ -7,7 +7,7 @@ "event_start": "2025-09-08 08:00", "event_end": "2025-09-08 18:30", "event_type": "Registration + Badge Pick-up", - "goers": "1", + "goers": "2", "seats": "0", "invite_only": "N", "venue": "BG Foyer - Ground Floor", @@ -43,7 +43,7 @@ "event_start": "2025-09-08 09:00", "event_end": "2025-09-08 09:05", "event_type": "Keynote Sessions", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -89,7 +89,7 @@ "event_start": "2025-09-08 09:05", "event_end": "2025-09-08 09:15", "event_type": "Keynote Sessions", - "goers": "0", + "goers": "2", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -136,7 +136,7 @@ "event_end": "2025-09-08 09:30", "event_type": "Keynote Sessions", "description": "Even ten years in, GraphQL continues to evolve—not just in code, but in connection. This year the Foundation has doubled down on transparency, support, and shared leadership: board minutes are now public, Subject Matter Experts have helped shape the conference agenda, and we'll be launching a new program live on stage! There are also updates on our existing initiatives including community grants and GraphQL Locals.\n\nThis talk is a thank you to the people behind the progress and a celebration of our growing constellation of contributors. It's also an invitation to step forward and get involved—one of the best ways to do that is by joining our new Community Working Group, giving passionate community members a voice in shaping the Foundation's directions and initiatives for the next ten years of GraphQL.", - "goers": "1", + "goers": "3", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -192,11 +192,11 @@ "active": "Y", "pinned": "N", "name": "Keynote: Reimagining Developer Experience for AI-Native Development - Sarah Sanders, Technical Writer, Docker", - "event_start": "2025-09-08 09:30", - "event_end": "2025-09-08 09:40", + "event_start": "2025-09-08 09:35", + "event_end": "2025-09-08 09:45", "event_type": "Keynote Sessions", "description": "Meet the new developer journey: Ask AI → Generate code → Iterate → Ship. This fundamental shift in how developers work demands we rethink every touchpoint of our GraphQL APIs. This talk focuses on the developer experience layer—how to design schemas that are self-explanatory, structure documentation so AI gives accurate answers about your API, and build tools that feel like pair programming with a senior engineer.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -217,19 +217,19 @@ "event_start_day": "8", "event_start_weekday": "Monday", "event_start_weekday_short": "Mon", - "event_start_time": "09:30", + "event_start_time": "09:35", "event_end_year": "2025", "event_end_month": "September", "event_end_month_short": "Sep", "event_end_day": "8", "event_end_weekday": "Monday", "event_end_weekday_short": "Mon", - "event_end_time": "09:40", + "event_end_time": "09:45", "start_date": "2025-09-08", - "start_time": "09:30:00", - "start_time_ts": 1757316600, + "start_time": "09:35:00", + "start_time_ts": 1757316900, "end_date": "2025-09-08", - "end_time": "09:40:00", + "end_time": "09:45:00", "event_subtype": "" }, { @@ -237,11 +237,11 @@ "active": "Y", "pinned": "N", "name": "Keynote: GraphQL at Meta - Jordan Eldredge, Software Engineer, Meta", - "event_start": "2025-09-08 09:40", - "event_end": "2025-09-08 09:50", + "event_start": "2025-09-08 09:50", + "event_end": "2025-09-08 10:00", "event_type": "Keynote Sessions", "description": "A peek behind the curtain revealing how GraphQL is used at Meta. We will explore how everything from culture, development process, client and server implementations, schema patterns and conventions, advanced tooling and more work together to allow GraphQL to enable great user and developer experiences at Meta.", - "goers": "1", + "goers": "2", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -263,19 +263,19 @@ "event_start_day": "8", "event_start_weekday": "Monday", "event_start_weekday_short": "Mon", - "event_start_time": "09:40", + "event_start_time": "09:50", "event_end_year": "2025", "event_end_month": "September", "event_end_month_short": "Sep", "event_end_day": "8", "event_end_weekday": "Monday", "event_end_weekday_short": "Mon", - "event_end_time": "09:50", + "event_end_time": "10:00", "start_date": "2025-09-08", - "start_time": "09:40:00", - "start_time_ts": 1757317200, + "start_time": "09:50:00", + "start_time_ts": 1757317800, "end_date": "2025-09-08", - "end_time": "09:50:00", + "end_time": "10:00:00", "event_subtype": "" }, { @@ -283,11 +283,11 @@ "active": "Y", "pinned": "N", "name": "Keynote: How GraphQL is Redefining API Orchestration for the AI Era - Matt DeBergalis, CEO & Co-Founder, Apollo GraphQL", - "event_start": "2025-09-08 09:50", - "event_end": "2025-09-08 10:00", + "event_start": "2025-09-08 10:05", + "event_end": "2025-09-08 10:15", "event_type": "Keynote Sessions", "description": "As developers build with AI agents, we face a challenge: how do we provide these agents with reliable, flexible access to our distributed data? GraphQL's graph-based approach makes it the ideal language for AI. Join Matt DeBergalis, CTO and Co-founder of Apollo GraphQL, to explore how \"thinking in graphs\" fundamentally transforms API orchestration from procedural code to declarative queries – creating the composable data layer that AI-driven applications require.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -309,43 +309,7 @@ "event_start_day": "8", "event_start_weekday": "Monday", "event_start_weekday_short": "Mon", - "event_start_time": "09:50", - "event_end_year": "2025", - "event_end_month": "September", - "event_end_month_short": "Sep", - "event_end_day": "8", - "event_end_weekday": "Monday", - "event_end_weekday_short": "Mon", - "event_end_time": "10:00", - "start_date": "2025-09-08", - "start_time": "09:50:00", - "start_time_ts": 1757317800, - "end_date": "2025-09-08", - "end_time": "10:00:00", - "event_subtype": "" - }, - { - "event_key": "16", - "active": "Y", - "pinned": "N", - "name": "Keynote Sessions to be Announced", - "event_start": "2025-09-08 10:00", - "event_end": "2025-09-08 10:15", - "event_type": "Keynote Sessions", - "goers": "1", - "seats": "0", - "invite_only": "N", - "venue": "Grote Zaal - 2nd Floor", - "audience": "Any", - "id": "d76bd13df5fb354ed716d88f5e3ba88d", - "venue_id": "2152800", - "event_start_year": "2025", - "event_start_month": "September", - "event_start_month_short": "Sep", - "event_start_day": "8", - "event_start_weekday": "Monday", - "event_start_weekday_short": "Mon", - "event_start_time": "10:00", + "event_start_time": "10:05", "event_end_year": "2025", "event_end_month": "September", "event_end_month_short": "Sep", @@ -354,12 +318,11 @@ "event_end_weekday_short": "Mon", "event_end_time": "10:15", "start_date": "2025-09-08", - "start_time": "10:00:00", - "start_time_ts": 1757318400, + "start_time": "10:05:00", + "start_time_ts": 1757318700, "end_date": "2025-09-08", "end_time": "10:15:00", - "event_subtype": "", - "description": "" + "event_subtype": "" }, { "event_key": "15", @@ -369,7 +332,7 @@ "event_start": "2025-09-08 10:15", "event_end": "2025-09-08 10:20", "event_type": "Keynote Sessions", - "goers": "1", + "goers": "2", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -451,7 +414,7 @@ "event_start": "2025-09-08 10:20", "event_end": "2025-09-08 18:45", "event_type": "Solutions Showcase", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Workspace - 2nd Floor", @@ -516,59 +479,6 @@ "end_time": "11:15:00", "event_subtype": "Backend" }, - { - "event_key": "910351", - "active": "Y", - "pinned": "N", - "name": "GraphQL Federation on Top of 1700+ Swaggers - Arnaud Leymet & Ravi Khatwani, Bouygues Telecom", - "event_start": "2025-09-08 10:45", - "event_end": "2025-09-08 11:15", - "event_type": "GraphQL in Production", - "description": "Large enterprises often benefit from numerous teams executing a wide array of operations, each with its own specifications. Bouygues Telecom in France is a prime example, boasting over 1,700 swagger endpoints (and counting). This diversity often leads to challenges such as path and schema conflicts. We will demonstrate to our audience how we overcame these obstacles by leveraging the guild's comprehensive toolkit to create a unified Knowledge Graph that serves our entire enterprise.", - "goers": "1", - "seats": "0", - "invite_only": "N", - "venue": "IJzaal - 5th Floor", - "audience": "Advanced", - "id": "8ce9df846276a2fc5c1b050aae61d8de", - "venue_id": "2152806", - "speakers": [ - { - "username": "rkhatwan", - "id": "23218006", - "name": "Ravi Khatwani", - "company": "Bouygues Telecom", - "custom_order": 0 - }, - { - "username": "aleymet", - "id": "23098717", - "name": "Arnaud Leymet", - "company": "Bouygues Telecom", - "custom_order": 1 - } - ], - "event_start_year": "2025", - "event_start_month": "September", - "event_start_month_short": "Sep", - "event_start_day": "8", - "event_start_weekday": "Monday", - "event_start_weekday_short": "Mon", - "event_start_time": "10:45", - "event_end_year": "2025", - "event_end_month": "September", - "event_end_month_short": "Sep", - "event_end_day": "8", - "event_end_weekday": "Monday", - "event_end_weekday_short": "Mon", - "event_end_time": "11:15", - "start_date": "2025-09-08", - "start_time": "10:45:00", - "start_time_ts": 1757321100, - "end_date": "2025-09-08", - "end_time": "11:15:00", - "event_subtype": "Case studies" - }, { "event_key": "913063", "active": "Y", @@ -578,7 +488,7 @@ "event_end": "2025-09-08 11:15", "event_type": "GraphQL in Production", "description": "The most natural way to understand fragments is as a reusable part of a query. We at Meta know that this isn't true and can lead to a world of pain when it comes to making sure the data you fetch matches the code that uses that data (no over-fetching).\n\nThe worst part is both the GraphQL spec and the educational materials mention re-use for fragments as part of their value:\n\"Fragments allow for the reuse of common repeated selections of fields, reducing duplicated text in the document.\"\n\nThis talk will explain what we've learned is the best way to use fragments (as subcomponents you convert to in order to pass to the logic that is tied to that fragment).\n\nWe will use Relay's per-file graphql co-location as a demonstration of this philosophy in action", - "goers": "0", + "goers": "2", "seats": "0", "invite_only": "N", "venue": "Studio - 5th Floor", @@ -624,12 +534,12 @@ "event_end": "2025-09-08 11:55", "event_type": "AI / LLMs", "description": "APIs give AI superpowers. The MCP protocol, introduced less than a year ago, has quickly become a popular method for connecting large language models (LLMs) with the outside world. But where does GraphQL fit in? It's structured, typed, and introspectable... so what's the catch?\n\nJoin our panel of experts as we delve into how to leverage GraphQL effectively and safely in AI applications. We'll discuss the trade-offs, potential pitfalls, and share insights into best practices and strategies. This interactive discussion will explore how combining GraphQL with MCP can unlock new superpowers for AI, offering attendees a chance to engage with thought leaders and gain valuable perspectives.", - "goers": "1", + "goers": "2", "seats": "0", "invite_only": "N", - "venue": "IJzaal - 5th Floor", + "venue": "Grote Zaal - 2nd Floor", "id": "4ca721bc6a824e49d499ee35b71e953e", - "venue_id": "2152806", + "venue_id": "2152800", "speakers": [ { "username": "borisbesemer", @@ -691,27 +601,27 @@ "event_subtype": "" }, { - "event_key": "927779", + "event_key": "925253", "active": "Y", "pinned": "N", - "name": "Fixing GraphQL's Biggest Mistake in 512 Bytes - Benjie Gillam, Graphile", + "name": "Offset Pagination Is Dead! Meet Relative Cursors - Michael Staib, ChilliCream", "event_start": "2025-09-08 11:25", - "event_end": "2025-09-08 11:55", + "event_end": "2025-09-08 11:35", "event_type": "Developer Experience", - "description": "GraphQL error handling sucks. There, I said it.\n \nEver hunted through the errors list to figure out if a null was legit or caused by an error? If you're like me, you gave up and now treat nulls as \"maybe errored, maybe absent, maybe both.\"\n \nAnd nullability. Schema designers make anything that might fail nullable, producing partial responses when errors occur. But since anything can fail, now everything is nullable—\nand we're drowning in null checks. We recklessly cast to non-null or fall back to the empty string out of desperation. And we still don't know what's truly nullable.\n \nNo more.\n \nThis talk introduces a new, pragmatic approach, born from years of work by the Nullability WG. We propose a future where schemas reflect the true nullability of business entities, and error handling is where it belongs: in your code, not your data. Use your language's built-in tools to handle errors ergonomically; and drop the unnecessary null checks. When you read a null, it should mean one thing: the absence of data.\n \nThis isn't some distant ideal on the horizon of GraphQL's future; with just 512 bytes added to your GraphQL client, you can start adopting this today. Come see how.", - "goers": "1", + "description": "What if you could keep traditional UI pagination concepts, but with the performance and reliability of cursor-based pagination? In this lightning talk, you’ll learn how relative cursors enable fast, consistent pagination while preserving familiar UX patterns like “jump to page.” It’s a smarter, more robust approach to navigating data—ideal for modern APIs and real-world apps.", + "goers": "0", "seats": "0", "invite_only": "N", - "venue": "Grote Zaal - 2nd Floor", - "audience": "Any", - "id": "4ed67778faddda05ce0a191e525d43ee", - "venue_id": "2152800", + "venue": "IJzaal - 5th Floor", + "audience": "Advanced", + "id": "73b37145c961856b3c857568d0739a9f", + "venue_id": "2152806", "speakers": [ { - "username": "benjie3", - "id": "18743846", - "name": "Benjie Gillam", - "company": "Graphile", + "username": "michael_staib.23xujj9p", + "id": "14900031", + "name": "Michael Staib", + "company": "ChilliCream", "custom_order": 0 } ], @@ -728,13 +638,13 @@ "event_end_day": "8", "event_end_weekday": "Monday", "event_end_weekday_short": "Mon", - "event_end_time": "11:55", + "event_end_time": "11:35", "start_date": "2025-09-08", "start_time": "11:25:00", "start_time_ts": 1757323500, "end_date": "2025-09-08", - "end_time": "11:55:00", - "event_subtype": "Frontend" + "end_time": "11:35:00", + "event_subtype": "Patterns and community trends" }, { "event_key": "924672", @@ -783,27 +693,73 @@ "event_subtype": "Scaling" }, { - "event_key": "925253", + "event_key": "925279", "active": "Y", "pinned": "N", - "name": "Offset Pagination Is Dead! Meet Relative Cursors - Michael Staib, ChilliCream", + "name": "See the Graph in GraphQL: Graph Visualization in Action - Ivan Goncharov, ApolloGraphQL", + "event_start": "2025-09-08 11:45", + "event_end": "2025-09-08 11:55", + "event_type": "Developer Experience", + "description": "Despite having \"Graph\" in its name, GraphQL schemas are rarely visualized as actual graphs.\n\nThis lightning talk explores the untapped potential of graph visualization for GraphQL schemas based on lessons learned while working on graphql-voyager.\n\nWe'll explore the theory behind effective schema visualization, share key insights from my 9 years of experience in this field, and discuss current challenges in representing complex schemas.\n\nI'll also present experimental approaches that go beyond existing libraries, pushing the boundaries of how we understand and interact with GraphQL schemas.\n\nJoin me for a visual journey that reveals what makes the \"Graph\" in GraphQL truly powerful, potentially reshaping how we design and understand our APIs.", + "goers": "1", + "seats": "0", + "invite_only": "N", + "venue": "IJzaal - 5th Floor", + "audience": "Intermediate", + "id": "2a74602450df6a446ac2b18d6e6fa6b5", + "venue_id": "2152806", + "speakers": [ + { + "username": "ivan.goncharov.ua", + "id": "23096422", + "name": "Ivan Goncharov", + "company": "ApolloGraphQL", + "custom_order": 0 + } + ], + "event_start_year": "2025", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "8", + "event_start_weekday": "Monday", + "event_start_weekday_short": "Mon", + "event_start_time": "11:45", + "event_end_year": "2025", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "8", + "event_end_weekday": "Monday", + "event_end_weekday_short": "Mon", + "event_end_time": "11:55", + "start_date": "2025-09-08", + "start_time": "11:45:00", + "start_time_ts": 1757324700, + "end_date": "2025-09-08", + "end_time": "11:55:00", + "event_subtype": "Documentation" + }, + { + "event_key": "927779", + "active": "Y", + "pinned": "N", + "name": "Fixing GraphQL's Biggest Mistake in 512 Bytes - Benjie Gillam, Graphile", "event_start": "2025-09-08 12:05", - "event_end": "2025-09-08 12:15", + "event_end": "2025-09-08 12:35", "event_type": "Developer Experience", - "description": "What if you could keep traditional UI pagination concepts, but with the performance and reliability of cursor-based pagination? In this lightning talk, you’ll learn how relative cursors enable fast, consistent pagination while preserving familiar UX patterns like “jump to page.” It’s a smarter, more robust approach to navigating data—ideal for modern APIs and real-world apps.", - "goers": "0", + "description": "GraphQL error handling sucks. There, I said it.\n\nEver hunted through the errors list to figure out if a null was legit or caused by an error? If you're like me, you gave up and now treat nulls as \"maybe errored, maybe absent, maybe both.\"\n\nAnd nullability. Schema designers make anything that might fail nullable, producing partial responses when errors occur. But since anything can fail, now everything is nullable—\nand we're drowning in null checks. We recklessly cast to non-null or fall back to the empty string out of desperation. And we still don't know what's truly nullable.\n\nNo more.\n\nThis talk introduces a new, pragmatic approach, born from years of work by the Nullability WG. We propose a future where schemas reflect the true nullability of business entities, and error handling is where it belongs: in your code, not your data. Use your language's built-in tools to handle errors ergonomically; and drop the unnecessary null checks. When you read a null, it should mean one thing: the absence of data.\n\nThis isn't some distant ideal on the horizon of GraphQL's future; with just 512 bytes added to your GraphQL client, you can start adopting this today. Come see how.", + "goers": "2", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", - "audience": "Advanced", - "id": "73b37145c961856b3c857568d0739a9f", + "audience": "Any", + "id": "4ed67778faddda05ce0a191e525d43ee", "venue_id": "2152800", "speakers": [ { - "username": "michael_staib.23xujj9p", - "id": "14900031", - "name": "Michael Staib", - "company": "ChilliCream", + "username": "benjie3", + "id": "18743846", + "name": "Benjie Gillam", + "company": "Graphile", "custom_order": 0 } ], @@ -820,13 +776,13 @@ "event_end_day": "8", "event_end_weekday": "Monday", "event_end_weekday_short": "Mon", - "event_end_time": "12:15", + "event_end_time": "12:35", "start_date": "2025-09-08", "start_time": "12:05:00", "start_time_ts": 1757325900, "end_date": "2025-09-08", - "end_time": "12:15:00", - "event_subtype": "Patterns and community trends" + "end_time": "12:35:00", + "event_subtype": "Frontend" }, { "event_key": "903215", @@ -927,52 +883,6 @@ "end_time": "12:35:00", "event_subtype": "Scaling" }, - { - "event_key": "925279", - "active": "Y", - "pinned": "N", - "name": "See the Graph in GraphQL: Graph Visualization in Action - Ivan Goncharov, ApolloGraphQL", - "event_start": "2025-09-08 12:25", - "event_end": "2025-09-08 12:35", - "event_type": "Developer Experience", - "description": "Despite having \"Graph\" in its name, GraphQL schemas are rarely visualized as actual graphs. \n \nThis lightning talk explores the untapped potential of graph visualization for GraphQL schemas based on lessons learned while working on graphql-voyager. \n \nWe'll explore the theory behind effective schema visualization, share key insights from my 9 years of experience in this field, and discuss current challenges in representing complex schemas. \n \nI'll also present experimental approaches that go beyond existing libraries, pushing the boundaries of how we understand and interact with GraphQL schemas. \n \nJoin me for a visual journey that reveals what makes the \"Graph\" in GraphQL truly powerful, potentially reshaping how we design and understand our APIs.", - "goers": "1", - "seats": "0", - "invite_only": "N", - "venue": "Grote Zaal - 2nd Floor", - "audience": "Intermediate", - "id": "2a74602450df6a446ac2b18d6e6fa6b5", - "venue_id": "2152800", - "speakers": [ - { - "username": "ivan.goncharov.ua", - "id": "23096422", - "name": "Ivan Goncharov", - "company": "ApolloGraphQL", - "custom_order": 0 - } - ], - "event_start_year": "2025", - "event_start_month": "September", - "event_start_month_short": "Sep", - "event_start_day": "8", - "event_start_weekday": "Monday", - "event_start_weekday_short": "Mon", - "event_start_time": "12:25", - "event_end_year": "2025", - "event_end_month": "September", - "event_end_month_short": "Sep", - "event_end_day": "8", - "event_end_weekday": "Monday", - "event_end_weekday_short": "Mon", - "event_end_time": "12:35", - "start_date": "2025-09-08", - "start_time": "12:25:00", - "start_time_ts": 1757327100, - "end_date": "2025-09-08", - "end_time": "12:35:00", - "event_subtype": "Documentation" - }, { "event_key": "10", "active": "Y", @@ -1308,7 +1218,7 @@ "event_end": "2025-09-08 15:35", "event_type": "GraphQL in Production", "description": "The Member Experience Core Systems team at Netflix is entrusted with orchestrating every facet of the member experience. From the intricacies of the profiles screen to the dynamic homepage and the seamless search for your favorite shows, our robust API layer is the backbone that supports it all.\n\nOperating at an astronomical scale, our two principal Subgraph Services collectively manage over a million GraphQL queries per second. This immense scale, coupled with the diverse queries our systems accommodate, ensures that even the most minute edge cases are brought to light.\n\nIn this presentation, we will delve into two significant production bugs that emerged at scale. The first involved a federation-based solution at the query planning layer, which culminated in a 20% reduction in requests per second and yielded substantial cost savings amounting to hundreds of thousands of dollars. The second, a subgraph service specific enhancement, remarkably doubled the efficiency of our entire fleet.\n\nBy sharing our journey of identifying and resolving these issues, we aspire to provide insights that will directly enhance your day-to-day endeavors using GraphQL.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -1760,7 +1670,7 @@ "event_key": "929638", "active": "Y", "pinned": "N", - "name": "Avoiding the Monolith Trap: Lessons from Airbnb’s Multi-Tenant GraphQL Platform", + "name": "Avoiding the Monolith Trap: Lessons from Airbnb’s Multi-Tenant GraphQL Platform - Adam Miskiewicz, Airbnb", "event_start": "2025-09-08 17:15", "event_end": "2025-09-08 17:45", "event_type": "GraphQL in Production", @@ -2175,7 +2085,7 @@ "event_end": "2025-09-09 11:25", "event_type": "GraphQL Working Group", "description": "Although the topic of namespacing has been brought up repeatedly in the GraphQL community over the last decade, there is an understandable worry that it would lead to anti-patterns in schema design. If namespacing is used as an excuse to avoid coordination between teams, this can result in a fragmented GraphQL schema that reflects current team boundaries as opposed to domain or client concerns.\n\nGraphQL Federation offers an alternative architecture: when coordination is enforced and consistency guaranteed, a large number of teams can contribute to a single, coherent GraphQL schema without the danger of stepping on each other's toes.\n\nEven with that architecture in place however, I believe there are still legitimate use cases for namespacing. In this talk, I will go over some of those use cases, and formulate a set of design principles that could guide the introduction of namespacing in GraphQL.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "IJzaal - 5th Floor", @@ -2212,6 +2122,43 @@ "end_time": "11:25:00", "event_subtype": "" }, + { + "event_key": "26", + "active": "Y", + "pinned": "N", + "name": "Unconference", + "event_start": "2025-09-09 10:45", + "event_end": "2025-09-09 12:15", + "event_type": "Unconference", + "goers": "0", + "seats": "0", + "invite_only": "N", + "venue": "Studio - 5th Floor", + "audience": "Any", + "id": "b258c762df3ef4565c012424ee06727e", + "venue_id": "2152809", + "event_start_year": "2025", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "9", + "event_start_weekday": "Tuesday", + "event_start_weekday_short": "Tue", + "event_start_time": "10:45", + "event_end_year": "2025", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "9", + "event_end_weekday": "Tuesday", + "event_end_weekday_short": "Tue", + "event_end_time": "12:15", + "start_date": "2025-09-09", + "start_time": "10:45:00", + "start_time_ts": 1757407500, + "end_date": "2025-09-09", + "end_time": "12:15:00", + "event_subtype": "", + "description": "" + }, { "event_key": "21", "active": "Y", @@ -2274,7 +2221,7 @@ "event_end": "2025-09-09 12:15", "event_type": "GraphQL Working Group", "description": "The GraphQL community has come together to standardize how people can build distributed systems with GraphQL as an orchestrator. In this talk I will explain the general idea that we have for GraphQL as an Orchestrator in this space and how the new specification is tackling this. We will look at the progress we have made since last GraphQL Conf in the GraphQL composite schema working group and also get some sneak peaks at our early RFCs and prototypes. I will outline how this new specification is taking the best ideas of existing solutions in the market to make the next big leap towards mainstream adoption. This will allow anyone to build tooling by implementing the spec or parts of the spec that seamlessly integrate with other vendors.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "IJzaal - 5th Floor", @@ -2399,7 +2346,7 @@ "event_subtype": "" }, { - "event_key": "26", + "event_key": "929640", "active": "Y", "pinned": "N", "name": "Unconference", @@ -2411,7 +2358,7 @@ "invite_only": "N", "venue": "Studio - 5th Floor", "audience": "Any", - "id": "b258c762df3ef4565c012424ee06727e", + "id": "c72212216fc978651151148101346f18", "venue_id": "2152809", "event_start_year": "2025", "event_start_month": "September", @@ -2678,7 +2625,7 @@ "event_key": "24", "active": "Y", "pinned": "N", - "name": "Workshop: Composite Schemas in Action - Speakers to be Announced", + "name": "Workshop: Composite Schemas in Action - Michael Staib, Chillicream", "event_start": "2025-09-09 16:00", "event_end": "2025-09-09 17:30", "event_type": "Workshops", @@ -2690,6 +2637,15 @@ "audience": "Intermediate", "id": "3b8701f24da2cf5456ffd5b793836ace", "venue_id": "2152800", + "speakers": [ + { + "username": "michael_staib.23xujj9p", + "id": "14900031", + "name": "Michael Staib", + "company": "ChilliCream", + "custom_order": 0 + } + ], "event_start_year": "2025", "event_start_month": "September", "event_start_month_short": "Sep", @@ -2831,27 +2787,80 @@ "event_subtype": "Backend" }, { - "event_key": "913037", + "event_key": "914113", "active": "Y", "pinned": "N", - "name": "Local Data Consistency With GraphQL - Sabrina Wasserman, Meta", + "name": "From Hobby Project To Industry Standard: Lessons From 10 Years of GraphQL Java - Donna Zhou & Andreas Marek, Atlassian", "event_start": "2025-09-10 09:00", "event_end": "2025-09-10 09:30", "event_type": "GraphQL in Production", - "description": "Have you ever wondered how GraphQL clients like Relay keep local data consistent across surfaces, ensuring that changes made within a session are seamlessly reflected across an application? In this talk, I'll delve into the concept of Local Data Consistency and explore how GraphQL clients at Meta, such as Relay, efficiently track and update changing GraphQL data locally, without introducing additional networking dependencies, and the UX benefits and features this unlocks.\n \nSpecifically, I’ll cover:\n- What even is Local Data Consistency, and why is it valuable to product developers?\n- How do you implement a data consistency engine from scratch?\n- How are advanced client-side features like offline mutation updates, asynchronous GraphQL request fetching, and more all made possible using a Local Data Consistency?", + "description": "What started as a single developer's passion project now powers mission-critical APIs for tech giants like Twitter/X, Netflix, Amazon, AirBnB, and Atlassian. As the engine behind Spring for GraphQL and with over 2.2 million monthly downloads, GraphQL Java has become the Java implementation of GraphQL.\n\nHow does a volunteer-driven open source project not just survive, but thrive for a decade? In this talk, we'll share the crucial technical decisions and community building strategies that transformed a hobby project into an industry standard. We'll share how we fostered contributions from over 250 volunteers while maintaining high code quality and project momentum. You'll walk away with actionable insights to help you lead any software project, whether it's open source or enterprise.\n\nAbout the speakers: we are the maintainers of GraphQL Java, who have guided the project from its first commit to becoming the industry standard.", + "goers": "0", + "seats": "0", + "invite_only": "N", + "venue": "Grote Zaal - 2nd Floor", + "audience": "Any", + "id": "3cfd3578b6acb121870ddcc96b69543e", + "venue_id": "2152800", + "speakers": [ + { + "username": "donnasiqizhou", + "id": "18743879", + "name": "Donna Zhou", + "company": "Atlassian", + "custom_order": 0 + }, + { + "username": "andreas.marek1", + "id": "21066795", + "name": "Andreas Marek", + "company": "Atlassian", + "custom_order": 1 + } + ], + "event_start_year": "2025", + "event_start_month": "September", + "event_start_month_short": "Sep", + "event_start_day": "10", + "event_start_weekday": "Wednesday", + "event_start_weekday_short": "Wed", + "event_start_time": "09:00", + "event_end_year": "2025", + "event_end_month": "September", + "event_end_month_short": "Sep", + "event_end_day": "10", + "event_end_weekday": "Wednesday", + "event_end_weekday_short": "Wed", + "event_end_time": "09:30", + "start_date": "2025-09-10", + "start_time": "09:00:00", + "start_time_ts": 1757487600, + "end_date": "2025-09-10", + "end_time": "09:30:00", + "event_subtype": "Case studies" + }, + { + "event_key": "929639", + "active": "Y", + "pinned": "N", + "name": "Hacking the Federation Query Planner - Mark Larah, Yelp", + "event_start": "2025-09-10 09:00", + "event_end": "2025-09-10 09:30", + "event_type": "GraphQL in Production", + "description": "Hacking the Federation Query Planner Federation allows concurrent execution across services - but there’s an edge case! And when it occurs, it’s a big performance problem and potentially very hard to solve.\n\nThis talk showcases an edge case we ran into at Yelp, how we solved it in the short term, and the what the long term spec changes are (specifically within the Composite Schemas spec).", "goers": "0", "seats": "0", "invite_only": "N", "venue": "Studio - 5th Floor", - "audience": "Advanced", - "id": "c14c567785a5bebf241630d57eaababd", + "audience": "Any", + "id": "806eaa5ecdc05b0c0f01165c7980b4a6", "venue_id": "2152809", "speakers": [ { - "username": "sabrina.wasserman", - "id": "21066857", - "name": "Sabrina Wasserman", - "company": "Meta", + "username": "mark1437", + "id": "23416744", + "name": "Mark Larah", + "company": "Yelp", "custom_order": 0 } ], @@ -2874,7 +2883,7 @@ "start_time_ts": 1757487600, "end_date": "2025-09-10", "end_time": "09:30:00", - "event_subtype": "Case studies" + "event_subtype": "Federation and distributed systems" }, { "event_key": "929635", @@ -3051,35 +3060,28 @@ "event_subtype": "Patterns and community trends" }, { - "event_key": "914113", + "event_key": "913037", "active": "Y", "pinned": "N", - "name": "From Hobby Project To Industry Standard: Lessons From 10 Years of GraphQL Java - Donna Zhou & Andreas Marek, Atlassian", + "name": "Local Data Consistency With GraphQL - Sabrina Wasserman, Meta", "event_start": "2025-09-10 09:40", "event_end": "2025-09-10 10:10", "event_type": "GraphQL in Production", - "description": "What started as a single developer's passion project now powers mission-critical APIs for tech giants like Twitter/X, Netflix, Amazon, AirBnB, and Atlassian. As the engine behind Spring for GraphQL and with over 2.2 million monthly downloads, GraphQL Java has become the Java implementation of GraphQL.\n \nHow does a volunteer-driven open source project not just survive, but thrive for a decade? In this talk, we'll share the crucial technical decisions and community building strategies that transformed a hobby project into an industry standard. We'll share how we fostered contributions from over 250 volunteers while maintaining high code quality and project momentum. You'll walk away with actionable insights to help you lead any software project, whether it's open source or enterprise.\n \nAbout the speakers: we are the maintainers of GraphQL Java, who have guided the project from its first commit to becoming the industry standard.", + "description": "Have you ever wondered how GraphQL clients like Relay keep local data consistent across surfaces, ensuring that changes made within a session are seamlessly reflected across an application? In this talk, I'll delve into the concept of Local Data Consistency and explore how GraphQL clients at Meta, such as Relay, efficiently track and update changing GraphQL data locally, without introducing additional networking dependencies, and the UX benefits and features this unlocks.\n\nSpecifically, I’ll cover:\n- What even is Local Data Consistency, and why is it valuable to product developers?\n- How do you implement a data consistency engine from scratch?\n- How are advanced client-side features like offline mutation updates, asynchronous GraphQL request fetching, and more all made possible using a Local Data Consistency?", "goers": "0", "seats": "0", "invite_only": "N", "venue": "Studio - 5th Floor", - "audience": "Any", - "id": "3cfd3578b6acb121870ddcc96b69543e", + "audience": "Advanced", + "id": "c14c567785a5bebf241630d57eaababd", "venue_id": "2152809", "speakers": [ { - "username": "donnasiqizhou", - "id": "18743879", - "name": "Donna Zhou", - "company": "Atlassian", + "username": "sabrina.wasserman", + "id": "21066857", + "name": "Sabrina Wasserman", + "company": "Meta", "custom_order": 0 - }, - { - "username": "andreas.marek1", - "id": "21066795", - "name": "Andreas Marek", - "company": "Atlassian", - "custom_order": 1 } ], "event_start_year": "2025", @@ -3112,7 +3114,7 @@ "event_end": "2025-09-10 10:50", "event_type": "Developer Experience", "description": "In theory, data loaders solve most \"N+1\" problems in GraphQL. In practice, they can be hard to implement, so they’re typically used only in performance-critical situations and often reactively, once inefficiencies surface. To achieve better performance, batching needs to be applied wherever possible.\n \nThis talk introduces batch resolvers, a more developer-friendly alternative to data loaders. While traditional GraphQL resolvers take a single input and produce a single output, batching resolvers take a list of inputs and return a list of outputs. A batch resolver can simply call a batch service API without worrying about data loaders.\n \nWhen a developer provides a batch resolver, our GraphQL server automatically aggregates individual data fetches into a single call to that resolver. It can also apply heuristics to improve aggregation, for example by consolidating different selection sets for the same entity into a single input. This design not only makes application developers’ lives easier, but also allows the server to better optimize query execution by coordinating batch dispatching as part of a broader execution strategy.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "IJzaal - 5th Floor", @@ -3257,7 +3259,7 @@ "event_end": "2025-09-10 10:50", "event_type": "GraphQL in Production", "description": "GraphQL provides flexibility in fetching data but this can prove challenging for caching. In this talk I cover the basics of caching in GraphQL such as layers you can cache at a high level. Layers such as the CDN, client side, server side, and database are touched upon with solutions from the community. The talk will also cover when to use each layer and what statistics to look at for improvement. I talk about how caching at multiple layers provides the best experience for the end user. By the end of this talk beginners will have a path forward to how they can cache at different layers for better performance.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -3339,7 +3341,7 @@ "event_end": "2025-09-10 11:45", "event_type": "Developer Experience", "description": "There are many aspects to consider when building a GraphQL API: Authentication, authorization, performance, schema design, and team workflow to name a few. Each aspect encompasses considerations, practices, and tools (or lack thereof). One aspect, documentation, can be easily neglected. This year at The Guild I spent time exploring that domain and prototyping an open source tool we’re calling Polen.\n\nI will present our thoughts on what characteristics and features we’d like to have from GraphQL documentation tooling and finish with a demo of how Polen tackled some of those things. I hope this session stimulates your own thinking about what documentation tools should include and tangible technical steps we might take to get there.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -3651,7 +3653,7 @@ "event_end": "2025-09-10 14:10", "event_type": "Developer Experience", "description": "`useQuery` is a powerful and simple abstraction, but there is so much more to Apollo Client today. In this talk we’ll re-introduce Apollo Client for this new era. Query preloading, suspense, fragment APIs, and data masking have given GraphQL practitioners a toolset to build sophisticated, scalable, and highly performant applications like never before. Learn about these new APIs, upgraded tooling, and how version 4.0 (and beyond) gives users a leaner, cleaner, and more capable open source GraphQL client.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -3856,7 +3858,7 @@ "event_end": "2025-09-10 14:50", "event_type": "GraphQL in Production", "description": "Imagine you have a decade old REST API codebase with thousands of daily commits by hundreds of engineers, how would you incrementally adopt GraphQL? How would the data models be compatible with both REST and GraphQL to avoid divergence? How…?\n\nWe will share Instagram’s journey from 100% REST API development to 95%+ new APIs developed in GraphQL over a two year period.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "Grote Zaal - 2nd Floor", @@ -4114,7 +4116,7 @@ "event_end": "2025-09-10 15:30", "event_type": "GraphQL in Production", "description": "\"There are only two hard things in Computer Science: cache invalidation and naming things\".\n\nGraphQL provides many benefits over other query languages. Federation builds on top of this foundation to provide even more flexibility and power. But even with all that GraphQL has to offer, the problem of naming remains.\n\nIn this talk, Jeff Dolle, from The Guild, will share what he's learned about schema design: proven design philosophies, designing for forward compatibility, exposing errors through types, and tips for how to avoid ambiguous or misleading type names.\n\nTogether, we will then go through an example product design meeting: taking user stories and building a complete GraphQL schema.", - "goers": "0", + "goers": "1", "seats": "0", "invite_only": "N", "venue": "IJzaal - 5th Floor", diff --git a/scripts/sync-sched/speakers.json b/scripts/sync-sched/speakers.json index c1a98af37d..3fbf3a5e43 100644 --- a/scripts/sync-sched/speakers.json +++ b/scripts/sync-sched/speakers.json @@ -242,26 +242,6 @@ ], "~syncedDetailsAt": 1749497543087 }, - { - "username": "aleymet", - "company": "Bouygues Telecom", - "position": "Principal Engineer, Senior Architect (freelance)", - "name": "Arnaud Leymet", - "about": "A dedicated Senior Solutions Architect & Staff Engineer with a proven ability to lead projects and drive software development initiatives. I thrive in dynamic environments, leveraging my strong technical skills, deep product knowledge and collaborative approach to drive innovation and deliver composable and impactful solutions.", - "location": "", - "url": "https://arnley.com", - "avatar": "//avatars.sched.co/4/80/23098717/avatar.jpg.320x320px.jpg?ed8", - "socialurls": [ - { - "service": "LinkedIn", - "url": "https://linkedin.com/in/arnley" - } - ], - "_years": [ - 2025 - ], - "~syncedDetailsAt": 1753215856700 - }, { "username": "amanda1988", "company": "Buffer", @@ -780,7 +760,7 @@ "_years": [ 2025 ], - "~syncedDetailsAt": 1751036945383 + "~syncedDetailsAt": 1754671960621 }, { "username": "christian.ernst", @@ -1723,7 +1703,7 @@ "_years": [ 2025 ], - "~syncedDetailsAt": 1751036945383 + "~syncedDetailsAt": 1754671960621 }, { "username": "kamilkisiela", @@ -2055,7 +2035,7 @@ 2024, 2025 ], - "~syncedDetailsAt": 1751036941512 + "~syncedDetailsAt": 1754671960621 }, { "username": "mail1232", @@ -2131,6 +2111,26 @@ ], "~syncedDetailsAt": 1749505650884 }, + { + "username": "mark1437", + "company": "Yelp", + "position": "Software Engineer", + "name": "Mark Larah", + "about": "Mark leads GraphQL infrastructure and tooling at Yelp.", + "location": "", + "url": "", + "avatar": "//avatars.sched.co/e/b9/23416744/avatar.jpg.320x320px.jpg?fb2", + "socialurls": [ + { + "service": "Twitter", + "url": "https://x.com/mark_larah" + } + ], + "_years": [ + 2025 + ], + "~syncedDetailsAt": 1754671960621 + }, { "username": "martijn.walraven", "company": "Apollo", @@ -2145,7 +2145,7 @@ 2024, 2025 ], - "~syncedDetailsAt": 1751036941512 + "~syncedDetailsAt": 1754671960621 }, { "username": "martinbonnin42", @@ -2326,7 +2326,7 @@ 2024, 2025 ], - "~syncedDetailsAt": 1751036945383 + "~syncedDetailsAt": 1754671960621 }, { "username": "michael.astle", @@ -2411,7 +2411,7 @@ 2024, 2025 ], - "~syncedDetailsAt": 1751036945383 + "~syncedDetailsAt": 1754671960622 }, { "username": "patrick.arminio", @@ -2598,9 +2598,9 @@ { "username": "rickbijkerk54", "company": "Bol", - "position": "Software Engineer @ Bol", + "position": "Software Engineer", "name": "Rick Bijkerk", - "about": "todo", + "about": "Software Engineer living in the Netherlands, working for Bol sinds 2021", "location": "", "url": "", "avatar": "//avatars.sched.co/d/6a/19320231/avatar.jpg.320x320px.jpg?4cd", @@ -2610,21 +2610,6 @@ ], "~syncedDetailsAt": 1752503797083 }, - { - "username": "rkhatwan", - "company": "Bouygues Telecom", - "position": "", - "name": "Ravi Khatwani", - "about": "", - "location": "", - "url": "", - "avatar": "", - "socialurls": [], - "_years": [ - 2025 - ], - "~syncedDetailsAt": 1752072949897 - }, { "username": "robert.balicki", "company": "Pinterest", @@ -2640,7 +2625,7 @@ 2024, 2025 ], - "~syncedDetailsAt": 1751036945383 + "~syncedDetailsAt": 1754671960622 }, { "username": "robrichard87", @@ -2656,7 +2641,7 @@ 2024, 2025 ], - "~syncedDetailsAt": 1751036945383 + "~syncedDetailsAt": 1754671960622 }, { "username": "ruben.cagnie", @@ -3328,7 +3313,7 @@ "_years": [ 2025 ], - "~syncedDetailsAt": 1751036941512 + "~syncedDetailsAt": 1754671960621 }, { "username": "watson17",