diff --git a/src/app/day/2026/melbourne/page.tsx b/src/app/day/2026/melbourne/page.tsx index 31995f151f..eb27ce96c6 100644 --- a/src/app/day/2026/melbourne/page.tsx +++ b/src/app/day/2026/melbourne/page.tsx @@ -4,16 +4,20 @@ import { Button } from "@/app/conf/_design-system/button" import { Hero, HeroDateAndLocation } from "../components/hero" import { AboutSection } from "../components/about-section" import { WhyAttendSection } from "../components/why-attend-section" -import { - BecomeASpeakerSection, - CfpButton, -} from "../components/become-a-speaker" +import { BecomeASpeakerSection } from "../components/become-a-speaker" import { EventPartnersSection } from "../components/event-partners" import { CtaCardSection } from "../components/cta-card-section" import { MarqueeRows } from "@/app/conf/2026/components/marquee-rows" import { PastSpeakersSection } from "../components/past-speakers" import { NavbarPlaceholder } from "../components/navbar" import { GallerySection } from "../../gallery-section" +import { EventScheduleSection } from "../components/event-schedule-section" +import { + melbourneSessions, + MELBOURNE_TIMEZONE, + MELBOURNE_TIMEZONE_LABEL, + tagColors, +} from "./schedule-data" const MARQUEE_ITEMS = [ ["MELBOURNE", "OCTOBER 2026", "GRAPHQL DAY", "FOST", "COMMUNITY", "APIs"], @@ -49,13 +53,25 @@ export default function MelbournePage() { - + + = { + "AI Agents": "#7e66cc", + Federation: "#FC8251", + Observability: "#36C1A0", + Security: "#E0559B", +} + +export const melbourneSessions: EventSession[] = [ + { + id: 5001, + title: "Federation for the JVM", + start: "2026-10-29T11:00:00+11:00", + end: "2026-10-29T11:25:00+11:00", + tags: ["GraphQL", "Federation"], + description: + "

Feddi gateway is the first open source implementation of the community driven GraphQL spec. This talk will introduce feddi gateway.

\n", + venue: "", + speakers: [ + { + id: 5101, + name: "Andreas Marek", + company: "", + jobtitle: "", + avatar: andreasMarekAvatar, + socialurls: [ + { + service: "linkedin", + url: "https://www.linkedin.com/in/andimarek/", + }, + ], + }, + ], + }, + { + id: 5002, + title: + "Closing the Loop: How GraphQL Gives Coding Agents Eyes on What Actually Matters", + start: "2026-10-29T11:30:00+11:00", + end: "2026-10-29T11:55:00+11:00", + tags: ["GraphQL", "AI Agents"], + description: + "

Coding agents are reshaping how we build software. Implementing features, refactoring systems, and shipping changes at a pace unthinkable 6 months ago. But to be successful with agents you need the right feedback loop. One that guides your agent to success, not into the spiral of death.

\n

Ask Claude to add a review system to your product API. Without knowing what's in use, it might reshape your types, move fields, and break your deployed clients because it is missing a crucial feedback loop of what's in use in your clients.

\n

GraphQL changes this. Every client operation explicitly declares the exact fields and types it needs. That gives you something rare: field-level usage data across your entire consumer base. Not endpoint hits, but actual demand, broken down to the individual field.

\n

When coding agents can access this data, they stop guessing. Evolve your schema grounded in reality, not assumptions.

\n

This talk shows how GraphQL's inherent usage visibility and the rise of coding agents create a feedback loop that didn't exist before. And why it matters for anyone building APIs that need to evolve fast.

\n", + venue: "", + speakers: [ + { + id: 1881, + name: "Michael Staib", + company: "ChilliCream", + jobtitle: "Founder", + avatar: michaelStaibAvatar, + socialurls: [ + { + service: "linkedin", + url: "https://www.linkedin.com/in/michael-staib-31519571/", + }, + { service: "github", url: "https://github.com/michaelstaib" }, + { service: "website", url: "https://chillicream.com" }, + ], + }, + ], + }, + { + id: 5003, + title: + "Ask, Don't Fetch: Why GraphQL + MCP Is the Native Language of AI Agents", + start: "2026-10-29T12:00:00+11:00", + end: "2026-10-29T12:25:00+11:00", + tags: ["GraphQL", "AI Agents"], + description: + "

REST APIs were designed for human-built clients that know exactly what URL to call. AI agents are different — they reason, plan, and decide what data they need at runtime. That mismatch is quietly becoming one of the biggest friction points in enterprise AI adoption.

\n

In this session, we explore why GraphQL, paired with the Model Context Protocol (MCP), is uniquely positioned to become the standard interface layer for agentic systems. You'll learn how GraphQL's strong typing and introspection eliminate the hallucination risk of ambiguous REST contracts, how its precise data retrieval model solves the over-fetching and under-fetching problems that make LLM tool calls expensive and unpredictable, and how MCP builds on top of this to give AI agents a standardised, self-describing surface to discover and invoke capabilities — without custom glue code per integration.

\n

Walk away with a clear mental model of the GraphQL-MCP stack, a practical pattern for evolving existing REST endpoints into agent-ready GraphQL APIs, and real examples of AI agents successfully navigating complex multi-step queries using schema-declared tools.

\n

Whether you're an API architect, a backend engineer, or a developer building your first AI agent, this session gives you the vocabulary and the blueprint to make your APIs first-class citizens in the agentic world.

\n", + venue: "", + speakers: [ + { + id: 5108, + name: "Akshay N Shaju", + company: "IBM", + jobtitle: "Senior Engineer", + avatar: akshayShajuAvatar, + socialurls: [ + { + service: "linkedin", + url: "https://www.linkedin.com/in/akshaynshaju/", + }, + ], + }, + ], + }, + { + id: 5004, + title: + "Telling Your Success Story: Illustrating Graph Impact Through Observability", + start: "2026-10-29T12:30:00+11:00", + end: "2026-10-29T12:55:00+11:00", + tags: ["GraphQL", "Observability"], + description: + "

Building a graph requires real up-front investment - designing schemas, deploying new infrastructure, and onboarding teams onto unfamiliar platforms costs precious time and energy. So why bother?

\n

You've heard the success stories, from startups to enterprise companies, who've transformed their businesses by bringing them onto the graph. But don't believe the hype - believe the data! YOUR data.

\n

This talk is for anyone who wants to tell their own story, backed by their own data, about how the graph is driving business impact. We'll illustrate the key signals for growth that can help you paint a compelling picture of value delivered, starting with some of the obvious data points and delving into deeper insights.

\n

You'll learn how to leverage GraphQL telemetry to track adoption of a graph platform over time. Come away with new tools to spot high-performing areas, friction signals, and other opportunities for improvement that will unlock even more value from your graph.

\n", + venue: "", + speakers: [ + { + id: 5104, + name: "Tim Hingston", + company: "Apollo GraphQL", + jobtitle: "", + avatar: timHingstonAvatar, + socialurls: [ + { + service: "linkedin", + url: "https://www.linkedin.com/in/timhingston/", + }, + ], + }, + ], + }, + { + id: 5005, + title: + "GraphQL in the Real World: The Security and Governance Playbook Nobody Gives You", + start: "2026-10-29T14:00:00+11:00", + end: "2026-10-29T14:25:00+11:00", + tags: ["GraphQL", "Security"], + description: + "

GraphQL makes APIs remarkably flexible: clients can ask for exactly the data they need, compose resources through a single endpoint, and evolve schemas without constantly introducing new URLs. But that flexibility changes the security and governance problem.

\n

Once GraphQL moves beyond a demo and into production, familiar API concerns become surprisingly different. How do you control expensive queries? How do you prevent abusive or unintended data access? Where should authorization live? How do you handle introspection, depth, complexity, rate limiting, caching, observability, and schema evolution without turning GraphQL into a collection of arbitrary restrictions?

\n

In this practical, vendor-neutral session, we'll build a production GraphQL security and governance playbook from first principles. Using realistic failure scenarios, we'll examine the most common mistakes teams make and the patterns that avoid them.

\n

You'll leave with a concrete checklist for taking a GraphQL API from \"it works\" to \"we can safely run this in production.\"

\n

What I'll cover:
Authorization: securing fields, types, and relationships
Query depth and complexity: controlling expensive operations
Introspection: when it helps and when it becomes a risk
Rate limiting and abuse prevention
N+1 problems and why performance is a security concern too
Caching and the challenges of GraphQL's flexible queries
Observability: understanding what clients actually request
Schema evolution without breaking consumers
Governance without killing GraphQL's flexibility

\n

Audience takeaway: a practical mental model and production checklist for designing GraphQL APIs that remain secure, observable, performant, and governable as they scale.

\n", + venue: "", + speakers: [ + { + id: 5105, + name: "Wishula Jayathunga", + company: "WSO2", + jobtitle: "", + avatar: wishulaJayathungaAvatar, + socialurls: [ + { + service: "linkedin", + url: "https://www.linkedin.com/in/wishula-jayathunga/", + }, + ], + }, + ], + }, + { + id: 5006, + title: "Teach Your AI Agent GraphQL", + start: "2026-10-29T14:30:00+11:00", + end: "2026-10-29T14:55:00+11:00", + tags: ["GraphQL", "AI Agents"], + description: + "

You can hand your GraphQL work to an AI agent today, but it tends to make the same mistakes developers have made for years: schemas that are nullable everywhere, anonymous queries, and code that ignores partial errors. Most of the time the model isn't the problem. It just doesn't know your API or your team's conventions, so it guesses.

\n

Agent Skills are a lightweight, open format for giving an agent that missing context. In this talk, I'll walk through real examples from Apollo's open-source skills and show how a few Markdown files can nudge an agent toward efficient operations that respect your conventions and intentional schema design that scales with your team, instead of leaving it to guess.

\n

You don't need to be an expert in AI or GraphQL to follow along. If you've ever used a coding assistant and wished it understood GraphQL better, this talk is for you.

\n", + venue: "", + speakers: [ + { + id: 4103, + name: "Dale Seo", + company: "Apollo GraphQL", + jobtitle: "Software Engineer", + avatar: daleSeoAvatar, + socialurls: [ + { service: "linkedin", url: "https://www.linkedin.com/in/daleseo" }, + ], + }, + ], + }, + { + id: 5007, + title: "Beyond the Experience Graph: The Data Graph Meets AI", + start: "2026-10-29T15:00:00+11:00", + end: "2026-10-29T15:25:00+11:00", + tags: ["GraphQL", "AI Agents"], + description: + "

Most of us know GraphQL as the \"Experience Graph\", shaped around screens and clients. But GraphQL can be used elsewhere in your architecture: as a Data Graph, a strongly-typed abstraction directly over your data layer, giving every consumer - services and AI agents alike - a single place to access all your data.

\n

In this talk, I'll show how modelling your databases behind a GraphQL schema gives you a self-describing, introspectable contract and why that turns out to be a remarkably good surface for AI. Through demos, we'll see AI agents introspect a Data Graph to explore data, assist developers in writing and refining queries, and even propose schema improvements by spotting gaps and ambiguities humans miss.

\n

You'll leave with a clear mental model of when a Data Graph makes sense, how it differs from the experience graph you already know, and practical patterns for making your graphs AI-ready.

\n", + venue: "", + speakers: [ + { + id: 5107, + name: "Eddy Nguyen", + company: "", + jobtitle: "", + avatar: eddyNguyenAvatar, + socialurls: [ + { + service: "linkedin", + url: "https://www.linkedin.com/in/eddeee888/", + }, + ], + }, + ], + }, +] diff --git a/src/app/day/2026/melbourne/speakers/andreas-marek.jpg b/src/app/day/2026/melbourne/speakers/andreas-marek.jpg new file mode 100644 index 0000000000..6820e40418 Binary files /dev/null and b/src/app/day/2026/melbourne/speakers/andreas-marek.jpg differ diff --git a/src/app/day/2026/melbourne/speakers/eddy-nguyen.jpg b/src/app/day/2026/melbourne/speakers/eddy-nguyen.jpg new file mode 100644 index 0000000000..c6c0a5c2d3 Binary files /dev/null and b/src/app/day/2026/melbourne/speakers/eddy-nguyen.jpg differ diff --git a/src/app/day/2026/melbourne/speakers/tim-hingston.jpg b/src/app/day/2026/melbourne/speakers/tim-hingston.jpg new file mode 100644 index 0000000000..c488367cd4 Binary files /dev/null and b/src/app/day/2026/melbourne/speakers/tim-hingston.jpg differ diff --git a/src/app/day/2026/melbourne/speakers/wishula-jayathunga.jpg b/src/app/day/2026/melbourne/speakers/wishula-jayathunga.jpg new file mode 100644 index 0000000000..cd7d79de12 Binary files /dev/null and b/src/app/day/2026/melbourne/speakers/wishula-jayathunga.jpg differ