diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 5e42d18fb7..ecb1c1e79c 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,25 +1,63 @@
 /* eslint-env node */
 
 const CODE_EXT = "js,jsx,cjs,mjs,ts,tsx,cts,mts"
-
 const MARKDOWN_EXT = "md,mdx"
 
 module.exports = {
   root: true,
+  plugins: [
+    "@graphql-eslint",
+    "mdx",
+    "@typescript-eslint",
+    "tailwindcss",
+    "react",
+    "@next/next",
+    "react-hooks",
+  ],
   overrides: [
     {
       files: [`**/*.{${CODE_EXT}}`],
-      // TODO: extract graphql documents from code files
-      // to lint graphql documents marked with /* GraphQL */ comments inside js/ts codeblocks in markdown
-      // processor: '@graphql-eslint/graphql',
-      // plugins: ['@graphql-eslint'],
       extends: [
         "eslint:recommended",
         "plugin:@typescript-eslint/recommended",
         "plugin:tailwindcss/recommended",
         "prettier",
+        "plugin:@next/next/recommended",
+        "plugin:react-hooks/recommended-legacy",
+        "plugin:react/recommended",
       ],
       rules: {
+        "react/react-in-jsx-scope": "off", // TS checks this
+        "react/prop-types": "off", // and this
+        "no-undef": "off", // and this too
+        // This is type checking for projects without `@types/react`. Disabled due to false positives.
+        "react/no-unknown-property": "off",
+
+        "react/no-unescaped-entities": [
+          "warn", // quotes and apostrophes are okay
+          {
+            forbid: [
+              {
+                char: "<",
+                alternatives: ["&lt;"],
+              },
+              {
+                char: ">",
+                alternatives: ["&gt;"],
+              },
+              {
+                char: "{",
+                alternatives: ["&#123;"],
+              },
+              {
+                char: "}",
+                alternatives: ["&#125;"],
+              },
+            ],
+          },
+        ],
+        "@next/next/no-img-element": "off", // straight up upsell, small `img`s actually don't need optimization
+
         "tailwindcss/classnames-order": "off",
         "@typescript-eslint/no-restricted-imports": [
           "error",
@@ -34,7 +72,6 @@ module.exports = {
           },
         ],
         "prefer-const": ["error", { destructuring: "all" }],
-        // TODO: fix below
         "prefer-rest-params": "off",
         "@typescript-eslint/no-explicit-any": "off",
         "@typescript-eslint/no-unused-vars": "off",
@@ -46,47 +83,68 @@ module.exports = {
         tailwindcss: {
           whitelist: ["roboto-mono"],
         },
+        react: {
+          version: "detect",
+        },
       },
     },
     {
       files: [`**/*.{${MARKDOWN_EXT}}`],
       parser: "eslint-mdx",
+      extends: ["plugin:mdx/recommended"],
       processor: "mdx/remark",
-      plugins: ["mdx"],
       parserOptions: {
         ecmaVersion: 13,
         sourceType: "module",
       },
       settings: {
         "mdx/code-blocks": true,
+        "mdx/language-mapper": {
+          js: "espree",
+          graphql: "@graphql-eslint/parser",
+          ts: "@typescript-eslint/parser",
+          typescript: "@typescript-eslint/parser",
+        },
       },
       rules: {
         "mdx/remark": "error",
+        "no-unused-expressions": "off",
+        "react/jsx-no-undef": "off",
       },
     },
     {
-      files: [`**/*.{${MARKDOWN_EXT}}/*.{${CODE_EXT}}`],
+      files: ["**/*.graphql"],
+      parser: "@graphql-eslint/parser",
       rules: {
-        "no-unused-labels": "off",
-        "no-undef": "off",
-        "no-redeclare": "off",
-        "no-import-assign": "off",
-        "no-prototype-builtins": "off",
+        "@graphql-eslint/no-syntax-errors": "error",
+        "@graphql-eslint/unique-operation-name": "error",
+        "@graphql-eslint/unique-fragment-name": "error",
+        "@graphql-eslint/no-anonymous-operations": "warn",
+        "@graphql-eslint/lone-anonymous-operation": "error",
+        "@graphql-eslint/no-duplicate-fields": "error",
+        "@graphql-eslint/no-unused-fragments": "warn",
+        "@graphql-eslint/no-duplicate-fragment-names": "error",
+        "@graphql-eslint/no-undefined-variables": "error",
+        "@graphql-eslint/unique-variable-names": "error",
+      },
+    },
+    {
+      files: [`**/*.{${CODE_EXT}}`, `**/*.{${MARKDOWN_EXT}}`],
+      parserOptions: {
+        plugins: ["graphql"],
       },
     },
     {
       files: [
         `src/pages/blog/**/*.{${MARKDOWN_EXT}}`,
+        `src/pages/graphql-js/running-an-express-graphql-server.mdx`,
         `src/code/**/*.{${MARKDOWN_EXT}}`,
+        `src/app/conf/**/*.{${MARKDOWN_EXT}}`,
       ],
       rules: {
         // Disable `remark-lint-first-heading-level` since in blogs we don't want to enforce the first heading to be an `h1`
         "mdx/remark": "off",
       },
     },
-    {
-      files: ["**/*.graphql"],
-      parser: "@graphql-eslint/eslint-plugin",
-    },
   ],
 }
diff --git a/.github/workflows/prettier.yml b/.github/workflows/check.yml
similarity index 81%
rename from .github/workflows/prettier.yml
rename to .github/workflows/check.yml
index 0a3bc08fef..0983094d3e 100644
--- a/.github/workflows/prettier.yml
+++ b/.github/workflows/check.yml
@@ -1,4 +1,4 @@
-name: Prettier Check
+name: Lint and check formatting
 
 on: pull_request
 
@@ -16,5 +16,9 @@ jobs:
 
       - name: Install Dependencies
         run: pnpm i
+
+      - name: Run ESLint
+        run: pnpm lint --quiet
+
       - name: Run Prettier Check
         run: pnpm format:check
diff --git a/.github/workflows/conference-sync.yml b/.github/workflows/conference-sync.yml
new file mode 100644
index 0000000000..776dc7aa58
--- /dev/null
+++ b/.github/workflows/conference-sync.yml
@@ -0,0 +1,26 @@
+# Sched's API rate limits are very limited, so we sync non-critical part of the data on a cron.
+on:
+  workflow_dispatch:
+  # schedule:
+  # - cron: "*/10 * * * *" # every ten minutes
+
+jobs:
+  sync:
+    runs-on: ubuntu-latest
+    permissions:
+      contents: write
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Sync conference data from Sched
+        run: |
+          tsx scripts/sync-sched/sync.ts --year 2025
+        env:
+          SCHED_ACCESS_TOKEN_2025: ${{ secrets.SCHED_ACCESS_TOKEN_2025 }}
+
+      - name: Commit changes
+        uses: stefanzweifel/git-auto-commit-action@v5
+        with:
+          file_pattern: "scripts/sync-sched/*.json"
+          commit_message: "Sync conference data from Sched"
diff --git a/.github/workflows/docs-validation.yml b/.github/workflows/docs-validation.yml
new file mode 100644
index 0000000000..77dad776b8
--- /dev/null
+++ b/.github/workflows/docs-validation.yml
@@ -0,0 +1,64 @@
+# Docs validation workflow runs on each PR on main w/ broken link checker
+# and code snippet validation
+
+name: Docs validation
+
+on:
+  pull_request:
+    branches:
+      - main
+  push:
+    branches:
+      - main
+
+jobs:
+link-check:
+  name: Broken link checker
+  runs-on: ubuntu-latest
+
+  steps:
+    - name: Checkout code
+      uses: actions/checkout@v4
+
+    - name: Set up Node.js
+      uses: actions/setup-node@v4
+      with:
+        node-version: "20"
+        cache: "pnpm"
+
+    - name: Install dependencies
+      run: pnpm install --frozen-lockfile
+
+    - name: Build static site
+      run: pnpm build
+
+    - name: Set up Rust
+      uses: actions-rs/toolchain@v1
+      with:
+        toolchain: stable
+
+    - name: Install lychee
+      run: cargo install lychee
+
+    - name: Check links
+      run: lychee --verbose --no-progress './out/**/*.html'
+
+code-validate:
+  name: Code snippet and GraphQL validation
+  runs-on: ubuntu-latest
+  steps:
+    - uses: actions/checkout@v4
+
+    - uses: actions/setup-node@v4
+      with:
+        node-version: "20"
+        cache: "pnpm"
+
+    - name: Install dependencies
+      run: pnpm install --frozen-lockfile
+
+    - name: Run validation w/ annotations
+      run: pnpm lint:docs:ci
+
+    - name: Validate code snippets
+      run: pnpm validate:snippets
diff --git a/.gitignore b/.gitignore
index 8285bab4c3..2d422a0b51 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,3 +61,5 @@ src/__generated__/
 .next/
 public/sitemap.xml
 out/
+
+tsconfig.tsbuildinfo
diff --git a/.prettierignore b/.prettierignore
index 896ab5f8f4..a23d31bf65 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -3,4 +3,10 @@ pnpm-lock.yaml
 *.mdx
 !src/pages/blog/2024-04-11-announcing-new-graphql-website/index.mdx
 !src/pages/blog/2024-08-15-graphql-local-initiative.mdx
+!src/pages/community/foundation/community-grant.mdx
+!src/pages/blog/2025-05-31-graphiql-4/index.mdx
+!src/pages/blog/2025-06-10-graphiql-5/index.mdx
 *.jpg
+
+scripts/sync-sched/*.json
+src/github-stats.json
diff --git a/.vscode/settings.json b/.vscode/settings.json
index cb56bf9fab..02d49400e5 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -8,5 +8,6 @@
   "typescript.tsdk": "node_modules/typescript/lib",
   "[typescript]": {
     "editor.defaultFormatter": "esbenp.prettier-vscode"
-  }
+  },
+  "tailwindCSS.classFunctions": ["clsx"]
 }
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6f351ccc8f..1572995720 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -10,6 +10,7 @@ There are many ways to get involved. Follow this guide and feel free to [reach o
 
 - [Development guide](#development-guide)
   - [Running the site locally](#running-the-site-locally)
+  - [Checking for broken links](#checking-for-broken-links)
   - [Branching](#branching)
   - [Project structure](#project-structure)
   - [Publishing the updated site](#publishing-the-updated-site)
@@ -19,6 +20,7 @@ There are many ways to get involved. Follow this guide and feel free to [reach o
   - [Add a resource to the Community page](#add-a-resource-to-the-community-page)
   - [Add a question to the FAQ](#add-a-question-to-the-faq)
   - [Write a new section or guide](#write-a-new-section-or-guide)
+  - [Add a blog post](#add-a-blog-post)
 - [Making changes to the code](#making-changes-to-the-code)
   - [Browser support](#browser-support)
 - [Contributing something else](#contributing-something-else)
@@ -53,6 +55,21 @@ Finally, open http://localhost:3000 to view it in the browser.
 
 The GraphQL website is built with [Nextra](https://nextra.site). This means that a hot-reloading development environment will be accessible by default.
 
+### Checking for broken links
+
+We use [Lychee](https://github.com/lycheeverse/lychee), a Rust-based CLI tool, to check for broken links in our documentation.
+
+To install Lychee locally:
+
+1. Install Rust: https://www.rust-lang.org/tools/install
+2. After installing Rust, run:
+
+```bash
+cargo install lychee
+```
+
+With Rust and Lychee installed, run the link checker: `pnpm run check:links`.
+
 ### Branching
 
 Active development for graphql.org happens on the `source` branch. Be sure to create any new branches or direct any pull requests back to `source`.
@@ -133,6 +150,12 @@ Then, use our [development guide](#development-guide) to determine where your ne
 
 Once it's ready for review, please [open a pull request](https://github.com/graphql/graphql.github.io/pulls).
 
+### Add a blog post
+
+This repository holds the [graphql.org blog](https://graphql.org/blog/) at [source/src/pages/blog](https://github.com/graphql/graphql.github.io/tree/source/src/pages/blog). Blog posts may contain announcements, news, best practices and more.
+
+Contributions are very welcome!
+
 ## Making changes to the code
 
 Before diving into any code updates, please [open an issue](https://github.com/graphql/graphql.github.io/issues/new) describing the change(s) you'd like to make.
diff --git a/next.config.js b/next.config.js
index bfd990f81e..55ac068367 100644
--- a/next.config.js
+++ b/next.config.js
@@ -27,18 +27,65 @@ export default withLess(
   withNextra({
     // reactStrictMode: true, provoke duplicated codemirror editors
     webpack(config) {
+      // #region MDX
+      const mdxRule = config.module.rules.find(rule =>
+        rule.test?.test?.(".mdx"),
+      )
+      if (mdxRule) {
+        mdxRule.resourceQuery = {
+          not: /raw/,
+        }
+      }
+      // Instead of transforming MDX, with ?source we can get
+      // the raw content to process in a Server Component.
+      config.module.rules.push({
+        test: /\.mdx$/i,
+        resourceQuery: /raw/,
+        type: "asset/source",
+      })
+      // #endregion MDX
+
+      // #region SVGs
       const fileLoaderRule = config.module.rules.find(rule =>
         rule.test?.test?.(".svg"),
       )
 
-      fileLoaderRule.exclude = ALLOWED_SVG_REGEX
+      fileLoaderRule.exclude = /\.svg$/i
+
+      config.module.rules.push(
+        // All .svg from /icons/ and with ?svgr are going to be processed by @svgr/webpack
+        {
+          test: ALLOWED_SVG_REGEX,
+          use: ["@svgr/webpack"],
+        },
+        {
+          test: /\.svg$/i,
+          exclude: ALLOWED_SVG_REGEX,
+          resourceQuery: /svgr/,
+          use: [
+            {
+              loader: "@svgr/webpack",
+              options: {
+                dimensions: false, // **adds** viewBox.
+              },
+            },
+          ],
+        },
+        // Otherwise, we use the default file loader
+        {
+          ...fileLoaderRule,
+          test: /\.svg$/i,
+          exclude: ALLOWED_SVG_REGEX,
+          resourceQuery: {
+            not: [...fileLoaderRule.resourceQuery.not, /svgr/],
+          },
+        },
+      )
+      // #endregion SVGs
 
-      config.module.rules.push({
-        test: ALLOWED_SVG_REGEX,
-        use: ["@svgr/webpack"],
-      })
       return config
     },
+    // Comment this out if you're working on OG images.
     output: "export",
     images: {
       loader: "custom",
diff --git a/package.json b/package.json
index 477d1e29e4..e7e3603f40 100644
--- a/package.json
+++ b/package.json
@@ -3,41 +3,49 @@
   "type": "module",
   "repository": "graphql/graphql.github.io website",
   "private": true,
-  "packageManager": "pnpm@9.15.2",
+  "packageManager": "pnpm@9.15.9",
   "scripts": {
     "build": "next build && next-image-export-optimizer",
+    "check:links": "lychee --verbose --no-progress './src/pages/**/*.mdx' --base https://graphql.org",
     "dev": "next",
     "format": "pnpm format:check --write",
     "format:check": "prettier --cache --check .",
     "lint": "eslint --ignore-path .gitignore .",
+    "lint:docs": "eslint --ignore-path .gitignore src/pages/learn --format stylish",
+    "lint:docs:ci": "eslint --ignore-path .gitignore src/pages/learn --format eslint-formatter-github",
     "postbuild": "next-sitemap",
     "prebuild": "tsx src/get-github-info.ts",
     "start": "next start",
-    "test": "echo \"no tests\" && exit 1"
+    "test": "echo \"no tests\" && exit 1",
+    "validate:snippets": "node scripts/validate-snippets.js"
   },
   "dependencies": {
-    "@graphql-tools/schema": "10.0.15",
-    "@headlessui/react": "^1.7.17",
-    "@radix-ui/react-radio-group": "^1.1.3",
+    "@graphql-tools/schema": "10.0.25",
+    "@headlessui/react": "^2.2.4",
+    "@radix-ui/react-radio-group": "^1.2.2",
+    "@tailwindcss/container-queries": "^0.1.1",
     "@tailwindcss/nesting": "0.0.0-insiders.565cd3e",
-    "@tailwindcss/typography": "^0.5.10",
-    "autoprefixer": "^10.4.17",
-    "clsx": "^2.1.0",
-    "codemirror": "5.65.1",
+    "@tailwindcss/typography": "^0.5.15",
+    "autoprefixer": "^10.4.20",
+    "calendar-link": "^2.10.0",
+    "clsx": "^2.1.1",
+    "codemirror": "^5.65.19",
     "codemirror-graphql": "1.3.2",
     "date-fns": "^2.30.0",
-    "fast-glob": "^3.3.2",
+    "fast-glob": "^3.3.3",
+    "github-slugger": "2.0.0",
     "graphql": "16.10.0",
     "gray-matter": "^4.0.3",
     "hast-util-to-string": "3.0.1",
-    "iframe-resizer-react": "^1.1.0",
+    "iframe-resizer-react": "^1.1.1",
     "leaflet": "^1.9.4",
     "lucide-react": "^0.469.0",
-    "markdown-to-jsx": "^7.4.0",
+    "markdown-to-jsx": "^7.7.2",
     "marked": "5.1.2",
-    "next": "^14.2.5",
-    "next-image-export-optimizer": "^1.12.3",
-    "next-query-params": "^5.0.0",
+    "motion": "^12.11.0",
+    "next": "^14.2.22",
+    "next-image-export-optimizer": "^1.18.0",
+    "next-query-params": "^5.0.1",
     "next-sitemap": "^4.2.3",
     "next-with-less": "^3.0.1",
     "nextra": "3.0.0-alpha.28",
@@ -45,15 +53,16 @@
     "numbro": "2.5.0",
     "p-limit": "^4.0.0",
     "parser-front-matter": "1.6.4",
-    "postcss": "^8.4.33",
+    "postcss": "^8.4.49",
     "react": "^18.3.1",
     "react-dom": "^18.3.1",
     "react-medium-image-zoom": "5.2.13",
+    "react-use-measure": "^2.1.7",
     "rss": "1.2.2",
     "server-only": "0.0.1",
     "string-similarity": "^4.0.4",
-    "string-strip-html": "^13.4.5",
-    "tailwindcss": "^3.4.1",
+    "string-strip-html": "^13.4.8",
+    "tailwindcss": "^3.4.17",
     "timeago.js": "4.0.2",
     "unified": "11.0.5",
     "unist-util-visit": "^5.0.0",
@@ -61,11 +70,12 @@
   },
   "devDependencies": {
     "@graphql-eslint/eslint-plugin": "4.3.0",
-    "@svgr/webpack": "^8.0.1",
-    "@types/codemirror": "5.60.7",
+    "@next/eslint-plugin-next": "^15.3.3",
+    "@svgr/webpack": "^8.1.0",
+    "@types/codemirror": "5.60.16",
     "@types/hast": "3.0.4",
-    "@types/node": "^22.10.2",
-    "@types/react": "^18.2.73",
+    "@types/node": "^22.10.5",
+    "@types/react": "^18.3.18",
     "@types/rss": "0.0.32",
     "@types/string-similarity": "^4.0.2",
     "@typescript-eslint/eslint-plugin": "7.18.0",
@@ -73,15 +83,17 @@
     "eslint": "8.57.1",
     "eslint-config-prettier": "^9.1.0",
     "eslint-plugin-mdx": "^3.1.5",
+    "eslint-plugin-react": "^7.37.5",
+    "eslint-plugin-react-hooks": "^5.2.0",
     "eslint-plugin-tailwindcss": "3.17.5",
-    "prettier": "3.4.2",
-    "prettier-plugin-pkg": "^0.18.1",
-    "prettier-plugin-tailwindcss": "^0.6.9",
+    "prettier": "3.5.3",
+    "prettier-plugin-pkg": "^0.20.0",
+    "prettier-plugin-tailwindcss": "^0.6.12",
     "remark-frontmatter": "5.0.0",
     "remark-lint-first-heading-level": "3.1.2",
     "remark-lint-heading-increment": "3.1.2",
-    "tsx": "^4.7.0",
-    "typescript": "^5.4.3"
+    "tsx": "^4.19.4",
+    "typescript": "^5.8.3"
   },
   "pnpm": {
     "patchedDependencies": {
diff --git a/patches/nextra@3.0.0-alpha.22.patch b/patches/nextra@3.0.0-alpha.22.patch
index 09f7508769..6f4a58ebf6 100644
--- a/patches/nextra@3.0.0-alpha.22.patch
+++ b/patches/nextra@3.0.0-alpha.22.patch
@@ -9,3 +9,18 @@ index af0891e3c2084edd326f40e6e18107b193640e0b..885858fa17285fb75649cf0ebd2576d1
  import { createElement } from "react";
  const DEFAULT_COMPONENTS = {
    img: (props) => createElement(
+diff --git a/package.json b/package.json
+index 0625691ebc1d79d7b7d22bb3b001f00a57519772..53d4b0c951a762ae056004789c9aca819e0ade62 100644
+--- a/package.json
++++ b/package.json
+@@ -20,6 +20,10 @@
+       "import": "./dist/server/remark-plugins/index.js",
+       "types": "./dist/server/remark-plugins/index.d.ts"
+     },
++    "./rehype-plugins": {
++      "import": "./dist/server/rehype-plugins/index.js",
++      "types": "./dist/server/rehype-plugins/index.d.ts"
++    },
+     "./hooks": {
+       "import": "./dist/client/hooks/index.js",
+       "types": "./dist/client/hooks/index.d.ts"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index aac6f53025..7f9354b356 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,7 +6,7 @@ settings:
 
 patchedDependencies:
   nextra@3.0.0-alpha.28:
-    hash: rggcgtpcrgz5zyoxmhwje4p6rm
+    hash: rlrllt7ydx3t6f2hccqi2i2pf4
     path: patches/nextra@3.0.0-alpha.22.patch
 
 importers:
@@ -14,38 +14,47 @@ importers:
   .:
     dependencies:
       '@graphql-tools/schema':
-        specifier: 10.0.15
-        version: 10.0.15(graphql@16.10.0)
+        specifier: 10.0.25
+        version: 10.0.25(graphql@16.10.0)
       '@headlessui/react':
-        specifier: ^1.7.17
-        version: 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+        specifier: ^2.2.4
+        version: 2.2.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       '@radix-ui/react-radio-group':
-        specifier: ^1.1.3
-        version: 1.2.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+        specifier: ^1.2.2
+        version: 1.2.2(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@tailwindcss/container-queries':
+        specifier: ^0.1.1
+        version: 0.1.1(tailwindcss@3.4.17)
       '@tailwindcss/nesting':
         specifier: 0.0.0-insiders.565cd3e
         version: 0.0.0-insiders.565cd3e(postcss@8.4.49)
       '@tailwindcss/typography':
-        specifier: ^0.5.10
-        version: 0.5.15(tailwindcss@3.4.17)
+        specifier: ^0.5.15
+        version: 0.5.16(tailwindcss@3.4.17)
       autoprefixer:
-        specifier: ^10.4.17
-        version: 10.4.20(postcss@8.4.49)
+        specifier: ^10.4.20
+        version: 10.4.21(postcss@8.4.49)
+      calendar-link:
+        specifier: ^2.10.0
+        version: 2.10.0
       clsx:
-        specifier: ^2.1.0
+        specifier: ^2.1.1
         version: 2.1.1
       codemirror:
-        specifier: 5.65.1
-        version: 5.65.1
+        specifier: ^5.65.19
+        version: 5.65.19
       codemirror-graphql:
         specifier: 1.3.2
-        version: 1.3.2(@codemirror/language@0.20.2)(codemirror@5.65.1)(graphql@16.10.0)
+        version: 1.3.2(@codemirror/language@0.20.2)(codemirror@5.65.19)(graphql@16.10.0)
       date-fns:
         specifier: ^2.30.0
         version: 2.30.0
       fast-glob:
-        specifier: ^3.3.2
+        specifier: ^3.3.3
         version: 3.3.3
+      github-slugger:
+        specifier: 2.0.0
+        version: 2.0.0
       graphql:
         specifier: 16.10.0
         version: 16.10.0
@@ -56,7 +65,7 @@ importers:
         specifier: 3.0.1
         version: 3.0.1
       iframe-resizer-react:
-        specifier: ^1.1.0
+        specifier: ^1.1.1
         version: 1.1.1(@babel/core@7.26.0)(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       leaflet:
         specifier: ^1.9.4
@@ -65,32 +74,35 @@ importers:
         specifier: ^0.469.0
         version: 0.469.0(react@18.3.1)
       markdown-to-jsx:
-        specifier: ^7.4.0
-        version: 7.7.2(react@18.3.1)
+        specifier: ^7.7.2
+        version: 7.7.12(react@18.3.1)
       marked:
         specifier: 5.1.2
         version: 5.1.2
+      motion:
+        specifier: ^12.11.0
+        version: 12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       next:
-        specifier: ^14.2.5
-        version: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+        specifier: ^14.2.22
+        version: 14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       next-image-export-optimizer:
-        specifier: ^1.12.3
-        version: 1.18.0(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+        specifier: ^1.18.0
+        version: 1.18.0(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
       next-query-params:
-        specifier: ^5.0.0
-        version: 5.0.1(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(use-query-params@2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+        specifier: ^5.0.1
+        version: 5.0.1(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(use-query-params@2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
       next-sitemap:
         specifier: ^4.2.3
-        version: 4.2.3(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+        version: 4.2.3(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
       next-with-less:
         specifier: ^3.0.1
-        version: 3.0.1(less-loader@12.2.0(less@4.2.1))(less@4.2.1)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+        version: 3.0.1(less-loader@12.2.0(less@4.2.1))(less@4.2.1)(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
       nextra:
         specifier: 3.0.0-alpha.28
-        version: 3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)
+        version: 3.0.0-alpha.28(patch_hash=rlrllt7ydx3t6f2hccqi2i2pf4)(@types/react@18.3.23)(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
       nextra-theme-docs:
         specifier: 3.0.0-alpha.28
-        version: 3.0.0-alpha.28(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+        version: 3.0.0-alpha.28(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@3.0.0-alpha.28(patch_hash=rlrllt7ydx3t6f2hccqi2i2pf4)(@types/react@18.3.23)(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       numbro:
         specifier: 2.5.0
         version: 2.5.0
@@ -101,7 +113,7 @@ importers:
         specifier: 1.6.4
         version: 1.6.4
       postcss:
-        specifier: ^8.4.33
+        specifier: ^8.4.49
         version: 8.4.49
       react:
         specifier: ^18.3.1
@@ -112,6 +124,9 @@ importers:
       react-medium-image-zoom:
         specifier: 5.2.13
         version: 5.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      react-use-measure:
+        specifier: ^2.1.7
+        version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       rss:
         specifier: 1.2.2
         version: 1.2.2
@@ -122,10 +137,10 @@ importers:
         specifier: ^4.0.4
         version: 4.0.4
       string-strip-html:
-        specifier: ^13.4.5
-        version: 13.4.8
+        specifier: ^13.4.8
+        version: 13.4.13
       tailwindcss:
-        specifier: ^3.4.1
+        specifier: ^3.4.17
         version: 3.4.17
       timeago.js:
         specifier: 4.0.2
@@ -142,22 +157,25 @@ importers:
     devDependencies:
       '@graphql-eslint/eslint-plugin':
         specifier: 4.3.0
-        version: 4.3.0(@types/node@22.10.5)(eslint@8.57.1)(graphql@16.10.0)(typescript@5.7.2)
+        version: 4.3.0(@types/node@22.10.5)(eslint@8.57.1)(graphql@16.10.0)(typescript@5.8.3)
+      '@next/eslint-plugin-next':
+        specifier: ^15.3.3
+        version: 15.3.3
       '@svgr/webpack':
-        specifier: ^8.0.1
-        version: 8.1.0(typescript@5.7.2)
+        specifier: ^8.1.0
+        version: 8.1.0(typescript@5.8.3)
       '@types/codemirror':
-        specifier: 5.60.7
-        version: 5.60.7
+        specifier: 5.60.16
+        version: 5.60.16
       '@types/hast':
         specifier: 3.0.4
         version: 3.0.4
       '@types/node':
-        specifier: ^22.10.2
+        specifier: ^22.10.5
         version: 22.10.5
       '@types/react':
-        specifier: ^18.2.73
-        version: 18.3.18
+        specifier: ^18.3.18
+        version: 18.3.23
       '@types/rss':
         specifier: 0.0.32
         version: 0.0.32
@@ -166,31 +184,37 @@ importers:
         version: 4.0.2
       '@typescript-eslint/eslint-plugin':
         specifier: 7.18.0
-        version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)
+        version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)
       '@typescript-eslint/parser':
         specifier: 7.18.0
-        version: 7.18.0(eslint@8.57.1)(typescript@5.7.2)
+        version: 7.18.0(eslint@8.57.1)(typescript@5.8.3)
       eslint:
         specifier: 8.57.1
         version: 8.57.1
       eslint-config-prettier:
         specifier: ^9.1.0
-        version: 9.1.0(eslint@8.57.1)
+        version: 9.1.2(eslint@8.57.1)
       eslint-plugin-mdx:
         specifier: ^3.1.5
         version: 3.1.5(eslint@8.57.1)
+      eslint-plugin-react:
+        specifier: ^7.37.5
+        version: 7.37.5(eslint@8.57.1)
+      eslint-plugin-react-hooks:
+        specifier: ^5.2.0
+        version: 5.2.0(eslint@8.57.1)
       eslint-plugin-tailwindcss:
         specifier: 3.17.5
         version: 3.17.5(tailwindcss@3.4.17)
       prettier:
-        specifier: 3.4.2
-        version: 3.4.2
+        specifier: 3.5.3
+        version: 3.5.3
       prettier-plugin-pkg:
-        specifier: ^0.18.1
-        version: 0.18.1(prettier@3.4.2)
+        specifier: ^0.20.0
+        version: 0.20.0(prettier@3.5.3)
       prettier-plugin-tailwindcss:
-        specifier: ^0.6.9
-        version: 0.6.9(prettier@3.4.2)
+        specifier: ^0.6.12
+        version: 0.6.14(prettier@3.5.3)
       remark-frontmatter:
         specifier: 5.0.0
         version: 5.0.0
@@ -201,11 +225,11 @@ importers:
         specifier: 3.1.2
         version: 3.1.2
       tsx:
-        specifier: ^4.7.0
-        version: 4.19.2
+        specifier: ^4.19.4
+        version: 4.19.4
       typescript:
-        specifier: ^5.4.3
-        version: 5.7.2
+        specifier: ^5.8.3
+        version: 5.8.3
 
 packages:
 
@@ -817,146 +841,152 @@ packages:
   '@emnapi/runtime@1.3.1':
     resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
 
-  '@esbuild/aix-ppc64@0.23.1':
-    resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
+  '@esbuild/aix-ppc64@0.25.5':
+    resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
     engines: {node: '>=18'}
     cpu: [ppc64]
     os: [aix]
 
-  '@esbuild/android-arm64@0.23.1':
-    resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
+  '@esbuild/android-arm64@0.25.5':
+    resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [android]
 
-  '@esbuild/android-arm@0.23.1':
-    resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
+  '@esbuild/android-arm@0.25.5':
+    resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
     engines: {node: '>=18'}
     cpu: [arm]
     os: [android]
 
-  '@esbuild/android-x64@0.23.1':
-    resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
+  '@esbuild/android-x64@0.25.5':
+    resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [android]
 
-  '@esbuild/darwin-arm64@0.23.1':
-    resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
+  '@esbuild/darwin-arm64@0.25.5':
+    resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [darwin]
 
-  '@esbuild/darwin-x64@0.23.1':
-    resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
+  '@esbuild/darwin-x64@0.25.5':
+    resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [darwin]
 
-  '@esbuild/freebsd-arm64@0.23.1':
-    resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
+  '@esbuild/freebsd-arm64@0.25.5':
+    resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [freebsd]
 
-  '@esbuild/freebsd-x64@0.23.1':
-    resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
+  '@esbuild/freebsd-x64@0.25.5':
+    resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [freebsd]
 
-  '@esbuild/linux-arm64@0.23.1':
-    resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
+  '@esbuild/linux-arm64@0.25.5':
+    resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [linux]
 
-  '@esbuild/linux-arm@0.23.1':
-    resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
+  '@esbuild/linux-arm@0.25.5':
+    resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
     engines: {node: '>=18'}
     cpu: [arm]
     os: [linux]
 
-  '@esbuild/linux-ia32@0.23.1':
-    resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
+  '@esbuild/linux-ia32@0.25.5':
+    resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
     engines: {node: '>=18'}
     cpu: [ia32]
     os: [linux]
 
-  '@esbuild/linux-loong64@0.23.1':
-    resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
+  '@esbuild/linux-loong64@0.25.5':
+    resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
     engines: {node: '>=18'}
     cpu: [loong64]
     os: [linux]
 
-  '@esbuild/linux-mips64el@0.23.1':
-    resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
+  '@esbuild/linux-mips64el@0.25.5':
+    resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
     engines: {node: '>=18'}
     cpu: [mips64el]
     os: [linux]
 
-  '@esbuild/linux-ppc64@0.23.1':
-    resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
+  '@esbuild/linux-ppc64@0.25.5':
+    resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
     engines: {node: '>=18'}
     cpu: [ppc64]
     os: [linux]
 
-  '@esbuild/linux-riscv64@0.23.1':
-    resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
+  '@esbuild/linux-riscv64@0.25.5':
+    resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
     engines: {node: '>=18'}
     cpu: [riscv64]
     os: [linux]
 
-  '@esbuild/linux-s390x@0.23.1':
-    resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
+  '@esbuild/linux-s390x@0.25.5':
+    resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
     engines: {node: '>=18'}
     cpu: [s390x]
     os: [linux]
 
-  '@esbuild/linux-x64@0.23.1':
-    resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
+  '@esbuild/linux-x64@0.25.5':
+    resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [linux]
 
-  '@esbuild/netbsd-x64@0.23.1':
-    resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
+  '@esbuild/netbsd-arm64@0.25.5':
+    resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
+    engines: {node: '>=18'}
+    cpu: [arm64]
+    os: [netbsd]
+
+  '@esbuild/netbsd-x64@0.25.5':
+    resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [netbsd]
 
-  '@esbuild/openbsd-arm64@0.23.1':
-    resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
+  '@esbuild/openbsd-arm64@0.25.5':
+    resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [openbsd]
 
-  '@esbuild/openbsd-x64@0.23.1':
-    resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
+  '@esbuild/openbsd-x64@0.25.5':
+    resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [openbsd]
 
-  '@esbuild/sunos-x64@0.23.1':
-    resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
+  '@esbuild/sunos-x64@0.25.5':
+    resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [sunos]
 
-  '@esbuild/win32-arm64@0.23.1':
-    resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
+  '@esbuild/win32-arm64@0.25.5':
+    resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
     engines: {node: '>=18'}
     cpu: [arm64]
     os: [win32]
 
-  '@esbuild/win32-ia32@0.23.1':
-    resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
+  '@esbuild/win32-ia32@0.25.5':
+    resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
     engines: {node: '>=18'}
     cpu: [ia32]
     os: [win32]
 
-  '@esbuild/win32-x64@0.23.1':
-    resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
+  '@esbuild/win32-x64@0.25.5':
+    resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
     engines: {node: '>=18'}
     cpu: [x64]
     os: [win32]
@@ -979,6 +1009,27 @@ packages:
     resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
+  '@floating-ui/core@1.7.3':
+    resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
+
+  '@floating-ui/dom@1.7.3':
+    resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==}
+
+  '@floating-ui/react-dom@2.1.5':
+    resolution: {integrity: sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==}
+    peerDependencies:
+      react: '>=16.8.0'
+      react-dom: '>=16.8.0'
+
+  '@floating-ui/react@0.26.28':
+    resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==}
+    peerDependencies:
+      react: '>=16.8.0'
+      react-dom: '>=16.8.0'
+
+  '@floating-ui/utils@0.2.10':
+    resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
+
   '@graphql-eslint/eslint-plugin@4.3.0':
     resolution: {integrity: sha512-9UTJfYNGAK5GuFapsNvA+508ke8YPc9Yt6mgT4Lc+gS18p53oG5wmXd3jdmNeVOfxhUefJcJbn925vIrjg/8/g==}
     engines: {node: '>=18'}
@@ -1075,14 +1126,14 @@ packages:
     peerDependencies:
       graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
 
-  '@graphql-tools/merge@9.0.16':
-    resolution: {integrity: sha512-Ek2ee3e4qMsMM2pBBZpDmL7j51b3F5qYsHtckO05e8zvOWuS28yBu+VhZYOtUPr/q+lBWhL+0rvFXaUwHZEuQQ==}
+  '@graphql-tools/merge@9.1.1':
+    resolution: {integrity: sha512-BJ5/7Y7GOhTuvzzO5tSBFL4NGr7PVqTJY3KeIDlVTT8YLcTXtBR+hlrC3uyEym7Ragn+zyWdHeJ9ev+nRX1X2w==}
     engines: {node: '>=16.0.0'}
     peerDependencies:
       graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
 
-  '@graphql-tools/schema@10.0.15':
-    resolution: {integrity: sha512-QAD9XeC/iaVugMYWet73Vz/4wp1qmKHYPj1z/TyIW/fX41oNmNSBGNqdstMsvSG97PWLhFgbUqVCvY+1KesQKw==}
+  '@graphql-tools/schema@10.0.25':
+    resolution: {integrity: sha512-/PqE8US8kdQ7lB9M5+jlW8AyVjRGCKU7TSktuW3WNKSKmDO0MK1wakvb5gGdyT49MjAIb4a3LWxIpwo5VygZuw==}
     engines: {node: '>=16.0.0'}
     peerDependencies:
       graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1099,8 +1150,14 @@ packages:
     peerDependencies:
       graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
 
-  '@graphql-tools/utils@10.7.1':
-    resolution: {integrity: sha512-mpHAA5EddtxvnkHIBEEon5++tvL5T+j3OeOP4CAXbguAK2RBRM9DVVsoc9U68vSPLJjBRGp+b5NjlRn04g9rMA==}
+  '@graphql-tools/utils@10.8.6':
+    resolution: {integrity: sha512-Alc9Vyg0oOsGhRapfL3xvqh1zV8nKoFUdtLhXX7Ki4nClaIJXckrA86j+uxEuG3ic6j4jlM1nvcWXRn/71AVLQ==}
+    engines: {node: '>=16.0.0'}
+    peerDependencies:
+      graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
+
+  '@graphql-tools/utils@10.9.1':
+    resolution: {integrity: sha512-B1wwkXk9UvU7LCBkPs8513WxOQ2H8Fo5p8HR1+Id9WmYE5+bd51vqN+MbrqvWczHCH2gwkREgHJN88tE0n1FCw==}
     engines: {node: '>=16.0.0'}
     peerDependencies:
       graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@@ -1123,6 +1180,13 @@ packages:
       react: ^16 || ^17 || ^18
       react-dom: ^16 || ^17 || ^18
 
+  '@headlessui/react@2.2.7':
+    resolution: {integrity: sha512-WKdTymY8Y49H8/gUc/lIyYK1M+/6dq0Iywh4zTZVAaiTDprRfioxSgD0wnXTQTBpjpGJuTL1NO/mqEvc//5SSg==}
+    engines: {node: '>=10'}
+    peerDependencies:
+      react: ^18 || ^19 || ^19.0.0-rc
+      react-dom: ^18 || ^19 || ^19.0.0-rc
+
   '@humanwhocodes/config-array@0.13.0':
     resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
     engines: {node: '>=10.10.0'}
@@ -1360,59 +1424,62 @@ packages:
   '@next/env@13.5.6':
     resolution: {integrity: sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==}
 
-  '@next/env@14.2.22':
-    resolution: {integrity: sha512-EQ6y1QeNQglNmNIXvwP/Bb+lf7n9WtgcWvtoFsHquVLCJUuxRs+6SfZ5EK0/EqkkLex4RrDySvKgKNN7PXip7Q==}
+  '@next/env@14.2.29':
+    resolution: {integrity: sha512-UzgLR2eBfhKIQt0aJ7PWH7XRPYw7SXz0Fpzdl5THjUnvxy4kfBk9OU4RNPNiETewEEtaBcExNFNn1QWH8wQTjg==}
+
+  '@next/eslint-plugin-next@15.3.3':
+    resolution: {integrity: sha512-VKZJEiEdpKkfBmcokGjHu0vGDG+8CehGs90tBEy/IDoDDKGngeyIStt2MmE5FYNyU9BhgR7tybNWTAJY/30u+Q==}
 
-  '@next/swc-darwin-arm64@14.2.22':
-    resolution: {integrity: sha512-HUaLiehovgnqY4TMBZJ3pDaOsTE1spIXeR10pWgdQVPYqDGQmHJBj3h3V6yC0uuo/RoY2GC0YBFRkOX3dI9WVQ==}
+  '@next/swc-darwin-arm64@14.2.29':
+    resolution: {integrity: sha512-wWtrAaxCVMejxPHFb1SK/PVV1WDIrXGs9ki0C/kUM8ubKHQm+3hU9MouUywCw8Wbhj3pewfHT2wjunLEr/TaLA==}
     engines: {node: '>= 10'}
     cpu: [arm64]
     os: [darwin]
 
-  '@next/swc-darwin-x64@14.2.22':
-    resolution: {integrity: sha512-ApVDANousaAGrosWvxoGdLT0uvLBUC+srqOcpXuyfglA40cP2LBFaGmBjhgpxYk5z4xmunzqQvcIgXawTzo2uQ==}
+  '@next/swc-darwin-x64@14.2.29':
+    resolution: {integrity: sha512-7Z/jk+6EVBj4pNLw/JQrvZVrAh9Bv8q81zCFSfvTMZ51WySyEHWVpwCEaJY910LyBftv2F37kuDPQm0w9CEXyg==}
     engines: {node: '>= 10'}
     cpu: [x64]
     os: [darwin]
 
-  '@next/swc-linux-arm64-gnu@14.2.22':
-    resolution: {integrity: sha512-3O2J99Bk9aM+d4CGn9eEayJXHuH9QLx0BctvWyuUGtJ3/mH6lkfAPRI4FidmHMBQBB4UcvLMfNf8vF0NZT7iKw==}
+  '@next/swc-linux-arm64-gnu@14.2.29':
+    resolution: {integrity: sha512-o6hrz5xRBwi+G7JFTHc+RUsXo2lVXEfwh4/qsuWBMQq6aut+0w98WEnoNwAwt7hkEqegzvazf81dNiwo7KjITw==}
     engines: {node: '>= 10'}
     cpu: [arm64]
     os: [linux]
 
-  '@next/swc-linux-arm64-musl@14.2.22':
-    resolution: {integrity: sha512-H/hqfRz75yy60y5Eg7DxYfbmHMjv60Dsa6IWHzpJSz4MRkZNy5eDnEW9wyts9bkxwbOVZNPHeb3NkqanP+nGPg==}
+  '@next/swc-linux-arm64-musl@14.2.29':
+    resolution: {integrity: sha512-9i+JEHBOVgqxQ92HHRFlSW1EQXqa/89IVjtHgOqsShCcB/ZBjTtkWGi+SGCJaYyWkr/lzu51NTMCfKuBf7ULNw==}
     engines: {node: '>= 10'}
     cpu: [arm64]
     os: [linux]
 
-  '@next/swc-linux-x64-gnu@14.2.22':
-    resolution: {integrity: sha512-LckLwlCLcGR1hlI5eiJymR8zSHPsuruuwaZ3H2uudr25+Dpzo6cRFjp/3OR5UYJt8LSwlXv9mmY4oI2QynwpqQ==}
+  '@next/swc-linux-x64-gnu@14.2.29':
+    resolution: {integrity: sha512-B7JtMbkUwHijrGBOhgSQu2ncbCYq9E7PZ7MX58kxheiEOwdkM+jGx0cBb+rN5AeqF96JypEppK6i/bEL9T13lA==}
     engines: {node: '>= 10'}
     cpu: [x64]
     os: [linux]
 
-  '@next/swc-linux-x64-musl@14.2.22':
-    resolution: {integrity: sha512-qGUutzmh0PoFU0fCSu0XYpOfT7ydBZgDfcETIeft46abPqP+dmePhwRGLhFKwZWxNWQCPprH26TjaTxM0Nv8mw==}
+  '@next/swc-linux-x64-musl@14.2.29':
+    resolution: {integrity: sha512-yCcZo1OrO3aQ38B5zctqKU1Z3klOohIxug6qdiKO3Q3qNye/1n6XIs01YJ+Uf+TdpZQ0fNrOQI2HrTLF3Zprnw==}
     engines: {node: '>= 10'}
     cpu: [x64]
     os: [linux]
 
-  '@next/swc-win32-arm64-msvc@14.2.22':
-    resolution: {integrity: sha512-K6MwucMWmIvMb9GlvT0haYsfIPxfQD8yXqxwFy4uLFMeXIb2TcVYQimxkaFZv86I7sn1NOZnpOaVk5eaxThGIw==}
+  '@next/swc-win32-arm64-msvc@14.2.29':
+    resolution: {integrity: sha512-WnrfeOEtTVidI9Z6jDLy+gxrpDcEJtZva54LYC0bSKQqmyuHzl0ego+v0F/v2aXq0am67BRqo/ybmmt45Tzo4A==}
     engines: {node: '>= 10'}
     cpu: [arm64]
     os: [win32]
 
-  '@next/swc-win32-ia32-msvc@14.2.22':
-    resolution: {integrity: sha512-5IhDDTPEbzPR31ZzqHe90LnNe7BlJUZvC4sA1thPJV6oN5WmtWjZ0bOYfNsyZx00FJt7gggNs6SrsX0UEIcIpA==}
+  '@next/swc-win32-ia32-msvc@14.2.29':
+    resolution: {integrity: sha512-vkcriFROT4wsTdSeIzbxaZjTNTFKjSYmLd8q/GVH3Dn8JmYjUKOuKXHK8n+lovW/kdcpIvydO5GtN+It2CvKWA==}
     engines: {node: '>= 10'}
     cpu: [ia32]
     os: [win32]
 
-  '@next/swc-win32-x64-msvc@14.2.22':
-    resolution: {integrity: sha512-nvRaB1PyG4scn9/qNzlkwEwLzuoPH3Gjp7Q/pLuwUgOTt1oPMlnCI3A3rgkt+eZnU71emOiEv/mR201HoURPGg==}
+  '@next/swc-win32-x64-msvc@14.2.29':
+    resolution: {integrity: sha512-iPPwUEKnVs7pwR0EBLJlwxLD7TTHWS/AoVZx1l9ZQzfQciqaFEr5AlYzA2uB6Fyby1IF18t4PL0nTpB+k4Tzlw==}
     engines: {node: '>= 10'}
     cpu: [x64]
     os: [win32]
@@ -1610,6 +1677,43 @@ packages:
       '@types/react':
         optional: true
 
+  '@react-aria/focus@3.21.0':
+    resolution: {integrity: sha512-7NEGtTPsBy52EZ/ToVKCu0HSelE3kq9qeis+2eEq90XSuJOMaDHUQrA7RC2Y89tlEwQB31bud/kKRi9Qme1dkA==}
+    peerDependencies:
+      react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+      react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+
+  '@react-aria/interactions@3.25.4':
+    resolution: {integrity: sha512-HBQMxgUPHrW8V63u9uGgBymkMfj6vdWbB0GgUJY49K9mBKMsypcHeWkWM6+bF7kxRO728/IK8bWDV6whDbqjHg==}
+    peerDependencies:
+      react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+      react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+
+  '@react-aria/ssr@3.9.10':
+    resolution: {integrity: sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ==}
+    engines: {node: '>= 12'}
+    peerDependencies:
+      react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+
+  '@react-aria/utils@3.30.0':
+    resolution: {integrity: sha512-ydA6y5G1+gbem3Va2nczj/0G0W7/jUVo/cbN10WA5IizzWIwMP5qhFr7macgbKfHMkZ+YZC3oXnt2NNre5odKw==}
+    peerDependencies:
+      react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+      react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+
+  '@react-stately/flags@3.1.2':
+    resolution: {integrity: sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==}
+
+  '@react-stately/utils@3.10.8':
+    resolution: {integrity: sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g==}
+    peerDependencies:
+      react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+
+  '@react-types/shared@3.31.0':
+    resolution: {integrity: sha512-ua5U6V66gDcbLZe4P2QeyNgPp4YWD1ymGA6j3n+s8CGExtrCPe64v+g4mvpT8Bnb985R96e4zFT61+m0YCwqMg==}
+    peerDependencies:
+      react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+
   '@repeaterjs/repeater@3.0.6':
     resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==}
 
@@ -1700,27 +1804,35 @@ packages:
   '@swc/counter@0.1.3':
     resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
 
+  '@swc/helpers@0.5.17':
+    resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
+
   '@swc/helpers@0.5.5':
     resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
 
+  '@tailwindcss/container-queries@0.1.1':
+    resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==}
+    peerDependencies:
+      tailwindcss: '>=3.2.0'
+
   '@tailwindcss/nesting@0.0.0-insiders.565cd3e':
     resolution: {integrity: sha512-WhHoFBx19TnH/c+xLwT/sxei6+4RpdfiyG3MYXfmLaMsADmVqBkF7B6lDalgZD9YdM459MF7DtxVbWkOrV7IaQ==}
     peerDependencies:
       postcss: ^8.2.15
 
-  '@tailwindcss/typography@0.5.15':
-    resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==}
+  '@tailwindcss/typography@0.5.16':
+    resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==}
     peerDependencies:
-      tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20'
+      tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
 
-  '@tanstack/react-virtual@3.8.4':
-    resolution: {integrity: sha512-Dq0VQr3QlTS2qL35g360QaJWBt7tCn/0xw4uZ0dHXPLO1Ak4Z4nVX4vuj1Npg1b/jqNMDToRtR5OIxM2NXRBWg==}
+  '@tanstack/react-virtual@3.13.12':
+    resolution: {integrity: sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA==}
     peerDependencies:
-      react: ^16.8.0 || ^17.0.0 || ^18.0.0
-      react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+      react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+      react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
 
-  '@tanstack/virtual-core@3.8.4':
-    resolution: {integrity: sha512-iO5Ujgw3O1yIxWDe9FgUPNkGjyT657b1WNX52u+Wv1DyBFEpdCdGkuVaky0M3hHFqNWjAmHWTn4wgj9rTr7ZQg==}
+  '@tanstack/virtual-core@3.13.12':
+    resolution: {integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==}
 
   '@theguild/remark-mermaid@0.0.7':
     resolution: {integrity: sha512-sh2xlwOllU6Abh+MPWdJDlNwirDcjdlH1wrDWxNLFNVbEzyVb1BTwhecc6ot5hxBUe38z1Ecja8xor9Wkb61gg==}
@@ -1737,8 +1849,8 @@ packages:
   '@types/acorn@4.0.6':
     resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
 
-  '@types/codemirror@5.60.7':
-    resolution: {integrity: sha512-QXIC+RPzt/1BGSuD6iFn6UMC9TDp+9hkOANYNPVsjjrDdzKphfRkwQDKGp2YaC54Yhz0g6P5uYTCCibZZEiMAA==}
+  '@types/codemirror@5.60.16':
+    resolution: {integrity: sha512-V/yHdamffSS075jit+fDxaOAmdP2liok8NSNJnAZfDJErzOheuygHZEhAJrfmk5TEyM32MhkZjwo/idX791yxw==}
 
   '@types/concat-stream@2.0.3':
     resolution: {integrity: sha512-3qe4oQAPNwVNwK4C9c8u+VJqv9kez+2MR4qJpoPFfXtgxxif1QbFusvXzK0/Wra2VX07smostI2VMmJNSpZjuQ==}
@@ -1773,8 +1885,8 @@ packages:
   '@types/lodash-es@4.17.12':
     resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
 
-  '@types/lodash@4.17.13':
-    resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==}
+  '@types/lodash@4.17.20':
+    resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==}
 
   '@types/mdast@3.0.15':
     resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
@@ -1797,11 +1909,11 @@ packages:
   '@types/node@22.10.5':
     resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==}
 
-  '@types/prop-types@15.7.14':
-    resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
+  '@types/prop-types@15.7.15':
+    resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
 
-  '@types/react@18.3.18':
-    resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==}
+  '@types/react@18.3.23':
+    resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
 
   '@types/rss@0.0.32':
     resolution: {integrity: sha512-2oKNqKyUY4RSdvl5eZR1n2Q9yvw3XTe3mQHsFPn9alaNBxfPnbXBtGP8R0SV8pK1PrVnLul0zx7izbm5/gF5Qw==}
@@ -1900,6 +2012,10 @@ packages:
     resolution: {integrity: sha512-t7kGrt2fdfNvzy1LCAE9/OnIyMtizgFhgJmk7iLJwQsLmR7S86F8Q4aDRPbCfo7pISJP6Fx/tPdfFNjHS23WTA==}
     engines: {node: '>=18.0.0'}
 
+  '@whatwg-node/promise-helpers@1.3.2':
+    resolution: {integrity: sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==}
+    engines: {node: '>=16.0.0'}
+
   abbrev@2.0.0:
     resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
     engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -1959,6 +2075,14 @@ packages:
   argparse@2.0.1:
     resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
 
+  array-buffer-byte-length@1.0.2:
+    resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
+    engines: {node: '>= 0.4'}
+
+  array-includes@3.1.9:
+    resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
+    engines: {node: '>= 0.4'}
+
   array-iterate@2.0.1:
     resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
 
@@ -1966,6 +2090,26 @@ packages:
     resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
     engines: {node: '>=8'}
 
+  array.prototype.findlast@1.2.5:
+    resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
+    engines: {node: '>= 0.4'}
+
+  array.prototype.flat@1.3.3:
+    resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
+    engines: {node: '>= 0.4'}
+
+  array.prototype.flatmap@1.3.3:
+    resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
+    engines: {node: '>= 0.4'}
+
+  array.prototype.tosorted@1.1.4:
+    resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
+    engines: {node: '>= 0.4'}
+
+  arraybuffer.prototype.slice@1.0.4:
+    resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
+    engines: {node: '>= 0.4'}
+
   arrify@1.0.1:
     resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
     engines: {node: '>=0.10.0'}
@@ -1974,13 +2118,21 @@ packages:
     resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
     hasBin: true
 
-  autoprefixer@10.4.20:
-    resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
+  async-function@1.0.0:
+    resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
+    engines: {node: '>= 0.4'}
+
+  autoprefixer@10.4.21:
+    resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
     engines: {node: ^10 || ^12 || >=14}
     hasBin: true
     peerDependencies:
       postcss: ^8.1.0
 
+  available-typed-arrays@1.0.7:
+    resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+    engines: {node: '>= 0.4'}
+
   babel-plugin-polyfill-corejs2@0.4.12:
     resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==}
     peerDependencies:
@@ -2032,6 +2184,11 @@ packages:
     engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
     hasBin: true
 
+  browserslist@4.25.1:
+    resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==}
+    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+    hasBin: true
+
   buffer-from@1.1.2:
     resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
 
@@ -2039,6 +2196,21 @@ packages:
     resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
     engines: {node: '>=10.16.0'}
 
+  calendar-link@2.10.0:
+    resolution: {integrity: sha512-m1x0/m/uBrLi5HBXMbwXnhxMHeBbS+6VvCDIPTPat30ugFT8vZ3uwXXjKjP1dDmd4YTCWpvuaPw3As/Tx1+9Vw==}
+
+  call-bind-apply-helpers@1.0.2:
+    resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+    engines: {node: '>= 0.4'}
+
+  call-bind@1.0.8:
+    resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+    engines: {node: '>= 0.4'}
+
+  call-bound@1.0.4:
+    resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+    engines: {node: '>= 0.4'}
+
   callsites@3.1.0:
     resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
     engines: {node: '>=6'}
@@ -2051,8 +2223,11 @@ packages:
     resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
     engines: {node: '>=10'}
 
-  caniuse-lite@1.0.30001690:
-    resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==}
+  caniuse-lite@1.0.30001721:
+    resolution: {integrity: sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==}
+
+  caniuse-lite@1.0.30001726:
+    resolution: {integrity: sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==}
 
   ccount@2.0.1:
     resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -2120,11 +2295,11 @@ packages:
       codemirror: ^5.65.3
       graphql: ^15.5.0 || ^16.0.0
 
-  codemirror@5.65.1:
-    resolution: {integrity: sha512-s6aac+DD+4O2u1aBmdxhB7yz2XU7tG3snOyQ05Kxifahz7hoxnfxIRHxiCSEv3TUC38dIVH8G+lZH9UWSfGQxA==}
+  codemirror@5.65.19:
+    resolution: {integrity: sha512-+aFkvqhaAVr1gferNMuN8vkTSrWIFvzlMV9I2KBLCWS2WpZ2+UAkZjlMZmEuT+gcXTi6RrGQCkWq1/bDtGqhIA==}
 
-  codsen-utils@1.6.4:
-    resolution: {integrity: sha512-PDyvQ5f2PValmqZZIJATimcokDt4JjIev8cKbZgEOoZm+U1IJDYuLeTcxZPQdep99R/X0RIlQ6ReQgPOVnPbNw==}
+  codsen-utils@1.6.8:
+    resolution: {integrity: sha512-8GESpsIuEsprHKuTWen1KO221gxyA+PDUXSZq0ywo5G5IcqmPtqTOw5BAljQUz2GdOe8TcWcH896qYb8gdxHFA==}
     engines: {node: '>=14.18.0'}
 
   collapse-white-space@2.1.0:
@@ -2393,6 +2568,18 @@ packages:
   dagre-d3-es@7.0.10:
     resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==}
 
+  data-view-buffer@1.0.2:
+    resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
+    engines: {node: '>= 0.4'}
+
+  data-view-byte-length@1.0.2:
+    resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
+    engines: {node: '>= 0.4'}
+
+  data-view-byte-offset@1.0.1:
+    resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
+    engines: {node: '>= 0.4'}
+
   dataloader@2.2.3:
     resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==}
 
@@ -2440,6 +2627,14 @@ packages:
     resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
     engines: {node: '>=0.10.0'}
 
+  define-data-property@1.1.4:
+    resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+    engines: {node: '>= 0.4'}
+
+  define-properties@1.2.1:
+    resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+    engines: {node: '>= 0.4'}
+
   delaunator@5.0.1:
     resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
 
@@ -2468,6 +2663,10 @@ packages:
   dlv@1.1.3:
     resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
 
+  doctrine@2.1.0:
+    resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+    engines: {node: '>=0.10.0'}
+
   doctrine@3.0.0:
     resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
     engines: {node: '>=6.0.0'}
@@ -2495,9 +2694,20 @@ packages:
     resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==}
     engines: {node: '>=4'}
 
+  dset@3.1.4:
+    resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==}
+    engines: {node: '>=4'}
+
+  dunder-proto@1.0.1:
+    resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+    engines: {node: '>= 0.4'}
+
   eastasianwidth@0.2.0:
     resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
 
+  electron-to-chromium@1.5.179:
+    resolution: {integrity: sha512-UWKi/EbBopgfFsc5k61wFpV7WrnnSlSzW/e2XcBmS6qKYTivZlLtoll5/rdqRTxGglGHkmkW0j0pFNJG10EUIQ==}
+
   electron-to-chromium@1.5.74:
     resolution: {integrity: sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==}
 
@@ -2524,8 +2734,40 @@ packages:
   error-ex@1.3.2:
     resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
 
-  esbuild@0.23.1:
-    resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
+  es-abstract@1.24.0:
+    resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==}
+    engines: {node: '>= 0.4'}
+
+  es-define-property@1.0.1:
+    resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+    engines: {node: '>= 0.4'}
+
+  es-errors@1.3.0:
+    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+    engines: {node: '>= 0.4'}
+
+  es-iterator-helpers@1.2.1:
+    resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==}
+    engines: {node: '>= 0.4'}
+
+  es-object-atoms@1.1.1:
+    resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+    engines: {node: '>= 0.4'}
+
+  es-set-tostringtag@2.1.0:
+    resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+    engines: {node: '>= 0.4'}
+
+  es-shim-unscopables@1.1.0:
+    resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==}
+    engines: {node: '>= 0.4'}
+
+  es-to-primitive@1.3.0:
+    resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
+    engines: {node: '>= 0.4'}
+
+  esbuild@0.25.5:
+    resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
     engines: {node: '>=18'}
     hasBin: true
 
@@ -2545,8 +2787,8 @@ packages:
     resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
     engines: {node: '>=12'}
 
-  eslint-config-prettier@9.1.0:
-    resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
+  eslint-config-prettier@9.1.2:
+    resolution: {integrity: sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==}
     hasBin: true
     peerDependencies:
       eslint: '>=7.0.0'
@@ -2569,6 +2811,18 @@ packages:
     peerDependencies:
       eslint: '>=8.0.0'
 
+  eslint-plugin-react-hooks@5.2.0:
+    resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
+    engines: {node: '>=10'}
+    peerDependencies:
+      eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+
+  eslint-plugin-react@7.37.5:
+    resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==}
+    engines: {node: '>=4'}
+    peerDependencies:
+      eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
+
   eslint-plugin-tailwindcss@3.17.5:
     resolution: {integrity: sha512-8Mi7p7dm+mO1dHgRHHFdPu4RDTBk69Cn4P0B40vRQR+MrguUpwmKwhZy1kqYe3Km8/4nb+cyrCF+5SodOEmaow==}
     engines: {node: '>=18.12.0'}
@@ -2668,6 +2922,10 @@ packages:
   fast-deep-equal@3.1.3:
     resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
 
+  fast-glob@3.3.1:
+    resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+    engines: {node: '>=8.6.0'}
+
   fast-glob@3.3.3:
     resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
     engines: {node: '>=8.6.0'}
@@ -2716,6 +2974,10 @@ packages:
   focus-visible@5.2.0:
     resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==}
 
+  for-each@0.3.5:
+    resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+    engines: {node: '>= 0.4'}
+
   for-in@1.0.2:
     resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
     engines: {node: '>=0.10.0'}
@@ -2731,6 +2993,20 @@ packages:
   fraction.js@4.3.7:
     resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
 
+  framer-motion@12.11.0:
+    resolution: {integrity: sha512-BaBPmkhaC2l0n619Kt1nQaxSdUdyyz5V1Z7EKJ1CcraOTZitgVx0RTbL8lmg2XesaFi6o8MPBIhkWDIvzDpGaQ==}
+    peerDependencies:
+      '@emotion/is-prop-valid': '*'
+      react: ^18.0.0 || ^19.0.0
+      react-dom: ^18.0.0 || ^19.0.0
+    peerDependenciesMeta:
+      '@emotion/is-prop-valid':
+        optional: true
+      react:
+        optional: true
+      react-dom:
+        optional: true
+
   fs.realpath@1.0.0:
     resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
 
@@ -2742,16 +3018,35 @@ packages:
   function-bind@1.1.2:
     resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
 
+  function.prototype.name@1.1.8:
+    resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
+    engines: {node: '>= 0.4'}
+
+  functions-have-names@1.2.3:
+    resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+
   gensync@1.0.0-beta.2:
     resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
     engines: {node: '>=6.9.0'}
 
+  get-intrinsic@1.3.0:
+    resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+    engines: {node: '>= 0.4'}
+
+  get-proto@1.0.1:
+    resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+    engines: {node: '>= 0.4'}
+
   get-stream@3.0.0:
     resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
     engines: {node: '>=4'}
 
-  get-tsconfig@4.8.1:
-    resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
+  get-symbol-description@1.1.0:
+    resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
+    engines: {node: '>= 0.4'}
+
+  get-tsconfig@4.10.1:
+    resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==}
 
   github-slugger@2.0.0:
     resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
@@ -2785,10 +3080,18 @@ packages:
     resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
     engines: {node: '>=8'}
 
+  globalthis@1.0.4:
+    resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+    engines: {node: '>= 0.4'}
+
   globby@11.1.0:
     resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
     engines: {node: '>=10'}
 
+  gopd@1.2.0:
+    resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+    engines: {node: '>= 0.4'}
+
   graceful-fs@4.2.11:
     resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
 
@@ -2835,6 +3138,10 @@ packages:
     resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
     engines: {node: '>=6.0'}
 
+  has-bigints@1.1.0:
+    resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
+    engines: {node: '>= 0.4'}
+
   has-flag@2.0.0:
     resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==}
     engines: {node: '>=0.10.0'}
@@ -2847,6 +3154,21 @@ packages:
     resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
     engines: {node: '>=8'}
 
+  has-property-descriptors@1.0.2:
+    resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+  has-proto@1.2.0:
+    resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
+    engines: {node: '>= 0.4'}
+
+  has-symbols@1.1.0:
+    resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+    engines: {node: '>= 0.4'}
+
+  has-tostringtag@1.0.2:
+    resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+    engines: {node: '>= 0.4'}
+
   hasown@2.0.2:
     resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
     engines: {node: '>= 0.4'}
@@ -2896,8 +3218,8 @@ packages:
   heap@0.2.7:
     resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
 
-  html-entities@2.5.2:
-    resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
+  html-entities@2.6.0:
+    resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==}
 
   html-void-elements@3.0.0:
     resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
@@ -2955,6 +3277,10 @@ packages:
   inline-style-parser@0.2.3:
     resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==}
 
+  internal-slot@1.1.0:
+    resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
+    engines: {node: '>= 0.4'}
+
   internmap@1.0.1:
     resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
 
@@ -2977,12 +3303,24 @@ packages:
   is-alphanumerical@2.0.1:
     resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
 
+  is-array-buffer@3.0.5:
+    resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
+    engines: {node: '>= 0.4'}
+
   is-arrayish@0.2.1:
     resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
 
   is-arrayish@0.3.2:
     resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
 
+  is-async-function@2.1.1:
+    resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
+    engines: {node: '>= 0.4'}
+
+  is-bigint@1.1.0:
+    resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
+    engines: {node: '>= 0.4'}
+
   is-binary-buffer@1.0.0:
     resolution: {integrity: sha512-fP08vt1YuBWSWdDCWkHUDo/Gb+YpnsiK41w2kP3iAkWhMKV4uuAAwPQm9GkA4r+OCDzpa+APIOaHZW6d83e5Ug==}
     engines: {node: '>=4'}
@@ -2991,6 +3329,10 @@ packages:
     resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
     engines: {node: '>=8'}
 
+  is-boolean-object@1.2.2:
+    resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
+    engines: {node: '>= 0.4'}
+
   is-buffer@1.1.6:
     resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
 
@@ -2998,10 +3340,22 @@ packages:
     resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
     engines: {node: '>=4'}
 
+  is-callable@1.2.7:
+    resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+    engines: {node: '>= 0.4'}
+
   is-core-module@2.16.0:
     resolution: {integrity: sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==}
     engines: {node: '>= 0.4'}
 
+  is-data-view@1.0.2:
+    resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
+    engines: {node: '>= 0.4'}
+
+  is-date-object@1.1.0:
+    resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
+    engines: {node: '>= 0.4'}
+
   is-decimal@1.0.4:
     resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
 
@@ -3023,10 +3377,18 @@ packages:
     resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
     engines: {node: '>=0.10.0'}
 
+  is-finalizationregistry@1.1.1:
+    resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
+    engines: {node: '>= 0.4'}
+
   is-fullwidth-code-point@3.0.0:
     resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
     engines: {node: '>=8'}
 
+  is-generator-function@1.1.0:
+    resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
+    engines: {node: '>= 0.4'}
+
   is-glob@4.0.3:
     resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
     engines: {node: '>=0.10.0'}
@@ -3037,6 +3399,18 @@ packages:
   is-hexadecimal@2.0.1:
     resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
 
+  is-map@2.0.3:
+    resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+    engines: {node: '>= 0.4'}
+
+  is-negative-zero@2.0.3:
+    resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+    engines: {node: '>= 0.4'}
+
+  is-number-object@1.1.1:
+    resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
+    engines: {node: '>= 0.4'}
+
   is-number@7.0.0:
     resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
     engines: {node: '>=0.12.0'}
@@ -3060,10 +3434,46 @@ packages:
   is-reference@3.0.2:
     resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
 
+  is-regex@1.2.1:
+    resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+    engines: {node: '>= 0.4'}
+
+  is-set@2.0.3:
+    resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+    engines: {node: '>= 0.4'}
+
+  is-shared-array-buffer@1.0.4:
+    resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
+    engines: {node: '>= 0.4'}
+
   is-stream@1.1.0:
     resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
     engines: {node: '>=0.10.0'}
 
+  is-string@1.1.1:
+    resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
+    engines: {node: '>= 0.4'}
+
+  is-symbol@1.1.1:
+    resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
+    engines: {node: '>= 0.4'}
+
+  is-typed-array@1.1.15:
+    resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+    engines: {node: '>= 0.4'}
+
+  is-weakmap@2.0.2:
+    resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+    engines: {node: '>= 0.4'}
+
+  is-weakref@1.1.1:
+    resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
+    engines: {node: '>= 0.4'}
+
+  is-weakset@2.0.4:
+    resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
+    engines: {node: '>= 0.4'}
+
   is-what@3.14.1:
     resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
 
@@ -3071,6 +3481,9 @@ packages:
     resolution: {integrity: sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg==}
     engines: {node: '>=0.10.0'}
 
+  isarray@2.0.5:
+    resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
   isexe@2.0.0:
     resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
 
@@ -3083,6 +3496,10 @@ packages:
     peerDependencies:
       ws: '*'
 
+  iterator.prototype@1.1.5:
+    resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
+    engines: {node: '>= 0.4'}
+
   jackspeak@2.3.6:
     resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
     engines: {node: '>=14'}
@@ -3140,6 +3557,10 @@ packages:
     engines: {node: '>=6'}
     hasBin: true
 
+  jsx-ast-utils@3.3.5:
+    resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+    engines: {node: '>=4.0'}
+
   katex@0.16.10:
     resolution: {integrity: sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==}
     hasBin: true
@@ -3276,8 +3697,8 @@ packages:
   markdown-table@3.0.3:
     resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
 
-  markdown-to-jsx@7.7.2:
-    resolution: {integrity: sha512-N3AKfYRvxNscvcIH6HDnDKILp4S8UWbebp+s92Y8SwIq0CuSbLW4Jgmrbjku3CWKjTQO0OyIMS6AhzqrwjEa3g==}
+  markdown-to-jsx@7.7.12:
+    resolution: {integrity: sha512-Y5xNBqoaTooSLkmlg2P0fdbh53gp4MqW7zhvcweGCPUWvWI5BecWRYI8vPlzT8D7OULxsQg2qoRW9EsJlBWasQ==}
     engines: {node: '>= 10'}
     peerDependencies:
       react: '>= 0.14.0'
@@ -3287,6 +3708,10 @@ packages:
     engines: {node: '>= 16'}
     hasBin: true
 
+  math-intrinsics@1.1.0:
+    resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+    engines: {node: '>= 0.4'}
+
   mathjax-full@3.2.2:
     resolution: {integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==}
 
@@ -3596,6 +4021,26 @@ packages:
   mj-context-menu@0.6.1:
     resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==}
 
+  motion-dom@12.11.0:
+    resolution: {integrity: sha512-CItkGYJenn5ZsbzTX0D9mE0UWdjdd9r535FrxEXhzR8Kwa9I2dLr1uhEJgQPWbgaIJ6i0sNFnf2T9NvVDWQVBw==}
+
+  motion-utils@12.9.4:
+    resolution: {integrity: sha512-BW3I65zeM76CMsfh3kHid9ansEJk9Qvl+K5cu4DVHKGsI52n76OJ4z2CUJUV+Mn3uEP9k1JJA3tClG0ggSrRcg==}
+
+  motion@12.11.0:
+    resolution: {integrity: sha512-1DIh+uBh2Ledv8VlJfveLuE+6tTAkLqRxhBHQSH6Ct8PxcZpUWY7z9E34L3LvnGbXp8u97hGSjeDsmvmVrjOeQ==}
+    peerDependencies:
+      '@emotion/is-prop-valid': '*'
+      react: ^18.0.0 || ^19.0.0
+      react-dom: ^18.0.0 || ^19.0.0
+    peerDependenciesMeta:
+      '@emotion/is-prop-valid':
+        optional: true
+      react:
+        optional: true
+      react-dom:
+        optional: true
+
   mri@1.2.0:
     resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
     engines: {node: '>=4'}
@@ -3657,8 +4102,8 @@ packages:
       less-loader: '>= 7.0.0'
       next: '>= 11.0.1'
 
-  next@14.2.22:
-    resolution: {integrity: sha512-Ps2caobQ9hlEhscLPiPm3J3SYhfwfpMqzsoCMZGWxt9jBRK9hoBZj2A37i8joKhsyth2EuVKDVJCTF5/H4iEDw==}
+  next@14.2.29:
+    resolution: {integrity: sha512-s98mCOMOWLGGpGOfgKSnleXLuegvvH415qtRZXpSp00HeEgdmrxmwL9cgKU+h4XrhB16zEI5d/7BnkS3ATInsA==}
     engines: {node: '>=18.17.0'}
     hasBin: true
     peerDependencies:
@@ -3758,6 +4203,30 @@ packages:
     resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
     engines: {node: '>= 6'}
 
+  object-inspect@1.13.4:
+    resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
+    engines: {node: '>= 0.4'}
+
+  object-keys@1.1.1:
+    resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+    engines: {node: '>= 0.4'}
+
+  object.assign@4.1.7:
+    resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
+    engines: {node: '>= 0.4'}
+
+  object.entries@1.1.9:
+    resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==}
+    engines: {node: '>= 0.4'}
+
+  object.fromentries@2.0.8:
+    resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
+    engines: {node: '>= 0.4'}
+
+  object.values@1.2.1:
+    resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
+    engines: {node: '>= 0.4'}
+
   once@1.4.0:
     resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
 
@@ -3765,6 +4234,10 @@ packages:
     resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
     engines: {node: '>= 0.8.0'}
 
+  own-keys@1.0.1:
+    resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
+    engines: {node: '>= 0.4'}
+
   p-finally@1.0.0:
     resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
     engines: {node: '>=4'}
@@ -3872,6 +4345,10 @@ packages:
     resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
     engines: {node: '>= 6'}
 
+  possible-typed-array-names@1.1.0:
+    resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
+    engines: {node: '>= 0.4'}
+
   postcss-import@15.1.0:
     resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
     engines: {node: '>=14.0.0'}
@@ -3912,10 +4389,6 @@ packages:
     resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
     engines: {node: '>=4'}
 
-  postcss-selector-parser@6.0.16:
-    resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
-    engines: {node: '>=4'}
-
   postcss-selector-parser@6.1.2:
     resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
     engines: {node: '>=4'}
@@ -3935,21 +4408,23 @@ packages:
     resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
     engines: {node: '>= 0.8.0'}
 
-  prettier-plugin-pkg@0.18.1:
-    resolution: {integrity: sha512-FuUxvsYZR/8rsLH8s/jbPQmgYvv0yxW8LoIHCy6+Q7p4FBjjdP3DNKx8fMTOsc0SlEB1skB4o1LcahRceIh87A==}
+  prettier-plugin-pkg@0.20.0:
+    resolution: {integrity: sha512-SOMC6CweLsSAmbtaZJcv8z9oHY7okHrHm9WW0r9xYIdUJQJS3aw8pUUdve6Typ1fiBQM9roc2U3s6K5ud5oyaA==}
     engines: {node: ^14.18.0 || >=16.0.0}
     peerDependencies:
       prettier: ^3.0.3
 
-  prettier-plugin-tailwindcss@0.6.9:
-    resolution: {integrity: sha512-r0i3uhaZAXYP0At5xGfJH876W3HHGHDp+LCRUJrs57PBeQ6mYHMwr25KH8NPX44F2yGTvdnH7OqCshlQx183Eg==}
+  prettier-plugin-tailwindcss@0.6.14:
+    resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==}
     engines: {node: '>=14.21.3'}
     peerDependencies:
       '@ianvs/prettier-plugin-sort-imports': '*'
+      '@prettier/plugin-hermes': '*'
+      '@prettier/plugin-oxc': '*'
       '@prettier/plugin-pug': '*'
       '@shopify/prettier-plugin-liquid': '*'
       '@trivago/prettier-plugin-sort-imports': '*'
-      '@zackad/prettier-plugin-twig-melody': '*'
+      '@zackad/prettier-plugin-twig': '*'
       prettier: ^3.0
       prettier-plugin-astro: '*'
       prettier-plugin-css-order: '*'
@@ -3965,13 +4440,17 @@ packages:
     peerDependenciesMeta:
       '@ianvs/prettier-plugin-sort-imports':
         optional: true
+      '@prettier/plugin-hermes':
+        optional: true
+      '@prettier/plugin-oxc':
+        optional: true
       '@prettier/plugin-pug':
         optional: true
       '@shopify/prettier-plugin-liquid':
         optional: true
       '@trivago/prettier-plugin-sort-imports':
         optional: true
-      '@zackad/prettier-plugin-twig-melody':
+      '@zackad/prettier-plugin-twig':
         optional: true
       prettier-plugin-astro:
         optional: true
@@ -3996,8 +4475,8 @@ packages:
       prettier-plugin-svelte:
         optional: true
 
-  prettier@3.4.2:
-    resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==}
+  prettier@3.5.3:
+    resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
     engines: {node: '>=14'}
     hasBin: true
 
@@ -4024,20 +4503,20 @@ packages:
   queue-microtask@1.2.3:
     resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
 
-  ranges-apply@7.0.16:
-    resolution: {integrity: sha512-4rGJHOyA7qatiMDg3vcETkc/TVBPU86/xZRTXff6o7a2neYLmj0EXUUAlhLVuiWAzTPHDPHOQxtk8EDrIF4ohg==}
+  ranges-apply@7.0.20:
+    resolution: {integrity: sha512-AaJ+RbX+w/qw7LUA2NbMMwUnpJico4aJ22zVl5hxQDlmfEXSv/TjjL96u1u0cmlNBY38aQ0kPHH0bHN5o68l9A==}
     engines: {node: '>=14.18.0'}
 
-  ranges-merge@9.0.15:
-    resolution: {integrity: sha512-hvt4hx0FKIaVfjd1oKx0poL57ljxdL2KHC6bXBrAdsx2iCsH+x7nO/5J0k2veM/isnOcFZKp0ZKkiCjCtzy74Q==}
+  ranges-merge@9.0.19:
+    resolution: {integrity: sha512-8RA9LXv6n+2bZcfcIQSYkETerJZXE3hPo0LSCmq5BBFTkw2WT8CxM4Tu9QaCD0fT4Yb7DM45gzl3tOksFrXLsA==}
     engines: {node: '>=14.18.0'}
 
-  ranges-push@7.0.15:
-    resolution: {integrity: sha512-gXpBYQ5Umf3uG6jkJnw5ddok2Xfo5p22rAJBLrqzNKa7qkj3q5AOCoxfRPXEHUVaJutfXc9K9eGXdIzdyQKPkw==}
+  ranges-push@7.0.19:
+    resolution: {integrity: sha512-WJZHju2Unc9FXWFUAE6t+MWdY02Rtxuj/FZf4Q+JEQs60ygbo+4BYwgE29ldEkPwmKBItHqwqPNnif7KxMS80g==}
     engines: {node: '>=14.18.0'}
 
-  ranges-sort@6.0.11:
-    resolution: {integrity: sha512-fhNEG0vGi7bESitNNqNBAfYPdl2efB+1paFlI8BQDCNkruERKuuhG8LkQClDIVqUJLkrmKuOSPQ3xZHqVnVo3Q==}
+  ranges-sort@6.0.14:
+    resolution: {integrity: sha512-ztTG7KAMZ72FAbKLG2GpLavnD+89c6KqeCl1C5lTyvKRFjFd5CbnM1wf3fe/o+7hV2PNiDx2mZ9EtCtPIfk7gw==}
     engines: {node: '>=14.18.0'}
 
   react-dom@18.3.1:
@@ -4054,6 +4533,15 @@ packages:
       react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
       react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
 
+  react-use-measure@2.1.7:
+    resolution: {integrity: sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==}
+    peerDependencies:
+      react: '>=16.13'
+      react-dom: '>=16.13'
+    peerDependenciesMeta:
+      react-dom:
+        optional: true
+
   react@18.3.1:
     resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
     engines: {node: '>=0.10.0'}
@@ -4076,6 +4564,10 @@ packages:
   reading-time@1.5.0:
     resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==}
 
+  reflect.getprototypeof@1.0.10:
+    resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
+    engines: {node: '>= 0.4'}
+
   regenerate-unicode-properties@10.2.0:
     resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
     engines: {node: '>=4'}
@@ -4089,6 +4581,10 @@ packages:
   regenerator-transform@0.15.2:
     resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
 
+  regexp.prototype.flags@1.5.4:
+    resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
+    engines: {node: '>= 0.4'}
+
   regexpu-core@6.2.0:
     resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==}
     engines: {node: '>=4'}
@@ -4167,6 +4663,10 @@ packages:
     resolution: {integrity: sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==}
     hasBin: true
 
+  resolve@2.0.0-next.5:
+    resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+    hasBin: true
+
   retext-latin@4.0.0:
     resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
 
@@ -4207,9 +4707,21 @@ packages:
     resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
     engines: {node: '>=6'}
 
+  safe-array-concat@1.1.3:
+    resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
+    engines: {node: '>=0.4'}
+
   safe-buffer@5.2.1:
     resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
 
+  safe-push-apply@1.0.0:
+    resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
+    engines: {node: '>= 0.4'}
+
+  safe-regex-test@1.1.0:
+    resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
+    engines: {node: '>= 0.4'}
+
   safer-buffer@2.1.2:
     resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
 
@@ -4250,10 +4762,22 @@ packages:
   server-only@0.0.1:
     resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
 
+  set-function-length@1.2.2:
+    resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+    engines: {node: '>= 0.4'}
+
+  set-function-name@2.0.2:
+    resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+    engines: {node: '>= 0.4'}
+
   set-getter@0.1.1:
     resolution: {integrity: sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==}
     engines: {node: '>=0.10.0'}
 
+  set-proto@1.0.0:
+    resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
+    engines: {node: '>= 0.4'}
+
   shallow-clone@3.0.1:
     resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
     engines: {node: '>=8'}
@@ -4281,11 +4805,27 @@ packages:
   shiki@1.2.1:
     resolution: {integrity: sha512-u+XW6o0vCkUNlneZb914dLO+AayEIwK5tI62WeS//R5HIXBFiYaj/Hc5xcq27Yh83Grr4JbNtUBV8W6zyK4hWg==}
 
-  signal-exit@3.0.7:
-    resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+  side-channel-list@1.0.0:
+    resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+    engines: {node: '>= 0.4'}
 
-  signal-exit@4.1.0:
-    resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+  side-channel-map@1.0.1:
+    resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+    engines: {node: '>= 0.4'}
+
+  side-channel-weakmap@1.0.2:
+    resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+    engines: {node: '>= 0.4'}
+
+  side-channel@1.1.0:
+    resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+    engines: {node: '>= 0.4'}
+
+  signal-exit@3.0.7:
+    resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+  signal-exit@4.1.0:
+    resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
     engines: {node: '>=14'}
 
   simple-swizzle@0.2.2:
@@ -4324,31 +4864,35 @@ packages:
   sprintf-js@1.0.3:
     resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
 
+  stop-iteration-iterator@1.1.0:
+    resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
+    engines: {node: '>= 0.4'}
+
   streamsearch@1.1.0:
     resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
     engines: {node: '>=10.0.0'}
 
-  string-collapse-leading-whitespace@7.0.7:
-    resolution: {integrity: sha512-jF9eynJoE6ezTCdYI8Qb02/ij/DlU9ItG93Dty4SWfJeLFrotOr+wH9IRiWHTqO3mjCyqBWEiU3uSTIbxYbAEQ==}
+  string-collapse-leading-whitespace@7.0.9:
+    resolution: {integrity: sha512-lEuTHlogBT9PWipfk0FOyvoMKX8syiE03QoFk5MDh8oS0AJ2C07IlstR5cGkxz48nKkOIuvkC28w9Rx/cVRNDg==}
     engines: {node: '>=14.18.0'}
 
   string-env-interpolation@1.0.1:
     resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==}
 
-  string-left-right@6.0.17:
-    resolution: {integrity: sha512-nuyIV4D4ivnwT64E0TudmCRg52NfkumuEUilyoOrHb/Z2wEOF5I+9SI6P+veFKqWKZfGpAs6OqKe4nAjujARyw==}
+  string-left-right@6.0.21:
+    resolution: {integrity: sha512-XmtL81F4iSCkKHzUz6KyqSTnh2ef3kccQtyAtqyHYv22Q6qOKS6CvOwEFY5nBTXc3WskfZCTM6ArOGJgFh3tDA==}
     engines: {node: '>=14.18.0'}
 
   string-similarity@4.0.4:
     resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==}
     deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
 
-  string-strip-html@13.4.8:
-    resolution: {integrity: sha512-vlcRAtx5DN6zXGUx3EYGFg0/JOQWM65mqLgDaBHviQPP+ovUFzqZ30iQ+674JHWr9wNgnzFGxx9TGipPZMnZXg==}
+  string-strip-html@13.4.13:
+    resolution: {integrity: sha512-bth9qxlu/ZEJsy0MMlnrHYxtgW8VOvmhLMpcLh1oV5U0I3h4wBvHBTnZpB4o/V4/UepGNlaazdXS47C0WqyxFA==}
     engines: {node: '>=14.18.0'}
 
-  string-trim-spaces-only@5.0.10:
-    resolution: {integrity: sha512-MhmjE5jNqb1Ylo+BARPRlsdChGLrnPpAUWrT1VOxo9WhWwKVUU6CbZTfjwKaQPYTGS/wsX/4Zek88FM2rEb5iA==}
+  string-trim-spaces-only@5.0.13:
+    resolution: {integrity: sha512-NGYfr+ZPkE8OKvrkEysuHPhgPifpe6fd0NfdXUlLVykaZxBDuNW+Ln2ja9dvaWlC69vqh6ZbEbOLbfiEDgomCQ==}
     engines: {node: '>=14.18.0'}
 
   string-width@4.2.3:
@@ -4363,6 +4907,25 @@ packages:
     resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==}
     engines: {node: '>=16'}
 
+  string.prototype.matchall@4.0.12:
+    resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
+    engines: {node: '>= 0.4'}
+
+  string.prototype.repeat@1.0.0:
+    resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
+
+  string.prototype.trim@1.2.10:
+    resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
+    engines: {node: '>= 0.4'}
+
+  string.prototype.trimend@1.0.9:
+    resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
+    engines: {node: '>= 0.4'}
+
+  string.prototype.trimstart@1.0.8:
+    resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+    engines: {node: '>= 0.4'}
+
   string_decoder@1.3.0:
     resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
 
@@ -4451,6 +5014,9 @@ packages:
     resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==}
     engines: {node: ^14.18.0 || >=16.0.0}
 
+  tabbable@6.2.0:
+    resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
+
   tailwindcss@3.4.17:
     resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
     engines: {node: '>=14.0.0'}
@@ -4520,8 +5086,8 @@ packages:
   tslib@2.8.1:
     resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
 
-  tsx@4.19.2:
-    resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==}
+  tsx@4.19.4:
+    resolution: {integrity: sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==}
     engines: {node: '>=18.0.0'}
     hasBin: true
 
@@ -4545,14 +5111,34 @@ packages:
     resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
     engines: {node: '>=14.16'}
 
+  typed-array-buffer@1.0.3:
+    resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
+    engines: {node: '>= 0.4'}
+
+  typed-array-byte-length@1.0.3:
+    resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
+    engines: {node: '>= 0.4'}
+
+  typed-array-byte-offset@1.0.4:
+    resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
+    engines: {node: '>= 0.4'}
+
+  typed-array-length@1.0.7:
+    resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
+    engines: {node: '>= 0.4'}
+
   typedarray@0.0.6:
     resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
 
-  typescript@5.7.2:
-    resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
+  typescript@5.8.3:
+    resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
     engines: {node: '>=14.17'}
     hasBin: true
 
+  unbox-primitive@1.1.0:
+    resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
+    engines: {node: '>= 0.4'}
+
   undici-types@6.19.8:
     resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
 
@@ -4657,6 +5243,12 @@ packages:
     peerDependencies:
       browserslist: '>= 4.21.0'
 
+  update-browserslist-db@1.1.3:
+    resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+    hasBin: true
+    peerDependencies:
+      browserslist: '>= 4.21.0'
+
   uri-js@4.4.1:
     resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
 
@@ -4676,6 +5268,11 @@ packages:
       react-router-dom:
         optional: true
 
+  use-sync-external-store@1.5.0:
+    resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==}
+    peerDependencies:
+      react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
   util-deprecate@1.0.2:
     resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
 
@@ -4740,6 +5337,22 @@ packages:
   whatwg-url@5.0.0:
     resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
 
+  which-boxed-primitive@1.1.1:
+    resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
+    engines: {node: '>= 0.4'}
+
+  which-builtin-type@1.2.1:
+    resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
+    engines: {node: '>= 0.4'}
+
+  which-collection@1.0.2:
+    resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+    engines: {node: '>= 0.4'}
+
+  which-typed-array@1.1.19:
+    resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
+    engines: {node: '>= 0.4'}
+
   which@1.3.1:
     resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
     hasBin: true
@@ -5618,76 +6231,79 @@ snapshots:
       tslib: 2.8.1
     optional: true
 
-  '@esbuild/aix-ppc64@0.23.1':
+  '@esbuild/aix-ppc64@0.25.5':
+    optional: true
+
+  '@esbuild/android-arm64@0.25.5':
     optional: true
 
-  '@esbuild/android-arm64@0.23.1':
+  '@esbuild/android-arm@0.25.5':
     optional: true
 
-  '@esbuild/android-arm@0.23.1':
+  '@esbuild/android-x64@0.25.5':
     optional: true
 
-  '@esbuild/android-x64@0.23.1':
+  '@esbuild/darwin-arm64@0.25.5':
     optional: true
 
-  '@esbuild/darwin-arm64@0.23.1':
+  '@esbuild/darwin-x64@0.25.5':
     optional: true
 
-  '@esbuild/darwin-x64@0.23.1':
+  '@esbuild/freebsd-arm64@0.25.5':
     optional: true
 
-  '@esbuild/freebsd-arm64@0.23.1':
+  '@esbuild/freebsd-x64@0.25.5':
     optional: true
 
-  '@esbuild/freebsd-x64@0.23.1':
+  '@esbuild/linux-arm64@0.25.5':
     optional: true
 
-  '@esbuild/linux-arm64@0.23.1':
+  '@esbuild/linux-arm@0.25.5':
     optional: true
 
-  '@esbuild/linux-arm@0.23.1':
+  '@esbuild/linux-ia32@0.25.5':
     optional: true
 
-  '@esbuild/linux-ia32@0.23.1':
+  '@esbuild/linux-loong64@0.25.5':
     optional: true
 
-  '@esbuild/linux-loong64@0.23.1':
+  '@esbuild/linux-mips64el@0.25.5':
     optional: true
 
-  '@esbuild/linux-mips64el@0.23.1':
+  '@esbuild/linux-ppc64@0.25.5':
     optional: true
 
-  '@esbuild/linux-ppc64@0.23.1':
+  '@esbuild/linux-riscv64@0.25.5':
     optional: true
 
-  '@esbuild/linux-riscv64@0.23.1':
+  '@esbuild/linux-s390x@0.25.5':
     optional: true
 
-  '@esbuild/linux-s390x@0.23.1':
+  '@esbuild/linux-x64@0.25.5':
     optional: true
 
-  '@esbuild/linux-x64@0.23.1':
+  '@esbuild/netbsd-arm64@0.25.5':
     optional: true
 
-  '@esbuild/netbsd-x64@0.23.1':
+  '@esbuild/netbsd-x64@0.25.5':
     optional: true
 
-  '@esbuild/openbsd-arm64@0.23.1':
+  '@esbuild/openbsd-arm64@0.25.5':
     optional: true
 
-  '@esbuild/openbsd-x64@0.23.1':
+  '@esbuild/openbsd-x64@0.25.5':
     optional: true
 
-  '@esbuild/sunos-x64@0.23.1':
+  '@esbuild/sunos-x64@0.25.5':
     optional: true
 
-  '@esbuild/win32-arm64@0.23.1':
+  '@esbuild/win32-arm64@0.25.5':
     optional: true
 
-  '@esbuild/win32-ia32@0.23.1':
+  '@esbuild/win32-ia32@0.25.5':
     optional: true
 
-  '@esbuild/win32-x64@0.23.1':
+  '@esbuild/win32-x64@0.25.5':
     optional: true
 
   '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)':
@@ -5713,7 +6329,32 @@ snapshots:
 
   '@eslint/js@8.57.1': {}
 
-  '@graphql-eslint/eslint-plugin@4.3.0(@types/node@22.10.5)(eslint@8.57.1)(graphql@16.10.0)(typescript@5.7.2)':
+  '@floating-ui/core@1.7.3':
+    dependencies:
+      '@floating-ui/utils': 0.2.10
+
+  '@floating-ui/dom@1.7.3':
+    dependencies:
+      '@floating-ui/core': 1.7.3
+      '@floating-ui/utils': 0.2.10
+
+  '@floating-ui/react-dom@2.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+    dependencies:
+      '@floating-ui/dom': 1.7.3
+      react: 18.3.1
+      react-dom: 18.3.1(react@18.3.1)
+
+  '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+    dependencies:
+      '@floating-ui/react-dom': 2.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@floating-ui/utils': 0.2.10
+      react: 18.3.1
+      react-dom: 18.3.1(react@18.3.1)
+      tabbable: 6.2.0
+
+  '@floating-ui/utils@0.2.10': {}
+
+  '@graphql-eslint/eslint-plugin@4.3.0(@types/node@22.10.5)(eslint@8.57.1)(graphql@16.10.0)(typescript@5.8.3)':
     dependencies:
       '@graphql-tools/code-file-loader': 8.1.10(graphql@16.10.0)
       '@graphql-tools/graphql-tag-pluck': 8.3.9(graphql@16.10.0)
@@ -5722,7 +6363,7 @@ snapshots:
       eslint: 8.57.1
       fast-glob: 3.3.3
       graphql: 16.10.0
-      graphql-config: 5.1.3(@types/node@22.10.5)(graphql@16.10.0)(typescript@5.7.2)
+      graphql-config: 5.1.3(@types/node@22.10.5)(graphql@16.10.0)(typescript@5.8.3)
       graphql-depth-limit: 1.1.0(graphql@16.10.0)
       lodash.lowercase: 4.3.0
     transitivePeerDependencies:
@@ -5740,7 +6381,7 @@ snapshots:
 
   '@graphql-tools/batch-execute@9.0.10(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       dataloader: 2.2.3
       graphql: 16.10.0
       tslib: 2.8.1
@@ -5760,17 +6401,17 @@ snapshots:
     dependencies:
       '@graphql-tools/batch-execute': 9.0.10(graphql@16.10.0)
       '@graphql-tools/executor': 1.3.9(graphql@16.10.0)
-      '@graphql-tools/schema': 10.0.15(graphql@16.10.0)
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/schema': 10.0.25(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       '@repeaterjs/repeater': 3.0.6
       dataloader: 2.2.3
-      dset: 3.1.3
+      dset: 3.1.4
       graphql: 16.10.0
       tslib: 2.8.1
 
   '@graphql-tools/executor-graphql-ws@1.3.5(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       '@whatwg-node/disposablestack': 0.0.5
       graphql: 16.10.0
       graphql-ws: 5.16.0(graphql@16.10.0)
@@ -5784,7 +6425,7 @@ snapshots:
   '@graphql-tools/executor-http@1.2.1(@types/node@22.10.5)(graphql@16.10.0)':
     dependencies:
       '@graphql-hive/gateway-abort-signal-any': 0.0.1
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       '@repeaterjs/repeater': 3.0.6
       '@whatwg-node/disposablestack': 0.0.5
       '@whatwg-node/fetch': 0.10.1
@@ -5798,7 +6439,7 @@ snapshots:
 
   '@graphql-tools/executor-legacy-ws@1.1.7(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       '@types/ws': 8.5.10
       graphql: 16.10.0
       isomorphic-ws: 5.0.0(ws@8.18.0)
@@ -5810,7 +6451,7 @@ snapshots:
 
   '@graphql-tools/executor@1.3.9(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0)
       '@repeaterjs/repeater': 3.0.6
       '@whatwg-node/disposablestack': 0.0.5
@@ -5821,7 +6462,7 @@ snapshots:
   '@graphql-tools/graphql-file-loader@8.0.8(graphql@16.10.0)':
     dependencies:
       '@graphql-tools/import': 7.0.8(graphql@16.10.0)
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       globby: 11.1.0
       graphql: 16.10.0
       tslib: 2.8.1
@@ -5842,14 +6483,14 @@ snapshots:
 
   '@graphql-tools/import@7.0.8(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       graphql: 16.10.0
       resolve-from: 5.0.0
       tslib: 2.8.1
 
   '@graphql-tools/json-file-loader@8.0.8(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       globby: 11.1.0
       graphql: 16.10.0
       tslib: 2.8.1
@@ -5857,31 +6498,30 @@ snapshots:
 
   '@graphql-tools/load@8.0.9(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/schema': 10.0.15(graphql@16.10.0)
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/schema': 10.0.25(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       graphql: 16.10.0
       p-limit: 3.1.0
       tslib: 2.8.1
 
   '@graphql-tools/merge@9.0.14(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       graphql: 16.10.0
       tslib: 2.8.1
 
-  '@graphql-tools/merge@9.0.16(graphql@16.10.0)':
+  '@graphql-tools/merge@9.1.1(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/utils': 10.7.1(graphql@16.10.0)
+      '@graphql-tools/utils': 10.9.1(graphql@16.10.0)
       graphql: 16.10.0
       tslib: 2.8.1
 
-  '@graphql-tools/schema@10.0.15(graphql@16.10.0)':
+  '@graphql-tools/schema@10.0.25(graphql@16.10.0)':
     dependencies:
-      '@graphql-tools/merge': 9.0.16(graphql@16.10.0)
-      '@graphql-tools/utils': 10.7.1(graphql@16.10.0)
+      '@graphql-tools/merge': 9.1.1(graphql@16.10.0)
+      '@graphql-tools/utils': 10.9.1(graphql@16.10.0)
       graphql: 16.10.0
       tslib: 2.8.1
-      value-or-promise: 1.0.12
 
   '@graphql-tools/url-loader@8.0.20(@types/node@22.10.5)(graphql@16.10.0)':
     dependencies:
@@ -5889,7 +6529,7 @@ snapshots:
       '@graphql-tools/executor-graphql-ws': 1.3.5(graphql@16.10.0)
       '@graphql-tools/executor-http': 1.2.1(@types/node@22.10.5)(graphql@16.10.0)
       '@graphql-tools/executor-legacy-ws': 1.1.7(graphql@16.10.0)
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       '@graphql-tools/wrap': 10.0.26(graphql@16.10.0)
       '@types/ws': 8.5.10
       '@whatwg-node/fetch': 0.10.1
@@ -5912,19 +6552,29 @@ snapshots:
       graphql: 16.10.0
       tslib: 2.8.1
 
-  '@graphql-tools/utils@10.7.1(graphql@16.10.0)':
+  '@graphql-tools/utils@10.8.6(graphql@16.10.0)':
     dependencies:
       '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0)
+      '@whatwg-node/promise-helpers': 1.3.2
       cross-inspect: 1.0.1
-      dset: 3.1.3
+      dset: 3.1.4
+      graphql: 16.10.0
+      tslib: 2.8.1
+
+  '@graphql-tools/utils@10.9.1(graphql@16.10.0)':
+    dependencies:
+      '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0)
+      '@whatwg-node/promise-helpers': 1.3.2
+      cross-inspect: 1.0.1
+      dset: 3.1.4
       graphql: 16.10.0
       tslib: 2.8.1
 
   '@graphql-tools/wrap@10.0.26(graphql@16.10.0)':
     dependencies:
       '@graphql-tools/delegate': 10.2.8(graphql@16.10.0)
-      '@graphql-tools/schema': 10.0.15(graphql@16.10.0)
-      '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
+      '@graphql-tools/schema': 10.0.25(graphql@16.10.0)
+      '@graphql-tools/utils': 10.8.6(graphql@16.10.0)
       graphql: 16.10.0
       tslib: 2.8.1
 
@@ -5934,11 +6584,21 @@ snapshots:
 
   '@headlessui/react@1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
     dependencies:
-      '@tanstack/react-virtual': 3.8.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@tanstack/react-virtual': 3.13.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       client-only: 0.0.1
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
 
+  '@headlessui/react@2.2.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+    dependencies:
+      '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@react-aria/focus': 3.21.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@react-aria/interactions': 3.25.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@tanstack/react-virtual': 3.13.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      react: 18.3.1
+      react-dom: 18.3.1(react@18.3.1)
+      use-sync-external-store: 1.5.0(react@18.3.1)
+
   '@humanwhocodes/config-array@0.13.0':
     dependencies:
       '@humanwhocodes/object-schema': 2.0.3
@@ -6094,10 +6754,10 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  '@mdx-js/react@3.0.1(@types/react@18.3.18)(react@18.3.1)':
+  '@mdx-js/react@3.0.1(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
       '@types/mdx': 2.0.12
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
       react: 18.3.1
 
   '@napi-rs/simple-git-android-arm-eabi@0.1.16':
@@ -6149,33 +6809,37 @@ snapshots:
 
   '@next/env@13.5.6': {}
 
-  '@next/env@14.2.22': {}
+  '@next/env@14.2.29': {}
 
-  '@next/swc-darwin-arm64@14.2.22':
+  '@next/eslint-plugin-next@15.3.3':
+    dependencies:
+      fast-glob: 3.3.1
+
+  '@next/swc-darwin-arm64@14.2.29':
     optional: true
 
-  '@next/swc-darwin-x64@14.2.22':
+  '@next/swc-darwin-x64@14.2.29':
     optional: true
 
-  '@next/swc-linux-arm64-gnu@14.2.22':
+  '@next/swc-linux-arm64-gnu@14.2.29':
     optional: true
 
-  '@next/swc-linux-arm64-musl@14.2.22':
+  '@next/swc-linux-arm64-musl@14.2.29':
     optional: true
 
-  '@next/swc-linux-x64-gnu@14.2.22':
+  '@next/swc-linux-x64-gnu@14.2.29':
     optional: true
 
-  '@next/swc-linux-x64-musl@14.2.22':
+  '@next/swc-linux-x64-musl@14.2.29':
     optional: true
 
-  '@next/swc-win32-arm64-msvc@14.2.22':
+  '@next/swc-win32-arm64-msvc@14.2.29':
     optional: true
 
-  '@next/swc-win32-ia32-msvc@14.2.22':
+  '@next/swc-win32-ia32-msvc@14.2.29':
     optional: true
 
-  '@next/swc-win32-x64-msvc@14.2.22':
+  '@next/swc-win32-x64-msvc@14.2.29':
     optional: true
 
   '@nodelib/fs.scandir@2.1.5':
@@ -6219,139 +6883,188 @@ snapshots:
 
   '@radix-ui/primitive@1.1.1': {}
 
-  '@radix-ui/react-collection@1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+  '@radix-ui/react-collection@1.1.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
     dependencies:
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-compose-refs@1.1.1(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-context@1.1.1(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-direction@1.1.0(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-direction@1.1.0(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-id@1.1.0(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-id@1.1.0(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-presence@1.1.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+  '@radix-ui/react-presence@1.1.2(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
     dependencies:
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-primitive@2.0.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+  '@radix-ui/react-primitive@2.0.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
     dependencies:
-      '@radix-ui/react-slot': 1.1.1(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-slot': 1.1.1(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-radio-group@1.2.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+  '@radix-ui/react-radio-group@1.2.2(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-presence': 1.1.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      '@radix-ui/react-roving-focus': 1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-presence': 1.1.2(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@radix-ui/react-roving-focus': 1.1.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-use-previous': 1.1.0(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-roving-focus@1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+  '@radix-ui/react-roving-focus@1.1.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
     dependencies:
       '@radix-ui/primitive': 1.1.1
-      '@radix-ui/react-collection': 1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
-      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-collection': 1.1.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-context': 1.1.1(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-direction': 1.1.0(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-id': 1.1.0(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-primitive': 2.0.1(@types/react@18.3.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@18.3.1)
+      '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-slot@1.1.1(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-slot@1.1.1(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
-      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
-      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-use-previous@1.1.0(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
 
-  '@radix-ui/react-use-size@1.1.0(@types/react@18.3.18)(react@18.3.1)':
+  '@radix-ui/react-use-size@1.1.0(@types/react@18.3.23)(react@18.3.1)':
     dependencies:
-      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1)
+      '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.23)(react@18.3.1)
       react: 18.3.1
     optionalDependencies:
-      '@types/react': 18.3.18
+      '@types/react': 18.3.23
+
+  '@react-aria/focus@3.21.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+    dependencies:
+      '@react-aria/interactions': 3.25.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@react-aria/utils': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@react-types/shared': 3.31.0(react@18.3.1)
+      '@swc/helpers': 0.5.17
+      clsx: 2.1.1
+      react: 18.3.1
+      react-dom: 18.3.1(react@18.3.1)
+
+  '@react-aria/interactions@3.25.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+    dependencies:
+      '@react-aria/ssr': 3.9.10(react@18.3.1)
+      '@react-aria/utils': 3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      '@react-stately/flags': 3.1.2
+      '@react-types/shared': 3.31.0(react@18.3.1)
+      '@swc/helpers': 0.5.17
+      react: 18.3.1
+      react-dom: 18.3.1(react@18.3.1)
+
+  '@react-aria/ssr@3.9.10(react@18.3.1)':
+    dependencies:
+      '@swc/helpers': 0.5.17
+      react: 18.3.1
+
+  '@react-aria/utils@3.30.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+    dependencies:
+      '@react-aria/ssr': 3.9.10(react@18.3.1)
+      '@react-stately/flags': 3.1.2
+      '@react-stately/utils': 3.10.8(react@18.3.1)
+      '@react-types/shared': 3.31.0(react@18.3.1)
+      '@swc/helpers': 0.5.17
+      clsx: 2.1.1
+      react: 18.3.1
+      react-dom: 18.3.1(react@18.3.1)
+
+  '@react-stately/flags@3.1.2':
+    dependencies:
+      '@swc/helpers': 0.5.17
+
+  '@react-stately/utils@3.10.8(react@18.3.1)':
+    dependencies:
+      '@swc/helpers': 0.5.17
+      react: 18.3.1
+
+  '@react-types/shared@3.31.0(react@18.3.1)':
+    dependencies:
+      react: 18.3.1
 
   '@repeaterjs/repeater@3.0.6': {}
 
   '@shikijs/core@1.2.1': {}
 
-  '@shikijs/twoslash@1.2.1(typescript@5.7.2)':
+  '@shikijs/twoslash@1.2.1(typescript@5.8.3)':
     dependencies:
       '@shikijs/core': 1.2.1
-      twoslash: 0.2.5(typescript@5.7.2)
+      twoslash: 0.2.5(typescript@5.8.3)
     transitivePeerDependencies:
       - supports-color
       - typescript
@@ -6400,12 +7113,12 @@ snapshots:
       '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.0)
       '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.0)
 
-  '@svgr/core@8.1.0(typescript@5.7.2)':
+  '@svgr/core@8.1.0(typescript@5.8.3)':
     dependencies:
       '@babel/core': 7.26.0
       '@svgr/babel-preset': 8.1.0(@babel/core@7.26.0)
       camelcase: 6.3.0
-      cosmiconfig: 8.3.6(typescript@5.7.2)
+      cosmiconfig: 8.3.6(typescript@5.8.3)
       snake-case: 3.0.4
     transitivePeerDependencies:
       - supports-color
@@ -6416,52 +7129,60 @@ snapshots:
       '@babel/types': 7.26.3
       entities: 4.5.0
 
-  '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.7.2))':
+  '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))':
     dependencies:
       '@babel/core': 7.26.0
       '@svgr/babel-preset': 8.1.0(@babel/core@7.26.0)
-      '@svgr/core': 8.1.0(typescript@5.7.2)
+      '@svgr/core': 8.1.0(typescript@5.8.3)
       '@svgr/hast-util-to-babel-ast': 8.0.0
       svg-parser: 2.0.4
     transitivePeerDependencies:
       - supports-color
 
-  '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.7.2))(typescript@5.7.2)':
+  '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))(typescript@5.8.3)':
     dependencies:
-      '@svgr/core': 8.1.0(typescript@5.7.2)
-      cosmiconfig: 8.3.6(typescript@5.7.2)
+      '@svgr/core': 8.1.0(typescript@5.8.3)
+      cosmiconfig: 8.3.6(typescript@5.8.3)
       deepmerge: 4.3.1
       svgo: 3.3.2
     transitivePeerDependencies:
       - typescript
 
-  '@svgr/webpack@8.1.0(typescript@5.7.2)':
+  '@svgr/webpack@8.1.0(typescript@5.8.3)':
     dependencies:
       '@babel/core': 7.26.0
       '@babel/plugin-transform-react-constant-elements': 7.25.9(@babel/core@7.26.0)
       '@babel/preset-env': 7.26.0(@babel/core@7.26.0)
       '@babel/preset-react': 7.26.3(@babel/core@7.26.0)
       '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0)
-      '@svgr/core': 8.1.0(typescript@5.7.2)
-      '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.7.2))
-      '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.7.2))(typescript@5.7.2)
+      '@svgr/core': 8.1.0(typescript@5.8.3)
+      '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3))
+      '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3))(typescript@5.8.3)
     transitivePeerDependencies:
       - supports-color
       - typescript
 
   '@swc/counter@0.1.3': {}
 
+  '@swc/helpers@0.5.17':
+    dependencies:
+      tslib: 2.8.1
+
   '@swc/helpers@0.5.5':
     dependencies:
       '@swc/counter': 0.1.3
       tslib: 2.8.1
 
+  '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.17)':
+    dependencies:
+      tailwindcss: 3.4.17
+
   '@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.4.49)':
     dependencies:
       postcss: 8.4.49
       postcss-nested: 5.0.6(postcss@8.4.49)
 
-  '@tailwindcss/typography@0.5.15(tailwindcss@3.4.17)':
+  '@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)':
     dependencies:
       lodash.castarray: 4.4.0
       lodash.isplainobject: 4.0.6
@@ -6469,13 +7190,13 @@ snapshots:
       postcss-selector-parser: 6.0.10
       tailwindcss: 3.4.17
 
-  '@tanstack/react-virtual@3.8.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+  '@tanstack/react-virtual@3.13.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
     dependencies:
-      '@tanstack/virtual-core': 3.8.4
+      '@tanstack/virtual-core': 3.13.12
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
 
-  '@tanstack/virtual-core@3.8.4': {}
+  '@tanstack/virtual-core@3.13.12': {}
 
   '@theguild/remark-mermaid@0.0.7(react@18.3.1)':
     dependencies:
@@ -6496,7 +7217,7 @@ snapshots:
     dependencies:
       '@types/estree': 1.0.5
 
-  '@types/codemirror@5.60.7':
+  '@types/codemirror@5.60.16':
     dependencies:
       '@types/tern': 0.23.9
 
@@ -6532,9 +7253,9 @@ snapshots:
 
   '@types/lodash-es@4.17.12':
     dependencies:
-      '@types/lodash': 4.17.13
+      '@types/lodash': 4.17.20
 
-  '@types/lodash@4.17.13': {}
+  '@types/lodash@4.17.20': {}
 
   '@types/mdast@3.0.15':
     dependencies:
@@ -6560,11 +7281,11 @@ snapshots:
     dependencies:
       undici-types: 6.20.0
 
-  '@types/prop-types@15.7.14': {}
+  '@types/prop-types@15.7.15': {}
 
-  '@types/react@18.3.18':
+  '@types/react@18.3.23':
     dependencies:
-      '@types/prop-types': 15.7.14
+      '@types/prop-types': 15.7.15
       csstype: 3.1.3
 
   '@types/rss@0.0.32': {}
@@ -6585,34 +7306,34 @@ snapshots:
     dependencies:
       '@types/node': 22.10.5
 
-  '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)':
+  '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3)':
     dependencies:
       '@eslint-community/regexpp': 4.10.0
-      '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2)
+      '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
       '@typescript-eslint/scope-manager': 7.18.0
-      '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2)
-      '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2)
+      '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
+      '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
       '@typescript-eslint/visitor-keys': 7.18.0
       eslint: 8.57.1
       graphemer: 1.4.0
       ignore: 5.3.1
       natural-compare: 1.4.0
-      ts-api-utils: 1.3.0(typescript@5.7.2)
+      ts-api-utils: 1.3.0(typescript@5.8.3)
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.8.3
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2)':
+  '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.8.3)':
     dependencies:
       '@typescript-eslint/scope-manager': 7.18.0
       '@typescript-eslint/types': 7.18.0
-      '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2)
+      '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
       '@typescript-eslint/visitor-keys': 7.18.0
       debug: 4.3.4
       eslint: 8.57.1
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.8.3
     transitivePeerDependencies:
       - supports-color
 
@@ -6621,21 +7342,21 @@ snapshots:
       '@typescript-eslint/types': 7.18.0
       '@typescript-eslint/visitor-keys': 7.18.0
 
-  '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.7.2)':
+  '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.8.3)':
     dependencies:
-      '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2)
-      '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2)
+      '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
+      '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.8.3)
       debug: 4.3.4
       eslint: 8.57.1
-      ts-api-utils: 1.3.0(typescript@5.7.2)
+      ts-api-utils: 1.3.0(typescript@5.8.3)
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.8.3
     transitivePeerDependencies:
       - supports-color
 
   '@typescript-eslint/types@7.18.0': {}
 
-  '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.2)':
+  '@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3)':
     dependencies:
       '@typescript-eslint/types': 7.18.0
       '@typescript-eslint/visitor-keys': 7.18.0
@@ -6644,18 +7365,18 @@ snapshots:
       is-glob: 4.0.3
       minimatch: 9.0.5
       semver: 7.6.0
-      ts-api-utils: 1.3.0(typescript@5.7.2)
+      ts-api-utils: 1.3.0(typescript@5.8.3)
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.8.3
     transitivePeerDependencies:
       - supports-color
 
-  '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.7.2)':
+  '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.8.3)':
     dependencies:
       '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
       '@typescript-eslint/scope-manager': 7.18.0
       '@typescript-eslint/types': 7.18.0
-      '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2)
+      '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3)
       eslint: 8.57.1
     transitivePeerDependencies:
       - supports-color
@@ -6691,6 +7412,10 @@ snapshots:
       fast-querystring: 1.1.2
       tslib: 2.8.1
 
+  '@whatwg-node/promise-helpers@1.3.2':
+    dependencies:
+      tslib: 2.8.1
+
   abbrev@2.0.0: {}
 
   acorn-jsx@5.3.2(acorn@8.11.3):
@@ -6739,24 +7464,87 @@ snapshots:
 
   argparse@2.0.1: {}
 
+  array-buffer-byte-length@1.0.2:
+    dependencies:
+      call-bound: 1.0.4
+      is-array-buffer: 3.0.5
+
+  array-includes@3.1.9:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-object-atoms: 1.1.1
+      get-intrinsic: 1.3.0
+      is-string: 1.1.1
+      math-intrinsics: 1.1.0
+
   array-iterate@2.0.1: {}
 
   array-union@2.1.0: {}
 
+  array.prototype.findlast@1.2.5:
+    dependencies:
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-errors: 1.3.0
+      es-object-atoms: 1.1.1
+      es-shim-unscopables: 1.1.0
+
+  array.prototype.flat@1.3.3:
+    dependencies:
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-shim-unscopables: 1.1.0
+
+  array.prototype.flatmap@1.3.3:
+    dependencies:
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-shim-unscopables: 1.1.0
+
+  array.prototype.tosorted@1.1.4:
+    dependencies:
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-errors: 1.3.0
+      es-shim-unscopables: 1.1.0
+
+  arraybuffer.prototype.slice@1.0.4:
+    dependencies:
+      array-buffer-byte-length: 1.0.2
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-errors: 1.3.0
+      get-intrinsic: 1.3.0
+      is-array-buffer: 3.0.5
+
   arrify@1.0.1: {}
 
   astring@1.8.6: {}
 
-  autoprefixer@10.4.20(postcss@8.4.49):
+  async-function@1.0.0: {}
+
+  autoprefixer@10.4.21(postcss@8.4.49):
     dependencies:
-      browserslist: 4.24.3
-      caniuse-lite: 1.0.30001690
+      browserslist: 4.25.1
+      caniuse-lite: 1.0.30001726
       fraction.js: 4.3.7
       normalize-range: 0.1.2
       picocolors: 1.1.1
       postcss: 8.4.49
       postcss-value-parser: 4.2.0
 
+  available-typed-arrays@1.0.7:
+    dependencies:
+      possible-typed-array-names: 1.1.0
+
   babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0):
     dependencies:
       '@babel/compat-data': 7.26.3
@@ -6811,24 +7599,54 @@ snapshots:
 
   browserslist@4.24.3:
     dependencies:
-      caniuse-lite: 1.0.30001690
+      caniuse-lite: 1.0.30001726
       electron-to-chromium: 1.5.74
       node-releases: 2.0.19
       update-browserslist-db: 1.1.1(browserslist@4.24.3)
 
+  browserslist@4.25.1:
+    dependencies:
+      caniuse-lite: 1.0.30001726
+      electron-to-chromium: 1.5.179
+      node-releases: 2.0.19
+      update-browserslist-db: 1.1.3(browserslist@4.25.1)
+
   buffer-from@1.1.2: {}
 
   busboy@1.6.0:
     dependencies:
       streamsearch: 1.1.0
 
+  calendar-link@2.10.0:
+    dependencies:
+      dayjs: 1.11.10
+
+  call-bind-apply-helpers@1.0.2:
+    dependencies:
+      es-errors: 1.3.0
+      function-bind: 1.1.2
+
+  call-bind@1.0.8:
+    dependencies:
+      call-bind-apply-helpers: 1.0.2
+      es-define-property: 1.0.1
+      get-intrinsic: 1.3.0
+      set-function-length: 1.2.2
+
+  call-bound@1.0.4:
+    dependencies:
+      call-bind-apply-helpers: 1.0.2
+      get-intrinsic: 1.3.0
+
   callsites@3.1.0: {}
 
   camelcase-css@2.0.1: {}
 
   camelcase@6.3.0: {}
 
-  caniuse-lite@1.0.30001690: {}
+  caniuse-lite@1.0.30001721: {}
+
+  caniuse-lite@1.0.30001726: {}
 
   ccount@2.0.1: {}
 
@@ -6892,16 +7710,16 @@ snapshots:
 
   clsx@2.1.1: {}
 
-  codemirror-graphql@1.3.2(@codemirror/language@0.20.2)(codemirror@5.65.1)(graphql@16.10.0):
+  codemirror-graphql@1.3.2(@codemirror/language@0.20.2)(codemirror@5.65.19)(graphql@16.10.0):
     dependencies:
       '@codemirror/language': 0.20.2
-      codemirror: 5.65.1
+      codemirror: 5.65.19
       graphql: 16.10.0
       graphql-language-service: 5.2.0(graphql@16.10.0)
 
-  codemirror@5.65.1: {}
+  codemirror@5.65.19: {}
 
-  codsen-utils@1.6.4:
+  codsen-utils@1.6.8:
     dependencies:
       rfdc: 1.4.1
 
@@ -6964,14 +7782,14 @@ snapshots:
     dependencies:
       layout-base: 1.0.2
 
-  cosmiconfig@8.3.6(typescript@5.7.2):
+  cosmiconfig@8.3.6(typescript@5.8.3):
     dependencies:
       import-fresh: 3.3.0
       js-yaml: 4.1.0
       parse-json: 5.2.0
       path-type: 4.0.0
     optionalDependencies:
-      typescript: 5.7.2
+      typescript: 5.8.3
 
   cross-inspect@1.0.1:
     dependencies:
@@ -7205,6 +8023,24 @@ snapshots:
       d3: 7.9.0
       lodash-es: 4.17.21
 
+  data-view-buffer@1.0.2:
+    dependencies:
+      call-bound: 1.0.4
+      es-errors: 1.3.0
+      is-data-view: 1.0.2
+
+  data-view-byte-length@1.0.2:
+    dependencies:
+      call-bound: 1.0.4
+      es-errors: 1.3.0
+      is-data-view: 1.0.2
+
+  data-view-byte-offset@1.0.1:
+    dependencies:
+      call-bound: 1.0.4
+      es-errors: 1.3.0
+      is-data-view: 1.0.2
+
   dataloader@2.2.3: {}
 
   date-fns@2.30.0:
@@ -7233,6 +8069,18 @@ snapshots:
 
   deepmerge@4.3.1: {}
 
+  define-data-property@1.1.4:
+    dependencies:
+      es-define-property: 1.0.1
+      es-errors: 1.3.0
+      gopd: 1.2.0
+
+  define-properties@1.2.1:
+    dependencies:
+      define-data-property: 1.1.4
+      has-property-descriptors: 1.0.2
+      object-keys: 1.1.1
+
   delaunator@5.0.1:
     dependencies:
       robust-predicates: 3.0.2
@@ -7255,6 +8103,10 @@ snapshots:
 
   dlv@1.1.3: {}
 
+  doctrine@2.1.0:
+    dependencies:
+      esutils: 2.0.3
+
   doctrine@3.0.0:
     dependencies:
       esutils: 2.0.3
@@ -7286,8 +8138,18 @@ snapshots:
 
   dset@3.1.3: {}
 
+  dset@3.1.4: {}
+
+  dunder-proto@1.0.1:
+    dependencies:
+      call-bind-apply-helpers: 1.0.2
+      es-errors: 1.3.0
+      gopd: 1.2.0
+
   eastasianwidth@0.2.0: {}
 
+  electron-to-chromium@1.5.179: {}
+
   electron-to-chromium@1.5.74: {}
 
   elkjs@0.9.2: {}
@@ -7309,32 +8171,134 @@ snapshots:
     dependencies:
       is-arrayish: 0.2.1
 
-  esbuild@0.23.1:
+  es-abstract@1.24.0:
+    dependencies:
+      array-buffer-byte-length: 1.0.2
+      arraybuffer.prototype.slice: 1.0.4
+      available-typed-arrays: 1.0.7
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      data-view-buffer: 1.0.2
+      data-view-byte-length: 1.0.2
+      data-view-byte-offset: 1.0.1
+      es-define-property: 1.0.1
+      es-errors: 1.3.0
+      es-object-atoms: 1.1.1
+      es-set-tostringtag: 2.1.0
+      es-to-primitive: 1.3.0
+      function.prototype.name: 1.1.8
+      get-intrinsic: 1.3.0
+      get-proto: 1.0.1
+      get-symbol-description: 1.1.0
+      globalthis: 1.0.4
+      gopd: 1.2.0
+      has-property-descriptors: 1.0.2
+      has-proto: 1.2.0
+      has-symbols: 1.1.0
+      hasown: 2.0.2
+      internal-slot: 1.1.0
+      is-array-buffer: 3.0.5
+      is-callable: 1.2.7
+      is-data-view: 1.0.2
+      is-negative-zero: 2.0.3
+      is-regex: 1.2.1
+      is-set: 2.0.3
+      is-shared-array-buffer: 1.0.4
+      is-string: 1.1.1
+      is-typed-array: 1.1.15
+      is-weakref: 1.1.1
+      math-intrinsics: 1.1.0
+      object-inspect: 1.13.4
+      object-keys: 1.1.1
+      object.assign: 4.1.7
+      own-keys: 1.0.1
+      regexp.prototype.flags: 1.5.4
+      safe-array-concat: 1.1.3
+      safe-push-apply: 1.0.0
+      safe-regex-test: 1.1.0
+      set-proto: 1.0.0
+      stop-iteration-iterator: 1.1.0
+      string.prototype.trim: 1.2.10
+      string.prototype.trimend: 1.0.9
+      string.prototype.trimstart: 1.0.8
+      typed-array-buffer: 1.0.3
+      typed-array-byte-length: 1.0.3
+      typed-array-byte-offset: 1.0.4
+      typed-array-length: 1.0.7
+      unbox-primitive: 1.1.0
+      which-typed-array: 1.1.19
+
+  es-define-property@1.0.1: {}
+
+  es-errors@1.3.0: {}
+
+  es-iterator-helpers@1.2.1:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-errors: 1.3.0
+      es-set-tostringtag: 2.1.0
+      function-bind: 1.1.2
+      get-intrinsic: 1.3.0
+      globalthis: 1.0.4
+      gopd: 1.2.0
+      has-property-descriptors: 1.0.2
+      has-proto: 1.2.0
+      has-symbols: 1.1.0
+      internal-slot: 1.1.0
+      iterator.prototype: 1.1.5
+      safe-array-concat: 1.1.3
+
+  es-object-atoms@1.1.1:
+    dependencies:
+      es-errors: 1.3.0
+
+  es-set-tostringtag@2.1.0:
+    dependencies:
+      es-errors: 1.3.0
+      get-intrinsic: 1.3.0
+      has-tostringtag: 1.0.2
+      hasown: 2.0.2
+
+  es-shim-unscopables@1.1.0:
+    dependencies:
+      hasown: 2.0.2
+
+  es-to-primitive@1.3.0:
+    dependencies:
+      is-callable: 1.2.7
+      is-date-object: 1.1.0
+      is-symbol: 1.1.1
+
+  esbuild@0.25.5:
     optionalDependencies:
-      '@esbuild/aix-ppc64': 0.23.1
-      '@esbuild/android-arm': 0.23.1
-      '@esbuild/android-arm64': 0.23.1
-      '@esbuild/android-x64': 0.23.1
-      '@esbuild/darwin-arm64': 0.23.1
-      '@esbuild/darwin-x64': 0.23.1
-      '@esbuild/freebsd-arm64': 0.23.1
-      '@esbuild/freebsd-x64': 0.23.1
-      '@esbuild/linux-arm': 0.23.1
-      '@esbuild/linux-arm64': 0.23.1
-      '@esbuild/linux-ia32': 0.23.1
-      '@esbuild/linux-loong64': 0.23.1
-      '@esbuild/linux-mips64el': 0.23.1
-      '@esbuild/linux-ppc64': 0.23.1
-      '@esbuild/linux-riscv64': 0.23.1
-      '@esbuild/linux-s390x': 0.23.1
-      '@esbuild/linux-x64': 0.23.1
-      '@esbuild/netbsd-x64': 0.23.1
-      '@esbuild/openbsd-arm64': 0.23.1
-      '@esbuild/openbsd-x64': 0.23.1
-      '@esbuild/sunos-x64': 0.23.1
-      '@esbuild/win32-arm64': 0.23.1
-      '@esbuild/win32-ia32': 0.23.1
-      '@esbuild/win32-x64': 0.23.1
+      '@esbuild/aix-ppc64': 0.25.5
+      '@esbuild/android-arm': 0.25.5
+      '@esbuild/android-arm64': 0.25.5
+      '@esbuild/android-x64': 0.25.5
+      '@esbuild/darwin-arm64': 0.25.5
+      '@esbuild/darwin-x64': 0.25.5
+      '@esbuild/freebsd-arm64': 0.25.5
+      '@esbuild/freebsd-x64': 0.25.5
+      '@esbuild/linux-arm': 0.25.5
+      '@esbuild/linux-arm64': 0.25.5
+      '@esbuild/linux-ia32': 0.25.5
+      '@esbuild/linux-loong64': 0.25.5
+      '@esbuild/linux-mips64el': 0.25.5
+      '@esbuild/linux-ppc64': 0.25.5
+      '@esbuild/linux-riscv64': 0.25.5
+      '@esbuild/linux-s390x': 0.25.5
+      '@esbuild/linux-x64': 0.25.5
+      '@esbuild/netbsd-arm64': 0.25.5
+      '@esbuild/netbsd-x64': 0.25.5
+      '@esbuild/openbsd-arm64': 0.25.5
+      '@esbuild/openbsd-x64': 0.25.5
+      '@esbuild/sunos-x64': 0.25.5
+      '@esbuild/win32-arm64': 0.25.5
+      '@esbuild/win32-ia32': 0.25.5
+      '@esbuild/win32-x64': 0.25.5
 
   escalade@3.2.0: {}
 
@@ -7344,7 +8308,7 @@ snapshots:
 
   escape-string-regexp@5.0.0: {}
 
-  eslint-config-prettier@9.1.0(eslint@8.57.1):
+  eslint-config-prettier@9.1.2(eslint@8.57.1):
     dependencies:
       eslint: 8.57.1
 
@@ -7389,6 +8353,32 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
+  eslint-plugin-react-hooks@5.2.0(eslint@8.57.1):
+    dependencies:
+      eslint: 8.57.1
+
+  eslint-plugin-react@7.37.5(eslint@8.57.1):
+    dependencies:
+      array-includes: 3.1.9
+      array.prototype.findlast: 1.2.5
+      array.prototype.flatmap: 1.3.3
+      array.prototype.tosorted: 1.1.4
+      doctrine: 2.1.0
+      es-iterator-helpers: 1.2.1
+      eslint: 8.57.1
+      estraverse: 5.3.0
+      hasown: 2.0.2
+      jsx-ast-utils: 3.3.5
+      minimatch: 3.1.2
+      object.entries: 1.1.9
+      object.fromentries: 2.0.8
+      object.values: 1.2.1
+      prop-types: 15.8.1
+      resolve: 2.0.0-next.5
+      semver: 6.3.1
+      string.prototype.matchall: 4.0.12
+      string.prototype.repeat: 1.0.0
+
   eslint-plugin-tailwindcss@3.17.5(tailwindcss@3.4.17):
     dependencies:
       fast-glob: 3.3.3
@@ -7528,6 +8518,14 @@ snapshots:
 
   fast-deep-equal@3.1.3: {}
 
+  fast-glob@3.3.1:
+    dependencies:
+      '@nodelib/fs.stat': 2.0.5
+      '@nodelib/fs.walk': 1.2.8
+      glob-parent: 5.1.2
+      merge2: 1.4.1
+      micromatch: 4.0.8
+
   fast-glob@3.3.3:
     dependencies:
       '@nodelib/fs.stat': 2.0.5
@@ -7582,6 +8580,10 @@ snapshots:
 
   focus-visible@5.2.0: {}
 
+  for-each@0.3.5:
+    dependencies:
+      is-callable: 1.2.7
+
   for-in@1.0.2: {}
 
   foreground-child@3.3.0:
@@ -7593,6 +8595,15 @@ snapshots:
 
   fraction.js@4.3.7: {}
 
+  framer-motion@12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+    dependencies:
+      motion-dom: 12.11.0
+      motion-utils: 12.9.4
+      tslib: 2.8.1
+    optionalDependencies:
+      react: 18.3.1
+      react-dom: 18.3.1(react@18.3.1)
+
   fs.realpath@1.0.0: {}
 
   fsevents@2.3.3:
@@ -7600,11 +8611,46 @@ snapshots:
 
   function-bind@1.1.2: {}
 
+  function.prototype.name@1.1.8:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-properties: 1.2.1
+      functions-have-names: 1.2.3
+      hasown: 2.0.2
+      is-callable: 1.2.7
+
+  functions-have-names@1.2.3: {}
+
   gensync@1.0.0-beta.2: {}
 
+  get-intrinsic@1.3.0:
+    dependencies:
+      call-bind-apply-helpers: 1.0.2
+      es-define-property: 1.0.1
+      es-errors: 1.3.0
+      es-object-atoms: 1.1.1
+      function-bind: 1.1.2
+      get-proto: 1.0.1
+      gopd: 1.2.0
+      has-symbols: 1.1.0
+      hasown: 2.0.2
+      math-intrinsics: 1.1.0
+
+  get-proto@1.0.1:
+    dependencies:
+      dunder-proto: 1.0.1
+      es-object-atoms: 1.1.1
+
   get-stream@3.0.0: {}
 
-  get-tsconfig@4.8.1:
+  get-symbol-description@1.1.0:
+    dependencies:
+      call-bound: 1.0.4
+      es-errors: 1.3.0
+      get-intrinsic: 1.3.0
+
+  get-tsconfig@4.10.1:
     dependencies:
       resolve-pkg-maps: 1.0.0
 
@@ -7650,6 +8696,11 @@ snapshots:
     dependencies:
       type-fest: 0.20.2
 
+  globalthis@1.0.4:
+    dependencies:
+      define-properties: 1.2.1
+      gopd: 1.2.0
+
   globby@11.1.0:
     dependencies:
       array-union: 2.1.0
@@ -7659,11 +8710,13 @@ snapshots:
       merge2: 1.4.1
       slash: 3.0.0
 
+  gopd@1.2.0: {}
+
   graceful-fs@4.2.11: {}
 
   graphemer@1.4.0: {}
 
-  graphql-config@5.1.3(@types/node@22.10.5)(graphql@16.10.0)(typescript@5.7.2):
+  graphql-config@5.1.3(@types/node@22.10.5)(graphql@16.10.0)(typescript@5.8.3):
     dependencies:
       '@graphql-tools/graphql-file-loader': 8.0.8(graphql@16.10.0)
       '@graphql-tools/json-file-loader': 8.0.8(graphql@16.10.0)
@@ -7671,7 +8724,7 @@ snapshots:
       '@graphql-tools/merge': 9.0.14(graphql@16.10.0)
       '@graphql-tools/url-loader': 8.0.20(@types/node@22.10.5)(graphql@16.10.0)
       '@graphql-tools/utils': 10.6.4(graphql@16.10.0)
-      cosmiconfig: 8.3.6(typescript@5.7.2)
+      cosmiconfig: 8.3.6(typescript@5.8.3)
       graphql: 16.10.0
       jiti: 2.4.2
       minimatch: 9.0.5
@@ -7715,12 +8768,28 @@ snapshots:
       section-matter: 1.0.0
       strip-bom-string: 1.0.0
 
+  has-bigints@1.1.0: {}
+
   has-flag@2.0.0: {}
 
   has-flag@3.0.0: {}
 
   has-flag@4.0.0: {}
 
+  has-property-descriptors@1.0.2:
+    dependencies:
+      es-define-property: 1.0.1
+
+  has-proto@1.2.0:
+    dependencies:
+      dunder-proto: 1.0.1
+
+  has-symbols@1.1.0: {}
+
+  has-tostringtag@1.0.2:
+    dependencies:
+      has-symbols: 1.1.0
+
   hasown@2.0.2:
     dependencies:
       function-bind: 1.1.2
@@ -7858,7 +8927,7 @@ snapshots:
 
   heap@0.2.7: {}
 
-  html-entities@2.5.2: {}
+  html-entities@2.6.0: {}
 
   html-void-elements@3.0.0: {}
 
@@ -7907,6 +8976,12 @@ snapshots:
 
   inline-style-parser@0.2.3: {}
 
+  internal-slot@1.1.0:
+    dependencies:
+      es-errors: 1.3.0
+      hasown: 2.0.2
+      side-channel: 1.1.0
+
   internmap@1.0.1: {}
 
   internmap@2.0.3: {}
@@ -7927,10 +9002,28 @@ snapshots:
       is-alphabetical: 2.0.1
       is-decimal: 2.0.1
 
+  is-array-buffer@3.0.5:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      get-intrinsic: 1.3.0
+
   is-arrayish@0.2.1: {}
 
   is-arrayish@0.3.2: {}
 
+  is-async-function@2.1.1:
+    dependencies:
+      async-function: 1.0.0
+      call-bound: 1.0.4
+      get-proto: 1.0.1
+      has-tostringtag: 1.0.2
+      safe-regex-test: 1.1.0
+
+  is-bigint@1.1.0:
+    dependencies:
+      has-bigints: 1.1.0
+
   is-binary-buffer@1.0.0:
     dependencies:
       is-buffer: 1.1.6
@@ -7939,14 +9032,32 @@ snapshots:
     dependencies:
       binary-extensions: 2.3.0
 
+  is-boolean-object@1.2.2:
+    dependencies:
+      call-bound: 1.0.4
+      has-tostringtag: 1.0.2
+
   is-buffer@1.1.6: {}
 
   is-buffer@2.0.5: {}
 
+  is-callable@1.2.7: {}
+
   is-core-module@2.16.0:
     dependencies:
       hasown: 2.0.2
 
+  is-data-view@1.0.2:
+    dependencies:
+      call-bound: 1.0.4
+      get-intrinsic: 1.3.0
+      is-typed-array: 1.1.15
+
+  is-date-object@1.1.0:
+    dependencies:
+      call-bound: 1.0.4
+      has-tostringtag: 1.0.2
+
   is-decimal@1.0.4: {}
 
   is-decimal@2.0.1: {}
@@ -7961,8 +9072,19 @@ snapshots:
 
   is-extglob@2.1.1: {}
 
+  is-finalizationregistry@1.1.1:
+    dependencies:
+      call-bound: 1.0.4
+
   is-fullwidth-code-point@3.0.0: {}
 
+  is-generator-function@1.1.0:
+    dependencies:
+      call-bound: 1.0.4
+      get-proto: 1.0.1
+      has-tostringtag: 1.0.2
+      safe-regex-test: 1.1.0
+
   is-glob@4.0.3:
     dependencies:
       is-extglob: 2.1.1
@@ -7971,6 +9093,15 @@ snapshots:
 
   is-hexadecimal@2.0.1: {}
 
+  is-map@2.0.3: {}
+
+  is-negative-zero@2.0.3: {}
+
+  is-number-object@1.1.1:
+    dependencies:
+      call-bound: 1.0.4
+      has-tostringtag: 1.0.2
+
   is-number@7.0.0: {}
 
   is-path-inside@3.0.3: {}
@@ -7987,12 +9118,53 @@ snapshots:
     dependencies:
       '@types/estree': 1.0.5
 
+  is-regex@1.2.1:
+    dependencies:
+      call-bound: 1.0.4
+      gopd: 1.2.0
+      has-tostringtag: 1.0.2
+      hasown: 2.0.2
+
+  is-set@2.0.3: {}
+
+  is-shared-array-buffer@1.0.4:
+    dependencies:
+      call-bound: 1.0.4
+
   is-stream@1.1.0: {}
 
+  is-string@1.1.1:
+    dependencies:
+      call-bound: 1.0.4
+      has-tostringtag: 1.0.2
+
+  is-symbol@1.1.1:
+    dependencies:
+      call-bound: 1.0.4
+      has-symbols: 1.1.0
+      safe-regex-test: 1.1.0
+
+  is-typed-array@1.1.15:
+    dependencies:
+      which-typed-array: 1.1.19
+
+  is-weakmap@2.0.2: {}
+
+  is-weakref@1.1.1:
+    dependencies:
+      call-bound: 1.0.4
+
+  is-weakset@2.0.4:
+    dependencies:
+      call-bound: 1.0.4
+      get-intrinsic: 1.3.0
+
   is-what@3.14.1: {}
 
   is-whitespace@0.3.0: {}
 
+  isarray@2.0.5: {}
+
   isexe@2.0.0: {}
 
   isobject@3.0.1: {}
@@ -8001,6 +9173,15 @@ snapshots:
     dependencies:
       ws: 8.18.0
 
+  iterator.prototype@1.1.5:
+    dependencies:
+      define-data-property: 1.1.4
+      es-object-atoms: 1.1.1
+      get-intrinsic: 1.3.0
+      get-proto: 1.0.1
+      has-symbols: 1.1.0
+      set-function-name: 2.0.2
+
   jackspeak@2.3.6:
     dependencies:
       '@isaacs/cliui': 8.0.2
@@ -8044,6 +9225,13 @@ snapshots:
 
   json5@2.2.3: {}
 
+  jsx-ast-utils@3.3.5:
+    dependencies:
+      array-includes: 3.1.9
+      array.prototype.flat: 1.3.3
+      object.assign: 4.1.7
+      object.values: 1.2.1
+
   katex@0.16.10:
     dependencies:
       commander: 8.3.0
@@ -8163,12 +9351,14 @@ snapshots:
 
   markdown-table@3.0.3: {}
 
-  markdown-to-jsx@7.7.2(react@18.3.1):
+  markdown-to-jsx@7.7.12(react@18.3.1):
     dependencies:
       react: 18.3.1
 
   marked@5.1.2: {}
 
+  math-intrinsics@1.1.0: {}
+
   mathjax-full@3.2.2:
     dependencies:
       esm: 3.2.25
@@ -8886,6 +10076,20 @@ snapshots:
 
   mj-context-menu@0.6.1: {}
 
+  motion-dom@12.11.0:
+    dependencies:
+      motion-utils: 12.9.4
+
+  motion-utils@12.9.4: {}
+
+  motion@12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+    dependencies:
+      framer-motion: 12.11.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      tslib: 2.8.1
+    optionalDependencies:
+      react: 18.3.1
+      react-dom: 18.3.1(react@18.3.1)
+
   mri@1.2.0: {}
 
   ms@2.1.2: {}
@@ -8908,66 +10112,66 @@ snapshots:
       sax: 1.4.1
     optional: true
 
-  next-image-export-optimizer@1.18.0(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
+  next-image-export-optimizer@1.18.0(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1):
     dependencies:
-      next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      next: 14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       react: 18.3.1
       sharp: 0.33.5
-      typescript: 5.7.2
+      typescript: 5.8.3
 
-  next-query-params@5.0.1(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(use-query-params@2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
+  next-query-params@5.0.1(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)(use-query-params@2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
     dependencies:
-      next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      next: 14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       react: 18.3.1
       tslib: 2.8.1
       use-query-params: 2.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
 
-  next-sitemap@4.2.3(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
+  next-sitemap@4.2.3(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
     dependencies:
       '@corex/deepmerge': 4.0.43
       '@next/env': 13.5.6
       fast-glob: 3.3.3
       minimist: 1.2.8
-      next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      next: 14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
 
   next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
     dependencies:
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
 
-  next-with-less@3.0.1(less-loader@12.2.0(less@4.2.1))(less@4.2.1)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
+  next-with-less@3.0.1(less-loader@12.2.0(less@4.2.1))(less@4.2.1)(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
     dependencies:
       clone-deep: 4.0.1
       less: 4.2.1
       less-loader: 12.2.0(less@4.2.1)
-      next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      next: 14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
 
-  next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+  next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
     dependencies:
-      '@next/env': 14.2.22
+      '@next/env': 14.2.29
       '@swc/helpers': 0.5.5
       busboy: 1.6.0
-      caniuse-lite: 1.0.30001690
+      caniuse-lite: 1.0.30001721
       graceful-fs: 4.2.11
       postcss: 8.4.31
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
       styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.3.1)
     optionalDependencies:
-      '@next/swc-darwin-arm64': 14.2.22
-      '@next/swc-darwin-x64': 14.2.22
-      '@next/swc-linux-arm64-gnu': 14.2.22
-      '@next/swc-linux-arm64-musl': 14.2.22
-      '@next/swc-linux-x64-gnu': 14.2.22
-      '@next/swc-linux-x64-musl': 14.2.22
-      '@next/swc-win32-arm64-msvc': 14.2.22
-      '@next/swc-win32-ia32-msvc': 14.2.22
-      '@next/swc-win32-x64-msvc': 14.2.22
+      '@next/swc-darwin-arm64': 14.2.29
+      '@next/swc-darwin-x64': 14.2.29
+      '@next/swc-linux-arm64-gnu': 14.2.29
+      '@next/swc-linux-arm64-musl': 14.2.29
+      '@next/swc-linux-x64-gnu': 14.2.29
+      '@next/swc-linux-x64-musl': 14.2.29
+      '@next/swc-win32-arm64-msvc': 14.2.29
+      '@next/swc-win32-ia32-msvc': 14.2.29
+      '@next/swc-win32-x64-msvc': 14.2.29
     transitivePeerDependencies:
       - '@babel/core'
       - babel-plugin-macros
 
-  nextra-theme-docs@3.0.0-alpha.28(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+  nextra-theme-docs@3.0.0-alpha.28(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@3.0.0-alpha.28(patch_hash=rlrllt7ydx3t6f2hccqi2i2pf4)(@types/react@18.3.23)(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
     dependencies:
       '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       '@popperjs/core': 2.11.8
@@ -8976,21 +10180,21 @@ snapshots:
       flexsearch: 0.7.43
       focus-visible: 5.2.0
       intersection-observer: 0.12.2
-      next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      next: 14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       next-themes: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-      nextra: 3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)
+      nextra: 3.0.0-alpha.28(patch_hash=rlrllt7ydx3t6f2hccqi2i2pf4)(@types/react@18.3.23)(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3)
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
       scroll-into-view-if-needed: 3.1.0
       zod: 3.22.4
 
-  nextra@3.0.0-alpha.28(patch_hash=rggcgtpcrgz5zyoxmhwje4p6rm)(@types/react@18.3.18)(next@14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2):
+  nextra@3.0.0-alpha.28(patch_hash=rlrllt7ydx3t6f2hccqi2i2pf4)(@types/react@18.3.23)(next@14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.8.3):
     dependencies:
       '@headlessui/react': 1.7.19(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       '@mdx-js/mdx': 3.0.1
-      '@mdx-js/react': 3.0.1(@types/react@18.3.18)(react@18.3.1)
+      '@mdx-js/react': 3.0.1(@types/react@18.3.23)(react@18.3.1)
       '@napi-rs/simple-git': 0.1.16
-      '@shikijs/twoslash': 1.2.1(typescript@5.7.2)
+      '@shikijs/twoslash': 1.2.1(typescript@5.8.3)
       '@theguild/remark-mermaid': 0.0.7(react@18.3.1)
       '@theguild/remark-npm2yarn': 0.3.0
       better-react-mathjax: 2.0.3(react@18.3.1)
@@ -9002,7 +10206,7 @@ snapshots:
       gray-matter: 4.0.3
       hast-util-to-estree: 3.1.0
       katex: 0.16.10
-      next: 14.2.22(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+      next: 14.2.29(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
       p-limit: 6.1.0
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
@@ -9078,6 +10282,40 @@ snapshots:
 
   object-hash@3.0.0: {}
 
+  object-inspect@1.13.4: {}
+
+  object-keys@1.1.1: {}
+
+  object.assign@4.1.7:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-properties: 1.2.1
+      es-object-atoms: 1.1.1
+      has-symbols: 1.1.0
+      object-keys: 1.1.1
+
+  object.entries@1.1.9:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-properties: 1.2.1
+      es-object-atoms: 1.1.1
+
+  object.fromentries@2.0.8:
+    dependencies:
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-object-atoms: 1.1.1
+
+  object.values@1.2.1:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-properties: 1.2.1
+      es-object-atoms: 1.1.1
+
   once@1.4.0:
     dependencies:
       wrappy: 1.0.2
@@ -9091,6 +10329,12 @@ snapshots:
       prelude-ls: 1.2.1
       type-check: 0.4.0
 
+  own-keys@1.0.1:
+    dependencies:
+      get-intrinsic: 1.3.0
+      object-keys: 1.1.1
+      safe-push-apply: 1.0.0
+
   p-finally@1.0.0: {}
 
   p-limit@3.1.0:
@@ -9211,6 +10455,8 @@ snapshots:
 
   pirates@4.0.6: {}
 
+  possible-typed-array-names@1.1.0: {}
+
   postcss-import@15.1.0(postcss@8.4.49):
     dependencies:
       postcss: 8.4.49
@@ -9233,7 +10479,7 @@ snapshots:
   postcss-nested@5.0.6(postcss@8.4.49):
     dependencies:
       postcss: 8.4.49
-      postcss-selector-parser: 6.0.16
+      postcss-selector-parser: 6.1.2
 
   postcss-nested@6.2.0(postcss@8.4.49):
     dependencies:
@@ -9245,11 +10491,6 @@ snapshots:
       cssesc: 3.0.0
       util-deprecate: 1.0.2
 
-  postcss-selector-parser@6.0.16:
-    dependencies:
-      cssesc: 3.0.0
-      util-deprecate: 1.0.2
-
   postcss-selector-parser@6.1.2:
     dependencies:
       cssesc: 3.0.0
@@ -9271,15 +10512,15 @@ snapshots:
 
   prelude-ls@1.2.1: {}
 
-  prettier-plugin-pkg@0.18.1(prettier@3.4.2):
+  prettier-plugin-pkg@0.20.0(prettier@3.5.3):
     dependencies:
-      prettier: 3.4.2
+      prettier: 3.5.3
 
-  prettier-plugin-tailwindcss@0.6.9(prettier@3.4.2):
+  prettier-plugin-tailwindcss@0.6.14(prettier@3.5.3):
     dependencies:
-      prettier: 3.4.2
+      prettier: 3.5.3
 
-  prettier@3.4.2: {}
+  prettier@3.5.3: {}
 
   proc-log@3.0.0: {}
 
@@ -9300,24 +10541,24 @@ snapshots:
 
   queue-microtask@1.2.3: {}
 
-  ranges-apply@7.0.16:
+  ranges-apply@7.0.20:
     dependencies:
-      ranges-merge: 9.0.15
+      ranges-merge: 9.0.19
       tiny-invariant: 1.3.3
 
-  ranges-merge@9.0.15:
+  ranges-merge@9.0.19:
     dependencies:
-      ranges-push: 7.0.15
-      ranges-sort: 6.0.11
+      ranges-push: 7.0.19
+      ranges-sort: 6.0.14
 
-  ranges-push@7.0.15:
+  ranges-push@7.0.19:
     dependencies:
-      codsen-utils: 1.6.4
-      ranges-sort: 6.0.11
-      string-collapse-leading-whitespace: 7.0.7
-      string-trim-spaces-only: 5.0.10
+      codsen-utils: 1.6.8
+      ranges-sort: 6.0.14
+      string-collapse-leading-whitespace: 7.0.9
+      string-trim-spaces-only: 5.0.13
 
-  ranges-sort@6.0.11: {}
+  ranges-sort@6.0.14: {}
 
   react-dom@18.3.1(react@18.3.1):
     dependencies:
@@ -9332,6 +10573,12 @@ snapshots:
       react: 18.3.1
       react-dom: 18.3.1(react@18.3.1)
 
+  react-use-measure@2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+    dependencies:
+      react: 18.3.1
+    optionalDependencies:
+      react-dom: 18.3.1(react@18.3.1)
+
   react@18.3.1:
     dependencies:
       loose-envify: 1.4.0
@@ -9357,6 +10604,17 @@ snapshots:
 
   reading-time@1.5.0: {}
 
+  reflect.getprototypeof@1.0.10:
+    dependencies:
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-errors: 1.3.0
+      es-object-atoms: 1.1.1
+      get-intrinsic: 1.3.0
+      get-proto: 1.0.1
+      which-builtin-type: 1.2.1
+
   regenerate-unicode-properties@10.2.0:
     dependencies:
       regenerate: 1.4.2
@@ -9369,6 +10627,15 @@ snapshots:
     dependencies:
       '@babel/runtime': 7.26.0
 
+  regexp.prototype.flags@1.5.4:
+    dependencies:
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-errors: 1.3.0
+      get-proto: 1.0.1
+      gopd: 1.2.0
+      set-function-name: 2.0.2
+
   regexpu-core@6.2.0:
     dependencies:
       regenerate: 1.4.2
@@ -9519,6 +10786,12 @@ snapshots:
       path-parse: 1.0.7
       supports-preserve-symlinks-flag: 1.0.0
 
+  resolve@2.0.0-next.5:
+    dependencies:
+      is-core-module: 2.16.0
+      path-parse: 1.0.7
+      supports-preserve-symlinks-flag: 1.0.0
+
   retext-latin@4.0.0:
     dependencies:
       '@types/nlcst': 2.0.3
@@ -9569,8 +10842,27 @@ snapshots:
     dependencies:
       mri: 1.2.0
 
+  safe-array-concat@1.1.3:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      get-intrinsic: 1.3.0
+      has-symbols: 1.1.0
+      isarray: 2.0.5
+
   safe-buffer@5.2.1: {}
 
+  safe-push-apply@1.0.0:
+    dependencies:
+      es-errors: 1.3.0
+      isarray: 2.0.5
+
+  safe-regex-test@1.1.0:
+    dependencies:
+      call-bound: 1.0.4
+      es-errors: 1.3.0
+      is-regex: 1.2.1
+
   safer-buffer@2.1.2: {}
 
   sax@1.4.1:
@@ -9604,10 +10896,32 @@ snapshots:
 
   server-only@0.0.1: {}
 
+  set-function-length@1.2.2:
+    dependencies:
+      define-data-property: 1.1.4
+      es-errors: 1.3.0
+      function-bind: 1.1.2
+      get-intrinsic: 1.3.0
+      gopd: 1.2.0
+      has-property-descriptors: 1.0.2
+
+  set-function-name@2.0.2:
+    dependencies:
+      define-data-property: 1.1.4
+      es-errors: 1.3.0
+      functions-have-names: 1.2.3
+      has-property-descriptors: 1.0.2
+
   set-getter@0.1.1:
     dependencies:
       to-object-path: 0.3.0
 
+  set-proto@1.0.0:
+    dependencies:
+      dunder-proto: 1.0.1
+      es-errors: 1.3.0
+      es-object-atoms: 1.1.1
+
   shallow-clone@3.0.1:
     dependencies:
       kind-of: 6.0.3
@@ -9654,6 +10968,34 @@ snapshots:
     dependencies:
       '@shikijs/core': 1.2.1
 
+  side-channel-list@1.0.0:
+    dependencies:
+      es-errors: 1.3.0
+      object-inspect: 1.13.4
+
+  side-channel-map@1.0.1:
+    dependencies:
+      call-bound: 1.0.4
+      es-errors: 1.3.0
+      get-intrinsic: 1.3.0
+      object-inspect: 1.13.4
+
+  side-channel-weakmap@1.0.2:
+    dependencies:
+      call-bound: 1.0.4
+      es-errors: 1.3.0
+      get-intrinsic: 1.3.0
+      object-inspect: 1.13.4
+      side-channel-map: 1.0.1
+
+  side-channel@1.1.0:
+    dependencies:
+      es-errors: 1.3.0
+      object-inspect: 1.13.4
+      side-channel-list: 1.0.0
+      side-channel-map: 1.0.1
+      side-channel-weakmap: 1.0.2
+
   signal-exit@3.0.7: {}
 
   signal-exit@4.1.0: {}
@@ -9688,30 +11030,35 @@ snapshots:
 
   sprintf-js@1.0.3: {}
 
+  stop-iteration-iterator@1.1.0:
+    dependencies:
+      es-errors: 1.3.0
+      internal-slot: 1.1.0
+
   streamsearch@1.1.0: {}
 
-  string-collapse-leading-whitespace@7.0.7: {}
+  string-collapse-leading-whitespace@7.0.9: {}
 
   string-env-interpolation@1.0.1: {}
 
-  string-left-right@6.0.17:
+  string-left-right@6.0.21:
     dependencies:
-      codsen-utils: 1.6.4
+      codsen-utils: 1.6.8
       rfdc: 1.4.1
 
   string-similarity@4.0.4: {}
 
-  string-strip-html@13.4.8:
+  string-strip-html@13.4.13:
     dependencies:
       '@types/lodash-es': 4.17.12
-      codsen-utils: 1.6.4
-      html-entities: 2.5.2
+      codsen-utils: 1.6.8
+      html-entities: 2.6.0
       lodash-es: 4.17.21
-      ranges-apply: 7.0.16
-      ranges-push: 7.0.15
-      string-left-right: 6.0.17
+      ranges-apply: 7.0.20
+      ranges-push: 7.0.19
+      string-left-right: 6.0.21
 
-  string-trim-spaces-only@5.0.10: {}
+  string-trim-spaces-only@5.0.13: {}
 
   string-width@4.2.3:
     dependencies:
@@ -9731,6 +11078,50 @@ snapshots:
       emoji-regex: 10.4.0
       strip-ansi: 7.1.0
 
+  string.prototype.matchall@4.0.12:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-errors: 1.3.0
+      es-object-atoms: 1.1.1
+      get-intrinsic: 1.3.0
+      gopd: 1.2.0
+      has-symbols: 1.1.0
+      internal-slot: 1.1.0
+      regexp.prototype.flags: 1.5.4
+      set-function-name: 2.0.2
+      side-channel: 1.1.0
+
+  string.prototype.repeat@1.0.0:
+    dependencies:
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+
+  string.prototype.trim@1.2.10:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-data-property: 1.1.4
+      define-properties: 1.2.1
+      es-abstract: 1.24.0
+      es-object-atoms: 1.1.1
+      has-property-descriptors: 1.0.2
+
+  string.prototype.trimend@1.0.9:
+    dependencies:
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      define-properties: 1.2.1
+      es-object-atoms: 1.1.1
+
+  string.prototype.trimstart@1.0.8:
+    dependencies:
+      call-bind: 1.0.8
+      define-properties: 1.2.1
+      es-object-atoms: 1.1.1
+
   string_decoder@1.3.0:
     dependencies:
       safe-buffer: 5.2.1
@@ -9816,6 +11207,8 @@ snapshots:
       '@pkgr/core': 0.1.1
       tslib: 2.8.1
 
+  tabbable@6.2.0: {}
+
   tailwindcss@3.4.17:
     dependencies:
       '@alloc/quick-lru': 5.2.0
@@ -9884,9 +11277,9 @@ snapshots:
 
   trough@2.2.0: {}
 
-  ts-api-utils@1.3.0(typescript@5.7.2):
+  ts-api-utils@1.3.0(typescript@5.8.3):
     dependencies:
-      typescript: 5.7.2
+      typescript: 5.8.3
 
   ts-dedent@2.2.0: {}
 
@@ -9896,20 +11289,20 @@ snapshots:
 
   tslib@2.8.1: {}
 
-  tsx@4.19.2:
+  tsx@4.19.4:
     dependencies:
-      esbuild: 0.23.1
-      get-tsconfig: 4.8.1
+      esbuild: 0.25.5
+      get-tsconfig: 4.10.1
     optionalDependencies:
       fsevents: 2.3.3
 
   twoslash-protocol@0.2.5: {}
 
-  twoslash@0.2.5(typescript@5.7.2):
+  twoslash@0.2.5(typescript@5.8.3):
     dependencies:
       '@typescript/vfs': 1.5.0
       twoslash-protocol: 0.2.5
-      typescript: 5.7.2
+      typescript: 5.8.3
     transitivePeerDependencies:
       - supports-color
 
@@ -9921,9 +11314,49 @@ snapshots:
 
   type-fest@3.13.1: {}
 
+  typed-array-buffer@1.0.3:
+    dependencies:
+      call-bound: 1.0.4
+      es-errors: 1.3.0
+      is-typed-array: 1.1.15
+
+  typed-array-byte-length@1.0.3:
+    dependencies:
+      call-bind: 1.0.8
+      for-each: 0.3.5
+      gopd: 1.2.0
+      has-proto: 1.2.0
+      is-typed-array: 1.1.15
+
+  typed-array-byte-offset@1.0.4:
+    dependencies:
+      available-typed-arrays: 1.0.7
+      call-bind: 1.0.8
+      for-each: 0.3.5
+      gopd: 1.2.0
+      has-proto: 1.2.0
+      is-typed-array: 1.1.15
+      reflect.getprototypeof: 1.0.10
+
+  typed-array-length@1.0.7:
+    dependencies:
+      call-bind: 1.0.8
+      for-each: 0.3.5
+      gopd: 1.2.0
+      is-typed-array: 1.1.15
+      possible-typed-array-names: 1.1.0
+      reflect.getprototypeof: 1.0.10
+
   typedarray@0.0.6: {}
 
-  typescript@5.7.2: {}
+  typescript@5.8.3: {}
+
+  unbox-primitive@1.1.0:
+    dependencies:
+      call-bound: 1.0.4
+      has-bigints: 1.1.0
+      has-symbols: 1.1.0
+      which-boxed-primitive: 1.1.1
 
   undici-types@6.19.8: {}
 
@@ -10095,6 +11528,12 @@ snapshots:
       escalade: 3.2.0
       picocolors: 1.1.1
 
+  update-browserslist-db@1.1.3(browserslist@4.25.1):
+    dependencies:
+      browserslist: 4.25.1
+      escalade: 3.2.0
+      picocolors: 1.1.1
+
   uri-js@4.4.1:
     dependencies:
       punycode: 2.3.1
@@ -10107,6 +11546,10 @@ snapshots:
       react-dom: 18.3.1(react@18.3.1)
       serialize-query-params: 2.0.2
 
+  use-sync-external-store@1.5.0(react@18.3.1):
+    dependencies:
+      react: 18.3.1
+
   util-deprecate@1.0.2: {}
 
   uuid@9.0.1: {}
@@ -10190,6 +11633,47 @@ snapshots:
       tr46: 0.0.3
       webidl-conversions: 3.0.1
 
+  which-boxed-primitive@1.1.1:
+    dependencies:
+      is-bigint: 1.1.0
+      is-boolean-object: 1.2.2
+      is-number-object: 1.1.1
+      is-string: 1.1.1
+      is-symbol: 1.1.1
+
+  which-builtin-type@1.2.1:
+    dependencies:
+      call-bound: 1.0.4
+      function.prototype.name: 1.1.8
+      has-tostringtag: 1.0.2
+      is-async-function: 2.1.1
+      is-date-object: 1.1.0
+      is-finalizationregistry: 1.1.1
+      is-generator-function: 1.1.0
+      is-regex: 1.2.1
+      is-weakref: 1.1.1
+      isarray: 2.0.5
+      which-boxed-primitive: 1.1.1
+      which-collection: 1.0.2
+      which-typed-array: 1.1.19
+
+  which-collection@1.0.2:
+    dependencies:
+      is-map: 2.0.3
+      is-set: 2.0.3
+      is-weakmap: 2.0.2
+      is-weakset: 2.0.4
+
+  which-typed-array@1.1.19:
+    dependencies:
+      available-typed-arrays: 1.0.7
+      call-bind: 1.0.8
+      call-bound: 1.0.4
+      for-each: 0.3.5
+      get-proto: 1.0.1
+      gopd: 1.2.0
+      has-tostringtag: 1.0.2
+
   which@1.3.1:
     dependencies:
       isexe: 2.0.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
deleted file mode 100644
index cac8a5aaf9..0000000000
--- a/pnpm-workspace.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-packages:
-  - "website"
diff --git a/public/img/conf/Sponsors/Grafbase.svg b/public/img/conf/Sponsors/Grafbase.svg
new file mode 100644
index 0000000000..2b99439008
--- /dev/null
+++ b/public/img/conf/Sponsors/Grafbase.svg
@@ -0,0 +1,5 @@
+<svg width="236" height="41" viewBox="0 0 236 41" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M26.3279 4.69959C26.4052 4.8482 26.4513 5.01001 26.4636 5.17577C26.4758 5.34153 26.4541 5.50799 26.3995 5.66565C26.3449 5.82331 26.2586 5.96907 26.1454 6.0946C26.0323 6.22014 25.8946 6.32298 25.7401 6.39727L12.7542 12.6468L25.1684 18.6211L37.5803 12.6477L32.8379 10.3702L25.7477 13.7787C25.5929 13.8563 25.4236 13.9035 25.2496 13.9175C25.0757 13.9315 24.9006 13.912 24.7345 13.8602C24.5685 13.8084 24.4148 13.7252 24.2825 13.6156C24.1502 13.506 24.0419 13.3722 23.9639 13.2219C23.8859 13.0716 23.8398 12.9078 23.8283 12.7402C23.8168 12.5725 23.84 12.4043 23.8967 12.2454C23.9534 12.0866 24.0424 11.9401 24.1585 11.8147C24.2747 11.6892 24.4156 11.5873 24.5731 11.5148L32.2501 7.82389C32.4324 7.73627 32.6334 7.69067 32.8372 7.69067C33.0409 7.69067 33.2419 7.73627 33.4242 7.82389L41.1093 11.5144C41.3278 11.6194 41.5116 11.7809 41.6401 11.9807C41.7686 12.1806 41.8367 12.411 41.8368 12.646C41.8369 12.8811 41.7689 13.1115 41.6406 13.3115C41.5123 13.5115 41.3287 13.6731 41.1103 13.7783L25.7732 21.1592C25.5788 21.2528 25.3722 21.2955 25.1693 21.2932C24.9594 21.296 24.7518 21.2502 24.5641 21.1597L9.22651 13.7783C9.00819 13.6731 8.82459 13.5116 8.69628 13.3117C8.56796 13.1118 8.5 12.8815 8.5 12.6465C8.5 12.4116 8.56796 12.1813 8.69628 11.9814C8.82459 11.7815 9.00819 11.62 9.22651 11.5148L24.5641 4.13385C24.8759 3.98377 25.2369 3.95906 25.5677 4.06515C25.8985 4.17125 26.1719 4.39946 26.3279 4.69959V4.69959ZM8.65948 26.838C8.73667 26.6894 8.84352 26.5568 8.97394 26.4479C9.10435 26.339 9.25578 26.2559 9.41956 26.2033C9.58335 26.1507 9.75629 26.1297 9.92851 26.1415C10.1007 26.1532 10.2689 26.1975 10.4233 26.2718L25.1726 33.3704L39.922 26.2718C40.2339 26.1217 40.5949 26.097 40.9258 26.2032C41.2566 26.3093 41.5301 26.5376 41.686 26.8378C41.842 27.138 41.8676 27.4855 41.7573 27.804C41.6471 28.1224 41.4099 28.3856 41.098 28.5357L25.7604 35.9167C25.5779 36.0045 25.3767 36.0502 25.1726 36.0502C24.9686 36.0502 24.7673 36.0045 24.5848 35.9167L9.24727 28.5357C9.09281 28.4614 8.95507 28.3585 8.84194 28.2329C8.7288 28.1073 8.64247 27.9615 8.58789 27.8038C8.53331 27.6461 8.51153 27.4796 8.52382 27.3138C8.5361 27.148 8.5822 26.9862 8.65948 26.8376V26.838Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M8.65834 19.4557C8.81431 19.1556 9.08776 18.9273 9.41853 18.8213C9.7493 18.7152 10.1103 18.7399 10.4222 18.8899L25.1715 25.9881L39.9208 18.8899C40.2321 18.7444 40.5904 18.7229 40.9181 18.8301C41.2457 18.9372 41.5163 19.1643 41.6711 19.4622C41.8258 19.7601 41.8523 20.1047 41.7449 20.4213C41.6374 20.7379 41.4045 21.0009 41.0969 21.1534L25.7593 28.5344C25.5767 28.6221 25.3755 28.6678 25.1715 28.6678C24.9675 28.6678 24.7662 28.6221 24.5837 28.5344L9.24612 21.1534C8.9343 21.0033 8.6972 20.7401 8.58697 20.4217C8.47674 20.1033 8.50241 19.7558 8.65834 19.4557V19.4557Z" fill="white"/>
+<path d="M77.7655 15.1411C77.344 13.7163 76.5622 12.6024 75.4209 11.8012C74.2895 10.9897 72.8652 10.5834 71.1478 10.5834C68.7313 10.5834 66.7723 11.4448 65.2713 13.167C63.7797 14.8789 63.0345 17.3189 63.0345 20.4863C63.0345 23.664 63.7697 26.1181 65.24 27.85C66.7109 29.5823 68.7006 30.4488 71.2097 30.4488C73.4311 30.4488 75.1738 29.8939 76.439 28.7857C77.7142 27.6672 78.3721 26.1675 78.4134 24.287H71.626V19.4468H84.8453V23.277C84.8453 25.94 84.2593 28.2364 83.0873 30.1662C81.9147 32.0864 80.3005 33.5612 78.2436 34.5905C76.1973 35.6199 73.8421 36.1345 71.1791 36.1345C68.2172 36.1345 65.6156 35.5064 63.3735 34.2489C61.1321 32.9824 59.3841 31.1859 58.1289 28.86C56.885 26.5239 56.2625 23.7525 56.2625 20.5454C56.2625 17.2599 56.9157 14.4488 58.2215 12.1127C59.5279 9.77655 61.2966 7.99026 63.528 6.75325C65.7594 5.51624 68.2638 4.89716 71.04 4.89716C73.4258 4.89716 75.5853 5.33296 77.5185 6.20397C79.4522 7.07498 81.0357 8.28249 82.2696 9.82648C83.5035 11.3603 84.2646 13.1324 84.5523 15.1417H77.7655V15.1411ZM88.0017 35.7192V12.9139H94.3723V16.8933H94.6194C95.0509 15.4781 95.776 14.4091 96.7942 13.6862C97.8123 12.9542 98.9843 12.5876 100.311 12.5876C101.006 12.584 101.7 12.6588 102.378 12.8106V18.4226C102.069 18.3233 101.643 18.2444 101.098 18.1848C100.602 18.1189 100.102 18.0842 99.6016 18.081C98.1513 18.081 96.9481 18.5213 95.9918 19.4025C95.0456 20.2736 94.5728 21.4113 94.5728 22.8174V35.7192H88.0017ZM110.116 36.1499C107.853 36.1499 105.976 35.5807 104.485 34.4419C102.994 33.3042 102.249 31.6064 102.249 29.3497C102.249 27.6474 102.665 26.3111 103.498 25.3413C104.331 24.371 105.421 23.6634 106.768 23.218C108.126 22.7629 109.586 22.4661 111.149 22.3271C113.205 22.1291 114.676 21.9214 115.561 21.7035C116.445 21.4862 116.887 21.0112 116.887 20.2787V20.1896C116.887 19.2488 116.579 18.5213 115.961 18.0066C115.355 17.492 114.491 17.2349 113.37 17.2349C112.188 17.2349 111.246 17.4823 110.548 17.9771C109.848 18.4719 109.385 19.1007 109.159 19.8627L103.082 19.3878C103.534 17.3093 104.655 15.6609 106.444 14.4437C108.244 13.226 110.563 12.6177 113.401 12.6177C115.159 12.6177 116.804 12.8844 118.337 13.4195C119.87 13.9534 121.103 14.7898 122.039 15.9281C122.985 17.0568 123.458 18.527 123.458 20.3377V35.7192H117.227V32.5557H117.041C116.466 33.6151 115.602 34.481 114.45 35.1546C113.308 35.8173 111.864 36.1493 110.116 36.1493V36.1499ZM111.997 31.7846C113.437 31.7846 114.62 31.384 115.545 30.5816C116.471 29.7702 116.934 28.7658 116.934 27.5685V25.1484C116.676 25.3164 116.275 25.465 115.73 25.5933C115.196 25.7221 114.62 25.8361 114.002 25.9349C113.458 26.015 112.913 26.0942 112.368 26.1726C111.216 26.3309 110.285 26.6425 109.576 27.1078C108.876 27.5731 108.527 28.2511 108.527 29.142C108.527 30.013 108.85 30.6713 109.498 31.1167C110.157 31.5621 110.99 31.7846 111.997 31.7846V31.7846ZM139.56 12.9145V17.665H134.855V35.7192H128.284V17.665H124.937V12.9145H128.284V11.2666C128.284 8.78183 129.019 6.93142 130.49 5.71371C131.971 4.49655 133.827 3.8877 136.058 3.8877C137.066 3.8877 137.986 3.96146 138.819 4.11013C139.663 4.2588 140.29 4.39215 140.701 4.51131L139.544 9.26188C139.287 9.18244 138.968 9.10868 138.588 9.03945C138.207 8.97022 137.822 8.93561 137.431 8.93561C136.465 8.93561 135.791 9.1535 135.41 9.58873C135.04 10.0143 134.855 10.6129 134.855 11.3852V12.9145H139.56ZM141.96 35.7192V5.3131H148.531V16.7447H148.732C149.03 16.1211 149.452 15.4929 149.997 14.8591C150.542 14.2258 151.262 13.6958 152.156 13.2703C153.051 12.835 154.156 12.6177 155.473 12.6177C157.211 12.6177 158.805 13.0529 160.254 13.9239C161.704 14.7853 162.867 16.0864 163.74 17.8285C164.625 19.5609 165.067 21.7336 165.067 24.3466C165.067 26.8904 164.64 29.0382 163.787 30.7898C162.933 32.5319 161.781 33.8534 160.332 34.754C158.881 35.6448 157.257 36.0903 155.457 36.0903C154.182 36.0903 153.097 35.8871 152.202 35.4814C151.318 35.0757 150.593 34.5661 150.028 33.9522C149.472 33.3286 149.04 32.6998 148.732 32.0666H148.439V35.7192H141.96V35.7192ZM148.392 24.3165C148.392 26.3457 148.824 27.9788 149.688 29.2163C150.562 30.4437 151.791 31.0571 153.375 31.0571C154.989 31.0571 156.223 30.4335 157.077 29.1863C157.93 27.9294 158.357 26.3065 158.357 24.3165C158.357 22.3373 157.93 20.7337 157.077 19.5064C156.234 18.2694 155 17.6509 153.375 17.6509C151.781 17.6509 150.552 18.254 149.688 19.4616C148.824 20.6594 148.392 22.2777 148.392 24.3165V24.3165ZM174.47 36.1499C172.208 36.1499 170.332 35.5807 168.84 34.4419C167.349 33.3042 166.604 31.6064 166.604 29.3497C166.604 27.6474 167.02 26.3111 167.853 25.3413C168.686 24.371 169.776 23.6634 171.123 23.218C172.48 22.7629 173.941 22.4661 175.504 22.3271C177.56 22.1291 179.032 21.9214 179.916 21.7035C180.801 21.4862 181.243 21.0112 181.243 20.2787V20.1896C181.243 19.2488 180.934 18.5213 180.317 18.0066C179.71 17.492 178.846 17.2349 177.724 17.2349C176.542 17.2349 175.602 17.4823 174.902 17.9771C174.203 18.4719 173.74 19.1007 173.514 19.8627L167.437 19.3878C167.889 17.3093 169.01 15.6609 170.799 14.4437C172.599 13.226 174.917 12.6177 177.756 12.6177C179.514 12.6177 181.16 12.8844 182.693 13.4195C184.225 13.9534 185.458 14.7898 186.394 15.9281C187.341 17.0568 187.813 18.527 187.813 20.3377V35.7192H181.581V32.5557H181.397C180.82 33.6151 179.956 34.481 178.805 35.1546C177.664 35.8173 176.219 36.1493 174.47 36.1493V36.1499ZM176.353 31.7846C177.792 31.7846 178.975 31.384 179.9 30.5816C180.825 29.7702 181.288 28.7658 181.288 27.5685V25.1484C181.031 25.3164 180.631 25.465 180.084 25.5933C179.514 25.7292 178.938 25.8431 178.358 25.9349C177.75 26.024 177.206 26.1034 176.722 26.1726C175.571 26.3309 174.64 26.6425 173.931 27.1078C173.232 27.5731 172.881 28.2511 172.881 29.142C172.881 30.013 173.206 30.6713 173.853 31.1167C174.511 31.5621 175.344 31.7846 176.353 31.7846V31.7846ZM210.886 19.4173L204.871 19.7736C204.707 19.0416 204.29 18.4129 203.621 17.8881C202.953 17.3632 202.048 17.101 200.908 17.101C199.89 17.101 199.025 17.3093 198.315 17.7252C197.616 18.1303 197.271 18.6751 197.282 19.3577C197.271 19.9024 197.494 20.3621 197.946 20.7388C198.409 21.1145 199.189 21.4164 200.29 21.6445L204.578 22.4758C209.134 23.3763 211.417 25.4355 211.427 28.6517C211.427 30.1464 210.969 31.4583 210.054 32.5864C209.149 33.7144 207.906 34.5956 206.321 35.2289C204.738 35.8531 202.922 36.1646 200.876 36.1646C197.739 36.1646 195.241 35.5359 193.38 34.279C191.518 33.0119 190.433 31.2898 190.124 29.1125L196.588 28.7857C196.793 29.7163 197.266 30.4187 198.007 30.8937C198.758 31.3686 199.72 31.6064 200.892 31.6064C202.043 31.6064 202.969 31.3885 203.668 30.9533C204.377 30.5175 204.738 29.9631 204.748 29.2907C204.717 28.1615 203.704 27.4051 201.709 27.0187L197.606 26.2322C193.02 25.351 190.736 23.1783 190.757 19.7141C190.746 17.5169 191.657 15.7846 193.488 14.518C195.328 13.251 197.765 12.6171 200.798 12.6171C203.791 12.6171 206.146 13.226 207.864 14.4437C209.591 15.6609 210.599 17.3189 210.886 19.4173V19.4173ZM224.624 36.1646C222.198 36.1646 220.106 35.6891 218.348 34.7392C216.588 33.7791 215.237 32.4229 214.29 30.6707C213.343 28.9094 212.872 26.8257 212.872 24.4209C212.872 22.0746 213.343 20.0159 214.29 18.2444C215.237 16.4729 216.568 15.0917 218.285 14.1021C220.012 13.1125 222.039 12.6177 224.363 12.6177C226.45 12.6177 228.331 13.0433 230.008 13.8944C231.695 14.7456 233.032 16.032 234.019 17.7547C235.006 19.4667 235.5 21.6144 235.5 24.1979V25.9349H219.366V25.9496C219.366 27.6519 219.847 28.9933 220.815 29.9733C221.781 30.9533 223.088 31.443 224.733 31.443C225.833 31.443 226.785 31.2205 227.586 30.7751C228.389 30.3297 228.954 29.6714 229.284 28.8004L235.361 29.1863C234.898 31.3045 233.726 32.9972 231.845 34.2643C229.962 35.5308 227.555 36.1646 224.624 36.1646V36.1646ZM219.366 22.0156H229.315C229.304 20.6594 228.852 19.5416 227.957 18.6603C227.062 17.7791 225.901 17.3382 224.47 17.3382C223.01 17.3382 221.812 17.7939 220.877 18.7046C219.941 19.6153 219.436 20.719 219.366 22.0156V22.0156Z" fill="white"/>
+</svg>
diff --git a/public/img/conf/Sponsors/Meta-dark.svg b/public/img/conf/Sponsors/Meta-dark.svg
new file mode 100644
index 0000000000..f43af5931d
--- /dev/null
+++ b/public/img/conf/Sponsors/Meta-dark.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 6962.3646 3000"><defs><style>.cls-1{fill:none;}.cls-2{fill:#fff;}.cls-3{clip-path:url(#clip-path);}.cls-4{clip-path:url(#clip-path-2);}.cls-5{fill:url(#linear-gradient);}</style><clipPath id="clip-path"><path class="cls-1" d="M2079.9949,1000c-123.3911,0-219.8478,92.936-307.164,210.9931C1652.8424,1058.2153,1552.4949,1000,1432.4089,1000c-244.8276,0-432.4138,318.6207-432.4138,655.8621,0,211.0344,102.0956,344.1379,273.1035,344.1379,123.0805,0,211.6-58.0259,368.9655-333.1034,0,0,65.5973-115.8413,110.7249-195.6386q23.72,38.2978,49.9647,82.5351l73.7931,124.1379C2020.294,1918.4789,2100.3854,2000,2245.5123,2000c166.5959,0,259.31-134.9233,259.31-350.3448C2504.8227,1296.5517,2313.0069,1000,2079.9949,1000Zm-557.9308,592.4138c-127.5862,200-171.7242,244.8276-242.7587,244.8276-73.1034,0-116.5517-64.1784-116.5517-178.6207,0-244.8276,122.069-495.1724,267.5862-495.1724,78.8013,0,144.6539,45.51,245.5224,189.9131C1580.0831,1500.2723,1522.0641,1592.4138,1522.0641,1592.4138Zm481.5283-25.178-88.23-147.1481q-35.8152-58.2482-68.8384-107.23c79.52-122.7353,145.1135-183.8919,223.1261-183.8919,162.0691,0,291.7243,238.6207,291.7243,531.7241,0,111.7242-36.5935,176.5518-112.4139,176.5518C2176.29,1837.2414,2141.5738,1789.2474,2003.5924,1567.2358Z"/></clipPath><clipPath id="clip-path-2"><rect class="cls-1" x="994.9949" y="994.9998" width="1514.828" height="1010"/></clipPath><linearGradient id="linear-gradient" x1="1865.507" y1="1532.9408" x2="1449.0802" y2="987.2772" gradientUnits="userSpaceOnUse"><stop offset="0.1336" stop-color="#0869e1"/><stop offset="0.8727" stop-color="#0064e0"/></linearGradient></defs><g id="Artboard_outline" data-name="Artboard outline"><rect class="cls-1" x="-0.0049" width="6962.3646" height="3000"/></g><g id="Wordmark"><path class="cls-2" d="M2821.41,1032.1316h188.076L3329.2827,1610.62l319.793-578.4879h184.0048V1982.696H3679.6333V1254.16l-280.4166,504.4785H3255.2733L2974.8567,1254.16v728.536H2821.41Z"/><path class="cls-2" d="M4328.0379,1999.6744q-106.6049,0-187.3953-47.1892-80.8056-47.1891-125.95-130.7024-45.16-83.5176-45.1515-191.4708,0-109.31,44.1326-193.5086,44.1325-84.1809,122.5557-131.7256,78.4252-47.5143,180.2675-47.5273,101.1615,0,174.1586,47.8655,72.9753,47.8785,112.3669,134.1016,39.372,86.2359,39.3807,202.3359v42.09H4121.6308q14.262,86.9254,70.2765,136.8157,56.0144,49.9076,141.5631,49.9033,68.5726,0,118.1421-20.3689,49.5564-20.3688,93.0213-61.7829l81.4754,99.8065Q4504.5594,1999.683,4328.0379,1999.6744ZM4440.071,1435.78q-48.2168-49.2181-126.2887-49.2269-76.0517,0-127.3076,50.25-51.2733,50.2458-64.8439,135.1161h373.4378Q4488.2726,1485.0071,4440.071,1435.78Z"/><path class="cls-2" d="M4828.4582,1400.1412H4687.2288V1274.5289h141.2294V1066.7647h148.0146v207.7642h214.5538v125.6123H4976.4728v318.4359q0,79.4334,27.1585,113.3858,27.1455,33.9612,93.0213,33.9481,29.181,0,49.5651-2.3759,20.3688-2.3673,44.8089-6.4515v124.251a419.4353,419.4353,0,0,1-56.6929,12.2265,446.1821,446.1821,0,0,1-66.201,4.7519q-239.6854,0-239.6745-262.0812Z"/><path class="cls-2" d="M5962.36,1982.696H5817.0592v-99.13q-38.7021,55.6827-98.4495,85.8891-59.7539,30.2022-135.7968,30.22-93.6954,0-166.0075-47.8742-72.3121-47.8656-113.7284-131.717-41.4205-83.8557-41.4184-191.809,0-108.6339,42.0991-192.1558,42.09-83.5046,116.4425-131.0406,74.3476-47.5143,170.7594-47.5273,72.65,0,130.3642,28.1817a257.7339,257.7339,0,0,1,95.7354,79.7759v-90.9792H5962.36Zm-148.0146-460.3416q-23.7766-60.43-75.0284-95.4015-51.2733-34.9628-118.48-34.9627-95.0676,0-151.4094,63.8207-56.3656,63.825-56.3547,172.4633,0,109.3235,54.3169,173.14,54.3105,63.8251,147.3383,63.8208,68.566,0,122.2132-35.31,53.6275-35.288,77.4043-95.0548Z"/></g><g id="Symbol"><g class="cls-3"><g class="cls-4"><g class="cls-4"><image width="3157" height="2105" transform="translate(994.5841 994.829) scale(0.48)" xlink:href="data:image/png;base64,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"/></g></g></g><path class="cls-5" d="M1915.3624,1420.0874C1724.0786,1108.9884,1596.7216,1000,1432.4089,1000l-2.069,163.4483c107.5862,0,191.0345,84.8276,372.4138,390.3448l11.0568,18.6Z"/></g></svg>
\ No newline at end of file
diff --git a/public/img/conf/Sponsors/Meta.svg b/public/img/conf/Sponsors/Meta.svg
new file mode 100644
index 0000000000..78448c3b56
--- /dev/null
+++ b/public/img/conf/Sponsors/Meta.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 6962.3646 3000"><defs><style>.cls-1{fill:none;}.cls-2{fill:#1c2b33;}.cls-3{clip-path:url(#clip-path);}.cls-4{clip-path:url(#clip-path-2);}.cls-5{fill:url(#linear-gradient);}</style><clipPath id="clip-path"><path class="cls-1" d="M2079.9949,1000c-123.3911,0-219.8478,92.936-307.164,210.9931C1652.8424,1058.2153,1552.4949,1000,1432.4089,1000c-244.8276,0-432.4138,318.6207-432.4138,655.8621,0,211.0344,102.0956,344.1379,273.1035,344.1379,123.0805,0,211.6-58.0259,368.9655-333.1034,0,0,65.5973-115.8413,110.7249-195.6386q23.72,38.2978,49.9647,82.5351l73.7931,124.1379C2020.294,1918.4789,2100.3854,2000,2245.5123,2000c166.5959,0,259.31-134.9233,259.31-350.3448C2504.8227,1296.5517,2313.0069,1000,2079.9949,1000Zm-557.9308,592.4138c-127.5862,200-171.7242,244.8276-242.7587,244.8276-73.1034,0-116.5517-64.1784-116.5517-178.6207,0-244.8276,122.069-495.1724,267.5862-495.1724,78.8013,0,144.6539,45.51,245.5224,189.9131C1580.0831,1500.2723,1522.0641,1592.4138,1522.0641,1592.4138Zm481.5283-25.178-88.23-147.1481q-35.8152-58.2482-68.8384-107.23c79.52-122.7353,145.1135-183.8919,223.1261-183.8919,162.0691,0,291.7243,238.6207,291.7243,531.7241,0,111.7242-36.5935,176.5518-112.4139,176.5518C2176.29,1837.2414,2141.5738,1789.2474,2003.5924,1567.2358Z"></path></clipPath><clipPath id="clip-path-2"><rect class="cls-1" x="994.9949" y="994.9998" width="1514.828" height="1010"></rect></clipPath><linearGradient id="linear-gradient" x1="1865.507" y1="1532.9408" x2="1449.0802" y2="987.2772" gradientUnits="userSpaceOnUse"><stop offset="0.1336" stop-color="#0869e1"></stop><stop offset="0.8727" stop-color="#0064e0"></stop></linearGradient></defs><g id="Artboard_outline" data-name="Artboard outline"><rect class="cls-1" x="-0.0049" width="6962.3646" height="3000"></rect></g><g id="Wordmark"><path class="cls-2" d="M2821.41,1032.1316h188.076L3329.2827,1610.62l319.793-578.4879h184.0048V1982.696H3679.6333V1254.16l-280.4166,504.4785H3255.2733L2974.8567,1254.16v728.536H2821.41Z"></path><path class="cls-2" d="M4328.0379,1999.6744q-106.6049,0-187.3953-47.1892-80.8056-47.1891-125.95-130.7024-45.16-83.5176-45.1515-191.4708,0-109.31,44.1326-193.5086,44.1325-84.1809,122.5557-131.7256,78.4252-47.5143,180.2675-47.5273,101.1615,0,174.1586,47.8655,72.9753,47.8785,112.3669,134.1016,39.372,86.2359,39.3807,202.3359v42.09H4121.6308q14.262,86.9254,70.2765,136.8157,56.0144,49.9076,141.5631,49.9033,68.5726,0,118.1421-20.3689,49.5564-20.3688,93.0213-61.7829l81.4754,99.8065Q4504.5594,1999.683,4328.0379,1999.6744ZM4440.071,1435.78q-48.2168-49.2181-126.2887-49.2269-76.0517,0-127.3076,50.25-51.2733,50.2458-64.8439,135.1161h373.4378Q4488.2726,1485.0071,4440.071,1435.78Z"></path><path class="cls-2" d="M4828.4582,1400.1412H4687.2288V1274.5289h141.2294V1066.7647h148.0146v207.7642h214.5538v125.6123H4976.4728v318.4359q0,79.4334,27.1585,113.3858,27.1455,33.9612,93.0213,33.9481,29.181,0,49.5651-2.3759,20.3688-2.3673,44.8089-6.4515v124.251a419.4353,419.4353,0,0,1-56.6929,12.2265,446.1821,446.1821,0,0,1-66.201,4.7519q-239.6854,0-239.6745-262.0812Z"></path><path class="cls-2" d="M5962.36,1982.696H5817.0592v-99.13q-38.7021,55.6827-98.4495,85.8891-59.7539,30.2022-135.7968,30.22-93.6954,0-166.0075-47.8742-72.3121-47.8656-113.7284-131.717-41.4205-83.8557-41.4184-191.809,0-108.6339,42.0991-192.1558,42.09-83.5046,116.4425-131.0406,74.3476-47.5143,170.7594-47.5273,72.65,0,130.3642,28.1817a257.7339,257.7339,0,0,1,95.7354,79.7759v-90.9792H5962.36Zm-148.0146-460.3416q-23.7766-60.43-75.0284-95.4015-51.2733-34.9628-118.48-34.9627-95.0676,0-151.4094,63.8207-56.3656,63.825-56.3547,172.4633,0,109.3235,54.3169,173.14,54.3105,63.8251,147.3383,63.8208,68.566,0,122.2132-35.31,53.6275-35.288,77.4043-95.0548Z"></path></g><g id="Symbol"><g class="cls-3"><g class="cls-4"><g class="cls-4"><image width="3157" height="2105" transform="translate(994.5841 994.829) scale(0.48)" xlink:href="data:image/png;base64,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"></image></g></g></g><path class="cls-5" d="M1915.3624,1420.0874C1724.0786,1108.9884,1596.7216,1000,1432.4089,1000l-2.069,163.4483c107.5862,0,191.0345,84.8276,372.4138,390.3448l11.0568,18.6Z"></path></g></svg> 
\ No newline at end of file
diff --git a/public/img/conf/Sponsors/Tyk.svg b/public/img/conf/Sponsors/Tyk.svg
index 5d9487148a..06fa8b1397 100644
--- a/public/img/conf/Sponsors/Tyk.svg
+++ b/public/img/conf/Sponsors/Tyk.svg
@@ -1,18 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<svg id="b" data-name="LOGO WHITE" xmlns="http://www.w3.org/2000/svg" width="687.96" height="356.72" viewBox="0 0 687.96 356.72">
-  <defs>
-    <style>
-      .c {
-        fill: #fff;
-      }
-
-      .d {
-        fill: #20edba;
-      }
-    </style>
-  </defs>
-  <path class="c" d="m313.93,6.91c-4.48-4.67-10.33-6.91-17.05-6.91H101.08v23.68c0,6.39,2.24,11.93,6.89,16.42,4.65,4.67,10.5,7.09,17.22,7.09h62.51v237.99l22.9.17c6.72,0,12.57-2.42,17.05-6.91,4.65-4.67,7.06-10.37,7.06-16.59V47.36l86.28-.17v-21.96c-.17-6.22-2.41-13.48-7.06-18.32Z"/>
-  <path class="c" d="m438.26,87.11c-6.72,0-12.57,2.25-17.05,6.91-4.65,4.67-7.06,10.37-7.06,16.59v94.88c-8.27,23.33-33.41,34.57-60.44,34.57-22.39,0-33.24-10.54-33.24-31.97v-97.48c0-6.22-2.41-11.75-7.06-16.59-4.48-4.67-10.33-6.91-17.05-6.91h-22.9v125.47c0,48.22,24.45,72.76,75.08,72.76,24.97,0,52.18-8.81,65.27-25.92-1.03,15.21-2.76,23.16-11.19,34.57-9.47,12.79-28.07,17.63-47.53,17.63s-36.51-3.63-56.14-11.06c-3.27-.86-6.37-1.21-8.95-1.21-10.68,0-16.53,5.88-16.53,16.59v19.36l1.38.86c22.39,13.65,48.56,20.57,80.25,20.57,65.78,0,105.91-36.12,105.91-107.5V87.11h-22.75Z"/>
-  <path class="c" d="m653.87,198.24c-3.44-10.54-7.58-12.1-12.57-16.76,2.24-2.94,4.99-8.47,8.95-20.22l29.62-73.97h-26.87c-14.64,0-24.11,6.05-27.9,17.8l-20.15,47.18c-1.55,3.98-6.2,5.88-13.78,5.88h-43.91l.17-134.98c0-6.22-2.07-11.41-6.72-16.25C536.23,2.25,530.38.01,523.66.01h-23.25v285.16h23.08c6.72,0,12.57-2.42,17.22-7.09,4.48-4.49,6.89-10.02,6.89-16.42l-.34-55.82h52.01c7.41,0,9.3,3.46,10.16,6.05l24.11,56.52c3.62,11.23,12.92,16.76,27.72,16.76h26.69l-34.1-86.93h.02Z"/>
-  <path class="d" d="m124.85,136.71c-2.76-32.15-29.1-57.38-61.48-57.73H0v66.02c1.38,33.01,27.55,59.63,60.27,60.84h64.75v-68.96c0-.17-.17-.17-.17-.17Z"/>
-</svg>
\ No newline at end of file
+<svg  data-name="LOGO WHITE" xmlns="http://www.w3.org/2000/svg" width="687.96" height="356.72" viewBox="0 0 687.96 356.72" fill="#fff">
+  <path d="m313.93,6.91c-4.48-4.67-10.33-6.91-17.05-6.91H101.08v23.68c0,6.39,2.24,11.93,6.89,16.42,4.65,4.67,10.5,7.09,17.22,7.09h62.51v237.99l22.9.17c6.72,0,12.57-2.42,17.05-6.91,4.65-4.67,7.06-10.37,7.06-16.59V47.36l86.28-.17v-21.96c-.17-6.22-2.41-13.48-7.06-18.32Z"/>
+  <path d="m438.26,87.11c-6.72,0-12.57,2.25-17.05,6.91-4.65,4.67-7.06,10.37-7.06,16.59v94.88c-8.27,23.33-33.41,34.57-60.44,34.57-22.39,0-33.24-10.54-33.24-31.97v-97.48c0-6.22-2.41-11.75-7.06-16.59-4.48-4.67-10.33-6.91-17.05-6.91h-22.9v125.47c0,48.22,24.45,72.76,75.08,72.76,24.97,0,52.18-8.81,65.27-25.92-1.03,15.21-2.76,23.16-11.19,34.57-9.47,12.79-28.07,17.63-47.53,17.63s-36.51-3.63-56.14-11.06c-3.27-.86-6.37-1.21-8.95-1.21-10.68,0-16.53,5.88-16.53,16.59v19.36l1.38.86c22.39,13.65,48.56,20.57,80.25,20.57,65.78,0,105.91-36.12,105.91-107.5V87.11h-22.75Z"/>
+  <path d="m653.87,198.24c-3.44-10.54-7.58-12.1-12.57-16.76,2.24-2.94,4.99-8.47,8.95-20.22l29.62-73.97h-26.87c-14.64,0-24.11,6.05-27.9,17.8l-20.15,47.18c-1.55,3.98-6.2,5.88-13.78,5.88h-43.91l.17-134.98c0-6.22-2.07-11.41-6.72-16.25C536.23,2.25,530.38.01,523.66.01h-23.25v285.16h23.08c6.72,0,12.57-2.42,17.22-7.09,4.48-4.49,6.89-10.02,6.89-16.42l-.34-55.82h52.01c7.41,0,9.3,3.46,10.16,6.05l24.11,56.52c3.62,11.23,12.92,16.76,27.72,16.76h26.69l-34.1-86.93h.02Z"/>
+  <path fill-opacity="0.6" d="m124.85,136.71c-2.76-32.15-29.1-57.38-61.48-57.73H0v66.02c1.38,33.01,27.55,59.63,60.27,60.84h64.75v-68.96c0-.17-.17-.17-.17-.17Z"/>
+</svg>
diff --git a/public/videos/graphiql5.webm b/public/videos/graphiql5.webm
new file mode 100644
index 0000000000..39c02687f0
Binary files /dev/null and b/public/videos/graphiql5.webm differ
diff --git a/scripts/sync-sched/count-speakers-without-details.ts b/scripts/sync-sched/count-speakers-without-details.ts
new file mode 100644
index 0000000000..c38f6ea164
--- /dev/null
+++ b/scripts/sync-sched/count-speakers-without-details.ts
@@ -0,0 +1,40 @@
+#!/usr/bin/env tsx
+
+import { join } from "node:path"
+import { readFile } from "node:fs/promises"
+
+import type { SchedSpeaker } from "@/app/conf/_api/sched-types"
+
+/**
+ * We count the number of speakers we didn't sync details for
+ * to make sure we have social URLs for everybody.
+ */
+;(async function main() {
+  try {
+    const speakersFilePath = join(import.meta.dirname, "speakers.json")
+
+    console.log("Reading speakers.json...")
+
+    const speakersData = await readFile(speakersFilePath, "utf-8")
+    const speakers: SchedSpeaker[] = JSON.parse(speakersData).speakers
+
+    const speakersWithoutDetails = speakers.filter(
+      speaker => !speaker["~syncedDetailsAt"],
+    )
+
+    console.log(`Total speakers: ${speakers.length}`)
+    console.log(
+      `Speakers without ~syncedDetailsAt: ${speakersWithoutDetails.length}`,
+    )
+
+    if (speakersWithoutDetails.length > 0) {
+      console.log("\nSpeakers missing details:")
+      for (const speaker of speakersWithoutDetails) {
+        console.log(`- ${speaker.username} (${speaker.name || "No name"})`)
+      }
+    }
+  } catch (error) {
+    console.error("Error:", error)
+    process.exit(1)
+  }
+})()
diff --git a/scripts/sync-sched/schedule-2023.json b/scripts/sync-sched/schedule-2023.json
new file mode 100644
index 0000000000..6bcdc9ba5f
--- /dev/null
+++ b/scripts/sync-sched/schedule-2023.json
@@ -0,0 +1,4323 @@
+[
+  {
+    "event_key": "511231",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration & Badge Pick-Up",
+    "event_start": "2023-09-19 10:00",
+    "event_end": "2023-09-19 16:30",
+    "event_type": "Registration + Badge Pick-Up",
+    "goers": "66",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula Foyer",
+    "id": "247898ad29d5e594611af3cecf82f5e3",
+    "venue_id": "1749431",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "10:00am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "4:30pm",
+    "start_date": "2023-09-19",
+    "start_time": "10:00:00",
+    "start_time_ts": 1695142800,
+    "end_date": "2023-09-19",
+    "end_time": "16:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "511227",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference Planning Session",
+    "event_start": "2023-09-19 10:30",
+    "event_end": "2023-09-19 12:00",
+    "event_type": "Unconference",
+    "description": "An unconference is a participant-driven, informal event where attendees collaboratively create the agenda and lead discussions. Unlike the predetermined schedules and speakers of a traditional conference, an unconference allows for spontaneous and dynamic interactions, fostering an open and inclusive learning environment.\n\nHow to Prepare to Attend an Unconference",
+    "goers": "16",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Sandpebble A&B",
+    "id": "d53044f7df10bcb5a53e6908670c41c1",
+    "venue_id": "1749449",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "10:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-19",
+    "start_time": "10:30:00",
+    "start_time_ts": 1695144600,
+    "end_date": "2023-09-19",
+    "end_time": "12:00:00"
+  },
+  {
+    "event_key": "491989",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Carmen San Diego GraphQL API Federation Challenge: Hunt for the Elusive Master Thief! - LeRenzo Malcom, Miro [Pre-Registration Required]",
+    "event_start": "2023-09-19 10:30",
+    "event_end": "2023-09-19 12:00",
+    "event_type": "Workshops",
+    "event_subtype": "Spec Fusion",
+    "description": "Embark on an exciting adventure in the world of GraphQL API federation with a thrilling twist inspired by Carmen San Diego! In this immersive workshop, students will be divided into teams and compete to find Carmen San Diego before anyone else using their GraphQL skills. The workshop starts off with an introduction to GraphQL API federation, where students will learn about the power and flexibility of GraphQL and its federation capabilities. Then the teams will be formed, and the competition scenario will be revealed—finding Carmen San Diego! Each team will create their own HQ and extend the federated graph, adding new services, connections, and data sources to gather clues and track down Carmen. They can also try to thwart other teams by giving them false clues. Real-time collaboration and problem-solving will be crucial to stay ahead. Join us for an unforgettable workshop that brings together technology and adventure, all while honing your GraphQL expertise. Can your team solve the mystery and emerge as the ultimate Carmen San Diego catchers? The race is on!",
+    "goers": "16",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula G",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "88bbc65fe92d08a0404215429f06c113",
+    "venue_id": "1762202",
+    "speakers": [
+      {
+        "username": "lerenzo",
+        "id": "5604312",
+        "name": "LeRenzo Malcom",
+        "company": "Miro",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "10:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-19",
+    "start_time": "10:30:00",
+    "start_time_ts": 1695144600,
+    "end_date": "2023-09-19",
+    "end_time": "12:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/cb/Workshop_ Carmen SanDiego.pdf",
+        "name": "Workshop_ Carmen SanDiego.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "501260",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Rust-Powered Fullstack GraphQL: From Actix-Web & Juniper Server to WASM Yew Client - Yassin Eldeeb, The Guild [Pre-Registration Required]",
+    "event_start": "2023-09-19 10:30",
+    "event_end": "2023-09-19 12:00",
+    "event_type": "Workshops",
+    "event_subtype": "Beyond Javascript",
+    "description": "Rust's ecosystem is known for its speed, efficiency, and type-safety. In this hands-on workshop we'll start by setting up a high-performance GraphQL server, all the way to a WASM-powered frontend client. We'll see how the various components interact seamlessly, and understand how Rust provides an edge with its efficiency. Are you ready to explore the robustness of Rust in full-stack GraphQL applications? Join me in this exciting journey!",
+    "goers": "15",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F",
+    "audience": "Intermediate",
+    "id": "0b5f6bcbfc77f97f4cdc6cdf4a171f82",
+    "venue_id": "1762200",
+    "speakers": [
+      {
+        "username": "yassineldeeb94",
+        "id": "18743822",
+        "name": "Yassin Eldeeb",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "10:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-19",
+    "start_time": "10:30:00",
+    "start_time_ts": 1695144600,
+    "end_date": "2023-09-19",
+    "end_time": "12:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/ac/SF GraphQL Conf 2023.pdf",
+        "name": "SF GraphQL Conf 2023.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "1",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Safely Evolve Your (Federated) GraphQL Schema with GraphQL Hive - Laurin Quast & Kamil Kisiela, The Guild [Pre-Registration Required]",
+    "event_start": "2023-09-19 10:30",
+    "event_end": "2023-09-19 12:00",
+    "event_type": "Workshops",
+    "description": "Do you struggle with unexpected breaking changes of your GraphQL clients? Do you want to know how your GraphQL schema is used and when it is safe to remove deprecated fields? Learn all about the open-source platform GraphQL Hive and its recommended workflow for scaling GraphQL across teams and organisations, including a full example of integrating Hive within your CI/CD pipeline on GitHub Actions. Laurin will teach you all about breaking changes, breaking change detection, and conditional breaking changes.",
+    "goers": "47",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "geo_area": "Yes",
+    "id": "55dd5ef56bd778955509d08ea81903ea",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "laurinquast",
+        "id": "18743819",
+        "name": "Laurin Quast",
+        "company": "The Guild",
+        "custom_order": 0
+      },
+      {
+        "username": "kamilkisiela",
+        "id": "19082388",
+        "name": "Kamil Kisiela",
+        "company": "The Guild",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "10:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-19",
+    "start_time": "10:30:00",
+    "start_time_ts": 1695144600,
+    "end_date": "2023-09-19",
+    "end_time": "12:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/c9/GraphQL Hive Workshop.pdf",
+        "name": "GraphQL Hive Workshop.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "8",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch",
+    "event_start": "2023-09-19 12:00",
+    "event_end": "2023-09-19 13:00",
+    "event_type": "Breaks",
+    "goers": "62",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula Foyer",
+    "id": "38cb4033d5cfed2d5b508f08374ebe9b",
+    "venue_id": "1749431",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "12:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "1:00pm",
+    "start_date": "2023-09-19",
+    "start_time": "12:00:00",
+    "start_time_ts": 1695150000,
+    "end_date": "2023-09-19",
+    "end_time": "13:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "511229",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference Discussion Session #1",
+    "event_start": "2023-09-19 13:00",
+    "event_end": "2023-09-19 14:30",
+    "event_type": "Unconference",
+    "description": "An unconference is a participant-driven, informal event where attendees collaboratively create the agenda and lead discussions. Unlike the predetermined schedules and speakers of a traditional conference, an unconference allows for spontaneous and dynamic interactions, fostering an open and inclusive learning environment.\n\nHow to Prepare to Attend an Unconference",
+    "goers": "24",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Sandpebble A&B",
+    "id": "6543e60efc3f0c20d24a40cffef29558",
+    "venue_id": "1749449",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "1:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:30pm",
+    "start_date": "2023-09-19",
+    "start_time": "13:00:00",
+    "start_time_ts": 1695153600,
+    "end_date": "2023-09-19",
+    "end_time": "14:30:00"
+  },
+  {
+    "event_key": "2",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Mesh - A Federated Gateway for Any API Protocol - GraphQL, OpenAPI, gRPC and More - Arda Tanrikulu & Gil Gardosh, The Guild [Pre-Registration Required]",
+    "event_start": "2023-09-19 13:00",
+    "event_end": "2023-09-19 14:30",
+    "event_type": "Workshops",
+    "description": "The GraphQL Mesh platform changes a lot of the traditional ideas about GraphQL and its relationship with other API protocols.\n\nIt can automatically generate a GraphQL API from OpenAPI/Swagger, gRPC, SOAP, oData and many other sources/protocols without changing the source.\n\nThe Guild has used GraphQL Mesh and its individual capabilities to help developers integrate and adopt GraphQL in places they never thought were possible and in extreme quickness, thanks to the fact that\nYou don't need to migrate your existing none GraphQL services in order to benefit from GraphQL You can federate any service, even if its not GraphQL Transform and manipulate services data (Naming Conventions, filter, middlewares) Add powerful gateway plugins (caching, tracing, security) Create a powerful gateway and run it anywhere (Cloudflare Workers, Deno, etc...) And even run it all on the client side\nIn this workshop, we will go through the many novel ideas behind GraphQL Mesh, see them in action and learn how to use this complete API platform today on your existing codebase.\n\nWe will leave time for an open Q&A session where we can talk in-depth about your current setups and how you could leverage The Guild's ecosystem of tools.",
+    "goers": "48",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "id": "de9b490bff0d1e234ec4e19bc03392b5",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "ardatanrikulu",
+        "id": "18982310",
+        "name": "Arda Tanrıkulu",
+        "company": "The Guild",
+        "custom_order": 0
+      },
+      {
+        "username": "gilgardosh",
+        "id": "19070448",
+        "name": "Gil Gardosh",
+        "company": "The Guild",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "1:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:30pm",
+    "start_date": "2023-09-19",
+    "start_time": "13:00:00",
+    "start_time_ts": 1695153600,
+    "end_date": "2023-09-19",
+    "end_time": "14:30:00"
+  },
+  {
+    "event_key": "488403",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Mr. Toad’s Wild Ride: A Rollicking, Declarative GraphQL Workshop with Envoy and Kubernetes - Jim Barton & Adam Sayah, Solo.io [Pre-Registration Required]",
+    "event_start": "2023-09-19 13:00",
+    "event_end": "2023-09-19 14:30",
+    "event_type": "Workshops",
+    "event_subtype": "Platform and Backend",
+    "description": "Many GraphQL adopters today use both API gateways and separate GraphQL servers to secure and route traffic to their service endpoints. GraphQL provides a consistent API for clients, but it's expensive to build and operate distinct GraphQL servers. Developers are often required to write custom code to provide platform features like security, caching, and resilience. What if there were another way? What if you could meld GraphQL server capabilities into an Envoy gateway without separate server deployments? And without disturbing upstream application services? In this fast-paced, hands-on workshop, every attendee can use their own sandboxed environment to explore these topics together: • Discovery: Inspect existing service contracts and derive GraphQL schema. • Declarative: Create IaC resolvers that consume OpenAPI services. • Stitching: Execute GraphQL queries across multiple services with a unified supergraph. • Gateway Integration: Use declarative policies to mix in gateway features like authNZ and data loss prevention. Buckle your seat belts! This Wild Ride will help you accelerate GraphQL adoption using infrastructure-as-code principles in a cloud-native environment.",
+    "goers": "18",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "f11fd521e00f5b8eedf463781f893c5e",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "jim.barton",
+        "id": "12615290",
+        "name": "Jim Barton",
+        "company": "Solo.io",
+        "custom_order": 0
+      },
+      {
+        "username": "adam.sayah",
+        "id": "12615405",
+        "name": "Adam Sayah",
+        "company": "Solo.io",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "1:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:30pm",
+    "start_date": "2023-09-19",
+    "start_time": "13:00:00",
+    "start_time_ts": 1695153600,
+    "end_date": "2023-09-19",
+    "end_time": "14:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/35/GraphQLConf 2023 Mr Toad Workshop.pdf",
+        "name": "GraphQLConf 2023 Mr Toad Workshop.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "10",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2023-09-19 14:30",
+    "event_end": "2023-09-19 15:00",
+    "event_type": "Breaks",
+    "goers": "53",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula Foyer",
+    "id": "61b9efc6ff8e0f295be6c65c08871c23",
+    "venue_id": "1749431",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:30pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "3:00pm",
+    "start_date": "2023-09-19",
+    "start_time": "14:30:00",
+    "start_time_ts": 1695159000,
+    "end_date": "2023-09-19",
+    "end_time": "15:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "511228",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference Discussion Session #2",
+    "event_start": "2023-09-19 15:00",
+    "event_end": "2023-09-19 16:30",
+    "event_type": "Unconference",
+    "description": "An unconference is a participant-driven, informal event where attendees collaboratively create the agenda and lead discussions. Unlike the predetermined schedules and speakers of a traditional conference, an unconference allows for spontaneous and dynamic interactions, fostering an open and inclusive learning environment.\n\nHow to Prepare to Attend an Unconference",
+    "goers": "15",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Sandpebble A&B",
+    "id": "edcb92ba1f2478b935124038ec1b20f0",
+    "venue_id": "1749449",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "3:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "4:30pm",
+    "start_date": "2023-09-19",
+    "start_time": "15:00:00",
+    "start_time_ts": 1695160800,
+    "end_date": "2023-09-19",
+    "end_time": "16:30:00"
+  },
+  {
+    "event_key": "4",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Build and Deploy Instant GraphQL APIs to the Edge - Jamie Barton, Grafbase [Pre-Registration Required]",
+    "event_start": "2023-09-19 15:00",
+    "event_end": "2023-09-19 16:30",
+    "event_type": "Workshops",
+    "description": "Learn how to generate instant GraphQL APIs using a data source connector (GraphQL and non-GraphQL sources), extend and join them both with custom resolvers and deploy to the edge without leaving the code editor.",
+    "goers": "39",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "id": "295679e18701aa2be84f329db1118637",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "jamie855",
+        "id": "18743804",
+        "name": "Jamie Barton",
+        "company": "Grafbase",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "3:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "4:30pm",
+    "start_date": "2023-09-19",
+    "start_time": "15:00:00",
+    "start_time_ts": 1695160800,
+    "end_date": "2023-09-19",
+    "end_time": "16:30:00"
+  },
+  {
+    "event_key": "511225",
+    "active": "Y",
+    "pinned": "N",
+    "name": "RSC + GraphQL + RedwoodJS: A New Era in Full-Stack Development - Amy Dutton, RedwoodJS [Pre-Registration Required]",
+    "event_start": "2023-09-19 15:00",
+    "event_end": "2023-09-19 16:30",
+    "event_type": "Workshops",
+    "event_subtype": "GraphQL and Data",
+    "description": "How can you ensure that your development workflow and process can accommodate growth? With the potential for more choices and complexity introduced by React Server Components, is it possible to avoid “analysis paralysis” due to more options? In this 1-2 hour workshop, we will explore a new workflow for dynamic full-stack applications using React Server Components (RSC) and GraphQL. Our focus will be on how RSC and GraphQL can co-exist and complement each other, allowing data to flow through your application and enabling it to scale and evolve as more features are added. We will cover server-side fetching with React Server components, how to use Redwood cells, and migrating to fragments. Additionally, we’ll review GraphQL fundamentals inside Redwood, including security concerns and best practices, directives, and authentication. You’ll leave this workshop with a workflow and process for designing and building full-stack applications in Redwood with scalability and simplicity.",
+    "goers": "29",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Intermediate",
+    "id": "b38ed79c29a2d0602160d9407bfa3422",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "amy1908",
+        "id": "16832327",
+        "name": "Amy Dutton",
+        "company": "RedwoodJS",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "19",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "3:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "19",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "4:30pm",
+    "start_date": "2023-09-19",
+    "start_time": "15:00:00",
+    "start_time_ts": 1695160800,
+    "end_date": "2023-09-19",
+    "end_time": "16:30:00"
+  },
+  {
+    "event_key": "511240",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Light Continental Breakfast",
+    "event_start": "2023-09-20 07:30",
+    "event_end": "2023-09-20 09:00",
+    "event_type": "Breaks",
+    "goers": "55",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula Foyer",
+    "id": "66e332f155e04efea896d5bd5dcd2ba5",
+    "venue_id": "1749431",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "7:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "9:00am",
+    "start_date": "2023-09-20",
+    "start_time": "07:30:00",
+    "start_time_ts": 1695220200,
+    "end_date": "2023-09-20",
+    "end_time": "09:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "511230",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration & Badge Pick-Up",
+    "event_start": "2023-09-20 07:30",
+    "event_end": "2023-09-20 18:30",
+    "event_type": "Registration + Badge Pick-Up",
+    "goers": "28",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula Foyer",
+    "id": "9836184d78d14978c0c49f1e2b900bb9",
+    "venue_id": "1749431",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "7:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "6:30pm",
+    "start_date": "2023-09-20",
+    "start_time": "07:30:00",
+    "start_time_ts": 1695220200,
+    "end_date": "2023-09-20",
+    "end_time": "18:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "20",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Welcome Remarks - Lee Byron, GraphQL Foundation",
+    "event_start": "2023-09-20 09:00",
+    "event_end": "2023-09-20 09:15",
+    "event_type": "Keynote Sessions",
+    "goers": "80",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "94d334f99906d3fc2669fc804e5fae41",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "lee_byron.25krdom6",
+        "id": "18769956",
+        "name": "Lee Byron",
+        "company": "GraphQL Foundation",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:00am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "9:15am",
+    "start_date": "2023-09-20",
+    "start_time": "09:00:00",
+    "start_time_ts": 1695225600,
+    "end_date": "2023-09-20",
+    "end_time": "09:15:00",
+    "description": ""
+  },
+  {
+    "event_key": "21",
+    "active": "Y",
+    "pinned": "N",
+    "name": "8 Years of GraphQL: Unraveling the Trade-Offs - Marc-Andre Giroux, Author of Production Ready GraphQL, GraphQL TSC",
+    "event_start": "2023-09-20 09:15",
+    "event_end": "2023-09-20 09:35",
+    "event_type": "Keynote Sessions",
+    "description": "In the world of GraphQL, there's been a whirlwind of choices over the past 8 years: Federation or GraphQL Monolith? Code-first or SDL-first? What's the best way to load data? In this session, we'll dive into these hot topics, peel back the layers, and chat about what works at scale and some hard-earned lessons.",
+    "goers": "70",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "017d9954f1be1c7e2ab2696c2abe6b9b",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "mgiroux7",
+        "id": "19075775",
+        "name": "Marc-Andre Giroux",
+        "company": "Netflix",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:15am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "9:35am",
+    "start_date": "2023-09-20",
+    "start_time": "09:15:00",
+    "start_time_ts": 1695226500,
+    "end_date": "2023-09-20",
+    "end_time": "09:35:00"
+  },
+  {
+    "event_key": "22",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Evolution of Application Networking Patterns with GraphQL - Keith Babo, Solo.io.",
+    "event_start": "2023-09-20 09:35",
+    "event_end": "2023-09-20 09:40",
+    "event_type": "Keynote Sessions",
+    "description": "As the adoption of GraphQL has grown, so too have the prevailing patterns for how GraphQL APIs are developed and deployed. Gone are the days where every GraphQL API was a development task to code, deploy, and manage GraphQL middleware connected to your data sources. Increasingly, GraphQL is supported as a native API for data sources, integrated directly in gateway routers and application sidecars, and provided directly in edge compute platforms and CDN providers. While this level of optimization is common as application protocols and languages reach widespread adoption, it’s critically important to understand the best practices and patterns for how GraphQL should be used at each layer of your application networking architecture. This talk will provide a survey of existing and emerging trends for application networking architectures with GraphQL, providing concrete examples and advice on how to build scalable and performant architectures for your GraphQL APIs.",
+    "goers": "64",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "b84ea942d55fb7406e53e3af0c78017e",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "keith.babo",
+        "id": "19071264",
+        "name": "Keith Babo",
+        "company": "Solo.io",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:35am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "9:40am",
+    "start_date": "2023-09-20",
+    "start_time": "09:35:00",
+    "start_time_ts": 1695227700,
+    "end_date": "2023-09-20",
+    "end_time": "09:40:00"
+  },
+  {
+    "event_key": "23",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The “Right Size” For GraphQL - Theo Browne, Ping Labs",
+    "event_start": "2023-09-20 09:40",
+    "event_end": "2023-09-20 10:00",
+    "event_type": "Keynote Sessions",
+    "description": "GraphQL ushered in a new era of DX. It challenged developers to think more about the relationships between their servers and clients.\n\nThis innovation sparked a lot of innovation outside of GraphQL, from better OpenAPI tools to tRPC to React Server Components. There are more options than ever before. Is GraphQL still the right choice?\n\nYes. Sometimes. Let’s talk about the “right size” and fit for GraphQL.",
+    "goers": "68",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "b57a1a6027fdab59c05c42c9d0515e71",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "theo93",
+        "id": "19108367",
+        "name": "Theo Browne",
+        "company": "Ping Labs",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:40am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "10:00am",
+    "start_date": "2023-09-20",
+    "start_time": "09:40:00",
+    "start_time_ts": 1695228000,
+    "end_date": "2023-09-20",
+    "end_time": "10:00:00"
+  },
+  {
+    "event_key": "24",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Spoiled for Choice: Picking the Right Federation Technique for Your Project - Bryan Robinson, Hygraph",
+    "event_start": "2023-09-20 10:00",
+    "event_end": "2023-09-20 10:05",
+    "event_type": "Keynote Sessions",
+    "description": "Federation is a hot topic right now. Whether it’s Apollo, GraphQL Mesh, Platform-level services, Content Federation, or one of many other philosophies, we’re seeing everyone talking about API federation. There’s no singular right answer for your project. Instead, it’s a developer’s best friend response: It Depends. In this talk, we’ll go over the various techniques to federate your API and which one is right for your project and team.",
+    "goers": "69",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "geo_area": "Yes",
+    "id": "2b7518a6d8f2b72122c17beb92af8c89",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "bryan.robinson2",
+        "id": "19076363",
+        "name": "Bryan Robinson",
+        "company": "Hygraph",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:00am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "10:05am",
+    "start_date": "2023-09-20",
+    "start_time": "10:00:00",
+    "start_time_ts": 1695229200,
+    "end_date": "2023-09-20",
+    "end_time": "10:05:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/a9/Spoiled for choice (sent).pptx.pdf",
+        "name": "Spoiled for choice (sent).pptx.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "25",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Open Federation - Open Remote Schema Specifications with Other Specs (OpenAPI, etc.) - Uri Goldshtein, The Guild",
+    "event_start": "2023-09-20 10:05",
+    "event_end": "2023-09-20 10:15",
+    "event_type": "Keynote Sessions",
+    "description": "In order to have a thriving ecosystem, and for you to choose your solutions and stack for the future, with the worry of a vendor lock, we must have open standards and specs across all of our architecture and solutions.\n\nLet's talk about the parts that weren't open till today and see how we are tackling these parts with collaborations from many different GraphQL Vendors across the whole ecosystem.",
+    "goers": "71",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "e29bf518adeb99b2319fa8cb70d8f445",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "uri_goldshtein.23xujj9a",
+        "id": "14900013",
+        "name": "Uri Goldshtein",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:05am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "10:15am",
+    "start_date": "2023-09-20",
+    "start_time": "10:05:00",
+    "start_time_ts": 1695229500,
+    "end_date": "2023-09-20",
+    "end_time": "10:15:00"
+  },
+  {
+    "event_key": "26",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Closing Remarks - Lee Byron, GraphQL Foundation",
+    "event_start": "2023-09-20 10:15",
+    "event_end": "2023-09-20 10:30",
+    "event_type": "Keynote Sessions",
+    "goers": "66",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "80869c56bb59f51de6ac8468c18eecdc",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "lee_byron.25krdom6",
+        "id": "18769956",
+        "name": "Lee Byron",
+        "company": "GraphQL Foundation",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:15am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "10:30am",
+    "start_date": "2023-09-20",
+    "start_time": "10:15:00",
+    "start_time_ts": 1695230100,
+    "end_date": "2023-09-20",
+    "end_time": "10:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "16",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2023-09-20 10:30",
+    "event_end": "2023-09-20 10:50",
+    "event_type": "Breaks",
+    "goers": "42",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "c6cba5c5a91fb3f916acec7de9692bd7",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "10:50am",
+    "start_date": "2023-09-20",
+    "start_time": "10:30:00",
+    "start_time_ts": 1695231000,
+    "end_date": "2023-09-20",
+    "end_time": "10:50:00",
+    "description": ""
+  },
+  {
+    "event_key": "511234",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsor Showcase",
+    "event_start": "2023-09-20 10:30",
+    "event_end": "2023-09-20 19:00",
+    "event_type": "Sponsor Showcase",
+    "goers": "24",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "77623920b158a75435d48896a8d56b35",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "7:00pm",
+    "start_date": "2023-09-20",
+    "start_time": "10:30:00",
+    "start_time_ts": 1695231000,
+    "end_date": "2023-09-20",
+    "end_time": "19:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "5",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Can GraphQL be FAIR? - Pascal Heus, AI/Data Lead, Postman",
+    "event_start": "2023-09-20 10:50",
+    "event_end": "2023-09-20 11:20",
+    "event_type": "Session Presentations",
+    "description": "Join us for an exciting  presentation that explores the intersection of Findable-Accessible-Interoperable-Reusable (FAIR) data and GraphQL.\n\n(FAIR)[https://www.go-fair.org/fair-principles/] is a set of principles that have been endorsed by the data producers, custodians, researchers, and scientific communities worldwide, emphasizing the importance of machine-actionability, metadata, unique identifiers, standardization, and related best practices. GraphQL, as a groundbreaking data query language and API, is ideally positioned to support such principles.\n\nIn this talk, we will provide an overview of FAIR and open the discussion around potential integration and synergies with GraphQL to help turn the FAIR vision into reality. Such integration would also expose GraphQL to new audiences and drive its adoption.\n\nAs a bonus topic, we will also explore the potential relationship and synergies between GraphQL and SPARQL, the RDF Query Language, such as exposing SPARQL endpoints as GraphQL APIs and integrating semantic RDF data into the GraphQL data graph.",
+    "goers": "20",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "geo_area": "Yes",
+    "id": "c915230f50de5c93eb5c2bbbee3610e6",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "plgah",
+        "id": "15289322",
+        "name": "Pascal Heus",
+        "company": "Postman",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:50am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "11:20am",
+    "start_date": "2023-09-20",
+    "start_time": "10:50:00",
+    "start_time_ts": 1695232200,
+    "end_date": "2023-09-20",
+    "end_time": "11:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/8e/202309_GraphQL_PH_FAIR.pdf",
+        "name": "202309_GraphQL_PH_FAIR.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "474923",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Security Vulnerabilities in the Wild - Antoine Carossio & Tristan Kalos, Escape",
+    "event_start": "2023-09-20 10:50",
+    "event_end": "2023-09-20 11:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Security",
+    "description": "Join Escape's co-founders Tristan Kalos and Antoine Carossio, leaders in GraphQL Security Testing, for an incisive look at GraphQL vulnerabilities. This groundbreaking research, involving a scan of over 1500 GraphQL endpoints, revealed a staggering 46,000+ security issues and sensitive data leaks, all accessible without authentication and with 10% classified as critical. In this session, Tristan and Antoine will share their unique testing methodology and delve into the most common GraphQL vulnerabilities unearthed during their research. They'll expose GraphQL-specific vulnerabilities, including complexity issues and schema leaks, alongside persistent standard API security threats like injections and server errors. They'll also highlight the often-underestimated problem of data leaks, including sensitive personal information and tokens. But, they won't leave you in the trenches; they'll showcase practical remediation strategies, introducing tools like GraphQL Armor and a handy security checklist for developers. Don't miss this crucial session at the GraphQL Conf 2023.",
+    "goers": "35",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Beginner",
+    "id": "5bf24cd6483a63e62a2276fe38effb82",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "antoine.carossio",
+        "id": "18743834",
+        "name": "Antoine Carossio",
+        "company": "Escape.tech",
+        "custom_order": 0
+      },
+      {
+        "username": "tristan119",
+        "id": "19011005",
+        "name": "Tristan Kalos",
+        "company": "Escape",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:50am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "11:20am",
+    "start_date": "2023-09-20",
+    "start_time": "10:50:00",
+    "start_time_ts": 1695232200,
+    "end_date": "2023-09-20",
+    "end_time": "11:20:00"
+  },
+  {
+    "event_key": "496594",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Future of Efficiency Is Here: Add Planning to Your Schema! - Benjie Gillam, Graphile",
+    "event_start": "2023-09-20 10:50",
+    "event_end": "2023-09-20 11:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "Platform and Backend",
+    "description": "Discover an entirely new approach to GraphQL execution that enables engineers to build next-level efficiency into new or existing GraphQL APIs – improving application performance, reducing operational costs, and delivering delightful user experiences. Learn how, by using a declarative analog to resolvers, your schema can gain a full understanding of the incoming GraphQL request and optimize communications with your business logic, enabling fewer and more efficient operations against your backend services and data sources. A passion project of one of the top contributors to the GraphQL specification, this MIT-licensed open source technology will support JavaScript at launch and, with the help of the community, is hopefully coming to other programming languages soon!",
+    "goers": "56",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "275443caa2eda5df06699b724efa533c",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "benjie3",
+        "id": "18743846",
+        "name": "Benjie Gillam",
+        "company": "Graphile",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:50am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "11:20am",
+    "start_date": "2023-09-20",
+    "start_time": "10:50:00",
+    "start_time_ts": 1695232200,
+    "end_date": "2023-09-20",
+    "end_time": "11:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/41/Future_of_Efficiency.pdf",
+        "name": "Future_of_Efficiency.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "496479",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Fusion: Rethinking Distributed GraphQL - Michael Staib, ChilliCream Inc",
+    "event_start": "2023-09-20 11:30",
+    "event_end": "2023-09-20 12:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "In this talk, we're unpacking GraphQL Fusion, a new approach that makes building distributed GraphQL APIs easier. We'll explore how this approach lets your teams work independently by owning different parts of the company's graph and cover how you can reshape subgraphs to follow your company's rules. Come learn about this powerful tool that brings efficiency and customization to your GraphQL operations.",
+    "goers": "59",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "id": "4a4e842d1cd0c06083f484d31225abd1",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "michael_staib.23xujj9p",
+        "id": "14900031",
+        "name": "Michael Staib",
+        "company": "ChilliCream",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-20",
+    "start_time": "11:30:00",
+    "start_time_ts": 1695234600,
+    "end_date": "2023-09-20",
+    "end_time": "12:00:00"
+  },
+  {
+    "event_key": "501216",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The New GraphiQL and the Future of Open GraphQL IDEs - Dimitri Postolov, The Guild; Thomas Heyenbrock, Stellate",
+    "event_start": "2023-09-20 11:30",
+    "event_end": "2023-09-20 12:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Clients",
+    "description": "Since we’ve joined the GraphiQL maintainers team, we’ve been shipping many new features and improvements to GraphiQL itself, its components and the language server. In this talk, we will talk about the wonderful collaborative work of the GraphiQL team, sharing work between many different GraphQL companies working together, show all the recent new features that we added and show cool new upcoming features from the GraphiQL roadmap you can already try out and give feedback today!",
+    "goers": "34",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "id": "e0985f6bdb4bbf07a5ca5ba72fbcc39c",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "thomas.heyenbrock",
+        "id": "14989332",
+        "name": "Thomas Heyenbrock",
+        "company": "Stellate",
+        "custom_order": 0
+      },
+      {
+        "username": "en3m",
+        "id": "18743843",
+        "name": "Dimitri Postolov",
+        "company": "The Guild",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-20",
+    "start_time": "11:30:00",
+    "start_time_ts": 1695234600,
+    "end_date": "2023-09-20",
+    "end_time": "12:00:00"
+  },
+  {
+    "event_key": "511243",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unlocking Insights: Navigating the World of GraphQL Observability - Eitan Joffe, Inigo",
+    "event_start": "2023-09-20 11:30",
+    "event_end": "2023-09-20 12:00",
+    "event_type": "Session Presentations",
+    "description": "In this talk we'll take a deep dive into the world of GraphQL analytics and observability.\nDiscover what sets it apart from conventional APIs and uncover the valuable answers it provides.\nDelve into how GraphQL analytics unveils inefficiencies in query resolvers, uncovers error patterns, and reveals usage insights. Gain the ability to pinpoint bottlenecks, fine-tune queries, and enhance user experiences through well-informed decisions.\n\nLearn the essential strategies for successfully managing a GraphQL production deployment, ensuring your API operates at its best.",
+    "goers": "30",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "f8a4d2b939980ffadf787715033e2b4f",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "eitan15",
+        "id": "17700131",
+        "name": "Eitan Joffe",
+        "company": "Inigo",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-20",
+    "start_time": "11:30:00",
+    "start_time_ts": 1695234600,
+    "end_date": "2023-09-20",
+    "end_time": "12:00:00"
+  },
+  {
+    "event_key": "9",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch",
+    "event_start": "2023-09-20 12:00",
+    "event_end": "2023-09-20 13:30",
+    "event_type": "Breaks",
+    "goers": "61",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "0f57893e761e683f58c4ace9e766c3bf",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "12:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "1:30pm",
+    "start_date": "2023-09-20",
+    "start_time": "12:00:00",
+    "start_time_ts": 1695236400,
+    "end_date": "2023-09-20",
+    "end_time": "13:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "490988",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL IRL: Pitfalls, Surprises and Successes - Kewei Qu, Meta Platforms",
+    "event_start": "2023-09-20 13:30",
+    "event_end": "2023-09-20 13:40",
+    "event_type": "Lightning Talks",
+    "event_subtype": "GraphQL in Production",
+    "description": "This talk goes through some interesting development around Meta’s performance and reliability improvement around GraphQL. Through several interesting case studies: surprising backward incompatible schema changes, error handling framework and ever evolving recommendations on how to use @defer and @stream, I hope to share these knowledge with the GraphQL community and build awesome and robust Apps users enjoy.",
+    "goers": "56",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "cc423d9ba6bacb53c1b24490cb208c17",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "qkw1221",
+        "id": "18743864",
+        "name": "Kewei Qu",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "1:40pm",
+    "start_date": "2023-09-20",
+    "start_time": "13:30:00",
+    "start_time_ts": 1695241800,
+    "end_date": "2023-09-20",
+    "end_time": "13:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/a6/GraphQL IRL.pdf",
+        "name": "GraphQL IRL.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "502295",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Argo: Designing a Compact and Compressible Binary Serialization Format for GraphQL - Mike Solomon",
+    "event_start": "2023-09-20 13:30",
+    "event_end": "2023-09-20 14:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "Platform and Backend",
+    "description": "GraphQL uses JSON by default, but other serialization formats may be used instead.In this session, we start from scratch and construct a purpose-built binary serialization format for GraphQL. Come and learn about the tradeoffs involved when designing serialization formats, and see if the resulting compact format (Argo) is a good fit for your GraphQL API! Choose compelling design goals for a serialization format Build up a format with distinct advantages over JSON Compare and analyze the practical tradeoffs between JSON and a purpose-built format By the end of the session, we will have built up to Argo: a compact and compressible binary serialization format for GraphQL. After the session, more details can be found in Argo’s open source specification, design notes, and reference implementation.\nThis talk assumes significant familiarity with GraphQL (particularly the Schema Definition Language) and JSON.\nSee Argo on GitHub, Argo homepage (including link to Argo spec), or Mike's website.",
+    "goers": "14",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Advanced",
+    "geo_area": "Yes",
+    "id": "504049f2217d6c59b9f67eba97089bfe",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "arkenflame",
+        "id": "18743867",
+        "name": "Mike Solomon",
+        "company": "-",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:00pm",
+    "start_date": "2023-09-20",
+    "start_time": "13:30:00",
+    "start_time_ts": 1695241800,
+    "end_date": "2023-09-20",
+    "end_time": "14:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/a4/Argo.pdf",
+        "name": "Argo.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "501215",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Over Internet - Denis Badurina, The Guild",
+    "event_start": "2023-09-20 13:30",
+    "event_end": "2023-09-20 14:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Core",
+    "description": "GraphQL is transport agnostic. That means it is very powerful and could be used for many different use cases. But that also means that there are extra steps we need to think about for each transport we use. In this talk I will cover the different transports GraphQL can be use in, including real-time and HTTP, the different libraries out there that could help you implement your solution and the undergoing standardisation efforts that are happening around each of these transports.",
+    "goers": "33",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "6c2eefe955e288e974a9182dac06f8fa",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "badurinadenis",
+        "id": "18743810",
+        "name": "Denis Badurina",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:00pm",
+    "start_date": "2023-09-20",
+    "start_time": "13:30:00",
+    "start_time_ts": 1695241800,
+    "end_date": "2023-09-20",
+    "end_time": "14:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/f9/GraphQL over Internet.pdf",
+        "name": "GraphQL over Internet.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "496208",
+    "active": "Y",
+    "pinned": "N",
+    "name": "How @Defer and @Stream Will Improve GraphQL Caching - Andreas Heiberg, Stellate",
+    "event_start": "2023-09-20 13:45",
+    "event_end": "2023-09-20 13:55",
+    "event_type": "Lightning Talks",
+    "event_subtype": "Scaling",
+    "description": "These directives were created to improve time to first paint without splitting fast resolving query fragments into a separate network request. However, their implications on the DX and cache hit rate of GraphQL query caching is immense. Let’s explore the future ahead!",
+    "goers": "67",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "a6f436251a88bb94d5e79099742c9d75",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "andreas.heiberg",
+        "id": "18743801",
+        "name": "Andreas Heiberg",
+        "company": "Stellate",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "1:45pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "1:55pm",
+    "start_date": "2023-09-20",
+    "start_time": "13:45:00",
+    "start_time_ts": 1695242700,
+    "end_date": "2023-09-20",
+    "end_time": "13:55:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/37/GraphQLConf_Defer_Caching_v2.pdf",
+        "name": "GraphQLConf_Defer_Caching_v2.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "36",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Consuming GraphQL using C# - Brandon Minnick, AWS",
+    "event_start": "2023-09-20 14:10",
+    "event_end": "2023-09-20 14:40",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Clients",
+    "description": "GraphQL has become a staple technology in the JavaScript community, but it is still relatively new and unknown in the C# world.\n\nJoin me as we explore the GraphQL tools available for .NET developers, like HotChocolate + Strawberry Shake, and how these tools make it easy to consume GraphQL APIs in C#!",
+    "goers": "8",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "5f920cd134d4dea87fce5e59bc4418dc",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "brandon.r.minnick",
+        "id": "9493345",
+        "name": "Brandon Minnick",
+        "company": "AWS",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:40pm",
+    "start_date": "2023-09-20",
+    "start_time": "14:10:00",
+    "start_time_ts": 1695244200,
+    "end_date": "2023-09-20",
+    "end_time": "14:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/e3/Consuming GraphQL APIs in C#.pptx (1).pdf",
+        "name": "Consuming GraphQL APIs in C#.pptx (1).pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "484427",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Mutating Meetup with GraphQL - Annyce Davis, Meetup",
+    "event_start": "2023-09-20 14:10",
+    "event_end": "2023-09-20 14:40",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "Over the past three years, Meetup has undergone a transformation from relying on REST APIs to fully embracing GraphQL. Despite the many benefits, it hasn't been without its challenges.\n\nIn this talk, I'll cover the benefits of using GraphQL in production, such as how it can streamline API development and improve data retrieval. I'll also discuss common challenges that arise when implementing GraphQL in production and share best practices for addressing them. Specifically, I'll touch on:\n\n* Schema design considerations\n* Caching strategies\n* Monitoring and performance optimization\n* Tools and frameworks for implementing GraphQL in production\n\nLook forward to gaining valuable insights and practical advice for implementing GraphQL in production!",
+    "goers": "35",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "3a88eedac57e223aa69979407cfcc8f0",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "annyce.davis",
+        "id": "2147992",
+        "name": "Annyce Davis",
+        "company": "Meetup",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:40pm",
+    "start_date": "2023-09-20",
+    "start_time": "14:10:00",
+    "start_time_ts": 1695244200,
+    "end_date": "2023-09-20",
+    "end_time": "14:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/e2/mutating_meetup_with_graphql.pdf",
+        "name": "mutating_meetup_with_graphql.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "498279",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Semi-Concurrent Deduplicated Incremental Delivery - Yaacov Rydzinski",
+    "event_start": "2023-09-20 14:10",
+    "event_end": "2023-09-20 14:40",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Core",
+    "description": "Curious about what's new in Incremental Delivery in 2023? Want to learn more about the proposed new response format and the recently released implementation in `graphql-js`?\n\nIn this talk, we will: Explore the goals and challenges of incremental delivery with a focus on providing eager maximally-concurrent execution of deduplicated, deferred fields. Elaborate on the distinction between Incremental Data vs. Incremental / Subsequent Results. Overview the new CollectFields algorithm that performs deduplication => at build vs execution time! Discuss potential pitfalls with early execution and tools to mitigate them (resolver helpers, Paraloader, resource frameworks). Call for feedback from the community! Special thanks to Rob Richard, the champion for incremental delivery, and Benjie Gillam, who together with Rob authored the new response format!",
+    "goers": "29",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "fc1e6c878fc02b6c2b7534ddebfac6ff",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "yaacovcr",
+        "id": "18743840",
+        "name": "Yaacov Rydzinski",
+        "company": "Open Source",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:40pm",
+    "start_date": "2023-09-20",
+    "start_time": "14:10:00",
+    "start_time_ts": 1695244200,
+    "end_date": "2023-09-20",
+    "end_time": "14:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/cd/Deduplicated Incremental Delivery.pdf",
+        "name": "Deduplicated Incremental Delivery.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "511236",
+    "active": "Y",
+    "pinned": "N",
+    "name": "4 Steps to a Successful GraphQL API Program - Suresh Muthu & Jared Cheney, Intuit",
+    "event_start": "2023-09-20 14:50",
+    "event_end": "2023-09-20 15:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "Scaling",
+    "description": "This session provides a concise and practical guide for businesses looking to create a successful GraphQL API program. Attendees will learn about the key components required to develop a well-defined and well-governed API program, including API specifications, governance and consistency, dev community & help, and closed-loop feedback. While there are a lot of guidelines and best practices for REST APIs in the industry, there are not yet as many guidelines for GraphQL. Intuit made over 56 million transactions with GraphQL over the 2023 tax peak season, and that number will only get larger from here. GraphQL adoption at this scale required us to build a robust API program with a centralized set of guidelines on how the schema should be composed, along with a community-driven review process and a firm but flexible governance framework. In this session, we will share insights and lessons learned using real-life examples from our GraphQL API Program, enabling attendees to apply these learnings to their own businesses. This session offers a valuable opportunity for businesses to develop their API programs and stay competitive.",
+    "goers": "32",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "de614df0c21b5227fff20767aa065de8",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "jared_cheney.7rad60v",
+        "id": "18775617",
+        "name": "Jared Cheney",
+        "company": "Intuit",
+        "custom_order": 0
+      },
+      {
+        "username": "suresh_muthu",
+        "id": "18743849",
+        "name": "Suresh Muthu",
+        "company": "Intuit",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:20pm",
+    "start_date": "2023-09-20",
+    "start_time": "14:50:00",
+    "start_time_ts": 1695246600,
+    "end_date": "2023-09-20",
+    "end_time": "15:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/aa/4 Steps to a Successful GraphQL API Program.pdf",
+        "name": "4 Steps to a Successful GraphQL API Program.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "502901",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Go Beyond the Spec With Custom Directives - Roy Derks, StepZen, an IBM Company",
+    "event_start": "2023-09-20 14:50",
+    "event_end": "2023-09-20 15:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Core",
+    "description": "The GraphQL Specification is a great document for everyone building and using GraphQL APIs, and always in development. For a reason! One thing where GraphQL services and client tooling are good at, is introducing new and better ways to use GraphQL. Often, they make use of custom directives to extend GraphQL with custom or experimental behavior. In this talk I'll share best practices on using directives in GraphQL, and how builders can use custom directives to add new configurable execution capabilities to GraphQL.",
+    "goers": "18",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Advanced",
+    "id": "eb08683c706380e0236adb2097358f4c",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "hello2358",
+        "id": "16832291",
+        "name": "Roy Derks",
+        "company": "IBM",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:20pm",
+    "start_date": "2023-09-20",
+    "start_time": "14:50:00",
+    "start_time_ts": 1695246600,
+    "end_date": "2023-09-20",
+    "end_time": "15:20:00"
+  },
+  {
+    "event_key": "501204",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Graph of Everything - Federated Architecture for Any API Service - Uri Goldshtein, The Guild",
+    "event_start": "2023-09-20 14:50",
+    "event_end": "2023-09-20 15:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "Spec Fusion",
+    "description": "We debate and talk a lot about the differences between GraphQL and other API technologies. What if we could interop between all of these? What would that mean for the strength and weaknesses? What would that mean for the adoption story? In this talk I will demonstrate a few technologies that help us automatically interact from GraphQL to others API technologies and the other way around. I will show how these technologies effected how The Guild thinks about the architecture of GraphQL, where and when to use it and all the new use cases that this unfolds for our users. and one more thing - I will also demonstrate how it opens the doors for GraphQL tool developers to offer solutions for other API ecosystems.",
+    "goers": "59",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "id": "7a87fe1cfc351a993ed40e01d384e3c6",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "uri_goldshtein.23xujj9a",
+        "id": "14900013",
+        "name": "Uri Goldshtein",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:20pm",
+    "start_date": "2023-09-20",
+    "start_time": "14:50:00",
+    "start_time_ts": 1695246600,
+    "end_date": "2023-09-20",
+    "end_time": "15:20:00"
+  },
+  {
+    "event_key": "19",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2023-09-20 15:20",
+    "event_end": "2023-09-20 15:40",
+    "event_type": "Breaks",
+    "goers": "44",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "3e70d76748962770972c5c80e45ee9d7",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:20pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:40pm",
+    "start_date": "2023-09-20",
+    "start_time": "15:20:00",
+    "start_time_ts": 1695248400,
+    "end_date": "2023-09-20",
+    "end_time": "15:40:00",
+    "description": ""
+  },
+  {
+    "event_key": "493683",
+    "active": "Y",
+    "pinned": "N",
+    "name": "@Defer All the Slow Things - Alessia Bellisario, Apollo GraphQL",
+    "event_start": "2023-09-20 15:40",
+    "event_end": "2023-09-20 15:50",
+    "event_type": "Lightning Talks",
+    "event_subtype": "GraphQL Clients",
+    "description": "With GraphQL, clients can describe the data they require and receive nothing more, nothing less. This also means a single GraphQL query is as slow as its slowest field(s)… that is until @defer 🎉 Learn about a proposed directive that solves this problem and its underlying incremental transport mechanism.",
+    "goers": "41",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "cc22599d768dc636a67a0e93cd74bab2",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "twitter7",
+        "id": "18743837",
+        "name": "Alessia Bellisario",
+        "company": "Apollo",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:40pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:50pm",
+    "start_date": "2023-09-20",
+    "start_time": "15:40:00",
+    "start_time_ts": 1695249600,
+    "end_date": "2023-09-20",
+    "end_time": "15:50:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/ef/@defer all the slow things.pdf",
+        "name": "@defer all the slow things.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "483848",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Launching a Public GraphQL API and Client for Open Source Lightning Web Components - Ben Sklar, Salesforce",
+    "event_start": "2023-09-20 15:40",
+    "event_end": "2023-09-20 16:10",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "Learn how and why Salesforce decided to launch a public GraphQL API. You will learn about best practices, real world use cases, hear success stories, failures, challenges, and overall lessons learned from a real production deployment of a GraphQL API. This API is unique in that every user of the API may have different views of the schema due to a strict field-level and object-level security model. You'll also get to hear about upcoming new features to the API, and how you can leverage this API with our open source Lightning Web Components framework, allowing you to insert GraphQL queries directly with Lightning Web Components.",
+    "goers": "27",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "72ac8d3f7585f86cb9acc77b9eb22241",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "bsklar",
+        "id": "18743813",
+        "name": "Ben Sklar",
+        "company": "Salesforce",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:40pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:10pm",
+    "start_date": "2023-09-20",
+    "start_time": "15:40:00",
+    "start_time_ts": 1695249600,
+    "end_date": "2023-09-20",
+    "end_time": "16:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/8a/GraphQL Conf Presentation 2023 - LWC & UI API.pdf",
+        "name": "GraphQL Conf Presentation 2023 - LWC & UI API.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "483029",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Streamlining Access to NASA Earth Science Data with GraphQL - Ryan Abbott, Element 84",
+    "event_start": "2023-09-20 15:40",
+    "event_end": "2023-09-20 16:10",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL and Data",
+    "description": "The Common Metadata Repository (CMR), NASA's datastore for Earth science metadata offers multiple API's that allow users to access the underlying data in many ways. With the launch of recent missions, CMR's usage has increased exponentially; this usage and the features added to support new capabilities have made it increasingly difficult to keep it's response formats and capabilities consistent and performant. Unfortunately agency requirements and existing CMR client implementations limit our ability to change our APIs. In our research for a solution that would allow us to work within these limitations, the use of GraphQL as an abstraction layer would mean that our existing APIs could remain unchanged. Additionally, this would allow us to offer new functionality via a self-documenting, specification based approach. Our introduction of GraphQL has allowed us to normalize the ways that users communicate with our APIs and enabled us to make changes to our core APIs with no impact to clients. In this talk, I'll discuss the challenges, wins, losses, and lessons learned in wrapping CMR's API with GraphQL and how it's being utilized today.",
+    "goers": "30",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "2816d4a81204283289584830acda7826",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "abbottry",
+        "id": "18680304",
+        "name": "Ryan Abbott",
+        "company": "NASA EED-3 / Element 84",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:40pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:10pm",
+    "start_date": "2023-09-20",
+    "start_time": "15:40:00",
+    "start_time_ts": 1695249600,
+    "end_date": "2023-09-20",
+    "end_time": "16:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/02/GraphQL Conf.pdf",
+        "name": "GraphQL Conf.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "488856",
+    "active": "Y",
+    "pinned": "N",
+    "name": "How to Make Your First Open Source Contribution - Donna Zhou, Atlassian",
+    "event_start": "2023-09-20 15:55",
+    "event_end": "2023-09-20 16:05",
+    "event_type": "Lightning Talks",
+    "description": "Have you always wanted to make an open source contribution, but not sure where to start? Getting started with open source is much easier than it seems. A year ago, I started regularly contributing to GraphQL Java and the GraphQL Scalars project. I caught the open source bug and made it a habit, and now I’m a maintainer of GraphQL Java. It has been an incredible learning experience, and it has been very rewarding to meet the engineers using the library all over the world. But it wasn’t always an open source fairytale! Many years ago I tried to contribute to another project, and it was a total failure. I didn’t have a great experience and it put me off open source for a long time. In this talk, I want to explain what I did differently to succeed this time around.",
+    "goers": "32",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "81daf0dd0b26efdc784ba0a530e54a68",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "donnasiqizhou",
+        "id": "18743879",
+        "name": "Donna Zhou",
+        "company": "Atlassian",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:55pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:05pm",
+    "start_date": "2023-09-20",
+    "start_time": "15:55:00",
+    "start_time_ts": 1695250500,
+    "end_date": "2023-09-20",
+    "end_time": "16:05:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/39/Open source.pdf",
+        "name": "Open source.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "7",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Easily Access Blockchain Data with Subgraphs - Kevin Jones, The Graph",
+    "event_start": "2023-09-20 16:20",
+    "event_end": "2023-09-20 16:50",
+    "event_type": "Session Presentations",
+    "description": "Have you ever wanted to dip your toes into web3 development and blockchain data but don't know how? Join us to learn how blockchain data can be easily queried with GraphQL!\n\nSubgraphs APIs and the tooling built around them are all open source, making it easy for developers to build decentralized applications (dapps). Within the world of web3 there are many different ways to use smart contracts, so Subgraphs are modular APIs enabling developers to build for any use case. These subgraphs can be queried via The Graph, a decentralized network for accessing blockchain data.\n\nIn this presentation we will explore: Practical aspects of accessing blockchain data using Subgraphs, including the basics of building a GraphQL schema Discuss efficient Data optimization Utility of GraphQL for blockchain data Elements of decentralization and data\nLearn how Subgraphs simplify the data extraction from blockchains, optimize data handling, and enhance query flexibility. Join us to understand how these elements work together to make blockchain data more accessible and manageable.",
+    "goers": "12",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "geo_area": "Yes",
+    "id": "ebee6213b39b87437eb7cc9c41ea972b",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "kevin1700",
+        "id": "19150962",
+        "name": "Kevin Jones",
+        "company": "The Graph",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "4:20pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:50pm",
+    "start_date": "2023-09-20",
+    "start_time": "16:20:00",
+    "start_time_ts": 1695252000,
+    "end_date": "2023-09-20",
+    "end_time": "16:50:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/17/Querying Blockchain Data with GraphQL - shared.pdf",
+        "name": "Querying Blockchain Data with GraphQL - shared.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "496520",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Isograph — Rethink GraphQL-Powered React Apps - Robert Balicki, Pinterest",
+    "event_start": "2023-09-20 16:20",
+    "event_end": "2023-09-20 16:50",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Clients",
+    "description": "Isograph is a framework for building GraphQL-backed React apps with a radically redesigned developer experience. Find out how you can build entire applications through the graph, and the vision for how Isograph will enable extremely performant and powerful apps.",
+    "goers": "42",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "2517f7a1d13ad3c0652e1b3cc5b65714",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "robert.balicki",
+        "id": "18743858",
+        "name": "Robert Balicki",
+        "company": "Pinterest",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "4:20pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:50pm",
+    "start_date": "2023-09-20",
+    "start_time": "16:20:00",
+    "start_time_ts": 1695252000,
+    "end_date": "2023-09-20",
+    "end_time": "16:50:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/6c/GraphQL Conf 2023.pdf",
+        "name": "GraphQL Conf 2023.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "496782",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Supercharging GraphQL with Envoy: Unveiling the Efficiency of Declarative GraphQL - Sai Ekbote, solo.io",
+    "event_start": "2023-09-20 16:20",
+    "event_end": "2023-09-20 16:50",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "Over the past decade of GraphQL, many implementations have emerged from the community, primarily that of imperative approaches to GraphQL. However, recently we have seen an uptick in implementations that allow for declarative configuration of GraphQL schemas and resolvers. These declarative approaches offer new possibilities in terms of managing and scaling GraphQL APIs. In this talk, we will dive into the challenges of implementing a declarative API for GraphQL and explore the solutions that exist in the ecosystem. Firstly, we will introduce several prominent solutions that enable declarative configuration of GraphQL APIs, such as Gloo GraphQL, GraphQL Mesh, and StepZen. We will compare and contrast these solutions, highlighting their unique features, capabilities, and integration possibilities with existing infrastructure. We will then delve into the more technical aspects and challenges of implementing a highly performant GraphQL server that we built-in as a component of the industry standard Envoy proxy. By the end of this talk, attendees will be left with a comprehensive understanding of declarative GraphQL and the solutions available in the ecosystem.",
+    "goers": "35",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "5d6afee232e35ba1880e7b25d810ef49",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "keerthan.ekbote",
+        "id": "14553875",
+        "name": "Sai Ekbote",
+        "company": "solo.io",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "4:20pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:50pm",
+    "start_date": "2023-09-20",
+    "start_time": "16:20:00",
+    "start_time_ts": 1695252000,
+    "end_date": "2023-09-20",
+    "end_time": "16:50:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/54/graphqlconf.pdf",
+        "name": "graphqlconf.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "491650",
+    "active": "N",
+    "pinned": "N",
+    "name": "CANCELED: Building Mission Control: A More Reliable, Better Performing, Drop-in Replacement for Apollo Uplink. - Michael Edelman, EdelOrg",
+    "event_start": "2023-09-20 17:00",
+    "event_end": "2023-09-20 17:30",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "Mission Control is a drop-in, enterprise-grade solution, written in rust, that, once and for all, solves the reliability, availability, and performance issues that have, up until now, beguiled Apollo's Uplink service and, thus, limited the appeal of \"managed federation\" in mission-critical applications generally. Here, we will discuss the challenges and issues that led us here, our motivation for replacing Apollo Uplink as the single source of truth for our supergraph schemas, the alternative solutions we considered, and, finally, why we decided to take the path that we did--essentially reinventing the wheel--and where we plan to take it going forward. Attendees will leave with a deep understanding of the tradeoffs with respect to managed federation in mission critical environments, specifically as they relate to use of Apollo's Uplink service as a single source of truth. Moreover, attendees will walk away with a general plan for how to mitigate the challenges and limitations above, using Mission Control as the seminal example.",
+    "goers": "16",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Advanced",
+    "id": "bc5623fa38b3e2a58b357b35d3209023",
+    "venue_id": "1762208",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "5:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "5:30pm",
+    "start_date": "2023-09-20",
+    "start_time": "17:00:00",
+    "start_time_ts": 1695254400,
+    "end_date": "2023-09-20",
+    "end_time": "17:30:00"
+  },
+  {
+    "event_key": "490843",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL and CQRS, a Perfect Fit? - Gerard Klijs, AxonIQ",
+    "event_start": "2023-09-20 17:00",
+    "event_end": "2023-09-20 17:30",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL and Data",
+    "description": "With an CQRS architecture, the write and read model are separated. The read model is also eventually consistent. This makes it hard to implement GraphQL mutations as they are implemented usually. We can't directly return the updated entity, as that's not available in the write model? But do we need to return this, or can we get away with just returning if the mutation was successful? Are there ways we can still return the updated entity? We will dive deeper into this, and also at the consequences for queries, and subscriptions.",
+    "goers": "27",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "217cf30afd15a724ebb42c4d82169a26",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "gerard.klijs",
+        "id": "18743792",
+        "name": "Gerard Klijs",
+        "company": "AxonIQ",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "5:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "5:30pm",
+    "start_date": "2023-09-20",
+    "start_time": "17:00:00",
+    "start_time_ts": 1695254400,
+    "end_date": "2023-09-20",
+    "end_time": "17:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/63/GraphQL+CQRS.pdf",
+        "name": "GraphQL+CQRS.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "511237",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Why Relay is a Must for your GraphQL APIs - Marion Schleifer, Hasura",
+    "event_start": "2023-09-20 17:00",
+    "event_end": "2023-09-20 17:30",
+    "event_type": "Session Presentations",
+    "description": "GraphQL has helped the industry realize the benefit of having typed APIs. But does that mean that if we switch over to a typed API like gRPC or OpenAPI then GraphQL is overkill? In this session, I want to discuss how GraphQL with Relay is critical to UI development and GraphQL without Relay leads us to reinventing the wheel on state management and API libraries again and again. And also as a corollary, how using GraphQL without Relay might not really be worth it!",
+    "goers": "44",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "geo_area": "Yes",
+    "id": "34bdd9b21a3cf2db6600a5ef840b3fb3",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "marion84",
+        "id": "19150944",
+        "name": "Marion Schleifer",
+        "company": "Hasura",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "5:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "5:30pm",
+    "start_date": "2023-09-20",
+    "start_time": "17:00:00",
+    "start_time_ts": 1695254400,
+    "end_date": "2023-09-20",
+    "end_time": "17:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/2d/why_relay_is_a_must_for_your_graphql_api.pdf",
+        "name": "why_relay_is_a_must_for_your_graphql_api.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "511233",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Booth Crawl",
+    "event_start": "2023-09-20 17:30",
+    "event_end": "2023-09-20 19:00",
+    "event_type": "Events & Experiences",
+    "description": "TBA",
+    "goers": "49",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "a6d43808900bc56bb2ebd675544ee5a3",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "20",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "5:30pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "20",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "7:00pm",
+    "start_date": "2023-09-20",
+    "start_time": "17:30:00",
+    "start_time_ts": 1695256200,
+    "end_date": "2023-09-20",
+    "end_time": "19:00:00"
+  },
+  {
+    "event_key": "511239",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Light Continental Breakfast",
+    "event_start": "2023-09-21 07:30",
+    "event_end": "2023-09-21 09:00",
+    "event_type": "Breaks",
+    "goers": "38",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula Foyer",
+    "id": "7bb96b3d5660f2d285220d7cdd59eb7f",
+    "venue_id": "1749431",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "7:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "9:00am",
+    "start_date": "2023-09-21",
+    "start_time": "07:30:00",
+    "start_time_ts": 1695306600,
+    "end_date": "2023-09-21",
+    "end_time": "09:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "511232",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration & Badge Pick-Up",
+    "event_start": "2023-09-21 07:30",
+    "event_end": "2023-09-21 16:00",
+    "event_type": "Registration + Badge Pick-Up",
+    "goers": "13",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula Foyer",
+    "id": "9a543325b8802fd94cc9ed81908dc888",
+    "venue_id": "1749431",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "7:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "4:00pm",
+    "start_date": "2023-09-21",
+    "start_time": "07:30:00",
+    "start_time_ts": 1695306600,
+    "end_date": "2023-09-21",
+    "end_time": "16:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "27",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Welcome Remarks - Keith Babo, Solo.io",
+    "event_start": "2023-09-21 09:00",
+    "event_end": "2023-09-21 09:05",
+    "event_type": "Keynote Sessions",
+    "goers": "56",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "5a0c1b8ab4957bfd83f55480c1508fe5",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "keith.babo",
+        "id": "19071264",
+        "name": "Keith Babo",
+        "company": "Solo.io",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:00am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "9:05am",
+    "start_date": "2023-09-21",
+    "start_time": "09:00:00",
+    "start_time_ts": 1695312000,
+    "end_date": "2023-09-21",
+    "end_time": "09:05:00",
+    "description": ""
+  },
+  {
+    "event_key": "29",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Is a GraphQL BFF Necessary in a Server Side React World (RSC, SAs)? - Tanmai Gopal, Hasura",
+    "event_start": "2023-09-21 09:05",
+    "event_end": "2023-09-21 09:15",
+    "event_type": "Keynote Sessions",
+    "description": "With the introduction and rise in adoption of React Server Components and Server Actions (and as other UI frameworks embrace these ideas), is a GraphQL API layer that provides a \"Backend For Frontend\" type of abstraction going to be relevant? Where does GraphQL fit in and how might it evolve over the months to come?\n\nIn this talk, I'll focus on specific technical and developer-experience benefits of a GraphQL and \"server side React\" overlap, along with some code examples. Next, I'll talk about areas where the value provided by GraphQL is orthogonal to the benefits of React Server Components and Server Actions. Finally, through this exploration and these examples, I'll end on an opinionated note that GraphQL's future is with Relay and its usage as a BFD 🤯 (?!), instead of a BFF.",
+    "goers": "54",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "e3320ba552ee773065a1a132304a36e0",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "tanmaig",
+        "id": "4968006",
+        "name": "Tanmai Gopal",
+        "company": "Hasura",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:05am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "9:15am",
+    "start_date": "2023-09-21",
+    "start_time": "09:05:00",
+    "start_time_ts": 1695312300,
+    "end_date": "2023-09-21",
+    "end_time": "09:15:00"
+  },
+  {
+    "event_key": "30",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Training and Using Generative AI Models with GraphQL - Idit Levine, Solo.io",
+    "event_start": "2023-09-21 09:15",
+    "event_end": "2023-09-21 09:25",
+    "event_type": "Keynote Sessions",
+    "goers": "52",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "47c1bf50ce5556edcae9a84795485a8f",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "idit_levine.25krdj4u",
+        "id": "18769950",
+        "name": "Idit Levine",
+        "company": "Solo.io",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:15am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "9:25am",
+    "start_date": "2023-09-21",
+    "start_time": "09:15:00",
+    "start_time_ts": 1695312900,
+    "end_date": "2023-09-21",
+    "end_time": "09:25:00",
+    "description": ""
+  },
+  {
+    "event_key": "31",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Everywhere - How GraphQL is Being Used in Places You Never Thought Were Possible - Uri Goldshtein, The Guild",
+    "event_start": "2023-09-21 09:25",
+    "event_end": "2023-09-21 09:35",
+    "event_type": "Keynote Sessions",
+    "description": "GraphQL can be helpful in more places than just client-server communication. I will talk about a number of ways The Guild is using GraphQL in places that help us make a difference with teams that are not the classic GraphQL teams and sometimes don't know what GraphQL is!",
+    "goers": "60",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "b9e35d673e7b541421d45ce2043dc05e",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "uri_goldshtein.23xujj9a",
+        "id": "14900013",
+        "name": "Uri Goldshtein",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:25am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "9:35am",
+    "start_date": "2023-09-21",
+    "start_time": "09:25:00",
+    "start_time_ts": 1695313500,
+    "end_date": "2023-09-21",
+    "end_time": "09:35:00"
+  },
+  {
+    "event_key": "28",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Saving Lives - Leveraging Federation and Domain Experts to Help People Beat Addiction - David Emanuel Sarabia, inRecovery",
+    "event_start": "2023-09-21 09:35",
+    "event_end": "2023-09-21 09:55",
+    "event_type": "Keynote Sessions",
+    "description": "Health Tech comes with unique challenges, from data privacy laws, mission-critical uptime, to clinical validation. Further complicated by an industry resistant to change, weighed down by complex legacy enterprise systems and data silos.\n\nLearn valuable insights from our journey as an addiction care startup, transitioning from a monolith MVP engineered in isolation, to GraphQL Federation built alongside clinicians.\n\nBy involving domain experts in design thinking exercises, we not only constructed subgraphs with build-in clinical validation, data governance, and security, but also transformed our clinical end-users into champions for change.",
+    "goers": "48",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "5684f90e0472771532ed5ee2b237300f",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "david3103",
+        "id": "13551525",
+        "name": "David Emanuel Sarabia",
+        "company": "inRecovery",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:35am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "9:55am",
+    "start_date": "2023-09-21",
+    "start_time": "09:35:00",
+    "start_time_ts": 1695314100,
+    "end_date": "2023-09-21",
+    "end_time": "09:55:00"
+  },
+  {
+    "event_key": "32",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Navigating the Future: GraphQL’s Expansion, AI Adoption, and Modern Languages - Adapting for Success in 2025 - Uri Goldshtein, The Guild; Idit Levine, Solo.io; Benjie Gillam, Graphile; Lee Byron, GraphQL Foundation; Moderated by Keith Babo, Solo.io",
+    "event_start": "2023-09-21 09:55",
+    "event_end": "2023-09-21 10:20",
+    "event_type": "Keynote Sessions",
+    "description": "According to Gartner, GraphQL was implemented in just over 10% of enterprises in 2021 and they predict that GraphQL implementations will increase to over 50% of all enterprises by 2025.\n\nThe unprecedented surge in GraphQL’s popularity within enterprise ecosystems calls for an urgent introspective analysis and forward-thinking strategies. This panel discussion delves into the foreseeable future, envisioning GraphQL’s evolution by 2025 in response to expanding horizons, AI integration, and the embrace of contemporary programming languages.\n\nAs GraphQL cements its position as an indispensable tool in enterprise architectures, the necessity for the project to evolve rapidly without compromising consistency becomes apparent. Our esteemed panelists will shed light on the innovations and adaptations necessary for the GraphQL project to flourish. This includes a discussion on evolving governance models, project sustainability, and community engagement to ensure the GraphQL Foundation remains a steward of progress.\n\nAnother focal point is the emergence of AI in API ecosystems. How can GraphQL integrate with AI-driven systems? What challenges and opportunities does AI present for GraphQL APIs? Our experts will discuss the promising avenues where GraphQL and AI can complement each other, and how this synergy could redefine data-fetching paradigms.\n\nAdditionally, the panel will tackle the inevitable shift toward modern programming languages. With languages such as Rust, Kotlin, and Swift gaining traction, the GraphQL ecosystem must adapt. We’ll discuss the opportunities these languages present and how GraphQL can harness their strengths to remain a versatile and powerful tool for contemporary development.\n\nThe final segment will engage the audience in a thought-provoking dialogue on the GraphQL Foundation’s role in these evolving landscapes. Panelists will offer perspectives on what's next for the GraphQL Foundation from today through 2025.",
+    "goers": "55",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "f485ec8e2dc60c435e8a3a90185d73bf",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "uri_goldshtein.23xujj9a",
+        "id": "14900013",
+        "name": "Uri Goldshtein",
+        "company": "The Guild",
+        "custom_order": 0
+      },
+      {
+        "username": "idit_levine.25krdj4u",
+        "id": "18769950",
+        "name": "Idit Levine",
+        "company": "Solo.io",
+        "custom_order": 1
+      },
+      {
+        "username": "benjie3",
+        "id": "18743846",
+        "name": "Benjie Gillam",
+        "company": "Graphile",
+        "custom_order": 2
+      },
+      {
+        "username": "lee_byron.25krdom6",
+        "id": "18769956",
+        "name": "Lee Byron",
+        "company": "GraphQL Foundation",
+        "custom_order": 3
+      },
+      {
+        "username": "keith.babo",
+        "id": "19071264",
+        "name": "Keith Babo",
+        "company": "Solo.io",
+        "custom_order": 4
+      }
+    ],
+    "moderators": [
+      {
+        "username": "keith.babo",
+        "name": "Keith Babo",
+        "eventid": "f485ec8e2dc60c435e8a3a90185d73bf",
+        "role": "moderator",
+        "company": "Solo.io"
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:55am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "10:20am",
+    "start_date": "2023-09-21",
+    "start_time": "09:55:00",
+    "start_time_ts": 1695315300,
+    "end_date": "2023-09-21",
+    "end_time": "10:20:00"
+  },
+  {
+    "event_key": "33",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Closing Remarks - Keith Babo, Solo.io",
+    "event_start": "2023-09-21 10:20",
+    "event_end": "2023-09-21 10:30",
+    "event_type": "Keynote Sessions",
+    "goers": "53",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "b3a3fa420d7467c46c215fa09cd548e0",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "keith.babo",
+        "id": "19071264",
+        "name": "Keith Babo",
+        "company": "Solo.io",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "10:20am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "10:30am",
+    "start_date": "2023-09-21",
+    "start_time": "10:20:00",
+    "start_time_ts": 1695316800,
+    "end_date": "2023-09-21",
+    "end_time": "10:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "18",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2023-09-21 10:30",
+    "event_end": "2023-09-21 10:50",
+    "event_type": "Breaks",
+    "goers": "35",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "6d07d593f16320c810d6aba8553199ed",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "10:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "10:50am",
+    "start_date": "2023-09-21",
+    "start_time": "10:30:00",
+    "start_time_ts": 1695317400,
+    "end_date": "2023-09-21",
+    "end_time": "10:50:00",
+    "description": ""
+  },
+  {
+    "event_key": "511235",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsor Showcase",
+    "event_start": "2023-09-21 10:30",
+    "event_end": "2023-09-21 17:30",
+    "event_type": "Sponsor Showcase",
+    "goers": "18",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "dd289f7ecf487b271e0495ff09bba26e",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "10:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "5:30pm",
+    "start_date": "2023-09-21",
+    "start_time": "10:30:00",
+    "start_time_ts": 1695317400,
+    "end_date": "2023-09-21",
+    "end_time": "17:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "502933",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Building Tooling That Speaks GraphQL - Tim Hall, Postman",
+    "event_start": "2023-09-21 10:50",
+    "event_end": "2023-09-21 11:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Clients",
+    "description": "graphql.js underpins most of the clients and servers in the GraphQL ecosystem and it provides great primitives for developing your own tooling for working with GraphQL. In this session we'll take a look at some of the interesting and useful things you can do with parsers, visitors, and ASTs. We'll look at some examples from my experience working on Postman's new GraphQL client, including generating documentation, searching schemas, and building queries.",
+    "goers": "35",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "9836d339aaf014a7ced7f87141fcee67",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "tim.hall.engr",
+        "id": "18743807",
+        "name": "Tim Hall",
+        "company": "Postman",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "10:50am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "11:20am",
+    "start_date": "2023-09-21",
+    "start_time": "10:50:00",
+    "start_time_ts": 1695318600,
+    "end_date": "2023-09-21",
+    "end_time": "11:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/b3/Building Tooling that Speaks GraphQL.pdf",
+        "name": "Building Tooling that Speaks GraphQL.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "499321",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Exposing All of Wix.com APIs via GraphQL Automatically: Centralizing GraphQL Schema Generation - Gonen Jerbi, Wix.com",
+    "event_start": "2023-09-21 10:50",
+    "event_end": "2023-09-21 11:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "Platform and Backend",
+    "description": "GraphQL has become a prevalent trend in API development, offering flexible data access. However, manually creating and maintaining GraphQL schemas in large organizations with numerous APIs can be challenging. At Wix, we tackled this issue by automating schema generation using API registry metadata. Join our talk to learn how this approach creates a centralized GraphQL server for all APIs, ensuring consistency, scalability, and ease of maintenance. Discover how this solution empowers Wix to provide platform capabilities without burdening teams with GraphQL expertise.",
+    "goers": "26",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "id": "f319907e1e15ee620a33d3cbf01f323a",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "gonenj",
+        "id": "18743816",
+        "name": "Gonen Jerbi",
+        "company": "Wix.com",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "10:50am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "11:20am",
+    "start_date": "2023-09-21",
+    "start_time": "10:50:00",
+    "start_time_ts": 1695318600,
+    "end_date": "2023-09-21",
+    "end_time": "11:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/af/GraphQL Conf_ Exposing All of Wix APIs via GraphQL Automatically_ Centralizing GraphQL Schema Generation.pdf",
+        "name": "GraphQL Conf_ Exposing All of Wix APIs via GraphQL Automatically_ Centralizing GraphQL Schema Generation.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "490864",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Is a Superpower for Your Product Manager and Designer - Jeff Auriemma, Apollo GraphQL",
+    "event_start": "2023-09-21 10:50",
+    "event_end": "2023-09-21 11:20",
+    "event_type": "Session Presentations",
+    "description": "Good tools help get a job done faster and better. Great tools transform the entire end-to-end workflow from concept to deployment. GraphQL, an open standard and protocol for APIs, is both good and great. It allows your designer to explore the full capabilities of your data so they can conceive of the best user experience possible. GraphQL allows your engineers to say “three weeks” to your product manager where they would have said “two months” before. These enhancements have a practical impact on the relationships that are the foundation of your cross-functional team’s success. In this talk I’ll address some of the challenges product teams face as their understanding of the end user starts to outpace their ability to ship new features (which is healthy). Then, I will give some concrete examples where GraphQL can make a difference. A/B tests and designer productivity will be covered, all drawn from my experiences in both IC and EM roles on product engineering teams. For each of these scenarios I’ll show how GraphQL principles and tooling can give your team a practical advantage.",
+    "goers": "32",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "de1472b4294ac91745f3648d9228d8f2",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "jeff.auriemma",
+        "id": "18743876",
+        "name": "Jeff Auriemma",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "10:50am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "11:20am",
+    "start_date": "2023-09-21",
+    "start_time": "10:50:00",
+    "start_time_ts": 1695318600,
+    "end_date": "2023-09-21",
+    "end_time": "11:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/48/GraphQL is a superpower for your product manager and designer.pdf",
+        "name": "GraphQL is a superpower for your product manager and designer.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "35",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Building Geospatial GraphQL APIs By Leveraging GraphQL Database Integrations - William Lyon, Neo4j",
+    "event_start": "2023-09-21 11:30",
+    "event_end": "2023-09-21 12:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL and Data",
+    "description": "In this talk we explore how to work with geospatial data in GraphQL with a focus on geospatial database integrations for GraphQL. We will cover how to model spatial data types such as points, lines, and polygons in GraphQL and cover some use cases for working with geospatial data in your API such as spatial search, location-based recommendations, and routing. We will learn how to leverage geospatial database functionality through GraphQL-database integrations such as PostGIS and Neo4j.",
+    "goers": "13",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Intermediate",
+    "id": "a638dad8443a364e12ed29b3bc50d128",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "lyonwj1",
+        "id": "3634520",
+        "name": "William Lyon",
+        "company": "Neo4j",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "11:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-21",
+    "start_time": "11:30:00",
+    "start_time_ts": 1695321000,
+    "end_date": "2023-09-21",
+    "end_time": "12:00:00"
+  },
+  {
+    "event_key": "493258",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Houdini: A GraphQL-First Application Framework - Alec Aivazis, Arista Networks",
+    "event_start": "2023-09-21 11:30",
+    "event_end": "2023-09-21 12:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Clients",
+    "description": "While the wider community is focused on blurring the lines between the server and client, GraphQL applications have been left behind. In this talk, Alec will present his attempt to change that: Houdini, a new application framework that blends GraphQL client, router, and bundler. An odd mix? Maybe. But with it comes the power of a GraphQL compiler, the latest in React's streaming capabilities, and a fresh take on client-side developer experience. Alec will introduce Houdini's basic APIs and demonstrate how it orchestrates your application’s data and asset needs.",
+    "goers": "29",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "ce430c038efa9a9c19743d1ccc702de9",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "alec102",
+        "id": "18743870",
+        "name": "Alec Aivazis",
+        "company": "Arista Networks",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "11:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-21",
+    "start_time": "11:30:00",
+    "start_time_ts": 1695321000,
+    "end_date": "2023-09-21",
+    "end_time": "12:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/d1/Houdini A GraphQL-First Framework.pdf",
+        "name": "Houdini A GraphQL-First Framework.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "493431",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sophisticated Schema Mocking - Stephanie Saunders, Coinbase",
+    "event_start": "2023-09-21 11:30",
+    "event_end": "2023-09-21 12:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "One of the key components to a stellar developer experience is GraphQL schema mocking.\n\nSchema mocking allows developers to:\n- Develop features faster by mocking unit tests with little to no code\n- Simplify e2e testing by mocking the entire schema at the network level\n- Test client data handling by intercepting and modifying server responses at the field level\n- Visualize how your component will look in production by using mocked data directly in Storybook\n\nAt Coinbase, we have iterated over sophisticated schema mocking solutions over the last few years as we have migrated to GraphQL. We’ve had failures and successes, and lots of learning along the way.\n\nIn this talk, we’ll dive deep into the following topics:\n- Out-Of-The-Box Tooling (Nock, MSW, Relay MockPayloadGenerator, graphql-tools/mock)\n- Custom Helpers (Operation Mocking, Data Component Wrappers, Network Middleware)\n- Client Side Data Manipulation (Mocking Single Fields, Client Schema Extensions)\n- Storybook (Loading Live/Mocked Data, Update Field Mocks Dynamically)",
+    "goers": "53",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "a44cec64a01063d4c6a11e54cc8d24d3",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "stephanie.saunders2",
+        "id": "14992671",
+        "name": "Stephanie Saunders",
+        "company": "Coinbase",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "11:30am",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "12:00pm",
+    "start_date": "2023-09-21",
+    "start_time": "11:30:00",
+    "start_time_ts": 1695321000,
+    "end_date": "2023-09-21",
+    "end_time": "12:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/3b/Sophisticated Schema Mocking.pdf",
+        "name": "Sophisticated Schema Mocking.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "17",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch",
+    "event_start": "2023-09-21 12:00",
+    "event_end": "2023-09-21 13:30",
+    "event_type": "Breaks",
+    "goers": "46",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "cb1f116f01ae3d2ddf5100a18792abc2",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "12:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "1:30pm",
+    "start_date": "2023-09-21",
+    "start_time": "12:00:00",
+    "start_time_ts": 1695322800,
+    "end_date": "2023-09-21",
+    "end_time": "13:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "482840",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unify Data Sources with GraphQL at the Edge - Jamie Barton, Grafbase",
+    "event_start": "2023-09-21 13:30",
+    "event_end": "2023-09-21 13:40",
+    "event_type": "Lightning Talks",
+    "event_subtype": "GraphQL and Data",
+    "description": "Combine multiple APIs and databases into a single centralized GraphQL API that you can enhance with auth, permissions and caching, fully managed and deployed to the edge with Wasm.",
+    "goers": "28",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "id": "520b70cfea27170fd6ed21d79f6b0357",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "jamie855",
+        "id": "18743804",
+        "name": "Jamie Barton",
+        "company": "Grafbase",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "1:40pm",
+    "start_date": "2023-09-21",
+    "start_time": "13:30:00",
+    "start_time_ts": 1695328200,
+    "end_date": "2023-09-21",
+    "end_time": "13:40:00"
+  },
+  {
+    "event_key": "492667",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Scaling Schema Cardinality: Constructing Types at Runtime - Spencer MacKinnon, Okta",
+    "event_start": "2023-09-21 13:30",
+    "event_end": "2023-09-21 14:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "Platform and Backend",
+    "description": "Typically, GraphQL schemas are constructed statically, and services will expose one or a set number of schemas depending on the roles of clients that query the system. When the system is highly configurable, allowing the creation of new types and fields at runtime, with different types and fields exposed depending on the clients privileges, building a set of static schemas becomes infeasible. This talk will discuss a technique used to construct types and fields at runtime, reflecting the users level of access within the system. This technique allowed us to scale to millions of schemas which reflected the permissions of the client querying the GraphQL endpoint. I will discuss the interplay between the static parts of the schema available to all clients and the dynamic parts built depending on the users privileges, as well as how to represent this structure with a \"metaschema\". Then, I'll demonstrate a pattern for constructing types at runtime, with a service responsible for safe instantiation that honors the GraphQL spec, interacting with a set of actors that control which types should be instantiated. I'll close with some discussion of how the spec impacts dynamic construction.",
+    "goers": "27",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Advanced",
+    "geo_area": "Yes",
+    "id": "e447a52591ed66a452e04d6ce3e3f09e",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "spencer211",
+        "id": "18743795",
+        "name": "Spencer MacKinnon",
+        "company": "Okta",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "2:00pm",
+    "start_date": "2023-09-21",
+    "start_time": "13:30:00",
+    "start_time_ts": 1695328200,
+    "end_date": "2023-09-21",
+    "end_time": "14:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/cf/Scaling Schema Cardinality.pdf",
+        "name": "Scaling Schema Cardinality.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "493830",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Why Your GraphQL APIs Are (Increasingly) Under Attack - Shahar Binyamin, Inigo",
+    "event_start": "2023-09-21 13:30",
+    "event_end": "2023-09-21 14:00",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Security",
+    "description": "Make no mistake about it: threat actors are increasingly bent on hunting down, attacking, and exploiting your GraphQL APIs. But understanding exactly how these actors go about recognizing where your GraphQL APIs reside—and how their attacks proceed—can put you on the right road to attack-thwarting countermeasures. GraphQL’s declarative query language enables clients to collect information using specialized queries. Threat actors commonly interrogate APIs in order to uncover critical information that could aid in further attacks. These information-gathering and reconnaissance tactics feed into the logic of their scanning tools to determine the location of GraphQL APIs—and what they contain. Session attendees will come away with thorough knowledge of how to detect and mitigate nefarious GraphQL activities, and how to implement a security layer to protect targeted GraphQL APIs and effectively block attacks. Attendees of this GraphQLConf talk will learn: -- The techniques attackers use to gather information on your GraphQL APIs -- The telltale anomalous behavior associated with that reconnaissance, and -- How to surface threats and block those attack paths before exploits occur.",
+    "goers": "25",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Intermediate",
+    "id": "3d167cf84012c4ff2dcca8fca736b0dd",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "shahar_binyamin.24vrzgo4",
+        "id": "17274089",
+        "name": "Shahar Binyamin",
+        "company": "Inigo",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "2:00pm",
+    "start_date": "2023-09-21",
+    "start_time": "13:30:00",
+    "start_time_ts": 1695328200,
+    "end_date": "2023-09-21",
+    "end_time": "14:00:00"
+  },
+  {
+    "event_key": "511226",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Not Your Regular Rate Limiting - Meenakshi Dhanani, Postman",
+    "event_start": "2023-09-21 13:45",
+    "event_end": "2023-09-21 13:55",
+    "event_type": "Lightning Talks",
+    "description": "Rate limiting in GraphQL APIs goes beyond the traditional approaches used in REST APIs. Regular techniques fall short when it comes to handling complex queries and preventing abuse. In this lightning talk, we will explore creative strategies for overcoming these challenges within the unique context of GraphQL's single endpoint architecture. We will also discuss practical techniques and dive into real-world examples that demonstrate how to optimize rate limiting in your GraphQL APIs and ensure the scalability and security of your applications.",
+    "goers": "45",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "geo_area": "Yes",
+    "id": "48f4e69c465b793750b5aa47bb7f2b6e",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "meenakshi.dhanani1",
+        "id": "18777983",
+        "name": "Meenakshi Dhanani",
+        "company": "Postman",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "1:45pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "1:55pm",
+    "start_date": "2023-09-21",
+    "start_time": "13:45:00",
+    "start_time_ts": 1695329100,
+    "end_date": "2023-09-21",
+    "end_time": "13:55:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/b6/GraphQL Conf 2023 - Rate Limiting.pdf",
+        "name": "GraphQL Conf 2023 - Rate Limiting.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "501214",
+    "active": "Y",
+    "pinned": "N",
+    "name": "AI, GraphQL, and the Rise of Malleable Applications - Aleksandra Sikora, The Guild",
+    "event_start": "2023-09-21 14:10",
+    "event_end": "2023-09-21 14:40",
+    "event_type": "Session Presentations",
+    "event_subtype": "Emerging Community Trends",
+    "description": "This presentation will explore how AI makes code writing and development more accessible and highlight the trend of malleable applications. We’ll see how users are becoming architects of their own apps, reshaping them to suit their needs. We will examine existing tools to understand the possibilities, and we'll see how GraphQL fits there.",
+    "goers": "31",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "id": "4feef977ceb883c69c91ccd2dd607aec",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "alexsandra.sikora",
+        "id": "18743798",
+        "name": "Aleksandra Sikora",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "2:40pm",
+    "start_date": "2023-09-21",
+    "start_time": "14:10:00",
+    "start_time_ts": 1695330600,
+    "end_date": "2023-09-21",
+    "end_time": "14:40:00"
+  },
+  {
+    "event_key": "495993",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL in Production: Empowering Efficient Data Retrieval and Unleashing Developer Productivity - Seddik Benaissa, Northeastern University",
+    "event_start": "2023-09-21 14:10",
+    "event_end": "2023-09-21 14:40",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "Join me in this talk as we delve into the realm of GraphQL in practical applications. Experience firsthand how GraphQL has revolutionized the way we retrieve data. Discover the hurdles encountered with traditional APIs, such as bloated payloads and sluggish response times. Witness the tremendous success and influence of adopting GraphQL, the robust query language for APIs. Unearth real-life examples, best practices, and valuable lessons from implementing GraphQL in a production environment. Gain valuable insights into customizing data queries, optimizing performance, and enhancing developer efficiency. This presentation is essential for software engineers and developers eager to harness the power of GraphQL, conquer data retrieval obstacles, and unleash the full potential of their systems.",
+    "goers": "26",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "1e7a35fbd833d9be1aa9719f77c86fb7",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "sdk.bens",
+        "id": "18743831",
+        "name": "Seddik Benaissa",
+        "company": "Northeastern University",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "2:40pm",
+    "start_date": "2023-09-21",
+    "start_time": "14:10:00",
+    "start_time_ts": 1695330600,
+    "end_date": "2023-09-21",
+    "end_time": "14:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/01/Seddik Benaissa.pdf",
+        "name": "Seddik Benaissa.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "6",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Increase Your Productivity With No-Code GraphQL Mocking - Laurent Broudoux, Microcks & Postman",
+    "event_start": "2023-09-21 14:10",
+    "event_end": "2023-09-21 14:40",
+    "event_type": "Session Presentations",
+    "description": "You're about to embark on a new adventure that incorporates GraphQL! Here's a filthy method for becoming a 10-x engineer: fake it until you make it!\n\nMocking GraphQL allows you to better serve the business by providing clear descriptions of schemas, types, and examples. This also helps in the separation of front-end and back-end activities and in the testing of your future API. Join this session to learn more about getting started with GraphQL mocking without having to worry about coding or constructing your own fake server, thanks to Microcks!\n\nIn this session, we will illustrate how to: shorten the feedback loop when designing a new API, speed-up development making autonomous teams, make your CI/CD pipeline rock-solid with automated tests inferred from mocks!",
+    "goers": "33",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "id": "95e6219a5e20a9e2f9381822460932ac",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "laurent57",
+        "id": "13884588",
+        "name": "Laurent Broudoux",
+        "company": "Postman",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "2:40pm",
+    "start_date": "2023-09-21",
+    "start_time": "14:10:00",
+    "start_time_ts": 1695330600,
+    "end_date": "2023-09-21",
+    "end_time": "14:40:00"
+  },
+  {
+    "event_key": "498924",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Adoption of GraphQL in Meta Ads Manager - Bryan Yang & Yuanchao Zhu, Meta",
+    "event_start": "2023-09-21 14:50",
+    "event_end": "2023-09-21 15:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Clients",
+    "description": "Within Meta, there are products still adopting GraphQL. Ads Manager is a large product that is iteratively transitioning to GraphQL from a REST-based API, GraphAPI. This talk will cover why we chose to migrate, challenges we faced and strategies to adopt GraphQL iteratively, without a full product rewrite.",
+    "goers": "16",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "afefc1feb47ec68ca6031cfec2e7d46b",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "bsy",
+        "id": "18743852",
+        "name": "Bryan Yang",
+        "company": "Meta Platforms, Inc.",
+        "custom_order": 0
+      },
+      {
+        "username": "yczhu",
+        "id": "18743882",
+        "name": "Yuanchao Zhu",
+        "company": "Meta",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:20pm",
+    "start_date": "2023-09-21",
+    "start_time": "14:50:00",
+    "start_time_ts": 1695333000,
+    "end_date": "2023-09-21",
+    "end_time": "15:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/3f/GraphQL Conf 2023 - Adoption of GraphQL in Ads Manager.pdf",
+        "name": "GraphQL Conf 2023 - Adoption of GraphQL in Ads Manager.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "502937",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Fixing the Billion Dollar Mistake: Client Controlled Nullability - Stephen Spalding, Netflix",
+    "event_start": "2023-09-21 14:50",
+    "event_end": "2023-09-21 15:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Core",
+    "description": "Null has been famously called “the billion dollar mistake”. The Client Controlled Nullability proposal aims to empower client developers to tame nullability in the graph. Come learn how this magic works and why it will rock your world!",
+    "goers": "47",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Advanced",
+    "geo_area": "Yes",
+    "id": "50005edb4a441b0335d1b80b4ad62b1a",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "sspalding2",
+        "id": "18743825",
+        "name": "Stephen Spalding",
+        "company": "Netflix",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:20pm",
+    "start_date": "2023-09-21",
+    "start_time": "14:50:00",
+    "start_time_ts": 1695333000,
+    "end_date": "2023-09-21",
+    "end_time": "15:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/d0/Stephen Spalding - Fixing the Billion Dollar Mistake - Client Controlled Nullability.pdf",
+        "name": "Stephen Spalding - Fixing the Billion Dollar Mistake - Client Controlled Nullability.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "511238",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Scaling the Data Access by Leveraging GraphQL Federation for Service to Service Communication - Serhii Korin, Booking.com",
+    "event_start": "2023-09-21 14:50",
+    "event_end": "2023-09-21 15:20",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "At booking.com’s scale rendering the product pages requires retrieving data from hundreds of data sources. This causes a very high load to the data backends. We pre-materialize the data required for rendering the product pages in order to scale data access. Different products have different data needs. Over time this led to the materialization layer becoming a monolithic service with a monolithic schema.\n\nThis talk focuses on how we leveraged the GraphQL Federation technology to let product teams choose which data to materialize and data owners to scale data access to their data without negatively affecting the ownership, network costs and latencies.",
+    "goers": "24",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "0bea54e1f79d706f2da4c802f8581ae5",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "serhii.korin",
+        "id": "19235292",
+        "name": "Serhii Korin",
+        "company": "Booking.com",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:20pm",
+    "start_date": "2023-09-21",
+    "start_time": "14:50:00",
+    "start_time_ts": 1695333000,
+    "end_date": "2023-09-21",
+    "end_time": "15:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/aa/Scaling the data access by leveraging GraphQL Federation for S2S.pdf",
+        "name": "Scaling the data access by leveraging GraphQL Federation for S2S.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "15",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2023-09-21 15:20",
+    "event_end": "2023-09-21 15:40",
+    "event_type": "Breaks",
+    "goers": "33",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula D",
+    "id": "e3a855088054e180ec6e046bf3d8be8a",
+    "venue_id": "1749440",
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "3:20pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:40pm",
+    "start_date": "2023-09-21",
+    "start_time": "15:20:00",
+    "start_time_ts": 1695334800,
+    "end_date": "2023-09-21",
+    "end_time": "15:40:00",
+    "description": ""
+  },
+  {
+    "event_key": "501477",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Evolution of GraphQL Code Generation - Laurin Quast, The Guild",
+    "event_start": "2023-09-21 15:40",
+    "event_end": "2023-09-21 15:50",
+    "event_type": "Lightning Talks",
+    "event_subtype": "GraphQL Clients",
+    "description": "As the maintainer of GraphQL Code Generator, Laurin shows how the tool has changed over time and informs you of the most recent best practices that allow you to keep the client code lean and scalable.",
+    "goers": "35",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Beginner",
+    "id": "675c416b16ad2b0c519b1ec894353fc5",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "laurinquast",
+        "id": "18743819",
+        "name": "Laurin Quast",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "3:40pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:50pm",
+    "start_date": "2023-09-21",
+    "start_time": "15:40:00",
+    "start_time_ts": 1695336000,
+    "end_date": "2023-09-21",
+    "end_time": "15:50:00"
+  },
+  {
+    "event_key": "494695",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Improving User Experiences with a Nullable Schema - Ernie Turner, Coinbase",
+    "event_start": "2023-09-21 15:40",
+    "event_end": "2023-09-21 16:10",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL and Data",
+    "description": "When designing a GraphQL schema, it’s tempting to mark every field as non-null using the \"!\" operator. While it may seem convenient and simplifies code readability, this seemingly innocuous choice can have unforeseen consequences for your applications, especially during service disruptions. Moreover, these downsides might not become apparent until a significant portion of your schema has been marked as non-nullable. In this talk, we will: - Challenge the traditional server-centric approach and advocate for shifting the responsibility of field nullability to the client. - Explore the reasons behind this paradigm shift and introduce existing and upcoming tools that empower clients to determine whether a field can be null or not. - Delve into the Client Controlled Nullability proposal, demonstrating its potential in GraphQL workflows. - Provide practical methods and best practices to safely migrate away from a non-null schema, ensuring compatibility with existing clients without causing disruptions.",
+    "goers": "31",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Intermediate",
+    "geo_area": "Yes",
+    "id": "888b77af90aa0ff776adc9669a29cb3f",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "ernie.turner1",
+        "id": "18743873",
+        "name": "Ernie Turner",
+        "company": "Coinbase",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "3:40pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "4:10pm",
+    "start_date": "2023-09-21",
+    "start_time": "15:40:00",
+    "start_time_ts": 1695336000,
+    "end_date": "2023-09-21",
+    "end_time": "16:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/ce/Improving User Experiences with a Nullable Schema_ GraphQL Conf 2023.pdf",
+        "name": "Improving User Experiences with a Nullable Schema_ GraphQL Conf 2023.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "13",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Why AI needs GraphQL - Anant Jhingran, IBM",
+    "event_start": "2023-09-21 15:40",
+    "event_end": "2023-09-21 16:10",
+    "event_type": "Session Presentations",
+    "description": "There is a bright future for AI-driven integration, both in the application of integration to provide access to enterprise data for use by AI tools and also for application of AI to benefit the delivery of integration scenarios. However, AI foundation models must be complemented by integration and API technologies, and GraphQL can be the perfect technology for this. Having founded StepZen (now acquired by IBM) I have a particular bias for GraphQL applications, but in this case they can be especially powerful. AI applications can be trained to call one universal GraphQL API, and not have to deal with the subtleties of formats and authorizations and sideways information passing if the application were to learn multiple backends. In this talk I’ll explain why AI needs GraphQL for integrations, and what the future of AI and GraphQL looks like.",
+    "goers": "21",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "id": "f802d22f97a3d3d9d2733bf637758f56",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "ajhingran",
+        "id": "19225935",
+        "name": "Anant Jhingran",
+        "company": "IBM",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "3:40pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "4:10pm",
+    "start_date": "2023-09-21",
+    "start_time": "15:40:00",
+    "start_time_ts": 1695336000,
+    "end_date": "2023-09-21",
+    "end_time": "16:10:00"
+  },
+  {
+    "event_key": "14",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Breaking the Mold: Innovative Approaches to Testing GraphQL APIs - Pooja Mistry, Postman",
+    "event_start": "2023-09-21 15:55",
+    "event_end": "2023-09-21 16:05",
+    "event_type": "Lightning Talks",
+    "goers": "32",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "id": "f653b9931d85c7958993ca62e7853972",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "pooja.mistry",
+        "id": "15879818",
+        "name": "Pooja Mistry",
+        "company": "Postman",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "3:55pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "4:05pm",
+    "start_date": "2023-09-21",
+    "start_time": "15:55:00",
+    "start_time_ts": 1695336900,
+    "end_date": "2023-09-21",
+    "end_time": "16:05:00",
+    "description": ""
+  },
+  {
+    "event_key": "501218",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Shared Schema Policies and Automatic Standards Across Your Company’s Teams - Dimitri Postolov, The Guild",
+    "event_start": "2023-09-21 16:10",
+    "event_end": "2023-09-21 16:20",
+    "event_type": "Lightning Talks",
+    "event_subtype": "GraphQL in Production",
+    "description": "As GraphQL adoption grows inside our companies and more and more teams are adopting it, it gets harder to maintain a consistent way of using it across the company. In this talk, we will share different methods and open-source tools that help you manage GraphQL standardizations and guarantee best practices across your company. Sharing automatic rules from the community and writing your own custom rules for your specific company.",
+    "goers": "31",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "audience": "Intermediate",
+    "id": "ff6a2ae37d87e74c9f7739a1331804a1",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "en3m",
+        "id": "18743843",
+        "name": "Dimitri Postolov",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "4:10pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "4:20pm",
+    "start_date": "2023-09-21",
+    "start_time": "16:10:00",
+    "start_time_ts": 1695337800,
+    "end_date": "2023-09-21",
+    "end_time": "16:20:00"
+  },
+  {
+    "event_key": "38",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Deep Learnings: Migrating legacy services to Federated GraphQL - Christian Ernst, Booking.com",
+    "event_start": "2023-09-21 16:20",
+    "event_end": "2023-09-21 16:50",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "At Booking.com we made the decision to move to GraphQL in order to modernize our monolithic front-end data providing services. Our journey started with the monograph, a singular service to provide all GraphQL data as a bridge between legacy and new. This service, owned by a small team, exploded in use receiving countless contributions across the company. We soon realised as a team this would not scale for an entire company.\n\nThis talk focuses on our experience and our journey from our first steps into the world of GraphQL and then our leap to move to a Federated GraphQL layer.\n\nWe will share some of our most important learnings from the challenges we faced, including scaling and resiliency, bringing on legacy services, and multi cloud support and how we are handling these challenges via our ongoing initiatives and what we think the future of GraphQL at Booking.com looks like.",
+    "goers": "29",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Beginner",
+    "geo_area": "Yes",
+    "id": "8a1158bda6933f83f43b704bff54ff63",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "christian.ernst",
+        "id": "19084532",
+        "name": "Christian Ernst",
+        "company": "Booking.com",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "4:20pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "4:50pm",
+    "start_date": "2023-09-21",
+    "start_time": "16:20:00",
+    "start_time_ts": 1695338400,
+    "end_date": "2023-09-21",
+    "end_time": "16:50:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/70/Migrating Legacy Services to Federated GraphQL.pdf",
+        "name": "Migrating Legacy Services to Federated GraphQL.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "501201",
+    "active": "Y",
+    "pinned": "N",
+    "name": "How to Choose a GraphQL Gateway? - Dotan Simha, The Guild",
+    "event_start": "2023-09-21 16:20",
+    "event_end": "2023-09-21 16:50",
+    "event_type": "Session Presentations",
+    "event_subtype": "Platform and Backend",
+    "description": "Federation, Stitching, Gateways, so many terms out there and so many options for choosing your GraphQL gateway strategy. In this talk I will demonstrate my open work on comparing different GraphQL gateway solutions, what are the different requirements to take into account and show how many existing solutions fit into this framework for choice.\n\nhttps://the-guild.dev/blog/state-of-graphql-gateways-in-2023",
+    "goers": "37",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "id": "70f9e59dc60cf417aa38eb890b2a8abe",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "dotansimha",
+        "id": "18743828",
+        "name": "Dotan Simha",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "4:20pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "4:50pm",
+    "start_date": "2023-09-21",
+    "start_time": "16:20:00",
+    "start_time_ts": 1695338400,
+    "end_date": "2023-09-21",
+    "end_time": "16:50:00"
+  },
+  {
+    "event_key": "511242",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Dataloader 3.0 - An Alternative Algorithm to Solve N+1 Problems - Jens Neuse, WunderGraph",
+    "event_start": "2023-09-21 17:00",
+    "event_end": "2023-09-21 17:30",
+    "event_type": "Session Presentations",
+    "description": "When you ask GraphQL Developers how they solve N+1 problems, the immediate answer you get is using the \"Dataloader\" pattern.\nWhat actually is the Dataloader pattern? How does it work and how does it solve the problem?\nThis talk dives deep into the topic of efficiently resolving deeply nested data.\nOnce we understand how the Dataloader pattern works,\nwe explore its drawbacks and limitations.\nFinally, we will present an alternative algorithm that uses breadth-first resolving compared to depth-first, which Dataloader builds on top.\nJoin Jens in this talk to learn more about how breadth-first resolving could help GraphQL servers and Gateways resolve N+1 problems more effectively.",
+    "goers": "46",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula E",
+    "geo_area": "Yes",
+    "id": "09bc04c42310bfe14024455bce46d781",
+    "venue_id": "1762196",
+    "speakers": [
+      {
+        "username": "jens63",
+        "id": "19226202",
+        "name": "Jens Neuse",
+        "company": "WunderGraph",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "5:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "5:30pm",
+    "start_date": "2023-09-21",
+    "start_time": "17:00:00",
+    "start_time_ts": 1695340800,
+    "end_date": "2023-09-21",
+    "end_time": "17:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/c0/Dataloader_3.0_WunderGraph_Jens_Neuse_slides.pdf",
+        "name": "Dataloader_3.0_WunderGraph_Jens_Neuse_slides.pdf"
+      },
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/38/Dataloader_3.0_WunderGraph_Jens_Neuse_algorithm.pdf",
+        "name": "Dataloader_3.0_WunderGraph_Jens_Neuse_algorithm.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "511241",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Benefits of Code First Over Schema First in GraphQL - Patrick Arminio, Apollo",
+    "event_start": "2023-09-21 17:00",
+    "event_end": "2023-09-21 17:30",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL Core",
+    "description": "This talk will explore the advantages of using a code-first approach for developing GraphQL APIs over a schema-first approach. GraphQL has gained popularity as a modern API technology that enables developers to build APIs that are flexible, performant, and easy to use. However, one of the challenges of using GraphQL is deciding whether to use a schema-first or a code-first approach.\n\nIn this talk, we will discuss how code-first allows for greater flexibility, scalability, and maintainability in GraphQL API development. We'll explore how it can improve the development process, especially for large teams and complex projects. By using code-first, developers can write code that generates the schema, which provides greater control over the API design and allows for more efficient iteration.Moreover, we'll examine how Strawberry, a GraphQL library built on Python, leverages the power of Python's type system to provide an end-to-end type-safe code-first approach. This approach allows developers to define their GraphQL schema using Python classes, which Strawberry then converts into a GraphQL schema, ensuring type safety throughout the development process.",
+    "goers": "19",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula F&G",
+    "audience": "Intermediate",
+    "id": "118f99976647d953d6554bac33dbf3bf",
+    "venue_id": "1762208",
+    "speakers": [
+      {
+        "username": "patrick.arminio",
+        "id": "19178765",
+        "name": "Patrick Arminio",
+        "company": "Apollo",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "5:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "5:30pm",
+    "start_date": "2023-09-21",
+    "start_time": "17:00:00",
+    "start_time_ts": 1695340800,
+    "end_date": "2023-09-21",
+    "end_time": "17:30:00"
+  },
+  {
+    "event_key": "37",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The evolution of the GraphQL Orchestrator powering Intuit Consumer Apps - Ashpak Shaikh, Intuit",
+    "event_start": "2023-09-21 17:00",
+    "event_end": "2023-09-21 17:30",
+    "event_type": "Session Presentations",
+    "event_subtype": "GraphQL in Production",
+    "description": "This session will talk about the GraphQL journey at Intuit discussing what challenges we faced while scaling the GraphQL ecosystem at Intuit as the number of GraphQL microservices grew. We will focus on the internal GraphQL Orchestrator implementation that powers the Consumer Group, combining 50+ microservices that serve 150+ clients spanning multiple Intuit applications like Mint, TurboTax, Turbo Tax Live, and Virtual Expert Platform.\n\nThe session will cover the following topics\n* The combination of Recursive Schema Stitching + Apollo Federation for schema composition.\n* Inclusion of REST microservices in the GraphQL Ecosystem using declarative Adapters.\n* Securing the unified graph using GraphQL Authorization and user consent checks.\n* Loosely coupled registration of microservices with the GraphQL gateway using AWS S3 as persistence.\n* Our journey to open source the orchestrator implementation.",
+    "goers": "15",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grand Peninsula A,B,C",
+    "audience": "Advanced",
+    "geo_area": "Yes",
+    "id": "17f150667d13a57f28bae524443f4c60",
+    "venue_id": "1749452",
+    "speakers": [
+      {
+        "username": "ashpak_shaikh",
+        "id": "19084619",
+        "name": "Ashpak Shaikh",
+        "company": "Intuit",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2023",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "21",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "5:00pm",
+    "event_end_year": "2023",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "21",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "5:30pm",
+    "start_date": "2023-09-21",
+    "start_time": "17:00:00",
+    "start_time_ts": 1695340800,
+    "end_date": "2023-09-21",
+    "end_time": "17:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf23/a3/ashpak_graphql_conf.pdf",
+        "name": "ashpak_graphql_conf.pdf"
+      }
+    ]
+  }
+]
diff --git a/scripts/sync-sched/schedule-2024.json b/scripts/sync-sched/schedule-2024.json
new file mode 100644
index 0000000000..f38e68b321
--- /dev/null
+++ b/scripts/sync-sched/schedule-2024.json
@@ -0,0 +1,4648 @@
+[
+  {
+    "event_key": "706600",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration & Badge Pick-up",
+    "event_start": "2024-09-09 14:00",
+    "event_end": "2024-09-09 17:00",
+    "event_type": "Registration & Badge Pick-up",
+    "goers": "21",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "2acdefcaf8b375f6a2105cf3d3a4c6e0",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "9",
+    "event_start_weekday": "Monday",
+    "event_start_weekday_short": "Mon",
+    "event_start_time": "2:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "9",
+    "event_end_weekday": "Monday",
+    "event_end_weekday_short": "Mon",
+    "event_end_time": "5:00pm",
+    "start_date": "2024-09-09",
+    "start_time": "14:00:00",
+    "start_time_ts": 1725915600,
+    "end_date": "2024-09-09",
+    "end_time": "17:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "706603",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration & Badge Pick-up",
+    "event_start": "2024-09-10 08:00",
+    "event_end": "2024-09-10 19:00",
+    "event_type": "Registration & Badge Pick-up",
+    "goers": "51",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "3c81808073ae7f888acc66d832877764",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "8:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "7:00pm",
+    "start_date": "2024-09-10",
+    "start_time": "08:00:00",
+    "start_time_ts": 1725980400,
+    "end_date": "2024-09-10",
+    "end_time": "19:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "706605",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Welcome & Opening Remarks - Lee Byron, GraphQL Foundation",
+    "event_start": "2024-09-10 09:00",
+    "event_end": "2024-09-10 09:15",
+    "event_type": "Keynote Sessions",
+    "goers": "83",
+    "video_stream": "https://www.youtube.com/watch?v=FTzPajvTw4c",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "1b3086b33b9d1b30790f02a49857cfe0",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "lee_byron.25jvpjmb",
+        "id": "18743534",
+        "name": "Lee Byron",
+        "company": "GraphQL Foundation",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "9:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "9:15am",
+    "start_date": "2024-09-10",
+    "start_time": "09:00:00",
+    "start_time_ts": 1725984000,
+    "end_date": "2024-09-10",
+    "end_time": "09:15:00",
+    "description": ""
+  },
+  {
+    "event_key": "686029",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: You're Our Universe: GraphQL Community Update 2024 - Benjie Gillam, Graphile",
+    "event_start": "2024-09-10 09:15",
+    "event_end": "2024-09-10 09:25",
+    "event_type": "Keynote Sessions",
+    "description": "The GraphQL ecosystem is vast, composed of tools and libraries in many programming languages, people and organizations from across the globe, and a plethora of maintainers, contributors and developers pulling them together. The primary mission of the GraphQL Foundation is to ensure that the GraphQL community is able to focus on the continued evolution of the specification, the shared contract that competitors and collaborators alike implement to enable maximal interoperability. This talk is to thank YOU, the GraphQL community, and highlight some of the heroes that have arisen to heed this call. Find out about their efforts over the last year improving our shared specifications, implementations, documentation, tooling, tests, and websites; about how you can get involved and help shape GraphQL to fit your organization's needs; about the support we have available; and about other community initiatives you may wish to avail yourself of.",
+    "goers": "81",
+    "video_stream": "https://www.youtube.com/watch?v=xaTEuk-DKqI",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "company": "Any",
+    "id": "5245297ed1f7b82885c742d77f209bda",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "benjie3",
+        "id": "18743846",
+        "name": "Benjie Gillam",
+        "company": "Graphile",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "9:15am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "9:25am",
+    "start_date": "2024-09-10",
+    "start_time": "09:15:00",
+    "start_time_ts": 1725984900,
+    "end_date": "2024-09-10",
+    "end_time": "09:25:00"
+  },
+  {
+    "event_key": "706606",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsored Keynote: Uri Goldshtein, The Guild",
+    "event_start": "2024-09-10 09:30",
+    "event_end": "2024-09-10 09:40",
+    "event_type": "Keynote Sessions",
+    "goers": "71",
+    "video_stream": "https://www.youtube.com/watch?v=Q8l9u5K5VBA",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "0cc847db0ed6bf193da7b5413c7f3e8e",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "uri_goldshtein.23xujj9a",
+        "id": "14900013",
+        "name": "Uri Goldshtein",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "9:30am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "9:40am",
+    "start_date": "2024-09-10",
+    "start_time": "09:30:00",
+    "start_time_ts": 1725985800,
+    "end_date": "2024-09-10",
+    "end_time": "09:40:00",
+    "description": ""
+  },
+  {
+    "event_key": "698207",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: The State of Distributed GraphQL - Michael Staib, ChilliCream Inc",
+    "event_start": "2024-09-10 09:40",
+    "event_end": "2024-09-10 09:55",
+    "event_type": "Keynote Sessions",
+    "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": "73",
+    "video_stream": "https://www.youtube.com/watch?v=A8T1QHJj0WM",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "company": "Intermediate",
+    "id": "7a165daf8a2402b63ced2f6b49ce9155",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "michael_staib.23xujj9p",
+        "id": "14900031",
+        "name": "Michael Staib",
+        "company": "ChilliCream",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "9:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "9:55am",
+    "start_date": "2024-09-10",
+    "start_time": "09:40:00",
+    "start_time_ts": 1725986400,
+    "end_date": "2024-09-10",
+    "end_time": "09:55:00"
+  },
+  {
+    "event_key": "13",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: TSC Panel - Lee Byron, GraphQL Foundation; Kewei Qu, Meta; Rob Richard, 1stDibs; Michael Staib, ChilliCream; Moderated by Sasha Solomon, Staff Software Engineer & Tech Lead",
+    "event_start": "2024-09-10 09:55",
+    "event_end": "2024-09-10 10:25",
+    "event_type": "Keynote Sessions",
+    "goers": "78",
+    "video_stream": "https://www.youtube.com/watch?v=3UbcTEV54bI",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "b5386fb97755f765369c45e5f24094ec",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "michael_staib.23xujj9p",
+        "id": "14900031",
+        "name": "Michael Staib",
+        "company": "ChilliCream",
+        "custom_order": 0
+      },
+      {
+        "username": "lee_byron.25jvpjmb",
+        "id": "18743534",
+        "name": "Lee Byron",
+        "company": "GraphQL Foundation",
+        "custom_order": 1
+      },
+      {
+        "username": "qkw1221",
+        "id": "18743864",
+        "name": "Kewei Qu",
+        "company": "Meta",
+        "custom_order": 2
+      },
+      {
+        "username": "robrichard87",
+        "id": "21066852",
+        "name": "Rob Richard",
+        "company": "1stdibs",
+        "custom_order": 3
+      },
+      {
+        "username": "sasha177",
+        "id": "21336701",
+        "name": "Sasha Solomon",
+        "custom_order": 4
+      }
+    ],
+    "moderators": [
+      {
+        "username": "sasha177",
+        "name": "Sasha Solomon",
+        "eventid": "b5386fb97755f765369c45e5f24094ec",
+        "role": "moderator"
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "9:55am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "10:25am",
+    "start_date": "2024-09-10",
+    "start_time": "09:55:00",
+    "start_time_ts": 1725987300,
+    "end_date": "2024-09-10",
+    "end_time": "10:25:00",
+    "description": ""
+  },
+  {
+    "event_key": "706615",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Closing Remarks - Lee Byron, GraphQL Foundation",
+    "event_start": "2024-09-10 10:25",
+    "event_end": "2024-09-10 10:30",
+    "event_type": "Keynote Sessions",
+    "goers": "73",
+    "video_stream": "https://www.youtube.com/watch?v=5DpIO-isCMQ",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "35f3d53159a5c274e8595e9eb4b6d6c7",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "lee_byron.25jvpjmb",
+        "id": "18743534",
+        "name": "Lee Byron",
+        "company": "GraphQL Foundation",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "10:25am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "10:30am",
+    "start_date": "2024-09-10",
+    "start_time": "10:25:00",
+    "start_time_ts": 1725989100,
+    "end_date": "2024-09-10",
+    "end_time": "10:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "9",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Coffee Break",
+    "event_start": "2024-09-10 10:30",
+    "event_end": "2024-09-10 11:00",
+    "event_type": "Breaks & Special Events",
+    "goers": "42",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "00735951e116f34db5e089b0fb4bc928",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "10:30am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "11:00am",
+    "start_date": "2024-09-10",
+    "start_time": "10:30:00",
+    "start_time_ts": 1725989400,
+    "end_date": "2024-09-10",
+    "end_time": "11:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "706608",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsor Showcase",
+    "event_start": "2024-09-10 10:30",
+    "event_end": "2024-09-10 19:00",
+    "event_type": "Sponsor Showcase",
+    "description": "Visit the sponsors in the Sponsor Showcase!",
+    "goers": "23",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "14632b39fa73ed429cb5e5db6f156ea4",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "10:30am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "7:00pm",
+    "start_date": "2024-09-10",
+    "start_time": "10:30:00",
+    "start_time_ts": 1725989400,
+    "end_date": "2024-09-10",
+    "end_time": "19:00:00"
+  },
+  {
+    "event_key": "706622",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsored Session: From Prototype to Production: Efficiently Building Custom GraphQL APIs - Kevin Brown, Exogee",
+    "event_start": "2024-09-10 11:00",
+    "event_end": "2024-09-10 11:30",
+    "event_type": "API Platform",
+    "description": "Building robust and flexible GraphQL APIs can often feel like walking a tightrope between development speed and customization. Using open source tools, we'll rapidly prototype and iterate on a GraphQL API powered by TypeScript and NodeJS together. Topics we'll cover:\nRapid Prototyping: Techniques for quickly generating efficient and extensible APIs. Advanced Data Integration: Strategies for seamlessly joining and managing data from disparate sources. Extreme Flexibility: Extension points that let you customise the generated API and completely override how it works without rebuilding it. Robust Security: Tools to protect the data in the API with advanced role-based access control and more. Join us to learn how you can efficiently deliver high quality GraphQL APIs in TypeScript without sacrificing your ability to build whatever you need in the future.",
+    "goers": "16",
+    "video_stream": "https://www.youtube.com/watch?v=ES-wIMcUyfs",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "id": "3ff1dc8d085dcb2cc5d4ac48aeceaf8e",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "kevin.brown11",
+        "id": "21490044",
+        "name": "Kevin Brown",
+        "company": "Exogee",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "11:30am",
+    "start_date": "2024-09-10",
+    "start_time": "11:00:00",
+    "start_time_ts": 1725991200,
+    "end_date": "2024-09-10",
+    "end_time": "11:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/20/GraphQL Conf 2024.pdf",
+        "name": "GraphQL Conf 2024.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "699498",
+    "active": "Y",
+    "pinned": "N",
+    "name": "200 Is Not OK: Strategies for Tracing Partial Responses with GraphQL Observability - Aditi Rajawat & Rama Palaniappan, Intuit",
+    "event_start": "2024-09-10 11:00",
+    "event_end": "2024-09-10 11:30",
+    "event_type": "Backend",
+    "description": "GraphQL is agnostic to the transport layer. Almost all out of the box observability tooling is tailored to REST/HTTP APIs. Major observability challenge with GraphQL over HTTP is the support of partial response and HTTP status with 2XX may have failed. GraphQL Gateway generally fans-out one incoming request to one or many outgoing subgraph requests. It is essential to monitor each subgraph and the GraphQL gateway’s metrics and also to trace a single request across the network stack. This talk will cover how Intuit is reducing Mean Time to Detect (MTTD) and Mean Time to Recover (MTTR) for GraphQL APIs, by capturing Failed Customer Interactions, Golden Signal to determine gateway and subgraph’s health, latency, error rate and other related metrics. This talk will also cover open tracing and logging for GraphQL APIs.",
+    "goers": "42",
+    "video_stream": "https://www.youtube.com/watch?v=LbANoddAVic",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "8b3fee2390253e8c920c1df186758b9d",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "aditi_rajawat",
+        "id": "21066788",
+        "name": "Aditi Rajawat",
+        "company": "Intuit",
+        "custom_order": 0
+      },
+      {
+        "username": "rama_palaniappan",
+        "id": "21066845",
+        "name": "Rama Palaniappan",
+        "company": "Intuit",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "11:30am",
+    "start_date": "2024-09-10",
+    "start_time": "11:00:00",
+    "start_time_ts": 1725991200,
+    "end_date": "2024-09-10",
+    "end_time": "11:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/3f/200_Is_Not_OK.pptx.pdf",
+        "name": "200_Is_Not_OK.pptx.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "689668",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Schema-Driven Testing with Mock Service Worker - Alessia Bellisario, Apollo",
+    "event_start": "2024-09-10 11:00",
+    "event_end": "2024-09-10 11:30",
+    "event_type": "GraphQL Clients",
+    "description": "At last year’s GraphQL Conf, Stephanie Saunders sang the praises of schema mocking in her excellent talk “Sophisticated Schema Mocking”. As Stephanie outlined, tests written using mock schemas have several benefits over ones written with static response mocks (seriously, go back and watch the talk if you haven’t!) Mock schemas are the perfect pair for Mock Service Worker which describes itself as “an API mocking library that allows you to write client-agnostic mocks and reuse them across any frameworks, tools, and environments.” In this talk, I’ll demonstrate how to use mock schemas with MSW using testing tools created by the Apollo Client team. These utilities can be used with any GraphQL client for the web whether it’s Apollo Client, Relay, urql, isograph or even just plain fetch requests to a GraphQL endpoint, and support incremental delivery (@defer/@stream), subscriptions and more. With MSW + your front-end stack of choice + test runner or framework of choice (Jest, Puppeteer, Cypress, Storybook, the list goes on) this talk will teach you how to level up the tests you and your team are writing.",
+    "goers": "39",
+    "video_stream": "https://www.youtube.com/watch?v=hFmJgR0vssY",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "de54e458f4da84295d55ce44dade372e",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "twitter7",
+        "id": "18743837",
+        "name": "Alessia Bellisario",
+        "company": "Apollo",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "11:30am",
+    "start_date": "2024-09-10",
+    "start_time": "11:00:00",
+    "start_time_ts": 1725991200,
+    "end_date": "2024-09-10",
+    "end_time": "11:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/85/BellisarioGraphQLConf2024.pdf",
+        "name": "BellisarioGraphQLConf2024.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706623",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Converging Paramount EPG Architectures with the Help of GraphQL: Journey, Challenges and Solutions - Giacomo Simmi, Paramount; Satish Chitnis, Paramount / Pluto TV",
+    "event_start": "2024-09-10 11:00",
+    "event_end": "2024-09-10 11:30",
+    "event_type": "GraphQL in Production",
+    "description": "Paramount is a group of companies including Network Streaming, Paramount+, PlutoTV. Each of these companies has its own distinct tech stack and architecture. \n \nOne of the goals of the Architectural Team is to simplify the architecture of the entire group by converging and merging the solutions while avoiding a big-bang approach that would have a significant impact on the business. \n \nAfter some investigations, the GraphQL Federated Architecture emerged as a strong candidate to initiate this process using a top-down approach, starting with the Paramount EPG services. \n \nIn this session, we will describe:\n\n- The design of each intermediate EPG convergent architecture: we will outline the necessary steps to reach the final solution using a top-down and phased approach. \n- The challenges we faced: this includes choosing between code-first and schema-first approaches, modeling the data, addressing performance issues, deploying each subgraph to different infrastructures, and organizing subgraph teams, roles, and responsibilities. \n- Solutions we tried: we explored various tools and frameworks, such as Apollo and WunderGraph, to address these challenges.",
+    "goers": "18",
+    "video_stream": "https://www.youtube.com/watch?v=GnjMUsvDcL4",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "0081eba3649c74291a865c903188bfbb",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "giacomo.simmi",
+        "id": "21496501",
+        "name": "Giacomo Simmi",
+        "company": "Paramount",
+        "custom_order": 0
+      },
+      {
+        "username": "satish.chitnis",
+        "id": "21496512",
+        "name": "Satish Chitnis",
+        "company": "Paramount / Pluto TV",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "11:30am",
+    "start_date": "2024-09-10",
+    "start_time": "11:00:00",
+    "start_time_ts": 1725991200,
+    "end_date": "2024-09-10",
+    "end_time": "11:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/48/Converging EPG architectures with the help of GraphQL - Journey, Challenges and Solutions.pdf",
+        "name": "Converging EPG architectures with the help of GraphQL - Journey, Challenges and Solutions.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "699439",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL at the Edge with WebAssembly - Ramnivas Laddad, Exograph, Inc",
+    "event_start": "2024-09-10 11:40",
+    "event_end": "2024-09-10 12:10",
+    "event_type": "Backend",
+    "description": "WebAssembly is reshaping our approach to software execution units and components. With its ecosystem maturing--the ability to deploy with multiple cloud providers, the standardization of WebAssembly Components, and the rise of WASI--its potential is fast becoming a reality. WebAssembly is especially suitable for running server-side code at the edge, where resource constraints and security concerns are paramount. To realize the full potential of running API servers at the edge--lowered latency, reduced costs, and improved scalability--we must rethink our approach to building and deploying servers. GraphQL is particularly well-suited for edge deployments. It not only reduces the number of trips between the client and the server but also allows implementations to optimize the whole query to reduce round trips to the data server. In this session, we will explore how to target a Rust implementation of GraphQL server to WebAssembly. We'll also look into how this fits within the WebAssembly ecosystem and how you can run these servers even in your browser.",
+    "goers": "22",
+    "video_stream": "https://www.youtube.com/watch?v=cEijqq-KQsU",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "b3cdfe65307832887ded26a9270d1295",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "ramnivas.laddad",
+        "id": "21066848",
+        "name": "Ramnivas Laddad",
+        "company": "Exograph",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "11:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "12:10pm",
+    "start_date": "2024-09-10",
+    "start_time": "11:40:00",
+    "start_time_ts": 1725993600,
+    "end_date": "2024-09-10",
+    "end_time": "12:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/f5/graphql-edge-webassembly-ramnivas-laddad.pdf",
+        "name": "graphql-edge-webassembly-ramnivas-laddad.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706588",
+    "active": "Y",
+    "pinned": "N",
+    "name": "6 Years of Distributed GraphQL in Production - Andreas Marek, Atlassian",
+    "event_start": "2024-09-10 11:40",
+    "event_end": "2024-09-10 12:10",
+    "event_type": "Federation and Composite Schemas",
+    "description": "Atlassian built the first ever distributed GraphQL gateway in 2018 and continues to run and improve until today. We will look at the lessons learned and challenges including: - Schema governance - Company adoption - Running a high availability gateway - Things that didn't work out",
+    "goers": "55",
+    "video_stream": "https://www.youtube.com/watch?v=v3dY3Y9VHJ8",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "f37774914d4fb6b5760a4c4811f042be",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "andreas.marek1",
+        "id": "21066795",
+        "name": "Andreas Marek",
+        "company": "Atlassian",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "11:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "12:10pm",
+    "start_date": "2024-09-10",
+    "start_time": "11:40:00",
+    "start_time_ts": 1725993600,
+    "end_date": "2024-09-10",
+    "end_time": "12:10:00"
+  },
+  {
+    "event_key": "696986",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Power of Strongly Coupled GraphQL Queries for Internal APIs - Mary Briskin, Tutored by Teacher",
+    "event_start": "2024-09-10 11:40",
+    "event_end": "2024-09-10 12:10",
+    "event_type": "GraphQL Clients",
+    "description": "Why settle for over-complicated APIs when you can have exactly what you need? In this talk, we'll write focused, single-use GraphQL queries that are tailored to our exact requirements. Learn how tightly coupling your GraphQL queries with your pages or components can make your front-end cleaner, your back-end faster, and your code easier to maintain. Goodbye unnecessary complexity and generalization—this is all about building APIs that fit like a glove, making your life easier and your code prettier!",
+    "goers": "22",
+    "video_stream": "https://www.youtube.com/watch?v=szGCeD_UzmY",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "1f23375107e5a16e08092d69e1b5ba1a",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "marybriskin",
+        "id": "21457039",
+        "name": "Mary Briskin",
+        "company": "Tutored by Teachers",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "11:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "12:10pm",
+    "start_date": "2024-09-10",
+    "start_time": "11:40:00",
+    "start_time_ts": 1725993600,
+    "end_date": "2024-09-10",
+    "end_time": "12:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/7c/GraphQL Talk Mary Briskin.pdf",
+        "name": "GraphQL Talk Mary Briskin.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "693335",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Incrementally Adopting GraphQL and Relay at Pinterest - Mauricio Montalvo, Pinterest",
+    "event_start": "2024-09-10 11:40",
+    "event_end": "2024-09-10 12:10",
+    "event_type": "GraphQL in Production",
+    "description": "Pinterest is too large to simply “rewrite our app” to use GraphQL in one fell swoop. Even migrating an individual screen takes months, at our scale this is quite challenging, like changing a plane’s engine while flying. Is GraphQL adoption destined to be difficult for large companies? Can this process be made more incremental? Unfortunately, the answer seems to be no. It's hard to imagine how components consuming GraphQL data can coexist on a page that makes network requests to a REST endpoint. And yet, we figured it out. And we had a good time, too! We designed Relay-compatible APIs that allow us to read data either from a GraphQL store or from arbitrary objects (e.g. from Redux.) So, engineers can migrate individual components within a larger tree. These components specify the data they need using a fragment, and receive GraphQL-shaped data, regardless of whether the data came from GraphQL or REST. When a component tree is fully migrated, we're able to A/B test the REST and GraphQL endpoints, and only turn on GraphQL when we're sure doing so won't degrade any metrics. And we're about to release this to open source: adopting GraphQL on the front-end has never been easier!",
+    "goers": "31",
+    "video_stream": "https://www.youtube.com/watch?v=9gY1vNw7Kcc",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Beginner",
+    "audience": "Session Presentations",
+    "id": "515c8ade2da6e1fc710e87df182dd8e6",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "mauricio.montalvo.guzman",
+        "id": "21066831",
+        "name": "Mauricio Montalvo",
+        "company": "Pinterest",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "11:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "12:10pm",
+    "start_date": "2024-09-10",
+    "start_time": "11:40:00",
+    "start_time_ts": 1725993600,
+    "end_date": "2024-09-10",
+    "end_time": "12:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/55/Incrementally Adopting GraphQL and Relay at Pinterest - Mauricio Montalvo.pdf",
+        "name": "Incrementally Adopting GraphQL and Relay at Pinterest - Mauricio Montalvo.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "5",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch Break",
+    "event_start": "2024-09-10 12:10",
+    "event_end": "2024-09-10 13:30",
+    "event_type": "Breaks & Special Events",
+    "goers": "55",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 3 Lobby + Restaurant",
+    "id": "c117b6cefe3eaa89940b76d68abdc3de",
+    "venue_id": "1979828",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "12:10pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "1:30pm",
+    "start_date": "2024-09-10",
+    "start_time": "12:10:00",
+    "start_time_ts": 1725995400,
+    "end_date": "2024-09-10",
+    "end_time": "13:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "691366",
+    "active": "Y",
+    "pinned": "N",
+    "name": "How to Not Break Your GraphQL Clients - Pascal Senn, ChilliCream",
+    "event_start": "2024-09-10 13:30",
+    "event_end": "2024-09-10 14:00",
+    "event_type": "Backend",
+    "description": "Ever had to explain to the frontend team why their application is no longer working after a release? This session will show you what you can do to never let this happen again, ever! We will start by analysing why it is so easy to do a breaking change in a GraphQL API, what this even means and how to prevent it. Then, we will explore the issues that come once a client application uses your GraphQL API, learn effective ways to prevent the issues from happening and how to apply it in real world complexities. Learn to build resilient GraphQL APIs - today.",
+    "goers": "43",
+    "video_stream": "https://www.youtube.com/watch?v=U3m0J8HFuqQ",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "eb21b013745069912ee5b95b14aaca24",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "pascal.senn",
+        "id": "21066839",
+        "name": "Pascal Senn",
+        "company": "ChilliCream",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:00pm",
+    "start_date": "2024-09-10",
+    "start_time": "13:30:00",
+    "start_time_ts": 1726000200,
+    "end_date": "2024-09-10",
+    "end_time": "14:00:00"
+  },
+  {
+    "event_key": "692359",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unlocking Blockchain Data with GraphQL - Saihajpreet Singh, The Guild",
+    "event_start": "2024-09-10 13:30",
+    "event_end": "2024-09-10 13:40",
+    "event_type": "Federation and Composite Schemas",
+    "description": "Discover how GraphQL and composite schemas are transforming blockchain data access and management. This talk will highlight innovative techniques that standardize and streamline blockchain data retrieval, making it more accessible and efficient for developers. Explore the future of blockchain data management and how these advancements are setting new industry standards in web3.",
+    "goers": "5",
+    "video_stream": "https://www.youtube.com/watch?v=tjmPJGMPZGQ",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Beginner",
+    "audience": "Lightning Talks",
+    "geo_area": "Yes",
+    "id": "66a12b5aa41f22c3a7f80a9838488826",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "saihajpreet.singh",
+        "id": "21066858",
+        "name": "Saihajpreet Singh",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "1:40pm",
+    "start_date": "2024-09-10",
+    "start_time": "13:30:00",
+    "start_time_ts": 1726000200,
+    "end_date": "2024-09-10",
+    "end_time": "13:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/b5/graphql-conf2024-talk.pdf",
+        "name": "graphql-conf2024-talk.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706596",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL in the Era of React Server Components - Roy Derks, IBM",
+    "event_start": "2024-09-10 13:30",
+    "event_end": "2024-09-10 14:00",
+    "event_type": "GraphQL Clients",
+    "description": "There's been lots of talks around GraphQL and if it's still relevant now more and more web frameworks are introducing different ways to handle data fetching. Some say we might even be going back to the MVC model. In this new \"RPC world\" we have technologies like tRPC and React Server Components. But what does this mean for GraphQL? In this talk I'll explore the most recent ways to do handle data fetching, how they compare to GraphQL and what benefits GraphQL might still be brining you.",
+    "goers": "25",
+    "video_stream": "https://www.youtube.com/watch?v=0IcZGcO9Vm0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "id": "b45e3e5dfce0eec4d5498bedb8c54f04",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "hello2358",
+        "id": "16832291",
+        "name": "Roy Derks",
+        "company": "IBM",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:00pm",
+    "start_date": "2024-09-10",
+    "start_time": "13:30:00",
+    "start_time_ts": 1726000200,
+    "end_date": "2024-09-10",
+    "end_time": "14:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/17/GraphQLServerComponentsRoyDerks.pdf",
+        "name": "GraphQLServerComponentsRoyDerks.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "691577",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Building a Serverless GraphQL Subscription Gateway for Event-Driven Architectures - Christian Stangier & Kenneth Wußmann, MOIA GmbH",
+    "event_start": "2024-09-10 13:30",
+    "event_end": "2024-09-10 14:00",
+    "event_type": "GraphQL in Production",
+    "description": "At MOIA we're working on a new approach to mobility using ride-pooling with autonomous vehicles. Running an autonomous fleet of vehicles requires access to real-time and low-latency telematic data. This data needs to be made accessible to our users on a fleet map to always have a detailed overview of the current fleet state. Using only queries and polling we quickly ran into scalability issues and had to rethink our approach. Therefore we went to the drawing board and designed and built a serverless architecture on top of AWS and GraphQL over WebSocket to support our stream-aligned teams in building serverless subscriptions in a microservice environment. Watch a replay of our journey enabling other teams to effortlessly push updates to their users using a shared subscription gateway.",
+    "goers": "35",
+    "video_stream": "https://www.youtube.com/watch?v=kmxy32cDRT8",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Advanced",
+    "audience": "Session Presentations",
+    "id": "15ae8e609d80ee7a856469c74c379c55",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "christian.stangier",
+        "id": "21066807",
+        "name": "Christian Stangier",
+        "company": "MOIA GmbH",
+        "custom_order": 0
+      },
+      {
+        "username": "kenneth.wussmann",
+        "id": "21066824",
+        "name": "Kenneth Wußmann",
+        "company": "MOIA GmbH",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "1:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:00pm",
+    "start_date": "2024-09-10",
+    "start_time": "13:30:00",
+    "start_time_ts": 1726000200,
+    "end_date": "2024-09-10",
+    "end_time": "14:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/96/Building a Serverless GraphQL Subscription Gateway.pdf",
+        "name": "Building a Serverless GraphQL Subscription Gateway.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "700361",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Ahead-of-Time (AOT) Techniques Help You Write GraphQL Libraries! - Mike Solomon, -",
+    "event_start": "2024-09-10 13:50",
+    "event_end": "2024-09-10 14:00",
+    "event_type": "GraphQL in Production",
+    "description": "Production-ready GraphQL deployments typically require sophisticated clients, careful telemetry, and high performance. Come see how we can apply techniques used in compilers to help write simpler and more efficient GraphQL frameworks and libraries! During this talk, you will learn: - How to create a simple yet powerful Intermediate Representation (IR) for GraphQL queries and schemas - How this IR can be used to generate client-side code, client and server telemetry, and even reduce payload sizes over the Internet!",
+    "goers": "35",
+    "video_stream": "https://www.youtube.com/watch?v=SFQB8F0Ofcg",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Intermediate",
+    "audience": "Lightning Talks",
+    "id": "5df1be4f2875d2ba86cd9c3daefadd02",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "arkenflame",
+        "id": "18743867",
+        "name": "Mike Solomon",
+        "company": "-",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "1:50pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:00pm",
+    "start_date": "2024-09-10",
+    "start_time": "13:50:00",
+    "start_time_ts": 1726001400,
+    "end_date": "2024-09-10",
+    "end_time": "14:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/be/compiler-techniques-graphqlconf2024.pdf",
+        "name": "compiler-techniques-graphqlconf2024.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "671426",
+    "active": "Y",
+    "pinned": "N",
+    "name": "In Memory of Travails - Gabriel Schulhof, Auction.com",
+    "event_start": "2024-09-10 14:10",
+    "event_end": "2024-09-10 14:40",
+    "event_type": "Backend",
+    "description": "Two aspects of resolvers have an outsized influence on their performance: the size of the execution context, and the way we compute their value. In the Node.js implementation of graphql, promises wrapping primitive values are especially disruptive, since they add a large computing overhead. The context size creates a memory usage baseline that can rise very quickly with even small additions to the context, when there are many concurrent contexts. The execution can create temporary objects, increasing memory usage. Often-run resolvers, such as those responsible for filling out large arrays of objects, can become performance bottlenecks. At Auction.com, our search results page (SRP) requests up to 500 items of roughly 80 fields each. The query resolving these fields was suffering a high latency. We shall examine the tools to instrument our code and identify memory usage and CPU utilization bottlenecks. Our realtime elements (e.g. realtime updates to the status of currently viewed properties) are implemented using a translation of kafka messages to graphql updates. We shall present the tools and procedures to reduce memory usage and CPU usage when fanning out such messages.",
+    "goers": "11",
+    "video_stream": "https://www.youtube.com/watch?v=eXWXRF6gYg8",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "geo_area": "Yes",
+    "id": "667270504bb6e511749901460a6e68d1",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "gabrielschulhof",
+        "id": "13020672",
+        "name": "Gabriel Schulhof",
+        "company": "Auction.com",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:40pm",
+    "start_date": "2024-09-10",
+    "start_time": "14:10:00",
+    "start_time_ts": 1726002600,
+    "end_date": "2024-09-10",
+    "end_time": "14:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/cd/In.Memory.of.Travails.pptx",
+        "name": "In.Memory.of.Travails.pptx"
+      }
+    ]
+  },
+  {
+    "event_key": "692293",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Spec Agnostic Executor for Federated GraphQL - Denis Badurina, The Guild",
+    "event_start": "2024-09-10 14:10",
+    "event_end": "2024-09-10 14:40",
+    "event_type": "Federation and Composite Schemas",
+    "description": "A fresh take on planning and executing federated GraphQL schemas. The executor is zero-dependency, spec and environment agnostic, with stable plans and explanations. Additionally, all of its steps are serializable - allowing for sophisticated caching mechanisms and deterministic plans. It supports all existing, and all future, federated specifications like Apollo Federation and the upcoming GraphQL Composite spec. We'll talk about how the new executor came to be, the challenges it faced, and how TDD expedited the process with confidence in mind.",
+    "goers": "34",
+    "video_stream": "https://www.youtube.com/watch?v=voeWmS-48Ag",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "de8fa563c5beb17fbe9b4f5f23c99e89",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "badurinadenis",
+        "id": "18743810",
+        "name": "Denis Badurina",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:40pm",
+    "start_date": "2024-09-10",
+    "start_time": "14:10:00",
+    "start_time_ts": 1726002600,
+    "end_date": "2024-09-10",
+    "end_time": "14:40:00"
+  },
+  {
+    "event_key": "691185",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsored Session: Championing the GraphQL Client in a Modern Platform - Jeff Auriemma, Apollo GraphQL",
+    "event_start": "2024-09-10 14:10",
+    "event_end": "2024-09-10 14:40",
+    "event_type": "GraphQL Clients",
+    "description": "GraphQL is becoming the preferred choice for enterprise API development. That means that more and more app developers are adopting GraphQL client libraries as part of a larger platform strategy rather than building their own BFFs. Platform owners, engineering leaders, toolmakers, and application developers can leverage this adoption pattern to set their teams up with an easy on-ramp and a roadmap for long-term success. My talk will outline the design features common across GraphQL client libraries and why they are essential for platform engineers to understand. I’ll share insights my team has gathered from our open-source projects, user interviews, and surveys that reveal how GraphQL newcomers and veterans relate to these tools. All of this will be tied together with some practical advice for every stage of the adoption journey: crawl, walk, run.",
+    "goers": "21",
+    "video_stream": "https://www.youtube.com/watch?v=lKZMcixWf3o",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "f53d0eed2747a55edea203c97844fe3e",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "jeff.auriemma",
+        "id": "18743876",
+        "name": "Jeff Auriemma",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:40pm",
+    "start_date": "2024-09-10",
+    "start_time": "14:10:00",
+    "start_time_ts": 1726002600,
+    "end_date": "2024-09-10",
+    "end_time": "14:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/58/[GraphQLConf 2024] Championing the GraphQL Client in a Modern Platform.pdf",
+        "name": "[GraphQLConf 2024] Championing the GraphQL Client in a Modern Platform.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "691570",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Pagination at Meta - Sabrina Wasserman, Meta",
+    "event_start": "2024-09-10 14:10",
+    "event_end": "2024-09-10 14:40",
+    "event_type": "GraphQL in Production",
+    "description": "In this talk, I’ll discuss how we’ve developed client-side pagination frameworks at Meta on top of the Relay GraphQL connection specification to make paginating with GraphQL-backed data simpler for product engineers. Specifically, I’ll cover: - Cursor-based pagination + the Relay GraphQL Connection specification - Generating pagination queries for a given Connection field - Client-side Connection field state management - How we integrate our pagination frameworks with our UI frameworks",
+    "goers": "54",
+    "video_stream": "https://www.youtube.com/watch?v=PGBC-0E-kco",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "f385327bc79231054b3d0d5440b9a47d",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "sabrina.wasserman",
+        "id": "21066857",
+        "name": "Sabrina Wasserman",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:10pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "2:40pm",
+    "start_date": "2024-09-10",
+    "start_time": "14:10:00",
+    "start_time_ts": 1726002600,
+    "end_date": "2024-09-10",
+    "end_time": "14:40:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/70/Declarative Pagination.pdf",
+        "name": "Declarative Pagination.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706611",
+    "active": "Y",
+    "pinned": "N",
+    "name": "What Could Go Wrong with a GraphQL Query and Can OpenTelemetry Help? - Budha Bhattacharya, Tyk",
+    "event_start": "2024-09-10 14:50",
+    "event_end": "2024-09-10 15:20",
+    "event_type": "API Platform",
+    "description": "APIs are the building blocks of our modern world. As the world becomes more interconnected, we need reliable and performant APIs to ensure the best experience for our end users. Many developers are starting to use GraphQL to provide a monolithic facade on top of their complex microservice architecture. In turn, making their next-generation APIs fast, flexible, and developer-friendly.\nBut using GraphQL also introduces many new challenges when isolating failures and troubleshooting performance issues. Can OpenTelemetry help solve those challenges?\n\nDuring this talk, we will:\n1. Give a brief overview of OpenTelemetry as a technology\n2. Investigate common challenges developers and SREs might encounter when running GraphQL in production\n3. Explore how OpenTelemetry can help deal with these issues\n4. Discuss what needs to be improved to make OTel even more valuable for the community",
+    "goers": "17",
+    "video_stream": "https://www.youtube.com/watch?v=Nol_i1wZMOY",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Beginner",
+    "audience": "Session Presentations",
+    "id": "e61013ca35c75a29e8fa8ce157e320e9",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "budha1",
+        "id": "17694866",
+        "name": "Budhaditya Bhattacharya",
+        "company": "Tyk",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "3:20pm",
+    "start_date": "2024-09-10",
+    "start_time": "14:50:00",
+    "start_time_ts": 1726005000,
+    "end_date": "2024-09-10",
+    "end_time": "15:20:00"
+  },
+  {
+    "event_key": "697562",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Is for Client Developers, Not Client Applications - Michael Bleigh, Google",
+    "event_start": "2024-09-10 14:50",
+    "event_end": "2024-09-10 15:20",
+    "event_type": "Developer Experience",
+    "description": "Many of the most common issues developers run into when building GraphQL APIs (N+1 queries, difficult authorization logic, protecting against arbitrary query complexity) come down to a single problem: when an untrusted client can construct arbitrary queries, lots can go wrong. So what if they just couldn't? The wins of GraphQL aren't in letting *clients* build their own queries but in letting *client developers* build their own queries. When Firebase chose GraphQL as the basis for its new Data Connect product, we introduced \"Connectors\", a new resource type that bundles a group of predefined GraphQL queries and mutations and exposes them at an endpoint. While trusted servers can execute arbitrary queries, untrusted clients can only use predefined queries and mutations. This approach substantially simplifies the security model of building with GraphQL. Rather than worrying about every possible query, you can build authorization and complexity mechanics around well-known predefined queries. Learn the how, the why, and the possible future of \"Connectors\" for GraphQL in Firebase and beyond.",
+    "goers": "39",
+    "video_stream": "https://www.youtube.com/watch?v=dDj6FF0y2YA",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "8866a2e23936ff9882c39f99b71238c5",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "michael.bleigh",
+        "id": "21066834",
+        "name": "Michael Bleigh",
+        "company": "Google",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "3:20pm",
+    "start_date": "2024-09-10",
+    "start_time": "14:50:00",
+    "start_time_ts": 1726005000,
+    "end_date": "2024-09-10",
+    "end_time": "15:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/2a/GraphQL is for Client Developers, not Client Apps.pdf",
+        "name": "GraphQL is for Client Developers, not Client Apps.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "691436",
+    "active": "Y",
+    "pinned": "N",
+    "name": "A Wild GraphQL Rollercoaster Ride – an Honest Federated GraphQL Adoption Story in an Enterprise - An Ngo & Lars de Bruijn, bol",
+    "event_start": "2024-09-10 14:50",
+    "event_end": "2024-09-10 15:20",
+    "event_type": "GraphQL in Production",
+    "description": "Join us in our journey of adopting GraphQL in an Enterprise setting and hear all about how we adopt GraphQL in our organization successfully. Coming from an established enterprise organization with over 800 engineers, who work predominantly with REST, we had a big challenge rolling out our federated GraphQL ambitions at scale in a distributed (micro)service landscape. Besides tech, our journey was also about changing how people work, building expertise and create a strong GraphQL community, for both engineers and product, and getting them invested in our GraphQL journey. We will share with you our hurdles, lessons learned and painful roadblocks and share with you what we wish we knew when we started, so you are well prepared when you start your own GraphQL adoption journey at scale after this talk.",
+    "goers": "24",
+    "video_stream": "https://www.youtube.com/watch?v=tuStK4r8AaI",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "bd12197d841d201adbcae218323d713a",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "ldebruijn",
+        "id": "5922948",
+        "name": "Lars de Bruijn",
+        "company": "bol",
+        "custom_order": 0
+      },
+      {
+        "username": "an.ngo",
+        "id": "21066792",
+        "name": "An Ngo",
+        "company": "bol",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "3:20pm",
+    "start_date": "2024-09-10",
+    "start_time": "14:50:00",
+    "start_time_ts": 1726005000,
+    "end_date": "2024-09-10",
+    "end_time": "15:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/13/GraphQLConf24-presentation.pdf",
+        "name": "GraphQLConf24-presentation.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "705687",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Improve Application Performance and User Engagement with Advanced GraphQL Features - Kewei Qu, Meta",
+    "event_start": "2024-09-10 14:50",
+    "event_end": "2024-09-10 15:00",
+    "event_type": "Scaling",
+    "description": "In this talk, I will go through two recent experiments at Meta where we improved Application scroll perf (commonly known as frame drops) and media stalls by developing advanced GraphQL features. 1. Batched @defers. Common UI update cycles with regular defers will introduce increased state updates and may cause unnecessary re-renders. By batching deferred payloads carefully, we can achieved improved latency without introduce frame drops which is commonly associated with decreased engagement. 2. Improved CDN prefetch. Most of the time, the bottleneck to TTI is the media loads, either image load or video load. Commonly, Applications prefetch these media from CDN to improve stalls. We can make the prefetch better by using the visitor pattern which is available in many GraphQL library to enable prefetch during parsing time.",
+    "goers": "48",
+    "video_stream": "https://www.youtube.com/watch?v=obMcFwqtvUQ",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Advanced",
+    "audience": "Lightning Talks",
+    "id": "260dd09a831d9432aa4122d60df72d21",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "qkw1221",
+        "id": "18743864",
+        "name": "Kewei Qu",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "2:50pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "3:00pm",
+    "start_date": "2024-09-10",
+    "start_time": "14:50:00",
+    "start_time_ts": 1726005000,
+    "end_date": "2024-09-10",
+    "end_time": "15:00:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/c7/GraphQL Conference 2024_ Improve Application Performance and User Engagement with Advanced GraphQL features.pdf",
+        "name": "GraphQL Conference 2024_ Improve Application Performance and User Engagement with Advanced GraphQL features.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "692032",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL and Newcomers: How an API Can Transform Technical and Functional Onboarding - Vincent Desmares, Teamstarter",
+    "event_start": "2024-09-10 15:05",
+    "event_end": "2024-09-10 15:15",
+    "event_type": "Developer Experience",
+    "description": "Since 2010, I've onboarded a lot of developers on a lot of projects. Team evolution is a part of the normal life of a project but can be a big challenge. In this lighting talk I will make a restrospective on how GraphQL drasticaly reduced the \"time-to-be-opperational\" and helped get a productive team very quickly. I will share good practices around code, design-patterns, documentation, processes and open-source. To get your next GraphQL project a pleasure to be onboarded on.",
+    "goers": "39",
+    "video_stream": "https://www.youtube.com/watch?v=yrhGfVOzxbU",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Beginner",
+    "audience": "Lightning Talks",
+    "id": "daa84da2c7b8efe182514d3f6d6624ec",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "vincent.desmares",
+        "id": "21066875",
+        "name": "Vincent Desmares",
+        "company": "Teamstarter",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "3:05pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "3:15pm",
+    "start_date": "2024-09-10",
+    "start_time": "15:05:00",
+    "start_time_ts": 1726005900,
+    "end_date": "2024-09-10",
+    "end_time": "15:15:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/47/GraphQL and Newcomers - 202240910 0848.pdf",
+        "name": "GraphQL and Newcomers - 202240910 0848.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "12",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Coffee Break",
+    "event_start": "2024-09-10 15:20",
+    "event_end": "2024-09-10 15:40",
+    "event_type": "Breaks & Special Events",
+    "goers": "38",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "785671ee20a5e7c63578e83cf84b8a12",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "3:20pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "3:40pm",
+    "start_date": "2024-09-10",
+    "start_time": "15:20:00",
+    "start_time_ts": 1726006800,
+    "end_date": "2024-09-10",
+    "end_time": "15:40:00",
+    "description": ""
+  },
+  {
+    "event_key": "706621",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Schema First, Code First, or Both? Adopting Schema First Development with Code First Architecture - Dan Adajian, Expedia Group",
+    "event_start": "2024-09-10 15:40",
+    "event_end": "2024-09-10 16:10",
+    "event_type": "Defies Categorization",
+    "description": "At Expedia Group, we leverage a \"code-first\" approach with GraphQL Kotlin to deliver high quality experiences to travelers globally. This means we let our implementations drive our GraphQL schema. However, our developers have a growing appetite to agree on our schema up front before diving into implementation. This talk will explore how we shifted our architecture to use a schema-first approach within a code-first framework. \n \nOverall, I aim to dispel the notion that using a code-first solution prevents us from defining schema as a first step. I will explore the advantages of doing schema review at scale, as well as highlight an open source GraphQL-Codegen plugin we built to generate Kotlin classes and interfaces from our schema definitions. \n \nI am eager to contribute to the conversation around schema-first vs code-first, which has been the topic of several GraphQLConf talks over the past few years. This approach brings a fresh perspective and should inspire folks to incorporate a schema-first mentality into their GraphQL development cycle.",
+    "goers": "53",
+    "video_stream": "https://www.youtube.com/watch?v=kpeVT7J6Bsw",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "8cca1430628e1cb303791cee9104cad8",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "danadajian",
+        "id": "21487429",
+        "name": "Dan Adajian",
+        "company": "Expedia Group",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "3:40pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "4:10pm",
+    "start_date": "2024-09-10",
+    "start_time": "15:40:00",
+    "start_time_ts": 1726008000,
+    "end_date": "2024-09-10",
+    "end_time": "16:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/22/GraphQLConf.pdf",
+        "name": "GraphQLConf.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706624",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsored Session: GraphQL's Future is Rooted in Governance - Adam Malone, Hasura",
+    "event_start": "2024-09-10 15:40",
+    "event_end": "2024-09-10 16:10",
+    "event_type": "Defies Categorization",
+    "description": "In this talk, we'll explore the future of GraphQL and why its success hinges on our collective ability to address the elephant in the room of governance.\n\nDespite its popularity among developers due to its flexibility and efficiency, GraphQL has yet to fully win over enterprise architects. Their world revolves around REST, model-first abstractions, data lineage, and rigorous compliance standards. To truly gain their trust and drive broader adoption in the enterprise, I'll argue that GraphQL implementations must be metadata-driven, with an emphasis on configuration over code.\n\nHowever, all is not lost! In today’s enterprise landscape, the domain model is predicated on the principle that the teams who own the data should also be responsible for managing it and making it available through agnostic channels. With this in mind, GraphQL is uniquely positioned to excel, thanks to its capabilities in federation and schema stitching. These features enable a paradigm that scales both technically and, more importantly, organizationally, aligning with the goals of managing traceability, lineage, and compliance in a manner that satisfies regulatory demands.\n\nIn this session, we'll delve into how the future of GraphQL, much like the stability of any nation, is rooted in good governance. We'll examine the priorities of enterprise architects and demonstrate how a governance-focused approach can help GraphQL evolve into a robust data access layer within any business.",
+    "goers": "27",
+    "video_stream": "https://www.youtube.com/watch?v=x2tnnh9KKVs",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "audience": "Session Presentations",
+    "id": "3e7c12e3198b7ee41b80f3a58a9d1e19",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "adam_malone.2791s6x2",
+        "id": "21498016",
+        "name": "Adam Malone",
+        "company": "Hasura",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "3:40pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "4:10pm",
+    "start_date": "2024-09-10",
+    "start_time": "15:40:00",
+    "start_time_ts": 1726008000,
+    "end_date": "2024-09-10",
+    "end_time": "16:10:00"
+  },
+  {
+    "event_key": "699211",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Consuming GraphQL in Type-Safe Languages - Anthony Miller, Apollo GraphQL",
+    "event_start": "2024-09-10 16:20",
+    "event_end": "2024-09-10 16:50",
+    "event_type": "GraphQL Clients",
+    "description": "GraphQL itself is a type-safe language. A schema is composed of well-defined types, supports nullability, and allows for inheritance through interfaces. The flexibility and expressiveness provided by a GraphQL schema seems to be a perfect fit for use with type-safe coding languages. But there are many challenges to overcome when consuming a GraphQL schema in strictly type-safe languages. This talk will discuss why GraphQL seems to conflict with type safety; explore some of the notable challenges GraphQL client developers face when consuming a GraphQL API; and uncover how the Apollo team has approached solutions for many of these issues in Swift and the Apollo iOS client.",
+    "goers": "29",
+    "video_stream": "https://www.youtube.com/watch?v=CFIqWwWLSb8",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "c9734088ee56ff8e1410bf33e494f71d",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "anthony_miller1",
+        "id": "21066803",
+        "name": "Anthony Miller",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "4:20pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "4:50pm",
+    "start_date": "2024-09-10",
+    "start_time": "16:20:00",
+    "start_time_ts": 1726010400,
+    "end_date": "2024-09-10",
+    "end_time": "16:50:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/0c/ConsumingGraphQL.key",
+        "name": "ConsumingGraphQL.key"
+      }
+    ]
+  },
+  {
+    "event_key": "685205",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lessons from Scaling GraphQL to Half a Billion Requests per Minute - Tushar Mathur, Tailcall",
+    "event_start": "2024-09-10 16:20",
+    "event_end": "2024-09-10 16:50",
+    "event_type": "Scaling",
+    "description": "Learn about the scaling challenges we faced in terms of infrastructure, organizational growth, and the technological aspects of GraphQL usage within a hyper-growth startup. In September 2016, when our team of ten-odd full-stack engineers adopted GraphQL, we were handling a few thousand requests per second on our GraphQL layer. Fast forward to 2023, the engineering team has grown to 1,000 members managing half a billion requests per minute at peak. In this talk we aim to address critical questions regarding GraphQL's performance, when is the right time to integrate it, exploring whether GraphQL is predominantly a front-end abstraction or if it can also be effectively utilized in back-end operations for service-to-service communication. Drawing from years of extensive GraphQL usage at a significant scale—without the need for federation—we will introduce for the first time an open-source project that helped us elegantly design, streamline, and scale optimal GraphQL APIs.",
+    "goers": "57",
+    "video_stream": "https://www.youtube.com/watch?v=Esb7oQ0PuXw",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "870876ffad45b79d11e09393e7f22587",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "tushar.mathur",
+        "id": "21066872",
+        "name": "Tushar Mathur",
+        "company": "Tailcall",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "4:20pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "4:50pm",
+    "start_date": "2024-09-10",
+    "start_time": "16:20:00",
+    "start_time_ts": 1726010400,
+    "end_date": "2024-09-10",
+    "end_time": "16:50:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/3c/slides.pdf",
+        "name": "slides.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706604",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Federation in the Wild - Stefan Avram, Wundergraph",
+    "event_start": "2024-09-10 17:00",
+    "event_end": "2024-09-10 17:30",
+    "event_type": "Federation and Composite Schemas",
+    "description": "Real-world observations of GraphQL Federation use. \n \nGartner predicts, \"By 2027, 30% of enterprises utilizing GraphQL will employ GraphQL federation, up from less than 5% in 2024.\" The report states, “Federation enables centralized governance, team autonomy (teams can own their subgraphs), composability, and adaptability to evolving requirements at different speeds.” \n \nAs GraphQL Federation continues to redefine how enterprises architect and scale their APIs, 2024 has marked a pivotal year in its adoption and evolution. This session will explore the rising trend of GraphQL Federation, highlighting key insights and success stories from diverse customer and partner bases. \n \nWe will delve into how businesses leverage federation to create more cohesive, efficient, and scalable API landscapes, addressing current challenges and showcasing emerging best practices. \n \nJoin us to understand the broader impact of GraphQL Federation in the tech industry and gather actionable strategies to enhance your organization's API strategies through advanced GraphQL techniques.",
+    "goers": "46",
+    "video_stream": "https://www.youtube.com/watch?v=K9HCb5Q2Juc",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "geo_area": "Yes",
+    "id": "9b4f92f2579d24a3c20e6533686aca6b",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "stefan239",
+        "id": "21335795",
+        "name": "Stefan Avram",
+        "company": "Wundergraph",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "5:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "5:30pm",
+    "start_date": "2024-09-10",
+    "start_time": "17:00:00",
+    "start_time_ts": 1726012800,
+    "end_date": "2024-09-10",
+    "end_time": "17:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/1b/GraphQL Federation in the Wild.pdf",
+        "name": "GraphQL Federation in the Wild.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "698709",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Build Confidently: How @Catch and Error Handling Pave the Way to Confidence in Field Nullability - Itamar Kestenbaum, Meta",
+    "event_start": "2024-09-10 17:00",
+    "event_end": "2024-09-10 17:30",
+    "event_type": "GraphQL Clients",
+    "description": "In this session - we’ll explore how GraphQL Clients can provide a road for developers to make full use of Semantic Nullability! GraphQL Spec defines that field errors should result in a null value. This makes null values ambiguous - either null due to error - or null due to nullability. Semantic Nullability allows you to define nullability explicitly - see https://github.com/graphql/graphql-wg/discussions/1410 Therefore, GraphQL Clients need to be able to handle errors differently - giving engineers more confidence in how field states are handled. In this session, we'll cover: 1. Why explicitly handling errors can enable us to move to a new normal where all errors are surfaced explicitly (throw-by-default on error) 2. How using @catch directive allows us to differentiate error nulls from true nulls in product code 3. Steps 1 and 2 will require developers to handle errors explicitly - and this opens the door to Semantic Nullability! I’ll also cover how working on the @catch directive helped push the semantic nullability conversation forward, the rollout at Meta, and what future capabilities can be unlocked. Original proposal: https://github.com/facebook/relay/issues/4416",
+    "goers": "45",
+    "video_stream": "https://www.youtube.com/watch?v=_TSYKAtaK5A",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "c8426c5a3d9418e921f6d8717ff98ac3",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "itamark",
+        "id": "80829",
+        "name": "Itamar Kestenbaum",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "5:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "5:30pm",
+    "start_date": "2024-09-10",
+    "start_time": "17:00:00",
+    "start_time_ts": 1726012800,
+    "end_date": "2024-09-10",
+    "end_time": "17:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/c0/GraphQLConf 2024 - Relay Error Handling and @catch (7).pdf",
+        "name": "GraphQLConf 2024 - Relay Error Handling and @catch (7).pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706602",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Reception",
+    "event_start": "2024-09-10 17:30",
+    "event_end": "2024-09-10 19:00",
+    "event_type": "Breaks & Special Events",
+    "goers": "48",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "4df9dbdef91ea1bc5fce211e6b7e3f52",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "10",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "5:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "10",
+    "event_end_weekday": "Tuesday",
+    "event_end_weekday_short": "Tue",
+    "event_end_time": "7:00pm",
+    "start_date": "2024-09-10",
+    "start_time": "17:30:00",
+    "start_time_ts": 1726014600,
+    "end_date": "2024-09-10",
+    "end_time": "19:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "706599",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration & Badge Pick-up",
+    "event_start": "2024-09-11 08:00",
+    "event_end": "2024-09-11 17:00",
+    "event_type": "Registration & Badge Pick-up",
+    "goers": "9",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "c044cbad42295fda4adedd7018df6b2a",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "8:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "5:00pm",
+    "start_date": "2024-09-11",
+    "start_time": "08:00:00",
+    "start_time_ts": 1726066800,
+    "end_date": "2024-09-11",
+    "end_time": "17:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "706618",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Welcome Back & Opening Remarks - Sasha Solomon, Staff Software Engineer/Tech Lead",
+    "event_start": "2024-09-11 09:00",
+    "event_end": "2024-09-11 09:05",
+    "event_type": "Keynote Sessions",
+    "goers": "64",
+    "video_stream": "https://www.youtube.com/watch?v=VgndfUI_xKI",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "8a7cb5ace8f6474a756f317f336d549f",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "sasha177",
+        "id": "21336701",
+        "name": "Sasha Solomon",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "9:05am",
+    "start_date": "2024-09-11",
+    "start_time": "09:00:00",
+    "start_time_ts": 1726070400,
+    "end_date": "2024-09-11",
+    "end_time": "09:05:00",
+    "description": ""
+  },
+  {
+    "event_key": "706612",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Apollo's Journey with GraphQL: Transforming Enterprise APIs for the Future - Matt DeBergalis, Apollo GraphQL",
+    "event_start": "2024-09-11 09:05",
+    "event_end": "2024-09-11 09:25",
+    "event_type": "Keynote Sessions",
+    "description": "As the tech landscape continues to move into the next frontier, GraphQL is now the most important new API technology in the enterprise. Join Matt DeBergalis, CTO and Co-founder of Apollo GraphQL, to explore how GraphQL is rapidly gaining adoption, revolutionizing API strategies, and readying the enterprise for an AI-driven world.",
+    "goers": "64",
+    "video_stream": "https://www.youtube.com/watch?v=QbuRTGdt4fA",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "486758a780cbd512a88c6def8f9ba36a",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "matt1575",
+        "id": "7503056",
+        "name": "Matt DeBergalis",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:05am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "9:25am",
+    "start_date": "2024-09-11",
+    "start_time": "09:05:00",
+    "start_time_ts": 1726070700,
+    "end_date": "2024-09-11",
+    "end_time": "09:25:00"
+  },
+  {
+    "event_key": "706613",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsored Keynote: GraphQL, BFFs and AI - Anant Jhingran, IBM",
+    "event_start": "2024-09-11 09:25",
+    "event_end": "2024-09-11 09:35",
+    "event_type": "Keynote Sessions",
+    "description": "There is no AI without APIs--after all, whether it is models, vector databases or enterprise systems, they are all behind APIs. GraphQL APIs make it especially convenient to connect to backend systems. BFF patterns supported by GraphQL APIs eliminate the need for enterprise-wide agreements--each LLM powered application can get a magical view of the data it needs.",
+    "goers": "60",
+    "video_stream": "https://www.youtube.com/watch?v=vLFWJ5FO7GI",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "company": "Any",
+    "id": "950039dcb680cef826423ad5c0678714",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "ajhingran",
+        "id": "19225935",
+        "name": "Anant Jhingran",
+        "company": "IBM",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:25am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "9:35am",
+    "start_date": "2024-09-11",
+    "start_time": "09:25:00",
+    "start_time_ts": 1726071900,
+    "end_date": "2024-09-11",
+    "end_time": "09:35:00"
+  },
+  {
+    "event_key": "693038",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: GraphQL in the House - Andrew Doyle, U.S. House of Representatives",
+    "event_start": "2024-09-11 09:35",
+    "event_end": "2024-09-11 09:55",
+    "event_type": "Keynote Sessions",
+    "description": "An overview of how the Office of the Clerk has used GraphQL to modernize a large legacy system used to manage legislative data and processes in the House of Representatives. The talk will cover architecture, technologies, process and an overview of our application. We have moved significant portions of our application from a legacy database management and application framework to a modern relational database with a microservice business logic layer and a single page application client. GraphQL is used to tie the application, data and business logic together in a single API that is shared across multiple applications and modules. The initial approach has evolved into a platform for building applications that host complex data and business logic. We are also evolving our architecture to deliver data from our applications directly to legislative branch partners over a GraphQL endpoint, replacing multiple legacy delivery methods.",
+    "goers": "61",
+    "video_stream": "https://www.youtube.com/watch?v=VqVBGM4XEiE",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "company": "Any",
+    "id": "2b8cf13e46335dc0f98c57dd576551c3",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "andrew.doyle1",
+        "id": "21066800",
+        "name": "Andrew Doyle",
+        "company": "U.S. House of Representatives",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:35am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "9:55am",
+    "start_date": "2024-09-11",
+    "start_time": "09:35:00",
+    "start_time_ts": 1726072500,
+    "end_date": "2024-09-11",
+    "end_time": "09:55:00"
+  },
+  {
+    "event_key": "706619",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: GraphQL Clients in 2024 - Jeff Auriemma, Apollo GraphQL",
+    "event_start": "2024-09-11 09:55",
+    "event_end": "2024-09-11 10:05",
+    "event_type": "Keynote Sessions",
+    "description": "GraphQL is an established and trusted piece of technology in the modern stack. GraphQL client libraries are the bridge connecting your language or framework of choice to your backend, often exposing elegant APIs for features such as state management, caching, and type-safety. The past year has been transformative for GraphQL client users: innovations both within the GraphQL community and in prominent web and mobile frameworks have put more value into users’ hands. In this keynote, you’ll learn what’s new in the open-source GraphQL client world and why it matters more than ever in 2024.",
+    "goers": "59",
+    "video_stream": "https://www.youtube.com/watch?v=wqRKO_vLY_c",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "7669ef25b3ab08adabebe712dc0ee19c",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "jeff.auriemma",
+        "id": "18743876",
+        "name": "Jeff Auriemma",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "9:55am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "10:05am",
+    "start_date": "2024-09-11",
+    "start_time": "09:55:00",
+    "start_time_ts": 1726073700,
+    "end_date": "2024-09-11",
+    "end_time": "10:05:00"
+  },
+  {
+    "event_key": "706630",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Empathy Driven Development - Sarah Sanders, Highnote",
+    "event_start": "2024-09-11 10:05",
+    "event_end": "2024-09-11 10:15",
+    "event_type": "Keynote Sessions",
+    "description": "In this talk, Sarah will guide us as we explore the transformative power of Empathy Driven Development and its impact on creating a rich developer experience. By stepping into the shoes of the developers using our products, we can transform how they interact with our products, schemas, and documentation. Sarah will also touch on the importance of future-oriented thinking in this approach, discussing how rapidly evolving technology is reshaping developer workflows. By anticipating these changes, we can adapt our developer experience strategies to remain relevant and effective. This talk promises to offer valuable insights into fostering a more empathetic, forward-thinking approach to development that improves our current practices and prepares us for the evolution of technology.",
+    "goers": "46",
+    "video_stream": "https://www.youtube.com/watch?v=0K_Sp0g1ogc",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "d3f8f96d85291af99ee392ae1e8db596",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "sasanders26",
+        "id": "21066861",
+        "name": "Sarah Sanders",
+        "company": "Highnote",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:05am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "10:15am",
+    "start_date": "2024-09-11",
+    "start_time": "10:05:00",
+    "start_time_ts": 1726074300,
+    "end_date": "2024-09-11",
+    "end_time": "10:15:00"
+  },
+  {
+    "event_key": "14",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Closing Remarks - Sasha Solomon, Staff Software Engineer/Tech Lead",
+    "event_start": "2024-09-11 10:20",
+    "event_end": "2024-09-11 10:30",
+    "event_type": "Keynote Sessions",
+    "goers": "60",
+    "video_stream": "https://www.youtube.com/watch?v=t9swX1jpLSU",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan Ballroom",
+    "id": "ddf5766e2b98ed4a1055c31926575d1b",
+    "venue_id": "1944323",
+    "speakers": [
+      {
+        "username": "sasha177",
+        "id": "21336701",
+        "name": "Sasha Solomon",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:20am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "10:30am",
+    "start_date": "2024-09-11",
+    "start_time": "10:20:00",
+    "start_time_ts": 1726075200,
+    "end_date": "2024-09-11",
+    "end_time": "10:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "11",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Coffee Break",
+    "event_start": "2024-09-11 10:30",
+    "event_end": "2024-09-11 11:00",
+    "event_type": "Breaks & Special Events",
+    "goers": "34",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "30ea7a71fd410161e413a6a41eb5902c",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:30am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "11:00am",
+    "start_date": "2024-09-11",
+    "start_time": "10:30:00",
+    "start_time_ts": 1726075800,
+    "end_date": "2024-09-11",
+    "end_time": "11:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "706607",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsor Showcase",
+    "event_start": "2024-09-11 10:30",
+    "event_end": "2024-09-11 17:00",
+    "event_type": "Sponsor Showcase",
+    "description": "Visit the sponsors in the Sponsor Showcase!",
+    "goers": "17",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "b106db6eb7ca1aba331fcfb86dff9f22",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "10:30am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "5:00pm",
+    "start_date": "2024-09-11",
+    "start_time": "10:30:00",
+    "start_time_ts": 1726075800,
+    "end_date": "2024-09-11",
+    "end_time": "17:00:00"
+  },
+  {
+    "event_key": "706597",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Why You Should Use Implementation-First to Build Your GraphQL Schema - Erik Wrede, fulfillmenttools",
+    "event_start": "2024-09-11 11:00",
+    "event_end": "2024-09-11 11:30",
+    "event_type": "Backend",
+    "description": "When we look at GraphQL server implementation approaches, you often see the discussion between code-first and schema-first as a schema building approach. What is overlooked is that Facebook actually built their Hack-based GraphQL server with implementation-first. This approach will infer the GraphQL schema from your code, and by extension from your business layer. In this talk, I will look at various implementations of implementation-first and explain why Facebook chose this approach to build their own GraphQL server and why it is actually the better approach in most projects.",
+    "goers": "16",
+    "video_stream": "https://www.youtube.com/watch?v=ZilgUSmo_hA",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "c13801cab4bdcf1c9e7321fba8daca3f",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "erikwrede2",
+        "id": "21102110",
+        "name": "Erik Wrede",
+        "company": "fulfillmenttools",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "11:30am",
+    "start_date": "2024-09-11",
+    "start_time": "11:00:00",
+    "start_time_ts": 1726077600,
+    "end_date": "2024-09-11",
+    "end_time": "11:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/e0/Implementation-First-GraphQL Conf 2024.pdf",
+        "name": "Implementation-First-GraphQL Conf 2024.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "691875",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Field Discovery and Query Generation Using Generative AI - Rachit Sengupta & Siva Thiru, Intuit",
+    "event_start": "2024-09-11 11:00",
+    "event_end": "2024-09-11 11:30",
+    "event_type": "Developer Experience",
+    "description": "Discovering GraphQL fields and generating queries is a tedious task for developers. They spend a considerable amount of time finding the appropriate fields in large schemas. To solve this problem at Intuit where we have a super graph consisting of millions of lines we implemented a framework that makes use of Generative AI to help developers with attribute discovery and query generation. The benefits of our approach include being able to work with large schemas without the hassle of going through the whole schema and requiring less back and forth communication between consumers and schema owners, which results in a huge boost in developer productivity. We created chunks of the schema and ingested them into a vector store, we then do a retrieval, dynamically build a minimal schema and perform RAG where the LLM is provided with the minimal schema and the user query. The LLM responds with either a list of discovered attributes or GraphQL query. This framework aims to achieve lower latency and less hallucinations by reducing the size of the schema sent to the LLM, this also results in lower costs and higher accuracy.",
+    "goers": "35",
+    "video_stream": "https://www.youtube.com/watch?v=Zjz2ou41-LI",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "83cfae91425cec04854a0ebc173d9c77",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "siva27",
+        "id": "9778144",
+        "name": "Siva Thiru",
+        "company": "Intuit",
+        "custom_order": 0
+      },
+      {
+        "username": "rachit_sengupta",
+        "id": "21066842",
+        "name": "Rachit Sengupta",
+        "company": "Intuit",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "11:30am",
+    "start_date": "2024-09-11",
+    "start_time": "11:00:00",
+    "start_time_ts": 1726077600,
+    "end_date": "2024-09-11",
+    "end_time": "11:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/9b/GraphQLConf_2024_PPT.pptx.pdf",
+        "name": "GraphQLConf_2024_PPT.pptx.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706620",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Revolutionizing Data Access Using GraphQL in the Oracle Database - Shashank Gugnani, Oracle",
+    "event_start": "2024-09-11 11:00",
+    "event_end": "2024-09-11 11:30",
+    "event_type": "GraphQL in Production",
+    "description": "We will explore the revolutionary integration of GraphQL with the Oracle Database in this session. The way developers query and interact with the database has been greatly simplified by this integration. We will introduce the concept of Duality Views, a brand-new feature available in Oracle Database 23ai. Using Duality Views, data is still stored in relational tables in a highly efficient normalized format but is accessed by apps in the form of JSON documents. Duality Views are created using an intuitive and flexible GraphQL-like syntax, enhancing developer productivity. \n \nWe will also demonstrate new capabilities in the database to automatically infer the GraphQL schema from existing relational schemas, making it easy to introspect and visualize the relational schema as well as write GraphQL queries against the database. Finally, we will talk about new GraphQL directives to allow calculations, reshaping, and transformations in a GraphQL query that can be executed on a relational database. \n \nCome learn how Oracle's support for GraphQL is transforming data access and providing a powerful and seamless solution for modern application development.",
+    "goers": "6",
+    "video_stream": "https://www.youtube.com/watch?v=WUiDRozAcQk",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "geo_area": "Yes",
+    "id": "f766992611ab85a48547edab68f135d2",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "shashank.gugnani",
+        "id": "21458022",
+        "name": "Shashank Gugnani",
+        "company": "Oracle",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "11:30am",
+    "start_date": "2024-09-11",
+    "start_time": "11:00:00",
+    "start_time_ts": 1726077600,
+    "end_date": "2024-09-11",
+    "end_time": "11:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/e1/GraphQLConf-2024-v5-pdf.pdf",
+        "name": "GraphQLConf-2024-v5-pdf.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "685433",
+    "active": "Y",
+    "pinned": "N",
+    "name": "State of @Defer and @Stream - Rob Richard, 1stDibs",
+    "event_start": "2024-09-11 11:00",
+    "event_end": "2024-09-11 11:30",
+    "event_type": "GraphQL Spec",
+    "description": "The @defer and @stream directives are proposed additions to the GraphQL Spec. In this session, you’ll learn about these directives and how you can use them to lower latency in your GraphQL application. The proposal has been in progress for some time now and has gone through many iterations. Learn about the motivation behind these changes and how they will lead to scalable GraphQL servers and efficient clients.",
+    "goers": "51",
+    "video_stream": "https://www.youtube.com/watch?v=Ef6qv26fZHk",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "dd457152162ecb3609b4adac4026fe02",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "robrichard87",
+        "id": "21066852",
+        "name": "Rob Richard",
+        "company": "1stdibs",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "11:30am",
+    "start_date": "2024-09-11",
+    "start_time": "11:00:00",
+    "start_time_ts": 1726077600,
+    "end_date": "2024-09-11",
+    "end_time": "11:30:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/64/Defer and Stream GraphQL Conf 2024.pdf",
+        "name": "Defer and Stream GraphQL Conf 2024.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "691762",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Dynamically Serving a GraphQL API with Custom Types at Runtime - Emily Li, Benchling",
+    "event_start": "2024-09-11 11:40",
+    "event_end": "2024-09-11 12:10",
+    "event_type": "Backend",
+    "description": "Existing GraphQL frameworks are well designed to handle statically defined types and resolvers. Here at Benchling, we faced the problem of serving a GraphQL API which incorporated customer-defined types at runtime with a dynamically generated graph that varies customer-to-customer. In this talk, I’ll describe some of the challenges in serving this GraphQL API, including dynamic generation of graph components and performance. Then, I’ll describe how we extended Strawberry (the GraphQL framework we decided to use) to handle our use cases as well as a graph-caching strategy that allowed us to dramatically improve the performance of serving the API.",
+    "goers": "23",
+    "video_stream": "https://www.youtube.com/watch?v=M3wGkC7rzmE",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "24100908c07eed48ee464ca2509ef527",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "emily.li2",
+        "id": "21066813",
+        "name": "Emily Li",
+        "company": "Benchling",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "12:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "11:40:00",
+    "start_time_ts": 1726080000,
+    "end_date": "2024-09-11",
+    "end_time": "12:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/ce/Emily_Li_GraphQLConf_2024.pdf",
+        "name": "Emily_Li_GraphQLConf_2024.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "681437",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Docs: Beyond the Schema - Sarah Sanders, Highnote",
+    "event_start": "2024-09-11 11:40",
+    "event_end": "2024-09-11 12:10",
+    "event_type": "Developer Experience",
+    "description": "GraphQL Docs: Beyond the Schema is a presentation focusing on how Technical Writers and DevEx teams can enhance developer experience with interactive documentation. I hope to inspire DevEx teams and Technical Writers to consider GraphQL as more than just \"self-documenting.\" The problem I will present is that I want more than a schema as a developer. I want to know how to use the schema to build my product. The solution to the problem will focus on interactive documentation by defining what makes it interactive, for example, embedded code samples linked to a user's sandbox environment. I will then explore how DevEx teams can implement these elements to create interactive documentation for their GraphQL API. I expect the audience to gain insight into exactly how they can create their own interactive GraphQL documentation and best practices. This presentation will help better the ecosystem by highlighting the pain points of GraphQL documentation as it exists today, emphasizing the need to create interactive documentation for developers working with GraphQL, and enforcing the importance of creating rich developer experiences.",
+    "goers": "29",
+    "video_stream": "https://www.youtube.com/watch?v=IzJeffH_x_s",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "65768f566de8acf5320a4ed1fef47606",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "sasanders26",
+        "id": "21066861",
+        "name": "Sarah Sanders",
+        "company": "Highnote",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "12:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "11:40:00",
+    "start_time_ts": 1726080000,
+    "end_date": "2024-09-11",
+    "end_time": "12:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/59/GraphQL Docs Beyond the Schema (1).pdf",
+        "name": "GraphQL Docs Beyond the Schema (1).pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "692382",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Intersection of GraphQL and Design Systems in Product Development - Ruben Cagnie & Alan Quigley, Toast",
+    "event_start": "2024-09-11 11:40",
+    "event_end": "2024-09-11 12:10",
+    "event_type": "GraphQL in Production",
+    "description": "Introducing GraphQL into the product development lifecycle changes the game. This talk explores the impact of GraphQL on mock data-driven development, highlighting data consistency and discoverability. Learn how GraphQL centralizes UI engineering, streamlining workflows and enhancing collaboration, resulting in superior product design and build quality.",
+    "goers": "21",
+    "video_stream": "https://www.youtube.com/watch?v=WZjwk_tRgvA",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "19cf965c68cfae3c7c19c6a9966bcadf",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "alan.quigley",
+        "id": "21066789",
+        "name": "Alan Quigley",
+        "company": "Toast Inc",
+        "custom_order": 0
+      },
+      {
+        "username": "ruben.cagnie",
+        "id": "21066855",
+        "name": "Ruben Cagnie",
+        "company": "Toast",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "12:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "11:40:00",
+    "start_time_ts": 1726080000,
+    "end_date": "2024-09-11",
+    "end_time": "12:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/69/presentation.pdf",
+        "name": "presentation.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "686002",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Techniques to Protect Your GraphQL API - Benjie Gillam, Graphile",
+    "event_start": "2024-09-11 11:40",
+    "event_end": "2024-09-11 12:10",
+    "event_type": "GraphQL Security",
+    "description": "GraphQL poses unique challenges when it comes to security due to the nature of its powerful query language. In this talk we'll explore different types of GraphQL APIs and their varying and common security needs. We'll then look at the techniques that can be used to protect these APIs and which techniques pair well with each API type. These techniques are not specific to any one vendor or programming language but general best practices that help protect your servers from threats both known and unknown. Attendees will come away with an understanding of common threats GraphQL APIs face, and suitable techniques to address them.",
+    "goers": "43",
+    "video_stream": "https://www.youtube.com/watch?v=W7qIux5BAvs",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "4dc607a403a2316846b59d0c5a9858c9",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "benjie3",
+        "id": "18743846",
+        "name": "Benjie Gillam",
+        "company": "Graphile",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "11:40am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "12:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "11:40:00",
+    "start_time_ts": 1726080000,
+    "end_date": "2024-09-11",
+    "end_time": "12:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/3c/graphql-techniques-to-protect.pdf",
+        "name": "graphql-techniques-to-protect.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "8",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch Break - Attendees on Own",
+    "event_start": "2024-09-11 12:10",
+    "event_end": "2024-09-11 13:40",
+    "event_type": "Breaks & Special Events",
+    "description": "Lunch will be on your own. San Francisco offers a variety of dining options nearby to suit different tastes and preferences. Feel free to explore the local area and enjoy your meal. We’ll reconvene at 1:40 PM for the next session.",
+    "goers": "38",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Attendees On Own",
+    "id": "4003c42a935c2de7c19896b6c0351c0d",
+    "venue_id": "1979819",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "12:10pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "1:40pm",
+    "start_date": "2024-09-11",
+    "start_time": "12:10:00",
+    "start_time_ts": 1726081800,
+    "end_date": "2024-09-11",
+    "end_time": "13:40:00"
+  },
+  {
+    "event_key": "698984",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Dynamic (but Safe) Operations: Using AI to Generate Trusted Operations from Text Prompts - Michael Watson, Apollo GraphQL",
+    "event_start": "2024-09-11 13:40",
+    "event_end": "2024-09-11 14:10",
+    "event_type": "API Platform",
+    "description": "Platform engineering and internal developer portals have been a growing trend in the tech industry to make developers more efficient. For example, how do we help new developers ship their first feature faster? GraphQL helps Platform API efforts ship features faster, but what about when your schema gets very complex? How can a new developer find what they need quickly? GraphQL already provides a complete and understandable description of the data in our APIs, but what if we provide that context to a LLM? In this talk, we'll journey through GitHub's APIs and explore how a GraphQL schema is a significant advantage in AI-based tooling. We're seeing more AI-based tools generate fetch code based on OpenAPI definitions, and while they may be tempting at first, it could be a decision with unexpected trade-offs. We'll show how to take a standard open-sourced LLM and provide a GraphQL-aware context to generate operations from text input. After this talk, you can safely bring AI to your developer efficiency initiatives with any LLM, 3rd party, or self-hosted!",
+    "goers": "24",
+    "video_stream": "https://www.youtube.com/watch?v=3msKy5VOml0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "f02cda18e19887fddeb56b06445ac256",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "watson17",
+        "id": "19024254",
+        "name": "Michael Watson",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "1:40pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "13:40:00",
+    "start_time_ts": 1726087200,
+    "end_date": "2024-09-11",
+    "end_time": "14:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/82/Dynamic (but Safe) Operations.pdf",
+        "name": "Dynamic (but Safe) Operations.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "691410",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Schema-Driven UI Components: Revolutionizing Headless ERP with GraphQL - Seiya Izumi & Masanori Uehara, Tailor Inc.",
+    "event_start": "2024-09-11 13:40",
+    "event_end": "2024-09-11 14:10",
+    "event_type": "Developer Experience",
+    "description": "Modern ERPs must be highly customizable and easily integrated with other systems while generating UI components on top should be seamless. In this talk, we will explore why GraphQL, with its robust and flexible querying capabilities, is exceptionally suited for developing modern ERP solutions. In addition, we’ll explore the technical aspects of generating front-end UI components directly from the GraphQL schema, what we call Schema-Driven UI, not Server-Driven UI. This approach is particularly beneficial in the ERP domain, where dynamic and complex data interactions are common. Automating the process of generating UI components directly from the Schema ensures consistency across systems by keeping everything in sync.",
+    "goers": "13",
+    "video_stream": "https://www.youtube.com/watch?v=U4gCky2TFWE",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "b43e5c894796be3b0b0f0d0b662d4a5a",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "masanori.uehara",
+        "id": "21066828",
+        "name": "Masanori Uehara",
+        "company": "Tailor Inc.",
+        "custom_order": 0
+      },
+      {
+        "username": "seiyaizumi",
+        "id": "21066863",
+        "name": "Seiya Izumi",
+        "company": "Tailor Inc.",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "1:40pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "13:40:00",
+    "start_time_ts": 1726087200,
+    "end_date": "2024-09-11",
+    "end_time": "14:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/1b/Schema Driven UI - Tailor Inc.pdf",
+        "name": "Schema Driven UI - Tailor Inc.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "689933",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Identity and GraphQL: More Than You Want to Think About IDs - Matt Mahoney, Meta",
+    "event_start": "2024-09-11 13:40",
+    "event_end": "2024-09-11 14:10",
+    "event_type": "GraphQL in Production",
+    "description": "IDs are really important to get right, yet GraphQL the language doesn't discuss them at all, besides requiring every single implementation to have a special ID type! At Meta, we found our types all had their own eclectic idea of what an ID really was. Some had three! We'll walk through where in production systems IDs matter, and how Meta attempts to formalize a few core principles to prevent disaster.",
+    "goers": "36",
+    "video_stream": "https://www.youtube.com/watch?v=jv8q7kFyxo0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "6204717dd5e10bf10587733c08897dc1",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "mahoney.mattj",
+        "id": "19314398",
+        "name": "Matthew Mahoney",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "1:40pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "13:40:00",
+    "start_time_ts": 1726087200,
+    "end_date": "2024-09-11",
+    "end_time": "14:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/d9/Identity and GraphQL_ More Than You Want to Think About IDs 2024.pdf",
+        "name": "Identity and GraphQL_ More Than You Want to Think About IDs 2024.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "692702",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Semantic Nullability: A Path Toward Safe Non-Null Fields - Jordan Eldredge, Meta",
+    "event_start": "2024-09-11 13:40",
+    "event_end": "2024-09-11 14:10",
+    "event_type": "GraphQL Spec",
+    "description": "One of GraphQL’s killer features is field-granular error handling which can dramatically increase the resiliency of network responses. However, this has traditionally come at the cost of developer ergonomics, with client developers being forced to contend with nearly every field potentially being null. In the last year, members of the Nullability Working Group, and engineers at Meta have been exploring how we can untangle nullability and error handling in order to safely allow clients to “see” the true nullability of the server’s resolvers without sacrificing response residency. In this talk we’ll explain the ideas and RFCs that underpin this change, share the work we’ve done at Meta and across the community to validate this approach, and demonstrate Semantic Nullability in action!",
+    "goers": "43",
+    "video_stream": "https://www.youtube.com/watch?v=kVYlplb1gKk",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "8daaf10ac70360a7fade149a54538bf9",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "jordaneldredge",
+        "id": "21066819",
+        "name": "Jordan Eldredge",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "1:40pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "13:40:00",
+    "start_time_ts": 1726087200,
+    "end_date": "2024-09-11",
+    "end_time": "14:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/87/Semantic Non Null GraphQL Conf 2024.pdf",
+        "name": "Semantic Non Null GraphQL Conf 2024.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "692355",
+    "active": "Y",
+    "pinned": "N",
+    "name": "In-House Schema Registry - the Good, the Bad, and the Ugly - Kamil Kisiela, The Guild",
+    "event_start": "2024-09-11 14:20",
+    "event_end": "2024-09-11 14:50",
+    "event_type": "API Platform",
+    "description": "When working with GraphQL, you might find yourself looking for tools to prevent breaking changes, or in case of Federation, compose GraphQL APIs. At this point, you may be tempted to build your own schema registry, from scratch. I’ve been there, done that, and now I’m going to tell you why I think it is a bad idea and what are the challenges you will most likely face, when developing your won solution.",
+    "goers": "21",
+    "video_stream": "https://www.youtube.com/watch?v=jreLGIzgZ9U",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "af55205b1d68ec3b3d1b1663e4bd2adf",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "kamilkisiela",
+        "id": "19082388",
+        "name": "Kamil Kisiela",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:20pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:50pm",
+    "start_date": "2024-09-11",
+    "start_time": "14:20:00",
+    "start_time_ts": 1726089600,
+    "end_date": "2024-09-11",
+    "end_time": "14:50:00"
+  },
+  {
+    "event_key": "698734",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Schema Scoring: Ensuring Schema Excellence in GraphQL - Christian Ernst, Booking.com",
+    "event_start": "2024-09-11 14:20",
+    "event_end": "2024-09-11 14:50",
+    "event_type": "Developer Experience",
+    "description": "At Booking.com we have scaled to over 120+ subgraphs and that number continues to grow rabidly as we modernize our frontend and backend. As subgraphs develop it has begun to be impossible for one to team to oversee all of the changes to the graph because of the rapid changes that occur from teams. As we have grown we created best practices and guidelines fro GraphQL. We soon recognised this was not enough and there was the need to track the quality of schemas over time automatically and in a way that can provide actionable feedback to teams. At Booking.com we have developed the infrastructure to analyse schemas beyond standard linting to help improve the quality of the Graph across the board enabling better developer experience for everyone.",
+    "goers": "34",
+    "video_stream": "https://www.youtube.com/watch?v=4xCcSqdablo",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Beginner",
+    "audience": "Session Presentations",
+    "id": "6e20cd3c4ee36577f15713955444338f",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "christian.ernst1",
+        "id": "21066804",
+        "name": "Christian Ernst",
+        "company": "Booking.com",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:20pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:50pm",
+    "start_date": "2024-09-11",
+    "start_time": "14:20:00",
+    "start_time_ts": 1726089600,
+    "end_date": "2024-09-11",
+    "end_time": "14:50:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/e6/Schema Scoring.pdf",
+        "name": "Schema Scoring.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706625",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Blueprints of Successful GraphQL Architectures - Pascal Senn, ChilliCream",
+    "event_start": "2024-09-11 14:20",
+    "event_end": "2024-09-11 14:50",
+    "event_type": "GraphQL in Production",
+    "description": "This session will take you behind the curtains of a few companies and will show you how enterprises built GraphQL APIs successfully, what challenges they face, and how their architecture influences how they built APIs. In this session, we will start with looking into database-driven GraphQL APIs and end up exploring large-scale enterprise domains, where the size of the organization becomes the challenge.",
+    "goers": "32",
+    "video_stream": "https://www.youtube.com/watch?v=45rKrmW7NLA",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "106c2abfed7f25a882b98024152b8c48",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "pascal.senn",
+        "id": "21066839",
+        "name": "Pascal Senn",
+        "company": "ChilliCream",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:20pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:50pm",
+    "start_date": "2024-09-11",
+    "start_time": "14:20:00",
+    "start_time_ts": 1726089600,
+    "end_date": "2024-09-11",
+    "end_time": "14:50:00"
+  },
+  {
+    "event_key": "691729",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Billion D∅Llar Panel - Nullability in GraphQL - Stephen Spalding, Netflix; Alex Reilly, Independent; Janette Cheng & Jordan Eldredge, Meta; Benjie Gillam, Graphile",
+    "event_start": "2024-09-11 14:20",
+    "event_end": "2024-09-11 14:50",
+    "event_type": "GraphQL Spec",
+    "description": "Panel discussion on Client Controlled/Semantic Nullability",
+    "goers": "37",
+    "video_stream": "https://www.youtube.com/watch?v=CujBv8L6tVQ",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "c12a426b75f4851c04a7e16e54135887",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "alex_reilly.7ldur4l",
+        "id": "14900019",
+        "name": "Alex Reilly",
+        "company": "Independent",
+        "custom_order": 0
+      },
+      {
+        "username": "sspalding2",
+        "id": "18743825",
+        "name": "Stephen Spalding",
+        "company": "Netflix",
+        "custom_order": 1
+      },
+      {
+        "username": "benjie3",
+        "id": "18743846",
+        "name": "Benjie Gillam",
+        "company": "Graphile",
+        "custom_order": 2
+      },
+      {
+        "username": "janette.cheng",
+        "id": "21066816",
+        "name": "Janette Cheng",
+        "company": "Meta",
+        "custom_order": 3
+      },
+      {
+        "username": "jordaneldredge",
+        "id": "21066819",
+        "name": "Jordan Eldredge",
+        "company": "Meta",
+        "custom_order": 4
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "2:20pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "2:50pm",
+    "start_date": "2024-09-11",
+    "start_time": "14:20:00",
+    "start_time_ts": 1726089600,
+    "end_date": "2024-09-11",
+    "end_time": "14:50:00"
+  },
+  {
+    "event_key": "699192",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL as a Data Mesh Access Layer in Global Banking - Kenneth Stott, Hasura, Inc.",
+    "event_start": "2024-09-11 15:00",
+    "event_end": "2024-09-11 15:30",
+    "event_type": "API Platform",
+    "description": "Discuss the strengths and weaknesses of the GraphQL standard and tooling ecosystem while implementing GraphQL as the primary Data Mesh/Data Access Layer in a Mega-Bank. Review the regulatory challenges, the history of data management and data governance at international financial institutions, its influence on data engineering and data solutions, and how GraphQL stacks up as an API Platform in a highly federated, highly regulated, polyglot data mesh architecture.",
+    "goers": "12",
+    "video_stream": "https://www.youtube.com/watch?v=kLUbcEABH0s",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Advanced",
+    "audience": "Session Presentations",
+    "id": "26843420d633586e4b750ae4fe01e174",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "kennethstott",
+        "id": "21066821",
+        "name": "Kenneth Stott",
+        "company": "Hasura, Inc.",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:30pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:00:00",
+    "start_time_ts": 1726092000,
+    "end_date": "2024-09-11",
+    "end_time": "15:30:00"
+  },
+  {
+    "event_key": "697133",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Design Principles of Federated GraphQL - Martijn Walraven, Apollo",
+    "event_start": "2024-09-11 15:00",
+    "event_end": "2024-09-11 15:30",
+    "event_type": "Federation and Composite Schemas",
+    "description": "GraphQL was conceived as a unified access layer that empowers product teams by providing a common language for exposing and consuming data capabilities. These capabilities were typically implemented in a single schema through a resolver-based model. That poses challenges in environments with diverse microservices managed by various teams however, as found in most large organizations. Recognizing these challenges, we introduced Apollo Federation in 2019 to deliver on the promise of GraphQL within those environments. It respects existing service and team boundaries through a principled schema composition model that supports team collaboration and efficient, query plan-based execution across services. This has allowed GraphQL APIs to effectively scale to large numbers of services and teams. Given the success and common challenges observed, a working group comprising engineers from various organizations has been formed to establish a proposed open standard for federated GraphQL. This initiative aims to unify best practices and design principles. This talk will highlight the key discussions from this group and their implications for the evolving standard.",
+    "goers": "52",
+    "video_stream": "https://www.youtube.com/watch?v=eb8EoGGZCjY",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "e24b8d54971024a028352f5f35930575",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "martijn.walraven",
+        "id": "21066825",
+        "name": "Martijn Walraven",
+        "company": "Apollo",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:30pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:00:00",
+    "start_time_ts": 1726092000,
+    "end_date": "2024-09-11",
+    "end_time": "15:30:00"
+  },
+  {
+    "event_key": "690785",
+    "active": "Y",
+    "pinned": "N",
+    "name": "UNSET Fields: Differentiating Between Null and Purposeful Omissions in Your Server Response - Janette Cheng, Meta",
+    "event_start": "2024-09-11 15:00",
+    "event_end": "2024-09-11 15:10",
+    "event_type": "GraphQL in Production",
+    "description": "You've heard about distinguishing semantic vs error nulls, but what about \"unset\" fields? Unset fields are neither semantic or error nulls because the server has not calculated them. Why would something like this ever come up? - WhatsApp delta updates: When the client wants to tell the server, \"This is the value I have for this field, only bother calculating it again and sending it down if it's out of date.\" - Instagram server migration from a non-GraphQL server: We started with a server that has multiple code paths to resolve a field, and now we are not guaranteed every field we request will always be resolved. Not being able to distinguish between null and unset is a problem we expect is more widespread, and to which we have found a not amazing solution that could be better if we update the spec. How do you distinguish \"unset\" from null? - How you achieve this today (not particularly elegant, but possible) - Omission from server response? (not currently spec-compliant)",
+    "goers": "29",
+    "video_stream": "https://www.youtube.com/watch?v=90dc_NelaA0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Lightning Talks",
+    "id": "2f6808aabe48239c0cccb9db43626aac",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "janette.cheng",
+        "id": "21066816",
+        "name": "Janette Cheng",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:10pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:00:00",
+    "start_time_ts": 1726092000,
+    "end_date": "2024-09-11",
+    "end_time": "15:10:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/19/Unset Fields (GraphQL Conf '24).pdf",
+        "name": "Unset Fields (GraphQL Conf '24).pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "706595",
+    "active": "Y",
+    "pinned": "N",
+    "name": "What if ... How to Achieve GraphQL Domination - Andreas Marek, Atlassian",
+    "event_start": "2024-09-11 15:00",
+    "event_end": "2024-09-11 15:30",
+    "event_type": "GraphQL Spec",
+    "description": "Imaging being free of constraints like time, resources and previous decisions: how could we make the perfect version of GraphQL and achieve ubiquitous GraphQL usage. In this talk we will look at all the things we could do (in theory): - Combine Relay and GraphQL - Simpler Errors - HTTP as first class citizen - No custom or maybe more custom Scalars - GraphQL linter - Dynamic GraphQL schemas",
+    "goers": "17",
+    "video_stream": "https://www.youtube.com/watch?v=vb4T51DO3Z4",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Beginner",
+    "audience": "Session Presentations",
+    "id": "74697b2144c044a7a134bc7e04e190d1",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "andreas.marek1",
+        "id": "21066795",
+        "name": "Andreas Marek",
+        "company": "Atlassian",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:30pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:00:00",
+    "start_time_ts": 1726092000,
+    "end_date": "2024-09-11",
+    "end_time": "15:30:00"
+  },
+  {
+    "event_key": "695423",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Not Your Regular Rate Limiting #GraphQL - Pooja Mistry, Postman",
+    "event_start": "2024-09-11 15:10",
+    "event_end": "2024-09-11 15:20",
+    "event_type": "GraphQL in Production",
+    "description": "REST APIs are typically endpoint-based, meaning each endpoint has its rate limit, while GraphQL APIs tend to be more flexible and allow for a single endpoint to handle multiple requests. Although more flexible, rate limiting in GraphQL APIs is more complex than rate limiting in REST APIs. This talk discusses popular rate-limiting strategies and helps you choose the strategy that best fits your application's use case and requirements.",
+    "goers": "34",
+    "video_stream": "https://www.youtube.com/watch?v=w7ubbGmadso",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Lightning Talks",
+    "id": "6fd1c120b48d6c62c4544ccbf27a665a",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "pooja.mistry1",
+        "id": "21225462",
+        "name": "Pooja Mistry",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:10pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:20pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:10:00",
+    "start_time_ts": 1726092600,
+    "end_date": "2024-09-11",
+    "end_time": "15:20:00"
+  },
+  {
+    "event_key": "692297",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Subscriptions in Production Is Easy, Isn’t It? - Laurin Quast, The Guild",
+    "event_start": "2024-09-11 15:20",
+    "event_end": "2024-09-11 15:30",
+    "event_type": "GraphQL in Production",
+    "description": "GraphQL Subscriptions can super-charge any application but add layers of complexity. Let's delve into the practical aspects of moving GraphQL Subscriptions from localhost into a production environment! Learn about MesageQueues, PubSub, WebSockets, Server-Sent Events, TCP connection limits, authentication, Browser Windows, and (shared) web workers!",
+    "goers": "37",
+    "video_stream": "https://www.youtube.com/watch?v=r4ryfiBfDIQ",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Lightning Talks",
+    "id": "5cabf2af855ce1e45161cd36903d41c0",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "laurinquast",
+        "id": "18743819",
+        "name": "Laurin Quast",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:20pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:30pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:20:00",
+    "start_time_ts": 1726093200,
+    "end_date": "2024-09-11",
+    "end_time": "15:30:00"
+  },
+  {
+    "event_key": "10",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Coffee Break",
+    "event_start": "2024-09-11 15:30",
+    "event_end": "2024-09-11 15:50",
+    "event_type": "Breaks & Special Events",
+    "goers": "34",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "7c1eba2165f24ed45492801796cbe453",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "3:50pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:30:00",
+    "start_time_ts": 1726093800,
+    "end_date": "2024-09-11",
+    "end_time": "15:50:00",
+    "description": ""
+  },
+  {
+    "event_key": "699163",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Panel: The Composite Schemas Working Group - Kamil Kisiela, The Guild; Pascal Senn, ChilliCream; Martijn Walraven, Apollo; Moderated by Danielle Man, Apollo GraphQL",
+    "event_start": "2024-09-11 15:50",
+    "event_end": "2024-09-11 16:20",
+    "event_type": "Federation and Composite Schemas",
+    "description": "Join panelists from Apollo, ChilliCream, and The Guild for a conversation about the newest working group in the GraphQL community. Gartner reports that by 2027, production use of federated GraphQL in enterprise systems will grow sixfold. The Composite Schemas specification is the proposed open standard that will ensure this essential technology can be fully leveraged by a robust tooling ecosystem. Hear insights and stories from the engineers and innovators who are collaborating to bring this specification to the community.",
+    "goers": "40",
+    "video_stream": "https://www.youtube.com/watch?v=sf8ac2NtwPY",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "75386a4288d49dcb4aba5b54e475de43",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "kamilkisiela",
+        "id": "19082388",
+        "name": "Kamil Kisiela",
+        "company": "The Guild",
+        "custom_order": 0
+      },
+      {
+        "username": "danielle.man",
+        "id": "21066810",
+        "name": "Danielle Man",
+        "company": "Apollo GraphQL",
+        "custom_order": 1
+      },
+      {
+        "username": "martijn.walraven",
+        "id": "21066825",
+        "name": "Martijn Walraven",
+        "company": "Apollo",
+        "custom_order": 2
+      },
+      {
+        "username": "pascal.senn",
+        "id": "21066839",
+        "name": "Pascal Senn",
+        "company": "ChilliCream",
+        "custom_order": 3
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:50pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:20pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:50:00",
+    "start_time_ts": 1726095000,
+    "end_date": "2024-09-11",
+    "end_time": "16:20:00"
+  },
+  {
+    "event_key": "699597",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Evolving GraphQL Schemas - Andrei Bocan, Atlassian",
+    "event_start": "2024-09-11 15:50",
+    "event_end": "2024-09-11 16:20",
+    "event_type": "GraphQL in Production",
+    "description": "The complicated bit when running a GraphQL service isn't putting together the initial schema, it's making sure to leave room for your schema to evolve, and ensuring that you're not painting yourself into a corner. In this session, we'll go through some lessons learned while developing Compass, a product we built from the ground up using GraphQL. We'll lay out some of the guidelines we've established to keep our APIs consistent, some hard and fast rules for backwards compatibility, as well as the processes we put in place to make it easy to keep things aligned. We'll also dive into how we've that all fits in with out GraphQL Gateway, which exposes a federated schema across the plethora of services that Atlassian runs, and the functionality we've isolated to the gateway.",
+    "goers": "35",
+    "video_stream": "https://www.youtube.com/watch?v=pVNODy8fDTM",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "167640984a909380aa61898c90625166",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "andrei.bocan",
+        "id": "21066797",
+        "name": "Andrei Bocan",
+        "company": "Atlassian",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:50pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:20pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:50:00",
+    "start_time_ts": 1726095000,
+    "end_date": "2024-09-11",
+    "end_time": "16:20:00",
+    "files": [
+      {
+        "path": "https://static.sched.com/hosted_files/graphqlconf2024/af/GraphqlConf 2023.pdf",
+        "name": "GraphqlConf 2023.pdf"
+      }
+    ]
+  },
+  {
+    "event_key": "692275",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Comparing API Protocols - One Feature at a Time - Uri Goldshtein, The Guild",
+    "event_start": "2024-09-11 15:50",
+    "event_end": "2024-09-11 16:20",
+    "event_type": "GraphQL Spec",
+    "description": "We've seen so many comparisons between GraphQL, REST, OpenAPI, gRPC and others Usually most of these articles looks very much the same. I want to try to give a different take on the differences. I will make a list of every feature you want from an API and show how to get it in each API protocol. I think the result would be surprising, even for experts in each of the protocols.",
+    "goers": "18",
+    "video_stream": "https://www.youtube.com/watch?v=V4CJR_vkELo",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Intermediate",
+    "audience": "Session Presentations",
+    "id": "303433f67a7ffc5e3d31a6edfd8b1f28",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "uri_goldshtein.23xujj9a",
+        "id": "14900013",
+        "name": "Uri Goldshtein",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "3:50pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "4:20pm",
+    "start_date": "2024-09-11",
+    "start_time": "15:50:00",
+    "start_time_ts": 1726095000,
+    "end_date": "2024-09-11",
+    "end_time": "16:20:00"
+  },
+  {
+    "event_key": "706610",
+    "active": "Y",
+    "pinned": "N",
+    "name": "CANCELLED: Rethinking GraphQL Batching - Michael Staib, ChilliCream",
+    "event_start": "2024-09-11 16:30",
+    "event_end": "2024-09-11 17:00",
+    "event_type": "Backend",
+    "description": "While working on the GraphQL composite schema specification, we have explored GraphQL batching and have come up with a variety of new approaches to tackle it. In this talk, I will walk you through why batching is still needed in GraphQL and what problems it solves today. We will also explore some wild experiments with GraphQL batching prototypes that can form business flows to aggregate data, mutate it, and subscribe to updates of the flow with subscriptions. This talk is full of experiments that are to be further explored. So, join me!",
+    "goers": "23",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Advanced",
+    "audience": "Session Presentations",
+    "id": "9485641416d5be1d5846b846ee2c7666",
+    "venue_id": "1944311",
+    "speakers": [
+      {
+        "username": "michael_staib.23xujj9p",
+        "id": "14900031",
+        "name": "Michael Staib",
+        "company": "ChilliCream",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "4:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "5:00pm",
+    "start_date": "2024-09-11",
+    "start_time": "16:30:00",
+    "start_time_ts": 1726097400,
+    "end_date": "2024-09-11",
+    "end_time": "17:00:00"
+  },
+  {
+    "event_key": "697477",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Performing Impossible Feats with Isograph - Robert Balicki, Pinterest",
+    "event_start": "2024-09-11 16:30",
+    "event_end": "2024-09-11 17:00",
+    "event_type": "GraphQL Clients",
+    "description": "Today's web developers are asked to do the impossible. Fetch just the data needed for a given page, no more and no less, while avoiding network waterfalls. Splitting network requests so that users can see high priority content faster, without fetching the same field twice. Loading the minimal JavaScript. Ensuring that their apps show the latest data, without excessively re-rendering. Ensuring content is garbage collected, but not disposing of resources still in use. Yeesh!\n\nAnd all the while, they're asked to maintain this performance profile while other developers make changes willy nilly.\n\nSounds impossible, and it is! With other frameworks, that is.\n\nFind out how Isograph makes all of this easy — and more!\n\nIsograph is a framework for building React apps powered by GraphQL data. See https://isograph.dev for more!",
+    "goers": "26",
+    "video_stream": "https://www.youtube.com/watch?v=ex8dqeWwt5A",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "company": "Any",
+    "audience": "Session Presentations",
+    "id": "468947db8b153fca9be52febb43beb6e",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "robert.balicki",
+        "id": "18743858",
+        "name": "Robert Balicki",
+        "company": "Pinterest",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "4:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "5:00pm",
+    "start_date": "2024-09-11",
+    "start_time": "16:30:00",
+    "start_time_ts": 1726097400,
+    "end_date": "2024-09-11",
+    "end_time": "17:00:00"
+  },
+  {
+    "event_key": "706598",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Top 10 GraphQL Security Checks for Every Developer - Ankita Gupta, Akto.io",
+    "event_start": "2024-09-11 16:30",
+    "event_end": "2024-09-11 17:00",
+    "event_type": "GraphQL Security",
+    "description": "Why implement GraphQL security?\nWe will set the stage by introducing some examples of critical GraphQL vulnerabilities found in popular softwares.\n\n- CVE-2021-41248: This vulnerability in GraphiQL, a GraphQL IDE, relates to schema introspection responses that could lead to XSS attacks.\n- CVE-2023-38503: In Directus, a real-time API and dashboard for managing SQL database, there was a vulnerability in GraphQL subscriptions where permission filters were not properly checked, leading to unauthorized event notifications.\n- CVE-2023-34047: A vulnerability in Spring for GraphQL where a batch loader function could be exposed to GraphQL context with security context values from a different session, potentially leading to unauthorized access or information disclosure.\n\nTop 10 GraphQL Security Checks\n- #1 Disable Introspec﻿tion in Production\n- #2 Robust Authentication\n- #3 Limit Q﻿uery Depths\n- #4 Rate Limiting\n- #5 Input Validation\n- #6 Secure Direct Object References\n- #7 Error Handling\n- #8 Query C﻿omplexity Analysis\n- #9 Mass Assignm﻿ent Checks\n- #10 Excessive Data Exp﻿osure\n\nHow to automate GraphQL Security?\n- we will talk about automating the 10 security checks in code and CI/CD",
+    "goers": "31",
+    "video_stream": "https://www.youtube.com/watch?v=b45lWgkVLYA",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Intermediate",
+    "id": "f304b62528988d6e67bb74020d97c885",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "ankita25",
+        "id": "21265832",
+        "name": "Ankita Gupta",
+        "company": "Akto.io",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "11",
+    "event_start_weekday": "Wednesday",
+    "event_start_weekday_short": "Wed",
+    "event_start_time": "4:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "11",
+    "event_end_weekday": "Wednesday",
+    "event_end_weekday_short": "Wed",
+    "event_end_time": "5:00pm",
+    "start_date": "2024-09-11",
+    "start_time": "16:30:00",
+    "start_time_ts": 1726097400,
+    "end_date": "2024-09-11",
+    "end_time": "17:00:00"
+  },
+  {
+    "event_key": "706601",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration & Badge Pick-up",
+    "event_start": "2024-09-12 08:00",
+    "event_end": "2024-09-12 15:00",
+    "event_type": "Registration & Badge Pick-up",
+    "goers": "3",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "370614bdbfb4b73d76ec71db8ce43552",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "8:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:00pm",
+    "start_date": "2024-09-12",
+    "start_time": "08:00:00",
+    "start_time_ts": 1726153200,
+    "end_date": "2024-09-12",
+    "end_time": "15:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "706609",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsor Showcase",
+    "event_start": "2024-09-12 08:00",
+    "event_end": "2024-09-12 12:30",
+    "event_type": "Sponsor Showcase",
+    "description": "Visit the sponsors in the Sponsor Showcase!",
+    "goers": "11",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "1e8e7ae6eb935636a20fc2acc70c299d",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "8:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "12:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "08:00:00",
+    "start_time_ts": 1726153200,
+    "end_date": "2024-09-12",
+    "end_time": "12:30:00"
+  },
+  {
+    "event_key": "692330",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Workshop: Scaling and Securing API Development with a GraphQL Platform - Laurin Quast & Kamil Kisiela, The Guild",
+    "event_start": "2024-09-12 09:00",
+    "event_end": "2024-09-12 10:30",
+    "event_type": "API Platform",
+    "description": "Building a GraphQL API as a solo developer handling both the front end and back end in a single Git repository can be straightforward. However, in a real-world scenario, you will need to collaborate with other developers, both within your team and externally. There will be API consumers under your control, as well as those you might not even be aware of. If you use composite schemas (such as Federation), many teams will create their subgraphs to compose a supergraph. How can you safely evolve your schema without breaking clients? How do you prevent attackers from sending vulnerable GraphQL operations to your server? A schema registry can assist you and your team in successfully adopting GraphQL at scale. Discover how to gain analytics on your GraphQL API usage, avoid shipping breaking changes through CI/CD integrations, and prevent unwanted GraphQL operations by leveraging Persisted Documents using the open-source MIT-licensed Hive API platform specially designed for GraphQL.",
+    "goers": "21",
+    "video_stream": "https://www.youtube.com/watch?v=ZDECb__f4h4",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "company": "Beginner",
+    "audience": "Workshops",
+    "id": "2f44e6cde4172d716d83bcb02809517f",
+    "venue_id": "1944308",
+    "speakers": [
+      {
+        "username": "laurinquast",
+        "id": "18743819",
+        "name": "Laurin Quast",
+        "company": "The Guild",
+        "custom_order": 0
+      },
+      {
+        "username": "kamilkisiela",
+        "id": "19082388",
+        "name": "Kamil Kisiela",
+        "company": "The Guild",
+        "custom_order": 1
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "10:30am",
+    "start_date": "2024-09-12",
+    "start_time": "09:00:00",
+    "start_time_ts": 1726156800,
+    "end_date": "2024-09-12",
+    "end_time": "10:30:00"
+  },
+  {
+    "event_key": "706617",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Open GraphQL Foundation Board Meeting",
+    "event_start": "2024-09-12 09:00",
+    "event_end": "2024-09-12 10:30",
+    "event_type": "Defies Categorization",
+    "description": "Join GraphQL Foundation Board Members and TSC Members for a public meeting and help provide input on what the Foundation's priorities for 2025 should be.",
+    "goers": "15",
+    "video_stream": "https://www.youtube.com/watch?v=4XbzBb_YHw0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "company": "Any",
+    "id": "35c3bece129c4a61d97b9b104ba12d42",
+    "venue_id": "1944311",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "10:30am",
+    "start_date": "2024-09-12",
+    "start_time": "09:00:00",
+    "start_time_ts": 1726156800,
+    "end_date": "2024-09-12",
+    "end_time": "10:30:00"
+  },
+  {
+    "event_key": "706616",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Workshop: Demand-Driven Schema Design - Michael Watson, Apollo GraphQL",
+    "event_start": "2024-09-12 09:00",
+    "event_end": "2024-09-12 10:30",
+    "event_type": "Defies Categorization",
+    "description": "One of the main advantages of GraphQL is that you can query for only the data you need. But in order to realize that promise for graph consumers, the schema needs to be thoughtfully designed to support data access requirements for the client apps that will query it. In this workshop, we’ll explore the process of demand-driven schema design and how a “dream query” can be reverse-engineered into a scalable and maintainable GraphQL schema that supports product use cases.\n\nWhat you’ll learn:\nCommon schema design patterns Build queries to display the data your app needs Best practices for designing client-focused queries Practical tips for schema reviews Federation / composite schemas considerations",
+    "goers": "17",
+    "video_stream": "https://www.youtube.com/watch?v=8W9N-I1G80o",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "audience": "Workshops",
+    "id": "a9ad5f1632866787f2ae33020dbe8e77",
+    "venue_id": "1944305",
+    "speakers": [
+      {
+        "username": "watson17",
+        "id": "19024254",
+        "name": "Michael Watson",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "10:30am",
+    "start_date": "2024-09-12",
+    "start_time": "09:00:00",
+    "start_time_ts": 1726156800,
+    "end_date": "2024-09-12",
+    "end_time": "10:30:00"
+  },
+  {
+    "event_key": "706614",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Workshop: Getting Your Data Ready for AI - With a Unified GraphQL and SQL Endpoint - Anushrut Gupta, Hasura",
+    "event_start": "2024-09-12 09:00",
+    "event_end": "2024-09-12 10:30",
+    "event_type": "Defies Categorization",
+    "description": "As AI technologies like LLMs innovate at an accelerated pace, the importance of robust data foundations has never been greater. Traditional data architectures, designed with apps and APIs in mind, are now being pushed to their limits by the demands of advanced AI applications. This workshop will delve into principles for getting your data ready for AI. One of the main principles is having all your data and business logic under one interface - we will see how to build this using GraphQL (or SQL). We will also see how to incorporate consistent authorization so that your LLM doesn't have to worry about security. Finally, we will plumb all of this together to create a fundamentally powerful data connectivity for your AI applications.\n\nTo get the most out of this workshop, bring an Anthropic account with some credits and an Anthropic API key. You can also use OpenAI, but Anthropic is preferred.",
+    "goers": "7",
+    "video_stream": "https://www.youtube.com/watch?v=andRX3esq9s",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "audience": "Workshops",
+    "id": "fbc64b2c5b6403612b8ea6c2ed4cbc04",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "anushrut.gupta",
+        "id": "21460012",
+        "name": "Anushrut Gupta",
+        "company": "Hasura",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "9:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "10:30am",
+    "start_date": "2024-09-12",
+    "start_time": "09:00:00",
+    "start_time_ts": 1726156800,
+    "end_date": "2024-09-12",
+    "end_time": "10:30:00"
+  },
+  {
+    "event_key": "6",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Coffee Break",
+    "event_start": "2024-09-12 10:30",
+    "event_end": "2024-09-12 11:00",
+    "event_type": "Breaks & Special Events",
+    "goers": "24",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Level 2 Foyer",
+    "id": "487b5eb466c6367896d32d0006ddad8a",
+    "venue_id": "1944317",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "10:30am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "11:00am",
+    "start_date": "2024-09-12",
+    "start_time": "10:30:00",
+    "start_time_ts": 1726162200,
+    "end_date": "2024-09-12",
+    "end_time": "11:00:00",
+    "description": ""
+  },
+  {
+    "event_key": "694498",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Workshop: Efficient Cross-Platform GraphQL and State Management with React Native - Yassin Eldeeb, The Guild",
+    "event_start": "2024-09-12 11:00",
+    "event_end": "2024-09-12 12:30",
+    "event_type": "GraphQL Clients",
+    "description": "In this hands-on workshop, we’ll explore building cross-platform applications with GraphQL and React Native. Learn how to create an efficient data management setup that works seamlessly across Windows, iOS, Android, and web platforms. Key takeaways include: - Setting up a GraphQL client in React Native - Managing local and remote state by combining Easy Peasy and React Query - Leveraging offline support, caching, and background fetching - Optimizing performance for mobile applications By the end, you’ll understand how to harness GraphQL to build robust and user-friendly cross-platform apps that are easy to develop and maintain.",
+    "goers": "21",
+    "video_stream": "https://www.youtube.com/watch?v=O4I2BhHgYq8",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "company": "Advanced",
+    "audience": "Workshops",
+    "id": "914fd37e2c0bd49ce423fb1cbc326ec8",
+    "venue_id": "1944314",
+    "speakers": [
+      {
+        "username": "yassineldeeb94",
+        "id": "18743822",
+        "name": "Yassin Eldeeb",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "12:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "11:00:00",
+    "start_time_ts": 1726164000,
+    "end_date": "2024-09-12",
+    "end_time": "12:30:00"
+  },
+  {
+    "event_key": "706626",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference Kickoff",
+    "event_start": "2024-09-12 11:00",
+    "event_end": "2024-09-12 11:15",
+    "event_type": "Unconference",
+    "description": "Review of the topics and room schedules for the unconference.",
+    "goers": "15",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "id": "e25c07f23d7396a8120cc0155015f694",
+    "venue_id": "1944305",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "11:00am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "11:15am",
+    "start_date": "2024-09-12",
+    "start_time": "11:00:00",
+    "start_time_ts": 1726164000,
+    "end_date": "2024-09-12",
+    "end_time": "11:15:00"
+  },
+  {
+    "event_key": "706629",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference Discussions",
+    "event_start": "2024-09-12 11:15",
+    "event_end": "2024-09-12 12:30",
+    "event_type": "Unconference",
+    "goers": "4",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "id": "aec7fe29f8660d0e0180b54af5d9bd3b",
+    "venue_id": "1944305",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "11:15am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "12:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "11:15:00",
+    "start_time_ts": 1726164900,
+    "end_date": "2024-09-12",
+    "end_time": "12:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "706627",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference: Lightning Talks",
+    "event_start": "2024-09-12 11:15",
+    "event_end": "2024-09-12 12:30",
+    "event_type": "Unconference",
+    "description": "Sign up for a lightening talk slot at the GraphQL Foundation Booth in the Sponsor Showcase!",
+    "goers": "8",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "id": "e48103dc4df8d88bf37b967a0b22d357",
+    "venue_id": "1944308",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "11:15am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "12:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "11:15:00",
+    "start_time_ts": 1726164900,
+    "end_date": "2024-09-12",
+    "end_time": "12:30:00"
+  },
+  {
+    "event_key": "706628",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference: TSC Office Hours",
+    "event_start": "2024-09-12 11:15",
+    "event_end": "2024-09-12 12:30",
+    "event_type": "Unconference",
+    "description": "Have a question about GraphQL? Want to talk to a TSC Member about an RFC? Have an idea for the Working Group? Share it with the GraphQL TSC!",
+    "goers": "6",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "id": "ba56d08028cb125d8c549e7b4b4d198b",
+    "venue_id": "1944311",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "11:15am",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "12:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "11:15:00",
+    "start_time_ts": 1726164900,
+    "end_date": "2024-09-12",
+    "end_time": "12:30:00"
+  },
+  {
+    "event_key": "7",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch Break - Attendees on Own",
+    "event_start": "2024-09-12 12:30",
+    "event_end": "2024-09-12 14:00",
+    "event_type": "Breaks & Special Events",
+    "description": "Lunch will be on your own. San Francisco offers a variety of dining options nearby to suit different tastes and preferences. Feel free to explore the local area and enjoy your meal. We’ll reconvene at 1:30 PM for the next session.",
+    "goers": "18",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Attendees On Own",
+    "id": "c291c64196e84d0862ded0b8ef31968a",
+    "venue_id": "1979819",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "12:30pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "2:00pm",
+    "start_date": "2024-09-12",
+    "start_time": "12:30:00",
+    "start_time_ts": 1726169400,
+    "end_date": "2024-09-12",
+    "end_time": "14:00:00"
+  },
+  {
+    "event_key": "1",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference Discussions",
+    "event_start": "2024-09-12 14:00",
+    "event_end": "2024-09-12 15:30",
+    "event_type": "Unconference",
+    "goers": "4",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan A",
+    "id": "4bd0c22887a042cfffec9428d7fc9689",
+    "venue_id": "1944305",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "14:00:00",
+    "start_time_ts": 1726174800,
+    "end_date": "2024-09-12",
+    "end_time": "15:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "4",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference: GraphQL Working Group Topics",
+    "event_start": "2024-09-12 14:00",
+    "event_end": "2024-09-12 15:30",
+    "event_type": "Unconference",
+    "goers": "6",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Metropolitan B-C",
+    "id": "52854704c6ab04364b24f2bda3991034",
+    "venue_id": "1944308",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "14:00:00",
+    "start_time_ts": 1726174800,
+    "end_date": "2024-09-12",
+    "end_time": "15:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "3",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference: GraphQL Working Group Topics",
+    "event_start": "2024-09-12 14:00",
+    "event_end": "2024-09-12 15:30",
+    "event_type": "Unconference",
+    "goers": "6",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline B-C - Level 21",
+    "id": "e456ed2987a18a88a3f6662842d17921",
+    "venue_id": "1944314",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "14:00:00",
+    "start_time_ts": 1726174800,
+    "end_date": "2024-09-12",
+    "end_time": "15:30:00",
+    "description": ""
+  },
+  {
+    "event_key": "2",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference: Show & Tell",
+    "event_start": "2024-09-12 14:00",
+    "event_end": "2024-09-12 15:30",
+    "event_type": "Unconference",
+    "description": "Sign up at the GraphQL Foundation Booth in the Sponsor showcase!",
+    "goers": "3",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Skyline A - Level 21",
+    "id": "d834fa1289d62ca14c1d5f67013c6337",
+    "venue_id": "1944311",
+    "event_start_year": "2024",
+    "event_start_month": "September",
+    "event_start_month_short": "Sep",
+    "event_start_day": "12",
+    "event_start_weekday": "Thursday",
+    "event_start_weekday_short": "Thu",
+    "event_start_time": "2:00pm",
+    "event_end_year": "2024",
+    "event_end_month": "September",
+    "event_end_month_short": "Sep",
+    "event_end_day": "12",
+    "event_end_weekday": "Thursday",
+    "event_end_weekday_short": "Thu",
+    "event_end_time": "3:30pm",
+    "start_date": "2024-09-12",
+    "start_time": "14:00:00",
+    "start_time_ts": 1726174800,
+    "end_date": "2024-09-12",
+    "end_time": "15:30:00"
+  }
+]
diff --git a/scripts/sync-sched/schedule-2025.json b/scripts/sync-sched/schedule-2025.json
new file mode 100644
index 0000000000..8b3b04055b
--- /dev/null
+++ b/scripts/sync-sched/schedule-2025.json
@@ -0,0 +1,4383 @@
+[
+  {
+    "event_key": "1",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration + Badge Pick-up",
+    "event_start": "2025-09-08 08:00",
+    "event_end": "2025-09-08 18:30",
+    "event_type": "Registration + Badge Pick-up",
+    "goers": "2",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "BG Foyer - Ground Floor",
+    "id": "aa6a893426a3d92bcbc4b140abeb56c6",
+    "venue_id": "2152797",
+    "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": "08:00",
+    "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": "18:30",
+    "start_date": "2025-09-08",
+    "start_time": "08:00:00",
+    "start_time_ts": 1757311200,
+    "end_date": "2025-09-08",
+    "end_time": "18:30:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "929634",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Welcome & Opening Remarks - Sarah Sanders, Technical Writer, Docker",
+    "event_start": "2025-09-08 09:00",
+    "event_end": "2025-09-08 09:05",
+    "event_type": "Keynote Sessions",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "0f0bfc4c4d1b1add1df92c8c7a693949",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "sasanders26",
+        "id": "21066861",
+        "name": "Sarah Sanders",
+        "company": "Docker",
+        "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": "09:00",
+    "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:05",
+    "start_date": "2025-09-08",
+    "start_time": "09:00:00",
+    "start_time_ts": 1757314800,
+    "end_date": "2025-09-08",
+    "end_time": "09:05:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "929633",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Lee Byron, Co-Creator of GraphQL & Director, GraphQL Foundation",
+    "event_start": "2025-09-08 09:05",
+    "event_end": "2025-09-08 09:15",
+    "event_type": "Keynote Sessions",
+    "goers": "2",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "fe829e6aab214193a809c31e4b0c832a",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "lee_byron.25jvpjmb",
+        "id": "18743534",
+        "name": "Lee Byron",
+        "company": "GraphQL Foundation",
+        "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": "09:05",
+    "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:15",
+    "start_date": "2025-09-08",
+    "start_time": "09:05:00",
+    "start_time_ts": 1757315100,
+    "end_date": "2025-09-08",
+    "end_time": "09:15:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "927784",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Community Update 2025: Growing in the Open - Benjie Gillam, Director & Maintainer, Graphile; Jem Gillam, Community Operations, Graphile; Uri Goldshtein, CEO, The Guild",
+    "event_start": "2025-09-08 09:15",
+    "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": "3",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "f31a60c9bffdbc04ea8fe446bd8d644b",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "jem28",
+        "id": "23300543",
+        "name": "Jem Gillam",
+        "company": "Graphile",
+        "custom_order": 0
+      },
+      {
+        "username": "uri_goldshtein.23xujj9a",
+        "id": "14900013",
+        "name": "Uri Goldshtein",
+        "company": "The Guild",
+        "custom_order": 1
+      },
+      {
+        "username": "benjie3",
+        "id": "18743846",
+        "name": "Benjie Gillam",
+        "company": "Graphile",
+        "custom_order": 2
+      }
+    ],
+    "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": "09:15",
+    "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:30",
+    "start_date": "2025-09-08",
+    "start_time": "09:15:00",
+    "start_time_ts": 1757315700,
+    "end_date": "2025-09-08",
+    "end_time": "09:30:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "929632",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Reimagining Developer Experience for AI-Native Development - Sarah Sanders, Technical Writer, Docker",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "id": "609a4afce7ff09af02230777aa079b8f",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "sasanders26",
+        "id": "21066861",
+        "name": "Sarah Sanders",
+        "company": "Docker",
+        "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": "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:45",
+    "start_date": "2025-09-08",
+    "start_time": "09:35:00",
+    "start_time_ts": 1757316900,
+    "end_date": "2025-09-08",
+    "end_time": "09:45:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "924510",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: GraphQL at Meta - Jordan Eldredge, Software Engineer, Meta",
+    "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": "2",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "4eec1d8993f89f5599949ae4fbfa4581",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "jordaneldredge1",
+        "id": "21508644",
+        "name": "Jordan Eldredge",
+        "company": "Meta",
+        "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": "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": "929625",
+    "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 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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "3d0c8511f9632541f3f52a9ea020755d",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "matt1575",
+        "id": "7503056",
+        "name": "Matt DeBergalis",
+        "company": "Apollo GraphQL",
+        "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": "10:05",
+    "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:15",
+    "start_date": "2025-09-08",
+    "start_time": "10:05:00",
+    "start_time_ts": 1757318700,
+    "end_date": "2025-09-08",
+    "end_time": "10:15:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "15",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Closing Remarks - Sarah Sanders, Technical Writer, Docker",
+    "event_start": "2025-09-08 10:15",
+    "event_end": "2025-09-08 10:20",
+    "event_type": "Keynote Sessions",
+    "goers": "2",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "3276a4a0491cb8293b9f5cbe46c68866",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "sasanders26",
+        "id": "21066861",
+        "name": "Sarah Sanders",
+        "company": "Docker",
+        "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": "10:15",
+    "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:20",
+    "start_date": "2025-09-08",
+    "start_time": "10:15:00",
+    "start_time_ts": 1757319300,
+    "end_date": "2025-09-08",
+    "end_time": "10:20:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "4",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2025-09-08 10:20",
+    "event_end": "2025-09-08 10:45",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "34f3bff88293c5b2c571cc440aa44141",
+    "venue_id": "2152803",
+    "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:20",
+    "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:45",
+    "start_date": "2025-09-08",
+    "start_time": "10:20:00",
+    "start_time_ts": 1757319600,
+    "end_date": "2025-09-08",
+    "end_time": "10:45:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "929637",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Solutions Showcase",
+    "event_start": "2025-09-08 10:20",
+    "event_end": "2025-09-08 18:45",
+    "event_type": "Solutions Showcase",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Workspace - 2nd Floor",
+    "id": "c9b7bbf7fb076e74d2338d8f46da1e14",
+    "venue_id": "2178053",
+    "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:20",
+    "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": "18:45",
+    "start_date": "2025-09-08",
+    "start_time": "10:20:00",
+    "start_time_ts": 1757319600,
+    "end_date": "2025-09-08",
+    "end_time": "18:45:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "929631",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Sponsored Session: Schema Design Patterns: Leveraging Existing REST APIs for Rapid GraphQL Adoption - Speaker To Be Announced",
+    "event_start": "2025-09-08 10:45",
+    "event_end": "2025-09-08 11:15",
+    "event_type": "Developer Experience",
+    "description": "Even dedicated GraphQL developers face the reality of enterprise environments: multiple REST endpoints requiring complex orchestration and endless fetch requests. In this developer-focused session, we'll explore practical schema design patterns for effectively mapping common REST API shapes into your GraphQL schema.\n\nWe'll dive into real-world examples showing how to transform pagination, filtering, nested resources, and other REST patterns into intuitive GraphQL abstractions. You'll learn proven strategies for maintaining excellent developer experience while rapidly onboarding existing services to your graph.\n\nWhether working with OpenAPI specs or internal API documentation, we'll demonstrate tooling and techniques to accelerate this process dramatically – bringing your REST services into your graph in days, not months. Stop writing endless API orchestration code and start delivering value through GraphQL.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "9ef7eaa509478085ff75215c2b664f23",
+    "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: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": "Backend"
+  },
+  {
+    "event_key": "913063",
+    "active": "Y",
+    "pinned": "N",
+    "name": "How To Use Fragments (They're Not for Re-use!) - Janette Cheng, Meta",
+    "event_start": "2025-09-08 10:45",
+    "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": "2",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Beginner",
+    "id": "95c83506420d9a9a3a971a8802ba96f8",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "janettelc",
+        "id": "23098753",
+        "name": "Janette Cheng",
+        "company": "Meta",
+        "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": "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": "Scaling"
+  },
+  {
+    "event_key": "929626",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Panel Discussion: APIs for AIs - Kewei Qu, Meta; Fredrik Björk, Grafbase; Boris Besemer, Vercel; Moderated by Stephen Spalding, Netflix",
+    "event_start": "2025-09-08 11:25",
+    "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": "2",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "id": "4ca721bc6a824e49d499ee35b71e953e",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "borisbesemer",
+        "id": "23301917",
+        "name": "Boris Besemer",
+        "company": "Vercel",
+        "custom_order": 0
+      },
+      {
+        "username": "qkw1221",
+        "id": "18743864",
+        "name": "Kewei Qu",
+        "company": "Meta",
+        "custom_order": 1
+      },
+      {
+        "username": "fbjork",
+        "id": "23184575",
+        "name": "Fredrik Björk",
+        "company": "Grafbase",
+        "custom_order": 2
+      },
+      {
+        "username": "sspalding2",
+        "id": "18743825",
+        "name": "Stephen Spalding",
+        "company": "Netflix",
+        "custom_order": 3
+      }
+    ],
+    "moderators": [
+      {
+        "username": "sspalding2",
+        "name": "Stephen Spalding",
+        "eventid": "4ca721bc6a824e49d499ee35b71e953e",
+        "role": "moderator",
+        "company": "Netflix"
+      }
+    ],
+    "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: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": "11:55",
+    "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": ""
+  },
+  {
+    "event_key": "925253",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Offset Pagination Is Dead! Meet Relative Cursors - Michael Staib, ChilliCream",
+    "event_start": "2025-09-08 11:25",
+    "event_end": "2025-09-08 11: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",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Advanced",
+    "id": "73b37145c961856b3c857568d0739a9f",
+    "venue_id": "2152806",
+    "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",
+    "event_start_day": "8",
+    "event_start_weekday": "Monday",
+    "event_start_weekday_short": "Mon",
+    "event_start_time": "11: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": "11:35",
+    "start_date": "2025-09-08",
+    "start_time": "11:25:00",
+    "start_time_ts": 1757323500,
+    "end_date": "2025-09-08",
+    "end_time": "11:35:00",
+    "event_subtype": "Patterns and community trends"
+  },
+  {
+    "event_key": "924672",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Performant GraphQL at Scale - Andreas Marek, Atlassian",
+    "event_start": "2025-09-08 11:25",
+    "event_end": "2025-09-08 11:55",
+    "event_type": "GraphQL in Production",
+    "description": "After maintaining GraphQL Java for 10 years we learned what aspects of GraphQL are critical for optimal performance. \n \nWe we look at what users of GraphQL should consider and which aspects of the spec are critical for optimal performance.\n \nWe will look also closer into the aspects of operating GraphQL at scale including and what it means when the schema and requests continue to grow.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Intermediate",
+    "id": "80ed10821b62754e5321d4984181cbfa",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "andreas.marek1",
+        "id": "21066795",
+        "name": "Andreas Marek",
+        "company": "Atlassian",
+        "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: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": "11:55",
+    "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": "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 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: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": "2",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "4ed67778faddda05ce0a191e525d43ee",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "benjie3",
+        "id": "18743846",
+        "name": "Benjie Gillam",
+        "company": "Graphile",
+        "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:05",
+    "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:05:00",
+    "start_time_ts": 1757325900,
+    "end_date": "2025-09-08",
+    "end_time": "12:35:00",
+    "event_subtype": "Frontend"
+  },
+  {
+    "event_key": "903215",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Modernizing a Million Lines of Code: Jira's Journey To GraphQL and Relay - Sourav Shaw & Vivek Yadav, Atlassian",
+    "event_start": "2025-09-08 12:05",
+    "event_end": "2025-09-08 12:35",
+    "event_type": "GraphQL in Production",
+    "description": "Abstract\nDiscover how we transformed Jira's issue view to GraphQL and Relay—handling billions of monthly interactions across 100+ field types while meeting enterprise compliance and reliability agreements. With hundreds of developers and teams modifying a decade-old codebase daily in a frontend monorepo, we faced unique challenges in technical design and execution.\nWe'll share:\n- GraphQL schema design for scale\n- Bridging Redux, Sweet State, and Relay in a multi-team environment\n- Incremental rollout strategies with feature flags for safe migration\n- Field-by-field adoption approaches maintaining workflow and compliance\n- Performance optimization under enterprise-scale load\n- Testing approaches at scale\n- Developer experience takeaways\n \nImpact & Takeaways\n- Performance metrics during incremental migration\n- Developer experience improvements\n- Cross-team collaboration\n- Production-proven strategies for state management in existing codebase\n \nThis isn't about building new—it's about modernizing Jira's critical interface while maintaining compliance for enterprise customers. Ideal for leaders coordinating teams and architects planning GraphQL adoption in regulated organizations.",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Advanced",
+    "id": "66474085903bcfccef1dc71e1784b204",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "shawsourav91",
+        "id": "23098801",
+        "name": "Sourav Shaw",
+        "company": "Atlassian",
+        "custom_order": 0
+      },
+      {
+        "username": "vivekyadav.cse.2005",
+        "id": "23098813",
+        "name": "Vivek Yadav",
+        "company": "Atlassian",
+        "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": "12:05",
+    "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:05:00",
+    "start_time_ts": 1757325900,
+    "end_date": "2025-09-08",
+    "end_time": "12:35:00",
+    "event_subtype": "Case studies"
+  },
+  {
+    "event_key": "922057",
+    "active": "Y",
+    "pinned": "N",
+    "name": "@async: Defer Even More! - Matt Mahoney, Meta",
+    "event_start": "2025-09-08 12:05",
+    "event_end": "2025-09-08 12:35",
+    "event_type": "GraphQL in Production",
+    "description": "@defer allows you to specify which parts of your operation are urgent, and which can be delayed. However, there is still a contract with @defer: all your data will always be returned, at some later point.\n\nThis poses a problem for certain classes of product: if only 10% of your operation will ever be on consumed, but you don't know exactly which 10% that will be, defer can introduce substantial hidden costs. To improve performance and reduce compute costs, Meta created @async to ensure products only ask for data when it's needed.",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Advanced",
+    "id": "4614b0dbd6236e202a87270ceda0c3bf",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "mahoney.mattj",
+        "id": "19314398",
+        "name": "Matthew Mahoney",
+        "company": "Meta",
+        "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:05",
+    "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:05:00",
+    "start_time_ts": 1757325900,
+    "end_date": "2025-09-08",
+    "end_time": "12:35:00",
+    "event_subtype": "Scaling"
+  },
+  {
+    "event_key": "10",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch",
+    "event_start": "2025-09-08 12:35",
+    "event_end": "2025-09-08 13:45",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "457da0fb4bd44feb088e8f4388b0f9c1",
+    "venue_id": "2152803",
+    "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: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": "13:45",
+    "start_date": "2025-09-08",
+    "start_time": "12:35:00",
+    "start_time_ts": 1757327700,
+    "end_date": "2025-09-08",
+    "end_time": "13:45:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "894556",
+    "active": "Y",
+    "pinned": "N",
+    "name": "From Docs To Conversation & Action - Daniel Hai & Dipro Bhowmik, monday.com",
+    "event_start": "2025-09-08 13:45",
+    "event_end": "2025-09-08 14:15",
+    "event_type": "Developer Experience",
+    "description": "Great documentation has always been the gold standard of API developer experience, and always a real challenge for GraphQL APIs. With the rise of AI and interactive API playgrounds, developer expectations have evolved. Static docs can be slow, confusing, and outdated, while an AI-powered assistant and API playground offer a dynamic, conversational, and instantly actionable experience. In this session, we’ll explore how we at monday.com leveraged AI and interactive tools to replace traditional documentation for our public GraphQL API, reducing friction and accelerating adoption.",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Any",
+    "id": "ed1b84b384c39fd16cbba908aeeda283",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "dipro",
+        "id": "23187254",
+        "name": "Dipro Bhowmik",
+        "company": "monday.com",
+        "custom_order": 0
+      },
+      {
+        "username": "danielha4",
+        "id": "23098732",
+        "name": "Daniel Hai",
+        "company": "monday.com",
+        "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": "13: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": "14:15",
+    "start_date": "2025-09-08",
+    "start_time": "13:45:00",
+    "start_time_ts": 1757331900,
+    "end_date": "2025-09-08",
+    "end_time": "14:15:00",
+    "event_subtype": "Documentation"
+  },
+  {
+    "event_key": "882751",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Subscriptions Are Stateful; We Made Them Stateless - Matteo Collina, Platformatic",
+    "event_start": "2025-09-08 13:45",
+    "event_end": "2025-09-08 14:15",
+    "event_type": "GraphQL in Production",
+    "description": "GraphQL Subscriptions over WebSockets is an extremely popular way to notify the caller that something happened on the back end. While a high level of Quality of Service is possible in other protocols such as STOMP or MQTT, there is no actual guarantee of delivery with GraphQL Subscriptions: any acknowledgment mechanism should be built in userland.\n \nWebSockets can be interrupted at any time with both graceful and ungraceful disconnections, and the lack of acknowledgment in the subscription protocol affects reliability, making GraphQL Subscription over WebSocket connections susceptible to disconnections, as any protocol failures will result in messages being lost. In other words, Subscriptions are stateful. In this talk, we will investigate a mitigation technique to make them resumable so that the connection can be destroyed and recreated without any message loss.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "0c3828d450fca7c409a3dda68f066428",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "matteo.collina1",
+        "id": "11925534",
+        "name": "Matteo Collina",
+        "company": "Platformatic",
+        "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": "13: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": "14:15",
+    "start_date": "2025-09-08",
+    "start_time": "13:45:00",
+    "start_time_ts": 1757331900,
+    "end_date": "2025-09-08",
+    "end_time": "14:15:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "926734",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Composing Your UI With GraphQL: Building Federated Component Systems That Scale - Gabriel Cura-Castro, StubHub Inc",
+    "event_start": "2025-09-08 14:25",
+    "event_end": "2025-09-08 14:55",
+    "event_type": "Developer Experience",
+    "description": "GraphQL federation has changed how we think about data and it's time to adopt that thinking to how we build UIs and component systems. In this talk, Gabe will share his deep experience from building design systems at Apple, Netflix and now StubHub to help you design yours.\n \nWhat are the advantages GraphQL brings to a traditional React component system? How can fragments optimize the composability of your components? How to reduce duplication while reducing the time you need to ship new features?\n \nWe will provide guidance on how to build and leverage a federated component system along-side your design system. \n \nFinally, we will cover how we've leveraged AI to speedup the creation of our design system and federated components at StuHub. Join to learn more!",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "4d43e71c77159a2cdfea61b076428a8f",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "gabe210",
+        "id": "23098750",
+        "name": "Gabriel Cura-Castro",
+        "company": "StubHub Inc",
+        "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": "14: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": "14:55",
+    "start_date": "2025-09-08",
+    "start_time": "14:25:00",
+    "start_time_ts": 1757334300,
+    "end_date": "2025-09-08",
+    "end_time": "14:55:00",
+    "event_subtype": "Frontend"
+  },
+  {
+    "event_key": "923772",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Rethinking GraphQL Execution - Raymie Stata, Airbnb",
+    "event_start": "2025-09-08 14:25",
+    "event_end": "2025-09-08 14:55",
+    "event_type": "GraphQL in Production",
+    "description": "To ease life for the roughly 1,000 developers who contribute regularly to our GraphQL interface, Airbnb has a highly opinionated developer API that we believe eases life for both developers and the operators who maintain the service. In the past, this API was implemented on top of a traditional, specification-based GraphQL engine, which supported agility as we evolved our opinionated approach to resolvers. As that approach matured, we saw opportunities to build a more efficient engine to support them.\n \nThis talk describes our new GraphQL engine. Key elements in our design include:\n \n- Refactoring query execution into distinct resolution and completion phases.\n \n- A query planner that optimizes and orchestrates the execution of those phases.\n \n- A new data structure that is the intermediary between the two phases, a data structure that allows for principled communication between the many resolvers involved in executing a query",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Advanced",
+    "id": "9426f470312d5ebb39a99a3a822f2821",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "raymie2",
+        "id": "23098792",
+        "name": "Raymie Stata",
+        "company": "Airbnb",
+        "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": "14: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": "14:55",
+    "start_date": "2025-09-08",
+    "start_time": "14:25:00",
+    "start_time_ts": 1757334300,
+    "end_date": "2025-09-08",
+    "end_time": "14:55:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "879918",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unlocking Federation Security at Scale in Booking.com - Sanver Tarmur & Minghe Huang, Booking.com",
+    "event_start": "2025-09-08 14:25",
+    "event_end": "2025-09-08 14:55",
+    "event_type": "GraphQL in Production",
+    "description": "In Booking.com we are heavily using Federated GraphQL approach, more than 150 backend sub-graph services are integrated from different domains of the company such as accommodations, partner, flights, cars, trips, and fintech.\n \n \nOur federated GraphQL layer hosts daily 11b+ incoming requests, Federation in the back distributes 14b+ requests to the sub-graphs per day. We have a diverse set of clients such as Booking traveller, partner native apps/web clients, 140+ SSR (Server Side Rendering) services for Web/Mobile rendering, and AI chatbots. This level of adoption brings unique challenges in terms of security and traffic management. In Booking.com we have a large attack surface since our GraphQL schema is huge, to be specific we have ~7k types with 27k+ fields. In this session, we will share our schema driven approaches to mitigate risks due to authN/Z leaks, DDoS attacks or exposure of sensitive PII/PCI data. These methodologies are designed with a high degree of generality, ensuring their applicability and scalability across every other Federated GraphQL system.",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Intermediate",
+    "id": "4fd6c149b3e2fec837a6abad57421002",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "minghe.huang",
+        "id": "23098789",
+        "name": "Minghe Huang",
+        "company": "Booking.com",
+        "custom_order": 0
+      },
+      {
+        "username": "sanvertarmur",
+        "id": "23098798",
+        "name": "Sanver Tarmur",
+        "company": "Booking.com",
+        "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": "14: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": "14:55",
+    "start_date": "2025-09-08",
+    "start_time": "14:25:00",
+    "start_time_ts": 1757334300,
+    "end_date": "2025-09-08",
+    "end_time": "14:55:00",
+    "event_subtype": "Security"
+  },
+  {
+    "event_key": "925128",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Event Sourcing + GraphQL = ♥️ - Mike Astle, Xolvio",
+    "event_start": "2025-09-08 15:05",
+    "event_end": "2025-09-08 15:35",
+    "event_type": "Developer Experience",
+    "description": "Event Sourcing is emerging as a preferred approach to building complex software systems. It enables rapid development, smooth evolution over time, and opens the door to AI-based acceleration.\n \nWe will make a brief introduction to the core concepts of Event Sourcing and why the approach is loved by its adherents. We will review the foundational elements of an Event Sourced application including some common architectural choices.\n \nGraphQL is known for expressive queries, precise data fetching, real-time capabilities, and a strong ecosystem. All of these pair well with Event Sourced applications. GraphQL simplifies the complexity of querying event streams, enables precise control over client-server interactions, and supports flexible schema evolution that is crucial to long term success. We will discuss this in the context of established patterns (and anti-patterns!).\n \nBy the end of this talk, attendees will clearly understand how combining Event Sourcing and GraphQL accelerates development and prepares data-driven apps to take advantage of AI-driven acceleration in the near future.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "22bac0a80d82ca49dcb156f96a307b8b",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "michael.astle",
+        "id": "23098786",
+        "name": "Mike Astle",
+        "company": "Xolvio",
+        "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": "15:05",
+    "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": "15:35",
+    "start_date": "2025-09-08",
+    "start_time": "15:05:00",
+    "start_time_ts": 1757336700,
+    "end_date": "2025-09-08",
+    "end_time": "15:35:00",
+    "event_subtype": "Patterns and community trends"
+  },
+  {
+    "event_key": "895837",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Performance Issues at Netflix Scale - Stephen Chambers, Netflix",
+    "event_start": "2025-09-08 15:05",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "682168b9f5a3998f61c54d12094ead0e",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "stephenchambers",
+        "id": "23098804",
+        "name": "Stephen Chambers",
+        "company": "Netflix",
+        "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": "15:05",
+    "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": "15:35",
+    "start_date": "2025-09-08",
+    "start_time": "15:05:00",
+    "start_time_ts": 1757336700,
+    "end_date": "2025-09-08",
+    "end_time": "15:35:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "919948",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Breaking and Building Boundaries: Securing Federated GraphQL - Yehuda Rosenberg, JFrog",
+    "event_start": "2025-09-08 15:05",
+    "event_end": "2025-09-08 15:35",
+    "event_type": "GraphQL in Production",
+    "description": "You added security measures to all your subgraphs and are sure you're safe? Think again. In a federated GraphQL system, the most significant risks often hide not within individual services, but within the logic and trust assumptions of the federation layer itself.\n \nThis talk explores how federated GraphQL architectures introduce a new class of security challenges that traditional testing and validation frequently overlook. We'll walk through practical examples based on real-world use cases and both offensive and defensive insights, showing why stitching secure services together doesn’t automatically result in a secure supergraph.\n \nAttendees will see federation-specific threats in action, learn important security concepts, and walk away with actionable strategies for hardening routers, auditing configurations, and building safer service interactions. We'll also share PoC code and conceptual outlines for detection tooling to help apply these learnings in real-world systems.\n \nAn engaging, practical, and scenario-driven session - especially relevant for developers and security engineers working with federated GraphQL systems.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Intermediate",
+    "id": "95f18f64a644710d42f294df2a2883e1",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "yehudar",
+        "id": "23098819",
+        "name": "Yehuda Rosenberg",
+        "company": "JFrog",
+        "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": "15:05",
+    "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": "15:35",
+    "start_date": "2025-09-08",
+    "start_time": "15:05:00",
+    "start_time_ts": 1757336700,
+    "end_date": "2025-09-08",
+    "end_time": "15:35:00",
+    "event_subtype": "Security"
+  },
+  {
+    "event_key": "5",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2025-09-08 15:35",
+    "event_end": "2025-09-08 15:55",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "307b54cb1c642d7bd8a6fb371b42bab6",
+    "venue_id": "2152803",
+    "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": "15: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": "15:55",
+    "start_date": "2025-09-08",
+    "start_time": "15:35:00",
+    "start_time_ts": 1757338500,
+    "end_date": "2025-09-08",
+    "end_time": "15:55:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "911156",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Isn't Just for Enterprises: The New King of Fullstack Typescript Applications - Alec Aivazis, HoudiniLabs",
+    "event_start": "2025-09-08 15:55",
+    "event_end": "2025-09-08 16:25",
+    "event_type": "Developer Experience",
+    "description": "Over the past few years, GraphQL has fallen out of favor for developers looking to build full-stack typescript applications. With projects like TRPC and NextJS, many people have started to pigeonhole GraphQL into an enterprise-shaped box. But this doesn't have to be the case! In this talk, Alec will give a practical introduction with live coding to Houdini, a GraphQL-first application framework and demonstrate how to rapidly move from idea to creation with a state-of-the-art developer experience that brings GraphQL back as a contender for the best choice for smaller applications.",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Beginner",
+    "id": "dda1fbb70f8b5b73223a6e37a736e5bd",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "alec102",
+        "id": "18743870",
+        "name": "Alec Aivazis",
+        "company": "HoudiniLabs",
+        "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": "15:55",
+    "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": "16:25",
+    "start_date": "2025-09-08",
+    "start_time": "15:55:00",
+    "start_time_ts": 1757339700,
+    "end_date": "2025-09-08",
+    "end_time": "16:25:00",
+    "event_subtype": "Frontend"
+  },
+  {
+    "event_key": "924335",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Federated GraphQL Subscriptions Zoo - Tom Houlé, Grafbase",
+    "event_start": "2025-09-08 15:55",
+    "event_end": "2025-09-08 16:05",
+    "event_type": "GraphQL in Production",
+    "description": "Subscriptions are not like queries and mutations. They require specific thinking and care in any implementation strategy.\nFederation adds a layer of infrastructure that can complicate subscriptions in two ways:\n \n- scaling, because the federation gateway may have to resolve many subscription streams at the same time,\n- translation, because each subgraph has the protocols it supports, and they may not overlap with the protocol used by the clients.\n \nThis lightning talk dives into the challenges of translation we encountered in concrete scenarios:\n \n- How websocket init payloads map, or not, to http headers\n- How to translate SSE requests to websocket requests\n- Alternatives like multipart streams\n- Websocket subprotocols",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "f4c4515cba67a0ef57bb208e2c805c6c",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "tom817",
+        "id": "23098807",
+        "name": "Tom Houlé",
+        "company": "Grafbase",
+        "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": "15:55",
+    "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": "16:05",
+    "start_date": "2025-09-08",
+    "start_time": "15:55:00",
+    "start_time_ts": 1757339700,
+    "end_date": "2025-09-08",
+    "end_time": "16:05:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "924894",
+    "active": "Y",
+    "pinned": "N",
+    "name": "From Private To Public: Evolving a GraphQL API for the Outside World - Laurin Quast, The Guild",
+    "event_start": "2025-09-08 15:55",
+    "event_end": "2025-09-08 16:25",
+    "event_type": "GraphQL in Production",
+    "description": "Turning a private GraphQL API into a public one comes with unexpected challenges. We’ll share how we approached this transition—starting from an existing internal schema that wasn’t shaped for external consumers—and the steps we took to expose only what was ready. Using Apollo Federation Contracts, we filtered out unstable or sensitive parts of the graph. Along the way, we defined best practices for the public schema, like cursor-based pagination, using oneOf for inputs and results.\nWe’ll also touch on how we serve the schema through Hive Gateway with a supergraph setup, and the security measures we added, like depth limiting and complexity analysis. To keep things evolving safely, we rely on GraphQL Hive to track usage and guide deprecations.\n \nIf you’re thinking about exposing a GraphQL API—or just want ideas for keeping one clean and manageable—this talk will share what worked for us, what didn’t, and what we learned.",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Beginner",
+    "id": "11ee2487ca4b81120d1d7218b13f2003",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "laurinquast",
+        "id": "18743819",
+        "name": "Laurin Quast",
+        "company": "The Guild",
+        "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": "15:55",
+    "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": "16:25",
+    "start_date": "2025-09-08",
+    "start_time": "15:55:00",
+    "start_time_ts": 1757339700,
+    "end_date": "2025-09-08",
+    "end_time": "16:25:00",
+    "event_subtype": "Schema evolution"
+  },
+  {
+    "event_key": "924336",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Authorization in Federated GraphQL - Tom Houlé, Grafbase",
+    "event_start": "2025-09-08 16:15",
+    "event_end": "2025-09-08 16:25",
+    "event_type": "GraphQL in Production",
+    "description": "Adopting GraphQL federation creates a convenient place in your infrastructure to make authorization decisions:\n \n- It comes early in the request lifecycle, before any subgraph.\n- It has access to the whole client request, as well as the entirety of the federated graph.\n- Authorization can still be the responsibility of the subgraph teams, or a cross cutting concern.\n \nThis talk is about leveraging the special position of the federation gateway for authorization.\n \nWe'll cover the directives federation offers for authorization out of the box: `@authenticated`, `@requiresScopes`, `@policy`. To cover a more advanced use case, we'll explore how to implement fine-grained authorization taking advantage of data from your federated graph by leveraging extensions in the open source Grafbase Gateway.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "4c9e99eb72e65a8115cabc6df964e106",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "tom817",
+        "id": "23098807",
+        "name": "Tom Houlé",
+        "company": "Grafbase",
+        "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": "16:15",
+    "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": "16:25",
+    "start_date": "2025-09-08",
+    "start_time": "16:15:00",
+    "start_time_ts": 1757340900,
+    "end_date": "2025-09-08",
+    "end_time": "16:25:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "925267",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Compose Your Mobile App With GraphQL - Martin Bonnin, Apollo",
+    "event_start": "2025-09-08 16:35",
+    "event_end": "2025-09-08 17:05",
+    "event_type": "Developer Experience",
+    "description": "Jetpack Compose is a declarative UI framework for Kotlin and Android. Jetpack Compose makes it easy to describe your UI graph and build composable UIs.\n \nOn the other hand, GraphQL is a declarative language for your Data. GraphQL makes it easy to describe and query your Data Graph.\n \nSounds like a perfect match! \n \nIn this presentation, we'll take a look at the current mobile architectures and how they differ from web architectures. \n \nWe will dive into cache, offline mode and error handling and investigate how GraphQL can help mobile developers build more reactive and robust UIs.\n \nUsing real life examples from the GraphQL conf 2025 app, we well discuss patterns such as colocated fragments, optimistic updates, subscriptions and see how they fit in the mobile app development cycle.\n \nWhile it will use some Kotlin, most of the examples can be applied to iOS and/or any other mobile platform. \n \nIf you're a web developer, I'm hoping to give you some talking point to start the discussion with your mobile teams. Let's unite frontend developers!",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Intermediate",
+    "id": "33ba3777057f6b5d6e17b0e6fe86e7d9",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "martinbonnin42",
+        "id": "23098783",
+        "name": "Martin Bonnin",
+        "company": "Apollo",
+        "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": "16: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": "17:05",
+    "start_date": "2025-09-08",
+    "start_time": "16:35:00",
+    "start_time_ts": 1757342100,
+    "end_date": "2025-09-08",
+    "end_time": "17:05:00",
+    "event_subtype": "Frontend"
+  },
+  {
+    "event_key": "925144",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Building an Open-Source Query Planner - Dotan Simha & Kamil Kisiela, The Guild",
+    "event_start": "2025-09-08 16:35",
+    "event_end": "2025-09-08 17:05",
+    "event_type": "GraphQL in Production",
+    "description": "A talk covering the journey of The Guild building a query planner for the future. We are going to share our journey learnings, insights and real-life examples on how we built our open-source Federation query planner.\n\nIn this talk, we’ll cover:\n\n- The background and journey The Guild did (from composition to query planning)\n- An overview of our query planner architecture\n- Audit-based development\n- Why we build our query planner as a library\n- Next steps and the community can get involved",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Advanced",
+    "id": "1a0475a575803503fce927f22dd1beae",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "kamilkisiela",
+        "id": "19082388",
+        "name": "Kamil Kisiela",
+        "company": "The Guild",
+        "custom_order": 0
+      },
+      {
+        "username": "dotan1",
+        "id": "23098735",
+        "name": "Dotan Simha",
+        "company": "The Guild",
+        "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": "16: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": "17:05",
+    "start_date": "2025-09-08",
+    "start_time": "16:35:00",
+    "start_time_ts": 1757342100,
+    "end_date": "2025-09-08",
+    "end_time": "17:05:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "924929",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Death, Taxes, and Deprecation - Stephen Spalding, Netflix",
+    "event_start": "2025-09-08 16:35",
+    "event_end": "2025-09-08 17:05",
+    "event_type": "GraphQL in Production",
+    "description": "alt title: Surviving Change Without Breaking Everything\n \nWhen we launched our new GraphQL API at Netflix, it felt perfect—destined to power hundreds of millions of devices. Yet, change is inevitable. Even if your schema seems flawless today (which it isn't), requirements will shift, new features will emerge, and regrets will follow.\n \nGraphQL promises evolvability, allowing us to move forward without multiple API versions. But how does this hold up in practice? We mark fields as @deprecated, but what happens next? How can we embrace experimentation without entombing technical debt in the API? Does federation complicate things? Evolving your schema without breaking clients is easy, right? Right??\n \nDrawing from experience with the Netflix API, this talk explores techniques for evolving your schema safely and painlessly. We'll cover the schema lifecycle—from experimentation to design, deprecation, and deletion.\n \nAttendees will leave with:\n- Schema design principles that facilitate change\n- Practical techniques for evolving GraphQL schemas\n- Strategies for managing a deprecation workflow\n \nJoin us as we learn to face the inevitability of change with confidence and serenity.",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "8e63bb4173054c8a5b67cfdac6649049",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "sspalding2",
+        "id": "18743825",
+        "name": "Stephen Spalding",
+        "company": "Netflix",
+        "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": "16: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": "17:05",
+    "start_date": "2025-09-08",
+    "start_time": "16:35:00",
+    "start_time_ts": 1757342100,
+    "end_date": "2025-09-08",
+    "end_time": "17:05:00",
+    "event_subtype": "Schema evolution"
+  },
+  {
+    "event_key": "929638",
+    "active": "Y",
+    "pinned": "N",
+    "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",
+    "description": "Over the past six years, Viaduct has grown from Airbnb’s unified data access layer into a central platform for hosting business logic — now supporting over 1 million lines of code, 500+ monthly contributors, and 100+ teams.\n\nThat scale has brought a familiar risk: the slow creep toward monolith. Viaduct was never meant to be a microservices system, but we’ve had to make deliberate choices to preserve team autonomy, performance, and codebase sanity.\n\nThis talk shares the strategies we’re using — and actively evolving — to make that possible, including:\n\n* Tenant modules that define slices of the GraphQL schema alongside their implementation logic;\n* Relying on GraphQL fragments instead of service calls for inter-module communication;\n* Building ownership and attribution into the platform so teams can trace metrics and errors back to themselves.\n\nWe haven’t fully solved these challenges — but we’ve learned a lot about what works, what breaks, and what to watch for.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Intermediate",
+    "id": "eb8343e5935fbfccaaacf983ef84ab49",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "adam.miskiewicz",
+        "id": "23352721",
+        "name": "Adam Miskiewicz",
+        "company": "Airbnb",
+        "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": "17:15",
+    "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": "17:45",
+    "start_date": "2025-09-08",
+    "start_time": "17:15:00",
+    "start_time_ts": 1757344500,
+    "end_date": "2025-09-08",
+    "end_time": "17:45:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "894809",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Building a Kotlin Federated GraphQL Gateway and Executor - Samuel Bernardo Vázquez Andalón, Expedia Group",
+    "event_start": "2025-09-08 17:15",
+    "event_end": "2025-09-08 17:45",
+    "event_type": "GraphQL in Production",
+    "description": "In this talk, we'll explore the design and implementation of a distributed GraphQL router built with Kotlin, leveraging graphql-java and Spring Boot. \nBy using Kotlin’s powerful scripting and DSLs, we can create a highly configurable and scalable solution that simplifies the complexity of managing distributed GraphQL APIs.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "cb0e7d61d4055d199e7b9040617c2f88",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "sam_2f",
+        "id": "23098795",
+        "name": "Samuel Bernardo Vázquez Andalón",
+        "company": "Expedia Group",
+        "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": "17:15",
+    "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": "17:45",
+    "start_date": "2025-09-08",
+    "start_time": "17:15:00",
+    "start_time_ts": 1757344500,
+    "end_date": "2025-09-08",
+    "end_time": "17:45:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "929621",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Big Ideas in Relay - Jordan Eldredge, Meta",
+    "event_start": "2025-09-08 17:15",
+    "event_end": "2025-09-08 17:45",
+    "event_type": "GraphQL in Production",
+    "description": "Relay, Meta’s advanced GraphQL client for React, has many innovative capabilities not available in other clients. We will explore these capabilities, what they are, how they work, and the fundamental problems they solve: \n \n- Ensure data consistency with a normalized cache \n- Bound memory usage with user-land garbage collection \n- Avoid append-only queries by statically detecting unused fields \n- Bound JavaScript bundle size with Data Driven Dependencies \n- Build snappy, robust, mutations with rebasing optimistic updates \n- Preload code and data for any surface in just one network roundtrip with Entrypoints \n- Enable optimal data fetching without sacrificing local reasoning with Relay’s compiler \n \nAnd more!",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "5d34138a7177e8a59443455e36ac1f8c",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "jordaneldredge1",
+        "id": "21508644",
+        "name": "Jordan Eldredge",
+        "company": "Meta",
+        "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": "17:15",
+    "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": "17:45",
+    "start_date": "2025-09-08",
+    "start_time": "17:15:00",
+    "start_time_ts": 1757344500,
+    "end_date": "2025-09-08",
+    "end_time": "17:45:00",
+    "event_subtype": "Scaling"
+  },
+  {
+    "event_key": "13",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Attendee Reception",
+    "event_start": "2025-09-08 17:45",
+    "event_end": "2025-09-08 18:45",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "a7b3192f95abd8295c126d103c3a42e5",
+    "venue_id": "2152803",
+    "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": "17: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": "18:45",
+    "start_date": "2025-09-08",
+    "start_time": "17:45:00",
+    "start_time_ts": 1757346300,
+    "end_date": "2025-09-08",
+    "end_time": "18:45:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "2",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration + Badge Pick-up",
+    "event_start": "2025-09-09 08:00",
+    "event_end": "2025-09-09 17:30",
+    "event_type": "Registration + Badge Pick-up",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "BG Foyer - Ground Floor",
+    "id": "c0205884be221948a39bc4af9939c675",
+    "venue_id": "2152797",
+    "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": "08:00",
+    "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": "17:30",
+    "start_date": "2025-09-09",
+    "start_time": "08:00:00",
+    "start_time_ts": 1757397600,
+    "end_date": "2025-09-09",
+    "end_time": "17:30:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "17",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Open GraphQL Foundation Board Meeting",
+    "event_start": "2025-09-09 09:00",
+    "event_end": "2025-09-09 10:30",
+    "event_type": "Breaks / Networking / Special Events",
+    "description": "Join GraphQL Foundation Board Members and TSC Members for a public meeting and help provide input on what the Foundation's priorities for 2026 should be.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "id": "5e4653a4e04e5b927347c0d4bce36517",
+    "venue_id": "2152806",
+    "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": "09:00",
+    "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": "10:30",
+    "start_date": "2025-09-09",
+    "start_time": "09:00:00",
+    "start_time_ts": 1757401200,
+    "end_date": "2025-09-09",
+    "end_time": "10:30:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "929636",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Solutions Showcase",
+    "event_start": "2025-09-09 09:00",
+    "event_end": "2025-09-09 17:30",
+    "event_type": "Solutions Showcase",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Workspace - 2nd Floor",
+    "id": "f343bf1d5dc3d9c540336c117e84fb25",
+    "venue_id": "2178053",
+    "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": "09:00",
+    "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": "17:30",
+    "start_date": "2025-09-09",
+    "start_time": "09:00:00",
+    "start_time_ts": 1757401200,
+    "end_date": "2025-09-09",
+    "end_time": "17:30:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "19",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Workshop: Apollo Router & MCP: A Modern Agentic Development Approach - Michael Watson, Apollo GraphQL",
+    "event_start": "2025-09-09 09:00",
+    "event_end": "2025-09-09 10:30",
+    "event_type": "Workshops",
+    "description": "Join us for an intensive hands-on workshop where you'll build a complete e-commerce application stack, from GraphQL API to AI integration. We'll start by creating a robust GraphQL API using Apollo Router, covering schema design and federation best practices.\n\nThen we'll extend your GraphQL API with a Model Context Protocol (MCP) server, enabling structured AI data access and tool-based interactions. This allows AI assistants to query your products, manage inventory, and process orders directly through your API.This workshop emphasizes exceptional developer experience with hot-reloading capabilities across your entire stack for rapid iteration. You'll learn real-world patterns for connecting GraphQL APIs with MCP servers, handling data flow between layers, and maintaining type safety from your database to your AI tools.\n\nPrerequisites: Familiarity with GraphQL basics. Bring a laptop with Node.js installed.\n\nBy the end of this workshop, you'll be able to: Configure Apollo Router to orchestrate multiple GraphQL services into a unified graph Integrate microservices that extend and complement each other's capabilities Build and deploy a custom GraphQL API as part of your federated graph Expose any GraphQL operation as MCP tools with zero additional code, making your entire API instantly AI-accessible Understand practical use cases for AI-integrated applications in modern development workflows",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "8a6e23690797787ee42c86f5799d212c",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "watson17",
+        "id": "19024254",
+        "name": "Michael Watson",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "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": "09:00",
+    "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": "10:30",
+    "start_date": "2025-09-09",
+    "start_time": "09:00:00",
+    "start_time_ts": 1757401200,
+    "end_date": "2025-09-09",
+    "end_time": "10:30:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "929624",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Workshop: Social Media App \"Y\" with GraphQL, Relay, and React Server Components - Saihajpreet Singh, The Guild",
+    "event_start": "2025-09-09 09:00",
+    "event_end": "2025-09-09 10:30",
+    "event_type": "Workshops",
+    "description": "This workshop proposes the development of a demo social media application, \"Y,\" using GraphQL, Relay, and React Server Components (RSC). The goal is to showcase the powerful synergy between Relay’s declarative data fetching and RSC’s server-side rendering, creating an ideal stack for scalable, performant web applications. \n \nThe demo will highlight: \n \n- Co-location of GraphQL fragments with React components for a modular, maintainable codebase. \n- Relay’s type-safe queries to efficiently fetch data for posts, comments, and user profiles. \n- React Server Components to optimize server-side rendering and enable React streaming for progressive UI rendering. \n- A fully functional social media app with interactive, real-time features. \n \nThrough this hands-on demo, we’ll illustrate how Relay’s fragment-based architecture and RSC’s streaming capabilities allow developers to build responsive, data-driven applications. This workshop will demonstrate the potential of these technologies for modern frontend development providing a compelling case for adopting this stack in production projects.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Any",
+    "id": "1ef800d68c28db994bfec011a6817fc8",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "saihaj",
+        "id": "22528045",
+        "name": "Saihajpreet Singh",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "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": "09:00",
+    "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": "10:30",
+    "start_date": "2025-09-09",
+    "start_time": "09:00:00",
+    "start_time_ts": 1757401200,
+    "end_date": "2025-09-09",
+    "end_time": "10:30:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "6",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2025-09-09 10:30",
+    "event_end": "2025-09-09 10:45",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "5c604292949899cb7ef2c8f36a86d098",
+    "venue_id": "2152803",
+    "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:30",
+    "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": "10:45",
+    "start_date": "2025-09-09",
+    "start_time": "10:30:00",
+    "start_time_ts": 1757406600,
+    "end_date": "2025-09-09",
+    "end_time": "10:45:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "927134",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Namespacing Is the Next Frontier of GraphQL Federation - Martijn Walraven, Apollo",
+    "event_start": "2025-09-09 10:45",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "2bd94376bccf70783dd302222f29ca82",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "martijn.walraven",
+        "id": "21066825",
+        "name": "Martijn Walraven",
+        "company": "Apollo",
+        "custom_order": 0
+      }
+    ],
+    "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": "11:25",
+    "start_date": "2025-09-09",
+    "start_time": "10:45:00",
+    "start_time_ts": 1757407500,
+    "end_date": "2025-09-09",
+    "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",
+    "pinned": "N",
+    "name": "Workshop: Beyond GraphQL Federation: How We Use Composite Schemas and WebAssembly to Federate Non-GraphQL Data Sources - Benjamin Rabier & Tom Houlé, Grafbase",
+    "event_start": "2025-09-09 10:45",
+    "event_end": "2025-09-09 12:15",
+    "event_type": "Workshops",
+    "description": "In this workshop, we will look at different patterns to integrate various data sources in a federated graph using the Apollo Federation V2 spec, the Composite Schemas spec, WebAssembly with the recently released Component Model, and the Grafbase Gateway.\n\nGraphQL Federation is a fantastic pattern to combine APIs — called subgraphs — into a single schema while sharing types and declaratively depending from data from other subgraphs. In fact, it is too good to keep it to GraphQL subgraphs only — what if you could bring other kinds of APIs and data sources into your federated graph without having to write a dedicated GraphQL server in front of them?\n\nIn the course of the hands-on workshop, we will: Integrate a REST API, a Postgres database and a Kafka instance using open source extensions, Use the gRPC extension and the MCP server to understand, integrate and query gRPC services over GraphQL, Build a new custom extension together\nThe result will be a functioning GraphQL federated graph without GraphQL subgraphs, demonstrating that federation as a mechanism is useful beyond just GraphQL subgraphs.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "3712b5f88962e155f080a7afa612e46e",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "benjamin154",
+        "id": "23098720",
+        "name": "Benjamin Rabier",
+        "company": "Grafbase",
+        "custom_order": 0
+      },
+      {
+        "username": "tom817",
+        "id": "23098807",
+        "name": "Tom Houlé",
+        "company": "Grafbase",
+        "custom_order": 1
+      }
+    ],
+    "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": ""
+  },
+  {
+    "event_key": "925079",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The State of GraphQL Federation - Michael Staib, ChilliCream & Martijn Walraven, Apollo",
+    "event_start": "2025-09-09 11:35",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "534377045b9341cbcbb1098699294f99",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "michael_staib.23xujj9p",
+        "id": "14900031",
+        "name": "Michael Staib",
+        "company": "ChilliCream",
+        "custom_order": 0
+      },
+      {
+        "username": "martijn.walraven",
+        "id": "21066825",
+        "name": "Martijn Walraven",
+        "company": "Apollo",
+        "custom_order": 1
+      }
+    ],
+    "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": "11:35",
+    "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": "11:35:00",
+    "start_time_ts": 1757410500,
+    "end_date": "2025-09-09",
+    "end_time": "12:15:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "11",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch - Attendees on Own",
+    "event_start": "2025-09-09 12:15",
+    "event_end": "2025-09-09 14:15",
+    "event_type": "Breaks / Networking / Special Events",
+    "description": "Lunch will be on your own. Amsterdam offers a variety of dining options nearby to suit different tastes and preferences.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "id": "c792d79fcbf90eafe5aeccec4e753e2a",
+    "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": "12:15",
+    "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": "14:15",
+    "start_date": "2025-09-09",
+    "start_time": "12:15:00",
+    "start_time_ts": 1757412900,
+    "end_date": "2025-09-09",
+    "end_time": "14:15:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "922927",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lower Latency With Streaming GraphQL - Rob Richard, 1stDibs",
+    "event_start": "2025-09-09 14:15",
+    "event_end": "2025-09-09 14:55",
+    "event_type": "GraphQL Working Group",
+    "description": "Learn how to lower latency in your applications by streaming your GraphQL responses using the @defer and @stream directives. Learn the trade-offs of when to use these new directives and how they differ from GraphQL Subscriptions.\n\n@defer and @stream have been in development for some time now and have gone through many iterations. Learn about the motivation behind these changes and how they will lead to scalable GraphQL servers and efficient clients.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "7774f5b0afdc94f922694d15a5593dfc",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "robrichard87",
+        "id": "21066852",
+        "name": "Rob Richard",
+        "company": "1stDibs",
+        "custom_order": 0
+      }
+    ],
+    "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": "14:15",
+    "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": "14:55",
+    "start_date": "2025-09-09",
+    "start_time": "14:15:00",
+    "start_time_ts": 1757420100,
+    "end_date": "2025-09-09",
+    "end_time": "14:55:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "929640",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference",
+    "event_start": "2025-09-09 14:15",
+    "event_end": "2025-09-09 15:45",
+    "event_type": "Unconference",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Any",
+    "id": "c72212216fc978651151148101346f18",
+    "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": "14:15",
+    "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": "15:45",
+    "start_date": "2025-09-09",
+    "start_time": "14:15:00",
+    "start_time_ts": 1757420100,
+    "end_date": "2025-09-09",
+    "end_time": "15:45:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "20",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Workshop: Unleash the Power of Federation with Hive Gateway - Denis Badurina & Arda Tanrıkulu, The Guild",
+    "event_start": "2025-09-09 14:15",
+    "event_end": "2025-09-09 15:45",
+    "event_type": "Workshops",
+    "description": "Unleash the Power of Federation with Hive Gateway Discover the possibilities of your GraphQL APIs! Learn how to use GraphQL Federation to unite various services and get to know Hive Gateway, an open-source GraphQL router. During this practical exercise, you will configure a simple federated gateway and execute queries across merged schemas. Discover important features such as built-in monitoring with OpenTelemetry, automatic query batching for optimal efficiency, strong security choices like JWT authentication and rate limiting, and GraphQL Subscriptions for real-time data. Find out for yourself how Hive Gateway makes it easier to create scalable and maintainable GraphQL.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "6fbc71a3ad13189339d753cb078ec781",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "badurinadenis",
+        "id": "18743810",
+        "name": "Denis Badurina",
+        "company": "The Guild",
+        "custom_order": 0
+      },
+      {
+        "username": "ardatanrikulu",
+        "id": "18982310",
+        "name": "Arda Tanrıkulu",
+        "company": "The Guild",
+        "custom_order": 1
+      }
+    ],
+    "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": "14:15",
+    "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": "15:45",
+    "start_date": "2025-09-09",
+    "start_time": "14:15:00",
+    "start_time_ts": 1757420100,
+    "end_date": "2025-09-09",
+    "end_time": "15:45:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "925101",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The State of GraphQL Open Telemetry - Pascal Senn, ChilliCream",
+    "event_start": "2025-09-09 15:05",
+    "event_end": "2025-09-09 15:45",
+    "event_type": "GraphQL Working Group",
+    "description": "Curious about how observability is evolving in the GraphQL ecosystem? This session explores the current state of OpenTelemetry and its integration with GraphQL. We'll cover the fundamentals of OpenTelemetry, introduce the OpenTelemetry working group (https://github.com/graphql/otel-wg), and dive into tracing, logging, and metrics - all essential pillars of observability. You'll also learn how OpenTelemetry is being applied in distributed GraphQL architectures to improve performance monitoring and troubleshooting across services. Whether you're new to observability or looking to level up your GraphQL stack, this talk will bring you up to speed on where the community is heading.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "01ac876254b68e3c824f6d7e077ef654",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "pascal.senn",
+        "id": "21066839",
+        "name": "Pascal Senn",
+        "company": "ChilliCream",
+        "custom_order": 0
+      }
+    ],
+    "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": "15:05",
+    "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": "15:45",
+    "start_date": "2025-09-09",
+    "start_time": "15:05:00",
+    "start_time_ts": 1757423100,
+    "end_date": "2025-09-09",
+    "end_time": "15:45:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "7",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2025-09-09 15:45",
+    "event_end": "2025-09-09 16:00",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "beef68627af8441ecda3c744db096f49",
+    "venue_id": "2152803",
+    "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": "15: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": "16:00",
+    "start_date": "2025-09-09",
+    "start_time": "15:45:00",
+    "start_time_ts": 1757425500,
+    "end_date": "2025-09-09",
+    "end_time": "16:00:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "929623",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Imagining GraphQL 2.0: Choices in a Hypothetical Reboot - Kewei Qu & Curtis Li, Meta; Benjie Gillam, Graphile; Martin Bonnin, Apollo",
+    "event_start": "2025-09-09 16:00",
+    "event_end": "2025-09-09 16:40",
+    "event_type": "GraphQL Working Group",
+    "description": "This discussion embarks on a thought experiment to redesign GraphQL from the ground up. We will explore the choices that might be made if we could start over, free from the constraints of existing implementations.\n\nThe session focuses on key areas where the current GraphQL specification has faced challenges and sparked debate within the community. Discussions will cover: Union Types: Exploring alternative approaches to improve flexibility and usability. Schema-Defined Nullability: Rethinking how nullability is handled to enhance clarity and consistency. Error Handling: Proposing new strategies for more robust and intuitive error management.\n\nThrough collaborative discussions and interactive exercises, participants will contribute insights and ideas, shaping a theoretical vision of what GraphQL 2.0 could look like. This thought exercise is designed to challenge assumptions and inspire innovative solutions.\n\nThe session will conclude with a focus on the practicalities of evolving GraphQL towards a 2.0 version in the real world, exploring how to address these design challenges while considering migration paths and maintaining backward compatibility.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Any",
+    "id": "ad5afe76bbdfd270a14cbee25d11bd40",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "qkw1221",
+        "id": "18743864",
+        "name": "Kewei Qu",
+        "company": "Meta",
+        "custom_order": 0
+      },
+      {
+        "username": "curtis99877",
+        "id": "23098729",
+        "name": "Curtis Li",
+        "company": "Meta Platforms",
+        "custom_order": 1
+      },
+      {
+        "username": "benjie3",
+        "id": "18743846",
+        "name": "Benjie Gillam",
+        "company": "Graphile",
+        "custom_order": 2
+      },
+      {
+        "username": "martinbonnin42",
+        "id": "23098783",
+        "name": "Martin Bonnin",
+        "company": "Apollo",
+        "custom_order": 3
+      }
+    ],
+    "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": "16:00",
+    "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": "16:40",
+    "start_date": "2025-09-09",
+    "start_time": "16:00:00",
+    "start_time_ts": 1757426400,
+    "end_date": "2025-09-09",
+    "end_time": "16:40:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "27",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Unconference",
+    "event_start": "2025-09-09 16:00",
+    "event_end": "2025-09-09 17:30",
+    "event_type": "Unconference",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Any",
+    "id": "0518875a37f944a72fce2c0a20d1188b",
+    "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": "16:00",
+    "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": "17:30",
+    "start_date": "2025-09-09",
+    "start_time": "16:00:00",
+    "start_time_ts": 1757426400,
+    "end_date": "2025-09-09",
+    "end_time": "17:30:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "24",
+    "active": "Y",
+    "pinned": "N",
+    "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",
+    "description": "GraphQL is evolving — and with the new Composite Schema Specification, building distributed GraphQL systems has never been more standardized, flexible, and interoperable.\n\nIn this workshop, we'll dive into the core principles behind the Composite Schema Specification and demonstrate how they enable modular, scalable GraphQL architectures across teams and services. Whether you're coming from Node.js, Java, .NET, or any other stack — this specification is designed to work with you, not against you.\n\nAt the heart of this new standard is a powerful idea: composing GraphQL APIs in a strongly typed way. No more hidden fields. No more untyped extensions or brittle conventions.\n\nYou'll learn how to:\nDesign and build a distributed GraphQL system using the Composite Schema Specification Compose services with clear ownership and type-safe contracts Evolve your composite schema over time without breaking a sweat Solve real-world challenges like shared types, or auth propagation Operate composed schemas with observability, continuous integration, and confidence\nWhether you're building from scratch or evolving an existing monolith, this workshop will equip you with the tools and mental models to harness composition — the right way.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "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",
+    "event_start_day": "9",
+    "event_start_weekday": "Tuesday",
+    "event_start_weekday_short": "Tue",
+    "event_start_time": "16:00",
+    "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": "17:30",
+    "start_date": "2025-09-09",
+    "start_time": "16:00:00",
+    "start_time_ts": 1757426400,
+    "end_date": "2025-09-09",
+    "end_time": "17:30:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "929629",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Working Group Discussion Tables",
+    "event_start": "2025-09-09 16:50",
+    "event_end": "2025-09-09 17:30",
+    "event_type": "GraphQL Working Group",
+    "description": "This session is an opportunity for working group members to discuss the topics raised in the working group talks earlier in the day, and brainstorm ideas for moving forward.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Any",
+    "id": "b11d2fe5c7b8940023f98e6a7ddb372b",
+    "venue_id": "2152806",
+    "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": "16:50",
+    "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": "17:30",
+    "start_date": "2025-09-09",
+    "start_time": "16:50:00",
+    "start_time_ts": 1757429400,
+    "end_date": "2025-09-09",
+    "end_time": "17:30:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "3",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Registration + Badge Pick-up",
+    "event_start": "2025-09-10 08:00",
+    "event_end": "2025-09-10 17:00",
+    "event_type": "Registration + Badge Pick-up",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "BG Foyer - Ground Floor",
+    "id": "684f3f2c57d94cc9ad1e3bba980712ec",
+    "venue_id": "2152797",
+    "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": "08: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": "17:00",
+    "start_date": "2025-09-10",
+    "start_time": "08:00:00",
+    "start_time_ts": 1757484000,
+    "end_date": "2025-09-10",
+    "end_time": "17:00:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "929630",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Hello Graffle! A Modular Type Safe GraphQL Client - Jason Kuhrt, The Guild",
+    "event_start": "2025-09-10 09:00",
+    "event_end": "2025-09-10 09:10",
+    "event_type": "Developer Experience",
+    "description": "Over the past year I have been evolving graphql-request into Graffle, a modular type safe GraphQL Client. Most of its features are realized as plugins so much so that it actually has fewer capabilities than graphql-request at its core! Graffle initially grew out of my desire to have a JS GraphQL client with a fully featured and type safe document builder which I couldn’t get from tools like GenQL or Zeus at the time.\n\nGraffle is still a mostly unknown work in progress but I am ready to begin talking about it and already some early adopters have taken to giving regular feedback. I think GraphQL can benefit from strengthened integrations with TypeScript. My past work on Nexus underscores that belief and I've been happy to see more recent tools enter the space like Pothos.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Any",
+    "id": "ce3c04db5c598ba5451fcd71df4849ee",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "jasonkuhrt",
+        "id": "23098756",
+        "name": "Jason Kuhrt",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "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:10",
+    "start_date": "2025-09-10",
+    "start_time": "09:00:00",
+    "start_time_ts": 1757487600,
+    "end_date": "2025-09-10",
+    "end_time": "09:10:00",
+    "event_subtype": "Backend"
+  },
+  {
+    "event_key": "914113",
+    "active": "Y",
+    "pinned": "N",
+    "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": "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": "Any",
+    "id": "806eaa5ecdc05b0c0f01165c7980b4a6",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "mark1437",
+        "id": "23416744",
+        "name": "Mark Larah",
+        "company": "Yelp",
+        "custom_order": 0
+      }
+    ],
+    "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": "Federation and distributed systems"
+  },
+  {
+    "event_key": "929635",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Solutions Showcase",
+    "event_start": "2025-09-10 09:00",
+    "event_end": "2025-09-10 16:00",
+    "event_type": "Solutions Showcase",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Workspace - 2nd Floor",
+    "id": "f2d3f4845e1a0d30aebf38a2b6595824",
+    "venue_id": "2178053",
+    "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": "16:00",
+    "start_date": "2025-09-10",
+    "start_time": "09:00:00",
+    "start_time_ts": 1757487600,
+    "end_date": "2025-09-10",
+    "end_time": "16:00:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "929204",
+    "active": "Y",
+    "pinned": "N",
+    "name": "What If GraphQL Knew Accessibility? - Vanessa Johnson, The New York Times",
+    "event_start": "2025-09-10 09:20",
+    "event_end": "2025-09-10 09:30",
+    "event_type": "Developer Experience",
+    "description": "What if your GraphQL schema could do more than provide data? What if it could help your app be more accessible from the start? In this lightning talk, we'll explore an innovative idea of embedding accessibility metadata directly into GraphQL schemas. Inspired by using Kotlin semantics in Jetpack Compose, imagine annotating fields with labels, roles, or screen reader hints that can be used to support screen readers, improve navigation, and even power automated accessibility testing. By adding custom accessibility annotations, tools could generate more accessible UI components, which enhances both the developer experience and the user experience. This is a call to rethink the developer experience and treat accessibility as a first-class concern. Let's reimagine GraphQL not just as a data layer, but as an inclusive design enabler.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "87264d07e7aaafb1811ba5ad451285a2",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "vmjohnson999",
+        "id": "23098810",
+        "name": "Vanessa Johnson",
+        "company": "The New York Times",
+        "custom_order": 0
+      }
+    ],
+    "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:20",
+    "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:20:00",
+    "start_time_ts": 1757488800,
+    "end_date": "2025-09-10",
+    "end_time": "09:30:00",
+    "event_subtype": "Patterns and community trends"
+  },
+  {
+    "event_key": "929622",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Grats: Bringing Implementation-First GraphQL to TypeScript - Jordan Eldredge, Meta",
+    "event_start": "2025-09-10 09:40",
+    "event_end": "2025-09-10 10:10",
+    "event_type": "Developer Experience",
+    "description": "We will explore the novel static analysis approach used by Grats to enable a true implementation-first developer experience for building GraphQL servers in TypeScript. \n \nIf you are interested in compilers, type systems, static analysis and developer experience, this talk is for you!",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Advanced",
+    "id": "e9075771b5513faaf06cca527e7a837d",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "jordaneldredge1",
+        "id": "21508644",
+        "name": "Jordan Eldredge",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "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:40",
+    "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": "10:10",
+    "start_date": "2025-09-10",
+    "start_time": "09:40:00",
+    "start_time_ts": 1757490000,
+    "end_date": "2025-09-10",
+    "end_time": "10:10:00",
+    "event_subtype": "Backend"
+  },
+  {
+    "event_key": "925025",
+    "active": "Y",
+    "pinned": "N",
+    "name": "One API Definition To Rule Them All: Generating GraphQL Schemas From TypeSpec - Fiona Huang, Pinterest",
+    "event_start": "2025-09-10 09:40",
+    "event_end": "2025-09-10 10:10",
+    "event_type": "Developer Experience",
+    "description": "Managing separate API definitions for REST and GraphQL APIs that serve the same underlying data can be inefficient and lead to duplicated efforts. At Pinterest, we are streamlining our API definitions and unifying our data models with TypeSpec. TypeSpec allows us to define our API shapes once and generate API schemas in multiple forms such as OpenAPI, Protobuf, and now GraphQL!\n \nWe’ve developed an open-source TypeSpec GraphQL Emitter which generates valid GraphQL schemas directly from TypeSpec definitions.\n \nJoin us for an overview of how TypeSpec and the GraphQL Emitter can streamline your API workflow. We'll explore:\n \n* How TypeSpec's unified definition approach accelerates development across multiple API specs\n* The inner workings of our open-source GraphQL Emitter\n* Our wins and lessons learned while building the GraphQL Emitter\n \nThis talk will be perfect for anyone interested in GraphQL schema generation, unified API definitions, and vague Lord of the Rings references! See you there!",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Any",
+    "id": "0843f99870a32c08d091379a43d0c224",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "fionabronwen",
+        "id": "23098747",
+        "name": "Fiona Huang",
+        "company": "Pinterest",
+        "custom_order": 0
+      }
+    ],
+    "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:40",
+    "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": "10:10",
+    "start_date": "2025-09-10",
+    "start_time": "09:40:00",
+    "start_time_ts": 1757490000,
+    "end_date": "2025-09-10",
+    "end_time": "10:10:00",
+    "event_subtype": "Patterns and community trends"
+  },
+  {
+    "event_key": "913037",
+    "active": "Y",
+    "pinned": "N",
+    "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": "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": "Advanced",
+    "id": "c14c567785a5bebf241630d57eaababd",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "sabrina.wasserman",
+        "id": "21066857",
+        "name": "Sabrina Wasserman",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "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:40",
+    "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": "10:10",
+    "start_date": "2025-09-10",
+    "start_time": "09:40:00",
+    "start_time_ts": 1757490000,
+    "end_date": "2025-09-10",
+    "end_time": "10:10:00",
+    "event_subtype": "Case studies"
+  },
+  {
+    "event_key": "925146",
+    "active": "Y",
+    "pinned": "N",
+    "name": "From Data Loaders To Batch Resolvers - Aileen Chen, Airbnb",
+    "event_start": "2025-09-10 10:20",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "77fa615db3eebcfe0063c0535e2fe972",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "aileen.chen",
+        "id": "23098708",
+        "name": "Aileen Chen",
+        "company": "Airbnb",
+        "custom_order": 0
+      }
+    ],
+    "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": "10:20",
+    "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": "10:50",
+    "start_date": "2025-09-10",
+    "start_time": "10:20:00",
+    "start_time_ts": 1757492400,
+    "end_date": "2025-09-10",
+    "end_time": "10:50:00",
+    "event_subtype": "Backend"
+  },
+  {
+    "event_key": "924215",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Next-Generation GraphQL Cache Management in Your Android and iOS Apps - Benoit Lubek, Apollo GraphQL",
+    "event_start": "2025-09-10 10:20",
+    "event_end": "2025-09-10 10:30",
+    "event_type": "Developer Experience",
+    "description": "Effective caching is essential for building fast, resilient mobile apps especially when aiming for offline-first experiences. Apollo Kotlin and Apollo iOS offer a powerful Normalized Cache component tailored to GraphQL. In this lightning talk, we’ll showcase the latest advancements in both libraries, including support for pagination, cache expiration, and other new features designed to simplify and supercharge cache management on mobile.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "a0e2a06e7fa0578e1b252beef517aef2",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "BoD",
+        "id": "431358",
+        "name": "Benoit Lubek",
+        "company": "Apollo Graph",
+        "custom_order": 0
+      }
+    ],
+    "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": "10:20",
+    "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": "10:30",
+    "start_date": "2025-09-10",
+    "start_time": "10:20:00",
+    "start_time_ts": 1757492400,
+    "end_date": "2025-09-10",
+    "end_time": "10:30:00",
+    "event_subtype": "Frontend"
+  },
+  {
+    "event_key": "924155",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Rebuilding Buffer's Public API - Amanda Marochko & Joe Birch, Buffer",
+    "event_start": "2025-09-10 10:20",
+    "event_end": "2025-09-10 10:50",
+    "event_type": "GraphQL in Production",
+    "description": "Buffer’s Public API has long enabled developers to build tools that amplify the power of social media management. However, as the landscape of social platforms and developer needs has evolved, so too have the requirements for a robust, secure, and developer-friendly API. In this talk, we'll share our journey as we rebuild Buffer’s public API from the ground up, embracing modern GraphQL principles and best practices.\n \nAttendees will get an inside look at our design decisions, from intuitive schema design to robust authentication, and how we’re ensuring a smooth migration path for existing users. We’ll explore how we’re balancing the needs of our developer community with evolving platform policies and technical constraints.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Any",
+    "id": "e6262da79f7c90fd01a2a13570d6b6bc",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "amanda1988",
+        "id": "23098711",
+        "name": "Amanda Marochko",
+        "company": "Buffer",
+        "custom_order": 0
+      },
+      {
+        "username": "joebirch",
+        "id": "23098765",
+        "name": "Joe Birch",
+        "company": "Buffer",
+        "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": "10:20",
+    "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": "10:50",
+    "start_date": "2025-09-10",
+    "start_time": "10:20:00",
+    "start_time_ts": 1757492400,
+    "end_date": "2025-09-10",
+    "end_time": "10:50:00",
+    "event_subtype": "Case studies"
+  },
+  {
+    "event_key": "898726",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL Caching Lightning Talk - Emily Goodwin, Independent",
+    "event_start": "2025-09-10 10:40",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Beginner",
+    "id": "af87438a9b7238f69626d9e1ce57f088",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "goodwin.y.emily",
+        "id": "23098741",
+        "name": "Emily Goodwin",
+        "company": "Independent",
+        "custom_order": 0
+      }
+    ],
+    "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": "10:40",
+    "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": "10:50",
+    "start_date": "2025-09-10",
+    "start_time": "10:40:00",
+    "start_time_ts": 1757493600,
+    "end_date": "2025-09-10",
+    "end_time": "10:50:00",
+    "event_subtype": "Scaling"
+  },
+  {
+    "event_key": "8",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2025-09-10 10:50",
+    "event_end": "2025-09-10 11:15",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "7a2a2ad935e2f7ac1801b3b17e322d74",
+    "venue_id": "2152803",
+    "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": "10:50",
+    "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": "11:15",
+    "start_date": "2025-09-10",
+    "start_time": "10:50:00",
+    "start_time_ts": 1757494200,
+    "end_date": "2025-09-10",
+    "end_time": "11:15:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "925047",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Imagining the Future of GraphQL Documentation Tooling - Jason Kuhrt, The Guild",
+    "event_start": "2025-09-10 11:15",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "6c9b846e538e001af3db938d771d1178",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "jasonkuhrt",
+        "id": "23098756",
+        "name": "Jason Kuhrt",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "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": "11:15",
+    "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": "11:45",
+    "start_date": "2025-09-10",
+    "start_time": "11:15:00",
+    "start_time_ts": 1757495700,
+    "end_date": "2025-09-10",
+    "end_time": "11:45:00",
+    "event_subtype": "Documentation"
+  },
+  {
+    "event_key": "924207",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Deep Dive Into a GraphQL Federation Gateway, From Query Planning To the Execution - Benjamin Rabier, Grafbase",
+    "event_start": "2025-09-10 11:15",
+    "event_end": "2025-09-10 11:45",
+    "event_type": "GraphQL in Production",
+    "description": "Traditional GraphQL servers execute queries field by field with a depth-first algorithm as defined in the GraphQL specification. In contrast, GraphQL federation gateways need to partition the query and retrieve chunks of data from external data sources, creating new challenges. We'll present how we solved those challenges with a focus on performance.\n \nThe first, query planning, is to find the best possible plan with the multiple possibilities federation offers to unify your data and the various data sources with their requirements. We express this problem as a graph of possibilities and solve it as a Steiner Tree problem. The second challenge is performant execution. As we need to read and write overlapping chunks of the response in parallel, it's hard to be as efficient as a traditional GraphQL server writing a response iteratively with independent fields. We build an execution DAG with field dependencies, parallelizing work as much as possible without any lock on the response. We also pre-compute the expected data shape to ingest and validate incoming data into the response without any intermediate memory allocation.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Intermediate",
+    "id": "d017baa3d96bc8ee7e195dbdce137a96",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "benjamin154",
+        "id": "23098720",
+        "name": "Benjamin Rabier",
+        "company": "Grafbase",
+        "custom_order": 0
+      }
+    ],
+    "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": "11:15",
+    "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": "11:45",
+    "start_date": "2025-09-10",
+    "start_time": "11:15:00",
+    "start_time_ts": 1757495700,
+    "end_date": "2025-09-10",
+    "end_time": "11:45:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "925151",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Safely Roll Out Strict Error Handling in Your GraphQL Codebase - Itamar Kestenbaum, Meta",
+    "event_start": "2025-09-10 11:15",
+    "event_end": "2025-09-10 11:45",
+    "event_type": "GraphQL in Production",
+    "description": "Last year we introduced strict error handling - with @throwOnFieldError as an example of how this can be accomplished. This year, we’ll discuss how to safely roll it out.\n \nYou’ve had a GraphQL codebase that weakly handled server-side errors for years. Now, you have the tools (directives, hooks, handlers, and language features) that let you treat field errors properly. However, it’s a daunting task to suddenly explode queries en-masse by flipping a switch. This move is powerful, but requires a thoughtful and data-driven approach to do safely.\n \nIn this talk we’ll cover:\n* Preparing the groundwork for migration to stricter error handling\n* Using data to make informed decisions about fragment/query behavior\n* Gating your change at a singular point\n* Scaling the rollout to a large codebase\n* How we’re approaching this rollout at Meta",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "bca05d46cfc531aeb3cd84927f6483c1",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "itamark",
+        "id": "80829",
+        "name": "Itamar Kestenbaum",
+        "company": "Meta",
+        "custom_order": 0
+      }
+    ],
+    "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": "11:15",
+    "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": "11:45",
+    "start_date": "2025-09-10",
+    "start_time": "11:15:00",
+    "start_time_ts": 1757495700,
+    "end_date": "2025-09-10",
+    "end_time": "11:45:00",
+    "event_subtype": "Scaling"
+  },
+  {
+    "event_key": "924776",
+    "active": "Y",
+    "pinned": "N",
+    "name": "GraphQL in a World of Full-stack, Rich Clients: The Next Evolution - Robert Balicki, Pinterest",
+    "event_start": "2025-09-10 11:55",
+    "event_end": "2025-09-10 12:25",
+    "event_type": "Developer Experience",
+    "description": "One of the great achievements of GraphQL is composable, full-stack type safety: a strongly-typed schema, against which one writes client components, and from which minimal yet sufficient queries are generated. This seamless flow from database to UI, with immediate feedback, compile-time guarantees and great performance, represents an unmatched DevEx breakthrough.\n \nBut what if we use a full-stack client (like Isograph aims to be)? Or use a rich client in combination with a Hasura, Prisma or PostGraphile, and effectively write components against an SQL schema? Have both the GraphQL schema and its operation language become mere implementation details?\n \nIn this talk, I'll explore how GraphQL's apparent disappearance into tooling actually represents its ultimate victory. Even as GraphQL-the-syntax fades from view, its architectural innovations—fragment composability, full-stack type safety, document merging, persisted operations—become the invisible foundation of modern development.\n \nThe best way to honor this legacy isn't to protect its syntax — it's to let its principles be reborn in new forms, evolving as our tools evolve, making app development better for years to come.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "a2bb7f46355a46dcab47d654c9ccbe4e",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "robert.balicki",
+        "id": "18743858",
+        "name": "Robert Balicki",
+        "company": "Pinterest",
+        "custom_order": 0
+      }
+    ],
+    "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": "11:55",
+    "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": "12:25",
+    "start_date": "2025-09-10",
+    "start_time": "11:55:00",
+    "start_time_ts": 1757498100,
+    "end_date": "2025-09-10",
+    "end_time": "12:25:00",
+    "event_subtype": "Frontend"
+  },
+  {
+    "event_key": "929166",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Breaking the Monolith: Our Journey From Proto To Federated GraphQL at Scale - Mansi Mittal, Booking.com",
+    "event_start": "2025-09-10 11:55",
+    "event_end": "2025-09-10 12:25",
+    "event_type": "GraphQL in Production",
+    "description": "HotelPage Service (HPS) is one of the busiest, most business-critical systems at Booking.com — originally built as a REST API with Protobufs for speed and structure. It was fast but rigid. As product demands grew and clients needed more flexibility, cracks began to show: over-fetching, unclear ownership, and slow iteration cycles.\n \nThis talk shares our real-world journey of modernizing that stack with GraphQL — not just adopting it as a new interface, but transforming how teams design schemas, collaborate across domains, and scale under load. We’ll walk through how we evolved from a proto-backed monolith to a federated GraphQL architecture — improving performance, enabling resolver ownership, and making the schema reflect real product needs.\n \nWhether you're planning a GraphQL migration or scaling one across teams, this talk delivers actionable insights and hard-won lessons from operating at billions of requests per day.\n \nAttendees will gain:\n- Align schema design with client and product needs\n- Handle organisational complexity in federation\n- Avoid pitfalls like over-fetching and the N+1 trap\n- Drive resolver ownership and collaboration\n- Optimise execution paths under high traffic",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Any",
+    "id": "0296c34928a818353f1568775e47b47a",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "mansi.mittal",
+        "id": "23098777",
+        "name": "Mansi Mittal",
+        "company": "Booking.com",
+        "custom_order": 0
+      }
+    ],
+    "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": "11:55",
+    "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": "12:25",
+    "start_date": "2025-09-10",
+    "start_time": "11:55:00",
+    "start_time_ts": 1757498100,
+    "end_date": "2025-09-10",
+    "end_time": "12:25:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "919528",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Smarter Caching With Events: Targeted Invalidation in Federated Graphs - Juan Carlos Blanco Delgado, RS Group",
+    "event_start": "2025-09-10 11:55",
+    "event_end": "2025-09-10 12:25",
+    "event_type": "GraphQL in Production",
+    "description": "Caching is one of the most powerful tools for improving API performance—but in a federated GraphQL architecture, stale data can quickly become a serious challenge. In this session, we will dive into how event-driven patterns can enable precise cache invalidation at the subgraph level, keeping your data fresh without sacrificing speed.\n \nYou will learn key design principles, practical integration strategies for GraphQL subgraphs, and the business impact of a smarter caching approach. We will also explore real-world use cases and demonstrate how CloudEvents can standardize event-based workflows across your architecture. Whether you are optimizing an existing caching layer or just beginning your caching journey, this talk will equip you with practical strategies to reduce latency, lower infrastructure costs, and deliver more reliable experiences to your users.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Any",
+    "id": "aa21698ac3efc45ee1e7a9cbbaf830fe",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "juancarlosjr97",
+        "id": "23098768",
+        "name": "Juan Carlos Blanco Delgado",
+        "company": "RS Group",
+        "custom_order": 0
+      }
+    ],
+    "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": "11:55",
+    "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": "12:25",
+    "start_date": "2025-09-10",
+    "start_time": "11:55:00",
+    "start_time_ts": 1757498100,
+    "end_date": "2025-09-10",
+    "end_time": "12:25:00",
+    "event_subtype": "Scaling"
+  },
+  {
+    "event_key": "12",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Lunch",
+    "event_start": "2025-09-10 12:25",
+    "event_end": "2025-09-10 13:40",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "466063ea35a642dc69aa3f25ad47aa3e",
+    "venue_id": "2152803",
+    "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": "12:25",
+    "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": "13:40",
+    "start_date": "2025-09-10",
+    "start_time": "12:25:00",
+    "start_time_ts": 1757499900,
+    "end_date": "2025-09-10",
+    "end_time": "13:40:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "923860",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Reintroducing Apollo Client: V4 and Beyond - Jerel Miller & Lenz Weber-Tronic, Apollo GraphQL",
+    "event_start": "2025-09-10 13:40",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "efe5aee612551209ba413d57d3ddbb4e",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "jerel.miller",
+        "id": "23098762",
+        "name": "Jerel Miller",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      },
+      {
+        "username": "mail1232",
+        "id": "23098771",
+        "name": "Lenz Weber-Tronic",
+        "company": "Apollo GraphQL",
+        "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": "13:40",
+    "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": "14:10",
+    "start_date": "2025-09-10",
+    "start_time": "13:40:00",
+    "start_time_ts": 1757504400,
+    "end_date": "2025-09-10",
+    "end_time": "14:10:00",
+    "event_subtype": "Frontend"
+  },
+  {
+    "event_key": "924498",
+    "active": "Y",
+    "pinned": "N",
+    "name": "LinkedIn's Code-First Approach To Federated GraphQL With gRPC - Ethan Shen & Spencer Kwok, LinkedIn",
+    "event_start": "2025-09-10 13:40",
+    "event_end": "2025-09-10 14:10",
+    "event_type": "GraphQL in Production",
+    "description": "Imagine having a federated GraphQL query builder customized to meet unique software infrastructure requirements—have you ever dreamed of such a tool? If so, please join us for an exciting session where we uncover LinkedIn’s code first approach to querying entity-oriented data with federated GraphQL on top of backend gRPC services. Discover how our solution leverages the advanced capabilities of gRPC for enhanced performance, low latency, and multi-language support, while achieving seamless integration with our established Rest.li framework. We will dive into the motivations behind adopting this strategy, the intricate challenges encountered, and the significant improvements in developer experience and productivity it brings. With real-world examples and performance benchmarks, witness how this approach modernizes our service infrastructure, leading to more efficient and scalable solutions.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Intermediate",
+    "id": "dbabde0d810676b2a3633fa3b35de544",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "skwok5",
+        "id": "23138920",
+        "name": "Spencer Kwok",
+        "company": "LinkedIn",
+        "custom_order": 0
+      },
+      {
+        "username": "ethan_shen.28dgusli",
+        "id": "23098744",
+        "name": "Ethan Shen",
+        "company": "LinkedIn",
+        "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": "13:40",
+    "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": "14:10",
+    "start_date": "2025-09-10",
+    "start_time": "13:40:00",
+    "start_time_ts": 1757504400,
+    "end_date": "2025-09-10",
+    "end_time": "14:10:00",
+    "event_subtype": "Federation and distributed systems"
+  },
+  {
+    "event_key": "922855",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The Two GraphQLs - Andrei Bocan & Andreas Marek, Atlassian",
+    "event_start": "2025-09-10 13:40",
+    "event_end": "2025-09-10 14:10",
+    "event_type": "GraphQL in Production",
+    "description": "When adopting GraphQL, teams diligently follow \"best practices\" without realizing they're actually choosing between two fundamentally different approaches: designing schemas to serve UI components (frontend-first) or to represent domain models (structure-first). This distinction is rarely framed as an explicit choice in GraphQL literature, with most examples showcasing the structure-first approach by default.\n\nYet this initial decision shapes everything from your team structure to how you handle breaking changes—and if you start with a structure-first approach, it's especially difficult to unwind that decision later. In this session, we'll explore the critical differences between these philosophies, examine how they manifest in real schemas, and analyze the trade-offs each approach presents. You'll see how changes that feel natural in one approach become deeply problematic in the other, and learn to identify which patterns your team has already begun to follow.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "f0b80ea2f4d001d47e50ee68ee8ef27f",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "andreas.marek1",
+        "id": "21066795",
+        "name": "Andreas Marek",
+        "company": "Atlassian",
+        "custom_order": 0
+      },
+      {
+        "username": "andrei.bocan",
+        "id": "21066797",
+        "name": "Andrei Bocan",
+        "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": "13:40",
+    "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": "14:10",
+    "start_date": "2025-09-10",
+    "start_time": "13:40:00",
+    "start_time_ts": 1757504400,
+    "end_date": "2025-09-10",
+    "end_time": "14:10:00",
+    "event_subtype": "Schema evolution"
+  },
+  {
+    "event_key": "927072",
+    "active": "Y",
+    "pinned": "N",
+    "name": "The New GraphiQL - Dimitri Postolov, -",
+    "event_start": "2025-09-10 14:20",
+    "event_end": "2025-09-10 14:50",
+    "event_type": "Developer Experience",
+    "description": "In this talk, I will discuss recent developments in GraphiQL, including compiling source code with the React Compiler, support for React 19, migration to Zustand for state management, and the long-awaited transition to the Monaco Editor.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Any",
+    "id": "0ff353b09a53bca86f60c961faa4c6f3",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "en3m",
+        "id": "18743843",
+        "name": "Dimitri Postolov",
+        "company": "-",
+        "custom_order": 0
+      }
+    ],
+    "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": "14:20",
+    "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": "14:50",
+    "start_date": "2025-09-10",
+    "start_time": "14:20:00",
+    "start_time_ts": 1757506800,
+    "end_date": "2025-09-10",
+    "end_time": "14:50:00",
+    "event_subtype": "Frontend"
+  },
+  {
+    "event_key": "924505",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Instagram’s REST To GraphQL Migration - Xiao Han, Chi Chan, Anirudh Padmarao, Lisa Watkins & Curtis Li, Meta",
+    "event_start": "2025-09-10 14:20",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "5488aa89d9612e06d58e66cc521bcc38",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "apadmarao",
+        "id": "23098714",
+        "name": "Anirudh Padmarao",
+        "company": "Meta",
+        "custom_order": 0
+      },
+      {
+        "username": "chanc2",
+        "id": "23098726",
+        "name": "Chi Chan",
+        "company": "Meta",
+        "custom_order": 1
+      },
+      {
+        "username": "curtis99877",
+        "id": "23098729",
+        "name": "Curtis Li",
+        "company": "Meta Platforms",
+        "custom_order": 2
+      },
+      {
+        "username": "lisamwatkins",
+        "id": "23098774",
+        "name": "Lisa Watkins",
+        "company": "Meta",
+        "custom_order": 3
+      },
+      {
+        "username": "x65han",
+        "id": "23098816",
+        "name": "Xiao Han",
+        "company": "Meta Inc.",
+        "custom_order": 4
+      }
+    ],
+    "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": "14:20",
+    "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": "14:50",
+    "start_date": "2025-09-10",
+    "start_time": "14:20:00",
+    "start_time_ts": 1757506800,
+    "end_date": "2025-09-10",
+    "end_time": "14:50:00",
+    "event_subtype": "Case studies"
+  },
+  {
+    "event_key": "924826",
+    "active": "Y",
+    "pinned": "N",
+    "name": "\"Please Migrate Away From Field X To Field Y Before Z\" - A Story on Automating Our Deprecation Lifecycle - Rick Bijkerk, Bol",
+    "event_start": "2025-09-10 14:20",
+    "event_end": "2025-09-10 14:30",
+    "event_type": "GraphQL in Production",
+    "description": "Any company that wants to innovate deals with change. Within GraphQL that often means introducing new fields but also deprecating old fields & types.\nThe faster you can get rid of these old fields & types the less complex your architecture is and less complexity means an easier time building new features!\n\nWe saw this problem and got tired of the endless “please migrate away from field X to field Y before Z” emails, which were often not even sent to the right group of consumers!\n\nWe automated this process by building a slack bot that uses production analytical data to figure out what clients are using deprecated fields and automated the communication!",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Any",
+    "id": "b22c4cbb4356649d15129696322b6777",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "rickbijkerk54",
+        "id": "19320231",
+        "name": "Rick Bijkerk",
+        "company": "Bol",
+        "custom_order": 0
+      }
+    ],
+    "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": "14:20",
+    "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": "14:30",
+    "start_date": "2025-09-10",
+    "start_time": "14:20:00",
+    "start_time_ts": 1757506800,
+    "end_date": "2025-09-10",
+    "end_time": "14:30:00",
+    "event_subtype": "Schema evolution"
+  },
+  {
+    "event_key": "929620",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Efficient Semantic Comparison of GraphQL Queries - Derek Kuc, Apollo GraphQL",
+    "event_start": "2025-09-10 14:40",
+    "event_end": "2025-09-10 14:50",
+    "event_type": "Developer Experience",
+    "description": "Ever wondered if two seemingly different GraphQL queries actually return the same data? Or how to ensure that complex queries—packed with type conditions and directives like @skip/@include—still mean the same thing after a major refactor? In this talk, we’ll explore a novel static analysis technique that efficiently checks whether one query’s response is always a subset of another’s. By performing this subset test in both directions, we can reliably determine query equivalence—bringing new clarity to complex GraphQL operations.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "deac4044512d6d0a59c76aa712a777a4",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "dkuc",
+        "id": "23173220",
+        "name": "Derek Kuc",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "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": "14:40",
+    "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": "14:50",
+    "start_date": "2025-09-10",
+    "start_time": "14:40:00",
+    "start_time_ts": 1757508000,
+    "end_date": "2025-09-10",
+    "end_time": "14:50:00",
+    "event_subtype": "Testing"
+  },
+  {
+    "event_key": "925155",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Building Resilient APIs: Techniques for Easy and Effective Error Handling - Jesper Rasmussen, The LEGO Group",
+    "event_start": "2025-09-10 15:00",
+    "event_end": "2025-09-10 15:30",
+    "event_type": "Developer Experience",
+    "description": "Error handling is a critical aspect of developing robust GraphQL applications. Misuse or misunderstanding of errors can lead to applications that fail to function correctly, causing frustration for both developers and users.\n\nIn this talk, we explore how to effectively manage errors in GraphQL, ensuring they are wrapped in a useful way, the implementation details are hidden behind them, and common design pitfalls are avoided.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Intermediate",
+    "id": "8ac5513fb2d9a6accff3ed83471540e2",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "jesperrasmussen",
+        "id": "5254118",
+        "name": "Jesper Rasmussen",
+        "company": "The LEGO Group",
+        "custom_order": 0
+      }
+    ],
+    "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": "15: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": "15:30",
+    "start_date": "2025-09-10",
+    "start_time": "15:00:00",
+    "start_time_ts": 1757509200,
+    "end_date": "2025-09-10",
+    "end_time": "15:30:00",
+    "event_subtype": "Patterns and community trends"
+  },
+  {
+    "event_key": "929167",
+    "active": "Y",
+    "pinned": "N",
+    "name": "“One Scheme To Rule Them All”: Simplifying 10+ Mediaset Apps With One Single GraphQL Service - Marco Reni, Mediaset",
+    "event_start": "2025-09-10 15:00",
+    "event_end": "2025-09-10 15:30",
+    "event_type": "GraphQL in Production",
+    "description": "Mediaset, one of Europe largest free broadcasters, owns and manages more than ten consumer-facing applications across web, mobile, and smart TV platforms, leading the Media and Entertainment ecosystem in Italy and Europe. Historically, each of these apps (managed by distinct development teams) interacted directly with several different backend APIs to serve content to customers, resulting in redundant development efforts, inconsistencies between platforms and enormous and useless network transfers.\n\nIn this session we will present how, by creating a carefully designed GraphQL schema, we managed to transition each of them to a more streamlined approach, where the backend complexity and variety is hidden from the frontend integrations. We will dive into the choices made, the GraphQL features that we leveraged (one among all, Trusted Documents to exploit CDNs and improve security), the issues that we've encountered while building the system, and the benefits that we gained from all perspectives: user experience, development perspective, feature delivery and time to market.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Intermediate",
+    "id": "c8078724c37fbcf7a899c4c653e473f9",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "marco.reni",
+        "id": "23098780",
+        "name": "Marco Reni",
+        "company": "Mediaset - MFE",
+        "custom_order": 0
+      }
+    ],
+    "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": "15: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": "15:30",
+    "start_date": "2025-09-10",
+    "start_time": "15:00:00",
+    "start_time_ts": 1757509200,
+    "end_date": "2025-09-10",
+    "end_time": "15:30:00",
+    "event_subtype": "Case studies"
+  },
+  {
+    "event_key": "924552",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Proven Schema Designs and Best-practices - Jeff Dolle, The Guild",
+    "event_start": "2025-09-10 15:00",
+    "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": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Any",
+    "id": "9e816cd378c96b466658842ef0900183",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "jeff737",
+        "id": "23098759",
+        "name": "Jeff Dolle",
+        "company": "The Guild",
+        "custom_order": 0
+      }
+    ],
+    "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": "15: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": "15:30",
+    "start_date": "2025-09-10",
+    "start_time": "15:00:00",
+    "start_time_ts": 1757509200,
+    "end_date": "2025-09-10",
+    "end_time": "15:30:00",
+    "event_subtype": "Schema evolution"
+  },
+  {
+    "event_key": "9",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Break",
+    "event_start": "2025-09-10 15:30",
+    "event_end": "2025-09-10 15:50",
+    "event_type": "Breaks / Networking / Special Events",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Foyer Grote Zaal - 2nd Floor",
+    "id": "9ef4af16d7ad63877af95cb200d75848",
+    "venue_id": "2152803",
+    "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": "15:30",
+    "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": "15:50",
+    "start_date": "2025-09-10",
+    "start_time": "15:30:00",
+    "start_time_ts": 1757511000,
+    "end_date": "2025-09-10",
+    "end_time": "15:50:00",
+    "event_subtype": "",
+    "description": ""
+  },
+  {
+    "event_key": "929628",
+    "active": "Y",
+    "pinned": "N",
+    "name": "LLMs + GraphQL + MCP: A Blueprint for Scalable AI Tooling - Erik Wrede, Strawberry-GraphQL & Thore Koritzius, Independent",
+    "event_start": "2025-09-10 15:50",
+    "event_end": "2025-09-10 16:20",
+    "event_type": "AI / LLMs",
+    "description": "Plugging an LLM into GraphQL sounds simple—until it drowns in thousands of fields, types, and connections. Most models today can’t reason effectively over large APIs without brittle prompt hacks or hardcoded shortcuts.\n\nModel Context Protocol (MCP) is the cutting-edge solution for enabling seamless, dynamic interactions between LLMs and external tooling. It standardizes the way models interact with various tools, breaking down barriers between APIs and AI systems.\n\nIn this talk, you’ll discover how to turn any GraphQL endpoint into an MCP-compatible server with minimal overhead. Reuse your existing GraphQL infrastructure to avoid reinventing authorization, schema management, and validation enabling scalable, robust LLM integrations. We’ll compare existing tools and automated schema discovery against hand-crafted mappers based on benchmarks of public GraphQL APIs. Join us to learn about our experiences and recommendations for your next GenAI project, powered by GraphQL.",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "IJzaal - 5th Floor",
+    "audience": "Intermediate",
+    "id": "0edcd2dd0e8d11fb19db1974a0114df0",
+    "venue_id": "2152806",
+    "speakers": [
+      {
+        "username": "erikwrede2",
+        "id": "21102110",
+        "name": "Erik Wrede",
+        "company": "Strawberry-GraphQL",
+        "custom_order": 0
+      },
+      {
+        "username": "thorekoritzius",
+        "id": "23218043",
+        "name": "Thore Koritzius",
+        "company": "Independent",
+        "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": "15:50",
+    "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": "16:20",
+    "start_date": "2025-09-10",
+    "start_time": "15:50:00",
+    "start_time_ts": 1757512200,
+    "end_date": "2025-09-10",
+    "end_time": "16:20:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "929627",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Relay Migration API at Pinterest - Mauricio Montalvo, Pinterest",
+    "event_start": "2025-09-10 15:50",
+    "event_end": "2025-09-10 16:20",
+    "event_type": "GraphQL in Production",
+    "description": "Pinterest is adopting GraphQL. Given our app's size, we can't simply rewrite everything in one fell swoop. So, we created the Relay Migration API (RMA) — a set of tools to incrementally migrate your React components to consume GraphQL-shaped data while making requests to REST endpoints.\n\nI'll share how we've significantly evolved the RMA after migrating four key surfaces, focusing on the advanced challenges we faced:\n\nRMA recreates objects on every render by default, breaking components expecting stable references. We implemented a caching layer, similar to Relay's, to return consistent objects between renders. RMA originally read from static source objects, creating stale data when Redux state changed. Our solution: a selective subscription system that re-computes GraphQL data only when source fields change, keeping data current while eliminating unnecessary renders. And in cases where Redux and GraphQL schemas fundamentally differ, we built bidirectional mapping with schema validation to ensure data consistency.\nJoin us to learn how the Relay migration API has evolved and how it helps you accelerate your GraphQL migrations without disrupting existing applications!",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Studio - 5th Floor",
+    "audience": "Beginner",
+    "id": "e80e32b1285a7c9a8c591a34f5e3ce1d",
+    "venue_id": "2152809",
+    "speakers": [
+      {
+        "username": "mauricio.montalvo.guzman",
+        "id": "21066831",
+        "name": "Mauricio Montalvo",
+        "company": "Pinterest",
+        "custom_order": 0
+      }
+    ],
+    "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": "15:50",
+    "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": "16:20",
+    "start_date": "2025-09-10",
+    "start_time": "15:50:00",
+    "start_time_ts": 1757512200,
+    "end_date": "2025-09-10",
+    "end_time": "16:20:00",
+    "event_subtype": "Case studies"
+  },
+  {
+    "event_key": "922697",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: What Is the GraphQL Foundation? - Jeff Auriemma, Senior Engineering Manager, Apollo GraphQL",
+    "event_start": "2025-09-10 16:30",
+    "event_end": "2025-09-10 16:45",
+    "event_type": "Keynote Sessions",
+    "description": "This talk will give attendees an overview of the structure of GraphQL's official organizations: The GraphQL Foundation and the GraphQL Specification Project. It will get specific about the governance and roadmaps of each organization and their specific priorities in 2025 and beyond.\n\nIn my time serving in these various institutions, I've noticed that even the most active GraphQL practitioners aren't fully aware of what they are and what they do. Attendees will learn about the GraphQL Working Group, the Technical Steering Committee, and the Foundation's Governing Board. We'll also touch upon the various technical working groups and the new Community Working Group. The talk culminates in a call to action for folks to get involved.",
+    "goers": "1",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "1874c6f0bece5c91a1b6ff621cd21e2d",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "jeff.auriemma",
+        "id": "18743876",
+        "name": "Jeff Auriemma",
+        "company": "Apollo GraphQL",
+        "custom_order": 0
+      }
+    ],
+    "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": "16:30",
+    "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": "16:45",
+    "start_date": "2025-09-10",
+    "start_time": "16:30:00",
+    "start_time_ts": 1757514600,
+    "end_date": "2025-09-10",
+    "end_time": "16:45:00",
+    "event_subtype": ""
+  },
+  {
+    "event_key": "14",
+    "active": "Y",
+    "pinned": "N",
+    "name": "Keynote: Closing Remarks - Lee Byron, Co-Creator of GraphQL & Director, GraphQL Foundation",
+    "event_start": "2025-09-10 16:45",
+    "event_end": "2025-09-10 17:00",
+    "event_type": "Keynote Sessions",
+    "goers": "0",
+    "seats": "0",
+    "invite_only": "N",
+    "venue": "Grote Zaal - 2nd Floor",
+    "audience": "Any",
+    "id": "cb86b2c03a77f0f4133f2d906911cd83",
+    "venue_id": "2152800",
+    "speakers": [
+      {
+        "username": "lee_byron.25jvpjmb",
+        "id": "18743534",
+        "name": "Lee Byron",
+        "company": "GraphQL Foundation",
+        "custom_order": 0
+      }
+    ],
+    "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": "16:45",
+    "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": "17:00",
+    "start_date": "2025-09-10",
+    "start_time": "16:45:00",
+    "start_time_ts": 1757515500,
+    "end_date": "2025-09-10",
+    "end_time": "17:00:00",
+    "event_subtype": "",
+    "description": ""
+  }
+]
\ No newline at end of file
diff --git a/scripts/sync-sched/speakers.json b/scripts/sync-sched/speakers.json
new file mode 100644
index 0000000000..3fbf3a5e43
--- /dev/null
+++ b/scripts/sync-sched/speakers.json
@@ -0,0 +1,3429 @@
+{
+  "equal": [
+    [
+      "christian.ernst",
+      "christian.ernst1"
+    ],
+    [
+      "dotan1",
+      "dotansimha"
+    ],
+    [
+      "janette.cheng",
+      "janettelc"
+    ],
+    [
+      "jordaneldredge",
+      "jordaneldredge1"
+    ],
+    [
+      "lee_byron.25jvpjmb",
+      "lee_byron.25krdom6"
+    ],
+    [
+      "pooja.mistry",
+      "pooja.mistry1"
+    ],
+    [
+      "saihaj",
+      "saihajpreet.singh"
+    ]
+  ],
+  "speakers": [
+    {
+      "username": "abbottry",
+      "company": "NASA EED-3 / Element 84",
+      "position": "Senior Software Engineer",
+      "name": "Ryan Abbott",
+      "about": "Ryan Abbott is a software engineer with over 15 years of experience building scalable and maintainable backend systems. He currently works as a contractor for NASA through Element 84, where he is responsible for developing and maintaining mission-critical applications. Ryan is passionate about leveraging the right tools and technologies to create reliable and efficient systems. When not working, Ryan can be found flying planes, playing soccer, and spending quality time with his wife and kids.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/9/c4/18680304/avatar.jpg.320x320px.jpg?949",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381879
+    },
+    {
+      "username": "adam_malone.2791s6x2",
+      "company": "Hasura",
+      "position": "Global Director, Sales Engineering",
+      "name": "Adam Malone",
+      "about": "",
+      "location": "",
+      "url": "",
+      "avatar": "",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502251756
+    },
+    {
+      "username": "adam.miskiewicz",
+      "company": "Airbnb",
+      "position": "Viaduct Platform Lead",
+      "name": "Adam Miskiewicz",
+      "about": "Adam is a Senior Staff Software Engineer at Airbnb, where he leads platform architecture with a focus on performance, developer experience, and large-scale GraphQL systems. He’s one of the core architects behind Viaduct, Airbnb’s multi-tenant GraphQL platform, and is known for turning complex ideas into scalable, developer-friendly infrastructure. When he's not deep in Kotlin or shaping deployment strategy, he's probably pushing teams to move faster — safely.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/8/82/23352721/avatar.jpg.320x320px.jpg?bfd",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://x.com/skevy"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/adammiskiewicz/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079549
+    },
+    {
+      "username": "adam.sayah",
+      "company": "Solo.io",
+      "position": "Product Manager",
+      "name": "Adam Sayah",
+      "about": "Adam Sayah is Field Engineer at Solo.io, a company specializing in open source and enterprise software for application networking from the edge to service mesh. At Solo.io, Adam helps organizations build and operate robust cloud-native architecture. Prior to Solo.io, Adam held software engineering roles at cloud-native technology companies, working on Managed File Transfers, Kubernetes, API gateways, and service mesh.",
+      "location": "",
+      "url": "https://solo.io",
+      "avatar": "//avatars.sched.co/e/3c/12615405/avatar.jpg.320x320px.jpg?742",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/_asayah"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/adamsayah/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749497543087
+    },
+    {
+      "username": "aditi_rajawat",
+      "company": "Intuit",
+      "position": "Software Engineering Manager",
+      "name": "Aditi Rajawat",
+      "about": "Aditi is an Engineering manager at Intuit leading GraphQL API Platform team, who transitioned into this role the current year from Staff Software Engineer. She has experience of 9 years in the software industry and enjoys working on distributed software systems. She is driving GraphQL adoption at Intuit with focus on improving developer productivity and holding a high bar for operational excellence of GraphQL runtime. Recently, she is also building a new habit to read books in her free time.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/7/07/21066788/avatar.jpg.320x320px.jpg?825",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749503031962
+    },
+    {
+      "username": "aileen.chen",
+      "company": "Airbnb",
+      "position": "Staff Software Engineer",
+      "name": "Aileen Chen",
+      "about": "I work on Viaduct, Airbnb's GraphQL-based data-oriented service mesh.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/65/23098708/avatar.jpg.320x320px.jpg?37c",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "ajhingran",
+      "company": "IBM",
+      "position": "IBM Fellow & CTO, Software",
+      "name": "Anant Jhingran",
+      "about": "Anant Jhingran is the CTO for IBM Software. He came into this current role when StepZen was acquired by IBM in February 2023. He was the CEO of StepZen, which he co-founded in early 2020 along with a couple of his Apigee colleagues. StepZen delivers GraphQL APIs using declarative approaches that he learnt from his decades of experience building out IBM's databases. \n \nHe has shipped deeply technical products that have been deployed in 1000s of enterprises. Before founding StepZen, he helped take Apigee public, as well as its acquisition by Google. He has a PhD in database systems from UC Berkeley and is accomplished in his professional career (IBM Fellow; CTO of IBM's Information Management Division; Distinguished Alumnus, IIT Delhi). His products have delivered billions of dollars of revenue at IBM and Apigee, and he has led large teams of researchers, engineers and product managers during his career.\n \nHe has received several awards including IBM Fellow, IIT Delhi Distinguished Alumnus Award, IBM Corporate Award for contributions to DB2, President's Gold Medal for highest GPA at IIT Delhi, and IBM Academy of Technology. He is the author of over a dozen patents and over 20 technical papers and is frequently giving keynotes in industry and academic conferences.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/3/48/19225935/avatar.jpg.320x320px.jpg?a5a",
+      "socialurls": [],
+      "_years": [
+        2023,
+        2024
+      ],
+      "~syncedDetailsAt": 1749497429311
+    },
+    {
+      "username": "alan.quigley",
+      "company": "Toast Inc",
+      "position": "Principal Software Engineer",
+      "name": "Alan Quigley",
+      "about": "I live in Dublin with my wife and two kids, near the city centre. I’ve been a Frontend Engineer at Toast for five years, with over twenty years of experience. At Toast, I’ve helped lead our design system and micro frontend architecture, and I’m currently focusing on the GraphQL tool chain to enhance our development process. Before engineering, I worked in Animation, where I learned the value of process and consistency, which I apply to my work today.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/a/aa/21066789/avatar.jpg.320x320px.jpg?256",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749503993038
+    },
+    {
+      "username": "alec102",
+      "company": "HoudiniLabs",
+      "position": "CEO",
+      "name": "Alec Aivazis",
+      "about": "Alec is an open source enthusiast currently focused on Houdini, a GraphQL client. He spends his time away from the keyboard tending to a collection of carnivorous plants. And when he's in the mood for a sunburn, he also enjoys cycling and sailing with his family.",
+      "location": "",
+      "url": "https://alec.aivazis.com/",
+      "avatar": "//avatars.sched.co/d/b3/18743870/avatar.jpg.320x320px.jpg?03d",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/alecaivazis"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/alecaivazis"
+        }
+      ],
+      "_years": [
+        2023,
+        2025
+      ],
+      "~syncedDetailsAt": 1753215856700
+    },
+    {
+      "username": "alex_reilly.7ldur4l",
+      "company": "Independent",
+      "position": "Software Engineer",
+      "name": "Alex Reilly",
+      "about": "",
+      "location": "San Francisco",
+      "url": "https://alex.dev",
+      "avatar": "//avatars.sched.co/9/8e/14900019/avatar.jpg.320x320px.jpg?3f4",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://x.com/alex_reilly_pro"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/alexander-reilly/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749497429311
+    },
+    {
+      "username": "alexsandra.sikora",
+      "company": "The Guild",
+      "position": "Open-source developer",
+      "name": "Aleksandra Sikora",
+      "about": "Aleksandra is an open-source developer at The Guild, based in Wrocław, Poland. Previously a tech lead for the Hasura Console and a lead maintainer of Blitz.js. Deeply passionate about open-source, TypeScript and dedicated to staying up to date with the JavaScript ecosystem.",
+      "location": "",
+      "url": "https://the-guild.dev/",
+      "avatar": "//avatars.sched.co/5/98/18743798/avatar.jpg.320x320px.jpg?43c",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/aleksandrasays"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/aleksandra-sikora-b54699132/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749497543087
+    },
+    {
+      "username": "amanda1988",
+      "company": "Buffer",
+      "position": "Staff Product Manager",
+      "name": "Amanda Marochko",
+      "about": "Originally from Ottawa, Canada, and currently based in Amsterdam, The Netherlands. Amanda Marochko is a Staff Product Manager at Buffer, responsible for maintaining and expanding Buffer's core product offering through channels and integrations. Prior to Buffer, she was the International Growth Lead (EMEA) at Shopify. Outside of work, she runs a non-profit for women in tech.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/80/23098711/avatar.jpg.320x320px.jpg?fab",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "amy1908",
+      "company": "RedwoodJS",
+      "position": "Lead Maintainer on the RedwoodJS Core Team",
+      "name": "Amy Dutton",
+      "about": "Amy loves using her 22 years of internet experience to teach developers how to design, and designers how to develop. She lives in Nashville, TN USA with her husband, 3 adorable kids, and 2 dogs.",
+      "location": "",
+      "url": "https://redwoodjs.com",
+      "avatar": "//avatars.sched.co/4/80/16832327/avatar.jpg.320x320px.jpg?42e",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381879
+    },
+    {
+      "username": "an.ngo",
+      "company": "bol",
+      "position": "Tech Lead",
+      "name": "An Ngo",
+      "about": "An Ngo is a Tech Lead at bol. A GraphQL enthusiast since 2019, and founder of the API BrainTrust and a contributor of the (REST/GraphQL) API guidelines within bol. Currently core member of the GraphQL stewardship for the adoption of GraphQL at bol.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/28/21066792/avatar.jpg.320x320px.jpg?375",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/vliegveld5/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749497429311
+    },
+    {
+      "username": "andreas.heiberg",
+      "company": "Stellate",
+      "position": "Engineering Manager",
+      "name": "Andreas Heiberg",
+      "about": "In 2016 Andreas built a novel closed-source GraphQL server & client implementation at DueDil to optimise their large GraphQL infrastructure beyond what the DataLoader pattern allowed. At Babylon Health Andreas was the Engineering Manager for the GraphQL team and used Apollo Federation to move the health care industry forward. Today Andreas is the Engineering Manager at Stellate - bringing superpowers to large-scale GraphQL APIs.",
+      "location": "London, United Kingdom",
+      "url": "https://stellate.co/",
+      "avatar": "//avatars.sched.co/9/16/18743801/avatar.jpg.320x320px.jpg?7e0",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/andheiberg"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/andheiberg/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "andreas.marek1",
+      "company": "Atlassian",
+      "position": "Developer",
+      "name": "Andreas Marek",
+      "about": "GraphQL TSC Member and GraphQL Java founder. Working on all things GraphQL at Atlassian.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/ac/21066795/avatar.jpg.320x320px.jpg?556",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1753215856700
+    },
+    {
+      "username": "andrei.bocan",
+      "company": "Atlassian",
+      "position": "Principal Engineer",
+      "name": "Andrei Bocan",
+      "about": "Andrei is a professional book hoarder who frequently complains about software.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/c3/21066797/avatar.jpg.320x320px.jpg?fc6",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "andrew.doyle1",
+      "company": "U.S. House of Representatives",
+      "position": "Director of Legislative Applications",
+      "name": "Andrew Doyle",
+      "about": "Andy Doyle is a technologist with over 30 years experience building systems. He currently works for the House of Representatives modernizing applications that support the legislative process.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/e/7d/21066800/avatar.jpg.320x320px.jpg?55c",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505494947
+    },
+    {
+      "username": "ankita25",
+      "company": "Akto.io",
+      "position": "Co-founder and CEO",
+      "name": "Ankita Gupta",
+      "about": "Ankita is the co-founder and CEO of Akto.io. Prior to Akto she has experience working in VMware, LinkedIn and JP Morgan. She holds MBA from Dartmouth College and Bachelors in Technology from IIT Roorkee.",
+      "location": "San Francisco",
+      "url": "https://akto.io/",
+      "avatar": "//avatars.sched.co/9/a0/21265832/avatar.jpg.320x320px.jpg?b49",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/ankitaiitr"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/ankita-gupta-89214515/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501873330
+    },
+    {
+      "username": "annyce.davis",
+      "company": "Meetup",
+      "position": "Vice President of Engineering",
+      "name": "Annyce Davis",
+      "about": "Annyce is an Android and Kotlin Google Developer Expert. She has spent the past 10+ years developing applications for the Android ecosystem across multiple form factors. She is also an international conference speaker and author, sharing her knowledge of Android and Kotlin development with others!",
+      "location": "United States",
+      "url": "https://www.meetup.com",
+      "avatar": "//avatars.sched.co/3/11/2147992/avatar.jpg.320x320px.jpg?b1a",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/brwngrldev"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/annycedavis"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "anthony_miller1",
+      "company": "Apollo GraphQL",
+      "position": "Principal Engineer - iOS",
+      "name": "Anthony Miller",
+      "about": "Anthony Miller leads the development of Apollo GraphQL’s iOS client library. He has a passion for client-side infrastructure, quality API design, and writing far too many unit tests. Outside of Apollo, Anthony enjoys board gaming with friends, watching movies, and relaxing by the pool.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/01/21066803/avatar.jpg.320x320px.jpg?46c",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505494947
+    },
+    {
+      "username": "antoine.carossio",
+      "company": "Escape.tech",
+      "position": "Cofounder & CTO",
+      "name": "Antoine Carossio",
+      "about": "Former pentester for the French Intelligence Services.\nFormer Machine Learning Research @ Apple.\n\nlinkedin.com/in/acarossio/\nescape.tech (company)\n@iCarossio\nescape.tech (blog)",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/c/49/18743834/avatar.jpg.320x320px.jpg?7f3",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/iCarossio"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/acarossio/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "anushrut.gupta",
+      "company": "Hasura",
+      "position": "Senior Product Manager, Generative AI",
+      "name": "Anushrut Gupta",
+      "about": "We are building Pacha, an incredible tool that helps you build powerful AI applications that connect to any kind of data source with authorization, give LLMs a programmatic runtime and structured memory to eliminate context loss.",
+      "location": "San Francisco, California",
+      "url": "askpacha.ai",
+      "avatar": "//avatars.sched.co/3/3e/21460012/avatar.jpg.320x320px.jpg?925",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/anushrut-gupta/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501873331
+    },
+    {
+      "username": "apadmarao",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Anirudh Padmarao",
+      "about": "Server Infrastructure at Instagram",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/7/7a/23098714/avatar.jpg.320x320px.jpg?a19",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "ardatanrikulu",
+      "company": "The Guild",
+      "position": "Open Source Developer",
+      "name": "Arda Tanrıkulu",
+      "about": "",
+      "location": "İstanbul, Türkiye",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/10/18982310/avatar.jpg.320x320px.jpg?e18",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/ardatanrikulu"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/ardatan/"
+        }
+      ],
+      "_years": [
+        2023,
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "arkenflame",
+      "company": "-",
+      "position": "Software Engineer",
+      "name": "Mike Solomon",
+      "about": "Mike is a software engineer with a background in distributed systems at scale. Previously, he was a Sr. Staff Software Engineer leading the Strato team (and a Group Tech Lead in Core Services) at Twitter.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/be/18743867/avatar.jpg.320x320px.jpg?5f6",
+      "socialurls": [],
+      "_years": [
+        2023,
+        2024
+      ],
+      "~syncedDetailsAt": 1749497439360
+    },
+    {
+      "username": "ashpak_shaikh",
+      "company": "Intuit",
+      "position": "Sr Staff Software Engineer",
+      "name": "Ashpak Shaikh",
+      "about": "Ashpak Shaikh is a Sr Staff Software Engineer at Intuit with over a decade of experience. He is a passionate advocate for GraphQL API development and has been an API steward at Intuit for several years. Ashpak believes in simplifying complex service orchestration with the power of Domain Specific Languages(DSL) and has been instrumental in architecting a GraphQL Gateway platform that powers consumer-facing applications like Turbotax, Mint, and Virtual Expert Platform at scale. He has played a key role in open-sourcing all the components of the GraphQL platform via the graph-quilt java project.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/0/a8/19084619/avatar.jpg.320x320px.jpg?4ad",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/ashpak--shaikh/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "badurinadenis",
+      "company": "The Guild",
+      "position": "Software Architect",
+      "name": "Denis Badurina",
+      "about": "I am a self-taught senior software architect, with a distinguishing trait of resiliently finding simple solutions to complex problems using communication through words and code. Starting from my first Lego set, I've been in love with development throughout my whole life. As a creator, having the ability to turn thoughts into reality is a gift I find essential. Forever learning through practical applications, bad decisions and positive thoughts - I, ultimately, turned a hobby into an obsession.",
+      "location": "Sarajevo",
+      "url": "",
+      "avatar": "//avatars.sched.co/6/a9/18743810/avatar.jpg.320x320px.jpg?ec6",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/enisdenjo"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/enisdenjo/"
+        }
+      ],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "benjamin154",
+      "company": "Grafbase",
+      "position": "Software Engineer",
+      "name": "Benjamin Rabier",
+      "about": "Living close to Paris, I've been at Grafbase for over two years building the GraphQL federation gateway among other things.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/7/22/23098720/avatar.jpg.320x320px.jpg?a94",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "benjie3",
+      "company": "Graphile",
+      "position": "GraphQL TSC Member",
+      "name": "Benjie Gillam",
+      "about": "A self-described \"community-funded open source maintainer,\" Benjie dedicates much of his time to open source, made possible by the support of appreciative and forward-thinking individuals and organizations. He can often be found helping contributors advance their proposals, and has been instrumental in many key GraphQL advancements and initiatives. As a member of the GraphQL Technical Steering Committee (TSC), Benjie is proud to help guide GraphQL into the future.",
+      "location": "Chandler's Ford, UK",
+      "url": "https://graphile.org/",
+      "avatar": "//avatars.sched.co/b/99/18743846/avatar.jpg.320x320px.jpg?a19",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/benjie"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/benjiegillam/"
+        }
+      ],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "BoD",
+      "company": "Apollo Graph",
+      "position": "Android Developer",
+      "name": "Benoit Lubek",
+      "about": "Currently working on Apollo-Kotlin, the Kotlin SDK for GraphQL, Benoit has been writing software for 20 years, with a focus on Android since its v1. When he’s not coding, you can find him enjoying movies or geocaching.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/0/d3/431358/avatar.jpg.320x320px.jpg?e99",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "borisbesemer",
+      "company": "Vercel",
+      "position": "Senior Technical Consultant",
+      "name": "Boris Besemer",
+      "about": "",
+      "location": "The Netherlands",
+      "url": "",
+      "avatar": "//avatars.sched.co/c/f5/23301917/avatar.jpg.320x320px.jpg?2f8",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753215856699
+    },
+    {
+      "username": "brandon.r.minnick",
+      "company": "AWS",
+      "position": ".NET Developer Advocate",
+      "name": "Brandon Minnick",
+      "about": "Brandon is a Developer Advocate at AWS where he gets to work closely with the developer community to help fellow mobile app and cloud developers make 5-star apps.\n\nBrandon previously worked at Xamarin + Microsoft where he focused on creating mobile apps in C# using Xamarin + .NET MAUI.\n\nAn avid mobile app developer, Brandon loves to code and has contributed to and published countless apps!",
+      "location": "",
+      "url": "https://codetraveler.io",
+      "avatar": "//avatars.sched.co/2/a4/9493345/avatar.jpg.320x320px.jpg?3ce",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/thecodetraveler"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "bryan.robinson2",
+      "company": "Hygraph",
+      "position": "Head of Developer Relations",
+      "name": "Bryan Robinson",
+      "about": "Bryan is the Head of Developer Relations at Hygraph. He has a strong passion for developer education and experience as well as decoupled architectures, frontend development, and clean design.",
+      "location": "",
+      "url": "https://hygraph.com",
+      "avatar": "//avatars.sched.co/5/8e/19076363/avatar.jpg.320x320px.jpg?ad8",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/brob"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/in/bryanlrobinson"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "bsklar",
+      "company": "Salesforce",
+      "position": "Senior Product Manager",
+      "name": "Ben Sklar",
+      "about": "Ben Sklar is a Senior Product Manager at Salesforce. He is an avid skier, hiker, and ultimate frisbee player.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/d/92/18743813/avatar.jpg.320x320px.jpg?042",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/benjamin-sklar/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "bsy",
+      "company": "Meta Platforms, Inc.",
+      "position": "Software Engineer",
+      "name": "Bryan Yang",
+      "about": "Bryan Yang is currently a tech lead at Meta leading the adoption of GraphQL in Ads Manager of Meta. Bryan has been working for a few big tech companies including Amazon and Uber for the past decade as a software engineer and an engineering manager. Bryan is wrapping up his master's degree in System Design and Management at MIT and holds a BS degree from University of Illinois at Urbana Champaign.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/7/1c/18743852/avatar.jpg.320x320px.jpg?de3",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "budha1",
+      "company": "Tyk",
+      "position": "Director of Product Ecosystems",
+      "name": "Budhaditya Bhattacharya",
+      "about": "Budha is the director of product ecosystems at Tyk, where he leads product education, ecosystem expansion, and open standards adoption. \n \nAs the board chair of the OpenAPI Initiative, he is responsible for membership growth and driving the adoption of OAS, Arazzo, and Overlays. \n \nPart product strategist, part developer advocate, and part storyteller, he’s on a mission to remove friction from API ecosystems by breaking down tech complexities preferably with a great metaphor and a well-placed pun.",
+      "location": "Durham, NC",
+      "url": "https://www.linkedin.com/in/budha-b/",
+      "avatar": "//avatars.sched.co/1/fe/17694866/avatar.jpg.320x320px.jpg?7a7",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/budha-b"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501873331
+    },
+    {
+      "username": "chanc2",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Chi Chan",
+      "about": "GraphQL server side framework at Meta.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/6/6c/23098726/avatar.jpg.320x320px.jpg?2c3",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/chichan1/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960621
+    },
+    {
+      "username": "christian.ernst",
+      "company": "Booking.com",
+      "position": "Senior Software Engineer",
+      "name": "Christian Ernst",
+      "about": "Christian is currently a Senior Software Egineer at Booking.com. For the last two years Christian has been working driving the GraphQL initiative across the company by helping teams adopt GraphQL for their use cases.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/c/5f/19084532/avatar.jpg.320x320px.jpg?8bd",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/cernst11"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://nl.linkedin.com/in/christian-ernst11"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749502266902
+    },
+    {
+      "username": "christian.ernst1",
+      "company": "Booking.com",
+      "position": "Senior Software Engineer",
+      "name": "Christian Ernst",
+      "about": "Christian is currently a Senior Software Engineer at Booking.com. For the last three years Christian has been working to drive the GraphQL initiative across the company by helping teams adopt build new features leveraging GraphQL.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/9/39/21066804/avatar.jpg.320x320px.jpg?fff",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505494947
+    },
+    {
+      "username": "christian.stangier",
+      "company": "MOIA GmbH",
+      "position": "Senior Software Engineer",
+      "name": "Christian Stangier",
+      "about": "Christian is a Software Engineer at MOIA GmbH, a company trying to improve urban transportation with ride-pooling. With over 12 years of experience as a full-stack developer, Christian is currently focused on building real-time tooling for fleet operators with GraphQL on serverless AWS.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/a/5f/21066807/avatar.jpg.320x320px.jpg?a7c",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505494947
+    },
+    {
+      "username": "curtis99877",
+      "company": "Meta Platforms",
+      "position": "Software Engineer",
+      "name": "Curtis Li",
+      "about": "Supporting GraphQL for mobile at Meta",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/b/59/23098729/avatar.jpg.320x320px.jpg?30d",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "danadajian",
+      "company": "Expedia Group",
+      "position": "Senior Software Engineer",
+      "name": "Dan Adajian",
+      "about": "I am a Senior Software Engineer at Expedia Group who is passionate about GraphQL, open source software, and developer experience. I live in Chicago, IL and enjoying playing golf and tennis when the weather allows!",
+      "location": "Chicago, IL",
+      "url": "https://github.com/danadajian/",
+      "avatar": "//avatars.sched.co/a/cc/21487429/avatar.jpg.320x320px.jpg?ffa",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/dan-adajian-aa8aaa72"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501873331
+    },
+    {
+      "username": "danielha4",
+      "company": "monday.com",
+      "position": "API Product Lead",
+      "name": "Daniel Hai",
+      "about": "Daniel Hai is the API Product Manager at monday.com, leading the strategy behind one of the largest public GraphQL implementations in the industry. With a decade of experience spanning software engineering and product management, he specializes in building APIs that developers love.\n \nBeyond his role at monday, Daniel actively shares insights on API product management and consults companies and startups on creating world-class developer experiences for the APIs.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/9a/23098732/avatar.jpg.320x320px.jpg?0c3",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079549
+    },
+    {
+      "username": "danielle.man",
+      "company": "Apollo GraphQL",
+      "position": "Senior Director of Engineering",
+      "name": "Danielle Man",
+      "about": "For the last 7 years I've been helping make GraphQL easier to build with and use at Apollo. I love building products for the web, solving problems with craftsmanship and code. In my time at Apollo I've been a friend, a manager, a developer, a product manager, a recruiter, an advocate, and more. At the end of the day, I just want to make tools that help people and feel great to use. I care much more about the people I'm working with than the day-to-day specifics of my job.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/b/1a/21066810/avatar.jpg.320x320px.jpg?708",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505494947
+    },
+    {
+      "username": "david3103",
+      "company": "inRecovery",
+      "position": "Founder / CEO",
+      "name": "David Emanuel Sarabia",
+      "about": "",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/7/71/13551525/avatar.jpg.320x320px.jpg?cc8",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749503546034
+    },
+    {
+      "username": "dipro",
+      "company": "monday.com",
+      "position": "Senior Developer Advocate",
+      "name": "Dipro Bhowmik",
+      "about": "",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/3/ee/23187254/avatar.jpg.320x320px.jpg?c12",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "dkuc",
+      "company": "Apollo GraphQL",
+      "position": "Principal Software Engineer",
+      "name": "Derek Kuc",
+      "about": "Derek is an open source enthusiast working at Apollo on all things Federation. Prior to joining Apollo, Derek was a principal engineer at Expedia where he helped adopt GraphQL and open source graphql-kotlin.\n\nDerek also doesn’t think that anyone reads those bios so if you want to prove me wrong - high five me at the conference!",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/3/24/23173220/avatar.jpg.320x320px.jpg?c0e",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://x.com/derek_kuc"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/dkuc/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "donnasiqizhou",
+      "company": "Atlassian",
+      "position": "Software Engineer",
+      "name": "Donna Zhou",
+      "about": "I'm a maintainer of GraphQL Java and software engineer at Atlassian. I've published a book, GraphQL with Java and Spring, all about the official Spring for GraphQL integration and the GraphQL Java library.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/0/1d/18743879/avatar.jpg.320x320px.jpg?e2e",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/donnazhou/"
+        }
+      ],
+      "_years": [
+        2023,
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "dotan1",
+      "company": "The Guild",
+      "position": "CTO",
+      "name": "Dotan Simha",
+      "about": "CTO @ The Guild, creator and maintainer of many open-source libraries in the GraphQL ecosystem, including GraphQL-Codegen.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/3/1e/23098735/avatar.jpg.320x320px.jpg?7a3",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://x.com/dotansimha"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/dotan-simha-36767b29/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "dotansimha",
+      "company": "The Guild",
+      "position": "CTO",
+      "name": "Dotan Simha",
+      "about": "The creator of GraphQL Code Generator, and many other GraphQL-related tools. Active developer and maintainer of GraphQL-Hive and the CTO of The Guild.",
+      "location": "",
+      "url": "https://the-guild.dev/",
+      "avatar": "//avatars.sched.co/1/4d/18743828/avatar.jpg.320x320px.jpg?795",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/dotansimha"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749503782817
+    },
+    {
+      "username": "eitan15",
+      "company": "Inigo",
+      "position": "CTO and Co-founder",
+      "name": "Eitan Joffe",
+      "about": "Software engineer and GraphQL enthusiast. Before founding Inigo, Eitan was a core member at multiple startups (Arista, Apstra, Observe) building stuff in networking, cloud infrastructure, and the observability space. Eitan's passion in life is to design, build and create stuff. He gets extra pleasure from finding elegant, simple solutions to complicated problems.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/e5/17700131/avatar.jpg.320x320px.jpg?aaf",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749503782817
+    },
+    {
+      "username": "emily.li2",
+      "company": "Benchling",
+      "position": "Software Engineer",
+      "name": "Emily Li",
+      "about": "Emily is a Software Engineer at Benchling where she has spent the past two years building a dynamically generated GraphQL API.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/d/91/21066813/avatar.jpg.320x320px.jpg?591",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/emily-li-el2857/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501888881
+    },
+    {
+      "username": "en3m",
+      "company": "-",
+      "position": "dimaMachina.com",
+      "name": "Dimitri Postolov",
+      "about": "Open Source developer from Paris\nGraphQL-ESLint, Nextra and GraphiQL maintener",
+      "location": "",
+      "url": "https://the-guild.dev",
+      "avatar": "//avatars.sched.co/5/78/18743843/avatar.jpg.320x320px.jpg?bb3",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/B2o5T"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/postolov"
+        },
+        {
+          "service": "Instagram",
+          "url": "https://www.instagram.com/dimdawkins"
+        }
+      ],
+      "_years": [
+        2023,
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "erikwrede2",
+      "company": "Strawberry-GraphQL",
+      "position": "Software Engineer",
+      "name": "Erik Wrede",
+      "about": "Erik is a Software Engineer and GraphQL enthusiast that enjoys building full-stack GraphQL solutions. As a member of the GraphQL-Python Maintainer Team and Core Dev at Strawberry-GraphQL, he’s passionate about improving the developer experience and creating exciting new GraphQL tooling. Erik is excited about building performant and scalable solutions and is always eager to chat about new features, developments and the latest advancements in tech.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/6/74/21102110/avatar.jpg.320x320px.jpg?a37",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/erik_wrede"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/erikwrede/"
+        }
+      ],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1752072949897
+    },
+    {
+      "username": "ernie.turner1",
+      "company": "Coinbase",
+      "position": "Staff Software Engineer",
+      "name": "Ernie Turner",
+      "about": "Ernie has over fifteen years of experience building Enterprise web applications and developer platforms going back to the dark, soul crushing days of IE6. Ernie now works at Coinbase helping build their GraphQL infrastructure.",
+      "location": "",
+      "url": "https://coinbase.com",
+      "avatar": "//avatars.sched.co/b/bc/18743873/avatar.jpg.320x320px.jpg?222",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/erniewturner"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/ernie-turner-87545395/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749503981180
+    },
+    {
+      "username": "ethan_shen.28dgusli",
+      "company": "LinkedIn",
+      "position": "Staff Software Engineer",
+      "name": "Ethan Shen",
+      "about": "I have over five years of experience working with GraphQL, applying the technology across both backend and frontend systems. I currently serve as a Staff Engineer and Tech Lead of the GraphQL Infrastructure team at LinkedIn.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/a/2f/23098744/avatar.jpg.320x320px.jpg?2ab",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079550
+    },
+    {
+      "username": "fbjork",
+      "company": "Grafbase",
+      "position": "CEO",
+      "name": "Fredrik Björk",
+      "about": "",
+      "location": "",
+      "url": "https://grafbase.com",
+      "avatar": "//avatars.sched.co/1/eb/23184575/avatar.jpg.320x320px.jpg?dc7",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://x.com/fbjork"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/fbjork/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "fionabronwen",
+      "company": "Pinterest",
+      "position": "Senior Software Engineer",
+      "name": "Fiona Huang",
+      "about": "Fiona Huang is a Senior Software Engineer at Pinterest 📌 working on GraphQL on the Core API Platform team. Previously, she worked on planet scale APIs at Google, GraphQL at Twitter, and APIs at Braintree. Fiona enjoys data modeling 👩🏻‍💻, coffee ☕, croissants 🥐, and superfluous emoji usage ✨.",
+      "location": "New York, NY",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/64/23098747/avatar.jpg.320x320px.jpg?c82",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/fionabthompson/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752072949897
+    },
+    {
+      "username": "gabe210",
+      "company": "StubHub Inc",
+      "position": "Senior Software Engineer - Design System Lead",
+      "name": "Gabriel Cura-Castro",
+      "about": "Gabriel Cura-Castro is senior software engineer with a particular interest in UX and design systems. He has two decades of experience developing software in a diverse range of fields spanning from developer tools, internet infrastructure, and finance.\n \nHe has spent the last decade building design systems and federated components for the likes of Apple, Netflix, and now StubHub.\n \nIn his spare time you can find him hiking the mountains of California with his daughter and partner.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/54/23098750/avatar.jpg.320x320px.jpg?1ee",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079550
+    },
+    {
+      "username": "gabrielschulhof",
+      "company": "Auction.com",
+      "position": "Lead Software Engineer",
+      "name": "Gabriel Schulhof",
+      "about": "Node.js Core Collaborator and TSC Member emeritus, member of the Node.js API working group. Former employers include Nokia, Intel, and SpaceX.",
+      "location": "Irvine, CA",
+      "url": "https://auction.com/",
+      "avatar": "//avatars.sched.co/0/e6/13020672/avatar.jpg.320x320px.jpg?d7c",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505494947
+    },
+    {
+      "username": "gerard.klijs",
+      "company": "AxonIQ",
+      "position": "Software Engineer",
+      "name": "Gerard Klijs",
+      "about": "With over 10 years of experience as a backend engineer, Gerard Klijs is a contributor to several GraphQL libraries, and also the creator and maintainer of a Rust library to use Confluent Schema Registry. He has an interest in event sourcing and CQRS and likes sharing knowledge via blogs, talks, and demo projects.",
+      "location": "",
+      "url": "https://www.axoniq.io/",
+      "avatar": "//avatars.sched.co/2/4b/18743792/avatar.jpg.320x320px.jpg?b61",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/GKlijs"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/mwlite/profile/in/%F0%9F%92%BBgerard-klijs%F0%9F%A6%80-416b3744"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749503986466
+    },
+    {
+      "username": "giacomo.simmi",
+      "company": "Paramount",
+      "position": "Software Architect",
+      "name": "Giacomo Simmi",
+      "about": "Born in the 90s, I grew up in southern Italy surrounded by martial arts, anime, video games, and computers.\nI fell in love with computer science when software was still distributed on floppy disks.\n\nI started my career as a Mobile Developer when Android was just emerging. Later, I took on roles such as Web Developer, Backend Developer, Tech Lead, and IT Manager.\n\nToday, I am an IT Architect with more than 10 years of experience in consulting companies and corporates.",
+      "location": "Milan, Italy",
+      "url": "https://keadex.dev",
+      "avatar": "//avatars.sched.co/6/8c/21496501/avatar.jpg.320x320px.jpg?5c6",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/giacomosimmi/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501888881
+    },
+    {
+      "username": "gilgardosh",
+      "company": "The Guild",
+      "position": "Open Source Developer",
+      "name": "Gil Gardosh",
+      "about": "",
+      "location": "",
+      "url": "https://the-guild.dev/",
+      "avatar": "//avatars.sched.co/0/33/19070448/avatar.jpg.320x320px.jpg?34a",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/gilgardosh"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/gil-gardosh-9a5088a5/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749503986466
+    },
+    {
+      "username": "gonenj",
+      "company": "Wix.com",
+      "position": "Head of API Infra",
+      "name": "Gonen Jerbi",
+      "about": "Gonen, a GraphQL enthusiast for 8 years, joined Wix 6 years ago, pioneering GraphQL adoption. A transformative hackathon 5 years ago showcased automatic schema generation for Wix APIs. Today, Wix extensively uses GraphQL and plans to expose all APIs via GraphQL. Join him to explore his insights on streamlining GraphQL adoption and unleashing its potential.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/3/c5/18743816/avatar.jpg.320x320px.jpg?0f8",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/gonengar"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/gonen-jerbi-01a7296a/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "goodwin.y.emily",
+      "company": "Independent",
+      "position": "Professional GraphQL Developer turned GraphQL Hobbiest",
+      "name": "Emily Goodwin",
+      "about": "Emily has professionally worked with GraphQL for a bit over two years and has shifted to working with GraphQL as a hobby. She has experience with production schema stitching federate environments and customized GraphQL tools. When not coding she enjoys Magic the Gathering and volunteering.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/8/45/23098741/avatar.jpg.320x320px.jpg?a4f",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079550
+    },
+    {
+      "username": "hello2358",
+      "company": "IBM",
+      "position": "Technical Product Manager",
+      "name": "Roy Derks",
+      "about": "Roy is an entrepreneur, speaker and author from The Netherlands and, in his own words, 'wants to make the world a better place through tech'. He has been giving talks and trainings to developers worldwide on technologies like GraphQL, React and TypeScript. Most recently he wrote the book Fullstack GraphQL.",
+      "location": "Santa Clara, CA",
+      "url": "https://x.com/gethackteam",
+      "avatar": "//avatars.sched.co/a/20/16832291/avatar.jpg.320x320px.jpg?60d",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://x.com/gethackteam"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/gethackteam"
+        }
+      ],
+      "_years": [
+        2023,
+        2024
+      ],
+      "~syncedDetailsAt": 1749497439360
+    },
+    {
+      "username": "idit_levine.25krdj4u",
+      "company": "Solo.io",
+      "position": "Founder",
+      "name": "Idit Levine",
+      "about": "",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/e/82/18769950/avatar.jpg.320x320px.jpg?ca2",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "itamark",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Itamar Kestenbaum",
+      "about": "Software Engineer working on Infrastructure experiences at Meta",
+      "location": "",
+      "url": "https://www.threads.net/@itamarok",
+      "avatar": "//avatars.sched.co/b/e5/80829/avatar.jpg.320x320px.jpg?5bf",
+      "socialurls": [
+        {
+          "service": "Facebook",
+          "url": "https://www.facebook.com/profile.php?id=504330120"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/in/itamarkestenbaum"
+        }
+      ],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "ivan.goncharov.ua",
+      "company": "ApolloGraphQL",
+      "position": "Staff Software Engineer",
+      "name": "Ivan Goncharov",
+      "about": "Ivan has been active in the GraphQL community since its early days and is currently a member of the GraphQL Technical Steering Committee.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/d/6f/23096422/avatar.jpg.320x320px.jpg?958",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079550
+    },
+    {
+      "username": "jamie855",
+      "company": "Grafbase",
+      "position": "Dev Rel Engineer",
+      "name": "Jamie Barton",
+      "about": "Around since the days of dial-up modems and flash websites. I'm a software engineer who can do slightly more than build landing pages today. Despite my age (in tech years, at least), I'm always working with the latest tools like GraphQL to build beautiful and functional web apps.",
+      "location": "North East, UK",
+      "url": "https://grafbase.com",
+      "avatar": "//avatars.sched.co/c/f3/18743804/avatar.jpg.320x320px.jpg?2a2",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/notrab"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/notrab/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "janette.cheng",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Janette Cheng",
+      "about": "Working on the GraphQL client and build infrastructure for mobile apps at Meta",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/c/c0/21066816/avatar.jpg.320x320px.jpg?aa7",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505607370
+    },
+    {
+      "username": "janettelc",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Janette Cheng",
+      "about": "Working on the GraphQL client and build infrastructure for mobile apps at Meta",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/f9/23098753/avatar.jpg.320x320px.jpg?9a8",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079550
+    },
+    {
+      "username": "jared_cheney.7rad60v",
+      "company": "Intuit",
+      "position": "Distinguished Engineer",
+      "name": "Jared Cheney",
+      "about": "Jared Cheney is a Distinguished Engineer at Intuit with over 24 years of industry experience with a focus in DevOps, consulting, and software development. He has led many initiatives involving API integrations with other products and helps lead the efforts around best practices for API guidelines and principles within Intuit.",
+      "location": "Boise, ID",
+      "url": "intuit.com",
+      "avatar": "//avatars.sched.co/4/e3/18775617/avatar.jpg.320x320px.jpg?01b",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/jaredcheney/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "jasonkuhrt",
+      "company": "The Guild",
+      "position": "",
+      "name": "Jason Kuhrt",
+      "about": "I am a builder passionate about system design, developer experience, static typing, and functional programming. Educated in design theory, practice, and social responsibility, I fell into code via open source gateways like Wordpress, jQuery, Node.js, and GitHub. My love for open source continues today in TypeScript and GraphQL. In my personal life, close to my heart are the backpacking trips I take my two boys on yearly across the beautiful rugged Canadian wilderness.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/0a/23098756/avatar.jpg.320x320px.jpg?3a2",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/kuhrt"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752072949897
+    },
+    {
+      "username": "jeff.auriemma",
+      "company": "Apollo GraphQL",
+      "position": "Senior Engineering Manager",
+      "name": "Jeff Auriemma",
+      "about": "Hi, I'm Jeff! I support the Apollo Client, Apollo iOS, Apollo Kotlin, and Apollo Server engineers at Apollo as a manager. Before going into software I was a trombonist and public school music teacher. In my free time I like to bake Chicago-style deep dish pizzas and French macarons.",
+      "location": "Connecticut, USA",
+      "url": "https://apollographql.com",
+      "avatar": "//avatars.sched.co/3/77/18743876/avatar.jpg.320x320px.jpg?d3d",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/JeffAuriemma"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/jeffreyauriemma/"
+        }
+      ],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079549
+    },
+    {
+      "username": "jeff737",
+      "company": "The Guild",
+      "position": "Software Engineer",
+      "name": "Jeff Dolle",
+      "about": "Jeff Dolle is a Software Engineer at The Guild who has been using GraphQL full-stack since 2016 and is currently working on the GraphQL Hive platform. He has extensive experience designing and implementing schemas in production software, serving over a billion requests a month.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/3/b5/23098759/avatar.jpg.320x320px.jpg?613",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/in/jeffdolle"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "jem28",
+      "company": "Graphile",
+      "position": "Community Operations",
+      "name": "Jem Gillam",
+      "about": "Jem wears many hats: admin, marketing, video editor, QA, customer relations, operations, and so much more; but chief among them is community - fostering, moderation, outreach and collaboration are all in a day's work for them. Often working behind the scenes on GraphQL-related projects, they were key to the GraphQL Stars initiative, organized the SMEs program, and are the lead on a new program launching this year. In their spare time, Jem is a keen volunteer and loves to crochet and bake.",
+      "location": "Chandlers Ford, UK",
+      "url": "https://github.com/jemgillam",
+      "avatar": "//avatars.sched.co/f/8a/23300543/avatar.jpg.320x320px.jpg?afe",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753215856699
+    },
+    {
+      "username": "jens63",
+      "company": "WunderGraph",
+      "position": "CEO & Founder",
+      "name": "Jens Neuse",
+      "about": "CEO and Founder of WunderGraph,\nbuilding an open-source alternative to Apollo Federation and GraphOS.\nCreator of Open Federation, an open specification for federated GraphQL.\nCreator of graphql-go-tools, an open-source implementation of GraphQL in Go.",
+      "location": "",
+      "url": "https://wundergraph.com",
+      "avatar": "//avatars.sched.co/3/68/19226202/avatar.jpg.320x320px.jpg?aea",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/TheWorstFounder"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/jens-neuse-706673195/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "jerel.miller",
+      "company": "Apollo GraphQL",
+      "position": "Principal Software Engineer",
+      "name": "Jerel Miller",
+      "about": "Jerel is a Colorado native with a brief stint in Portland Oregon. He loves to code and learn about all sorts of programming patterns. He is an avid Denver Broncos fan and loves to play the bass.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/6/6e/23098762/avatar.jpg.320x320px.jpg?2ea",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "jesperrasmussen",
+      "company": "The LEGO Group",
+      "position": "Principal Engineer",
+      "name": "Jesper Rasmussen",
+      "about": "Jesper Rasmussen is a Principal Engineer at The LEGO Group with a passion for building great developer experiences. He’s been working with GraphQL since 2016 across several companies, leading transformation projects and helping teams get the most out of their APIs.\n \nOutside of work, Jesper enjoys hiking, mixing up cocktails, cooking, dialing in the perfect espresso—and always has some death metal playing in the background.",
+      "location": "Odense, Denmark",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/43/5254118/avatar.jpg.320x320px.jpg?a7c",
+      "socialurls": [
+        {
+          "service": "Facebook",
+          "url": "https://www.facebook.com/app_scoped_user_id/YXNpZADpBWEZAVZA1doQi1ZAanFBcnNlWGtJdlJtS3NsaUgtT3N0V3ZApVzhfNFdadG5lZAVkxRzI0b2ZAVVFZAidXYxcHYwakZAqOVB6VzU5S2VhWWdFaGZAiWFEzc2VXS2dTRThCaFZAnYkthY2toNk5MbgZDZD/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752072949897
+    },
+    {
+      "username": "jim.barton",
+      "company": "Solo.io",
+      "position": "Field Engineer",
+      "name": "Jim Barton",
+      "about": "Jim Barton is a Field Engineer at Solo.io, a Cambridge-based company specializing in service mesh and Kubernetes-native API gateway technology. Jim’s career in enterprise software spans 30 years. He has enjoyed roles as a project engineer, sales and consulting engineer, product development manager, and executive leader of tech startups. Prior to Solo, he spent a decade architecting, building and operating systems based on enterprise open-source technologies, at the likes of Red Hat, Amazon, and Zappos. After two years of COVID-driven, Zoom-encrusted isolation, Jim especially enjoys sharing with and learning from three-dimensional people at technical conferences around the world.",
+      "location": "Myrtle Beach, SC, USA",
+      "url": "https://solo.io",
+      "avatar": "//avatars.sched.co/f/74/12615290/avatar.jpg.320x320px.jpg?8cc",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/@jameshbarton"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/jameshbarton/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "joebirch",
+      "company": "Buffer",
+      "position": "Staff Engineer",
+      "name": "Joe Birch",
+      "about": "Hi, my names Joe. I’m an Android Engineer and Google Developer Expert for Android based in Brighton, UK working on GraphQL + Android at Buffer. I’m passionate about coding and love creating robust, polished and exciting projects for mobile, the web, TV, wearables and I’ll probably be toying with whatever the new thing is at the time you’re reading this.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/d/34/23098765/avatar.jpg.320x320px.jpg?897",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "jordaneldredge",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Jordan Eldredge",
+      "about": "Jordan has spent the last seven years working at Meta. He currently works on Relay, a sophisticated GraphQL client for JavaScript that powers most of Meta's JavaScript applications.",
+      "location": "",
+      "url": "https://jordaneldredge.com",
+      "avatar": "//avatars.sched.co/7/eb/21066819/avatar.jpg.320x320px.jpg?65e",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/captbaritone"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/jordaneldredge/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501888881
+    },
+    {
+      "username": "jordaneldredge1",
+      "company": "Meta",
+      "position": "Software Engineer at Meta",
+      "name": "Jordan Eldredge",
+      "about": "Jordan has spent the last eight years working at Meta. He currently works on Relay, a sophisticated GraphQL client for JavaScript that powers most of Meta's JavaScript applications.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/f6/21508644/avatar.jpg.320x320px.jpg?ad2",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "juancarlosjr97",
+      "company": "RS Group",
+      "position": "Senior Software Engineer",
+      "name": "Juan Carlos Blanco Delgado",
+      "about": "Juan Carlos (JC) is a Senior Software Engineer at RS Group, where he leads the development of the federated graph and supports teams in integrating and evolving their services within it. He is passionate about the open source community. Outside of work, JC enjoys running, climbing, cycling and snowboarding, and building cool things (recently with Rust)!",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/8/00/23098768/avatar.jpg.320x320px.jpg?181",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/juancarlosjr97"
+        },
+        {
+          "service": "Instagram",
+          "url": "https://www.instagram.com/juancarlosjr97"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960621
+    },
+    {
+      "username": "kamilkisiela",
+      "company": "The Guild",
+      "position": "Developer",
+      "name": "Kamil Kisiela",
+      "about": "Working on GraphQL tooling since before I had a mustache. I'm proud of it (the tooling).",
+      "location": "Warsaw, Poland",
+      "url": "https://github.com/kamilkisiela",
+      "avatar": "//avatars.sched.co/2/7e/19082388/avatar.jpg.320x320px.jpg?42c",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/kamilkisiela"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/kamilkisiela"
+        },
+        {
+          "service": "Instagram",
+          "url": "https://www.instagram.com/kisiel_ogarnij"
+        }
+      ],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "keerthan.ekbote",
+      "company": "solo.io",
+      "position": "Mr.",
+      "name": "Sai Ekbote",
+      "about": "Sai Ekbote is a Software Engineer currently working on the GraphQL initiative at Solo.io. He has contributed to multiple open source projects such as Istio, Envoy and Flagger. Prior to working on cloud-native tech at solo, Sai worked as a full stack engineer at HubSpot and a simulations engineer at Raytheon.",
+      "location": "",
+      "url": "https://solo.io",
+      "avatar": "//avatars.sched.co/a/6d/14553875/avatar.jpg.320x320px.jpg?9aa",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/in/keerthanekbote"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "keith.babo",
+      "company": "Solo.io",
+      "position": "Chief Product Officer",
+      "name": "Keith Babo",
+      "about": "Keith Babo leads the product team at Solo.io covering the full range of application networking technologies required to build modern, cloud-native application architectures. Prior to joining Solo.io, Keith held product management and engineering leadership positions at Red Hat, Sun Microsystems, and Intel Corporation.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/05/19071264/avatar.jpg.320x320px.jpg?0c9",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/keithbabo"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/babo/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "kenneth.wussmann",
+      "company": "MOIA GmbH",
+      "position": "Tech Lead, Senior Software Engineer",
+      "name": "Kenneth Wußmann",
+      "about": "I currently work at MOIA, building serverless applications to operate an autonomous fleet of vehicles. My journey began in the Java EE cosmos, but over time I shifted to TypeScript, Serverless Architecture and GraphQL. I am fascinated by chess and its parallels to software development.",
+      "location": "",
+      "url": "",
+      "avatar": "",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502251756
+    },
+    {
+      "username": "kennethstott",
+      "company": "Hasura, Inc.",
+      "position": "Field CTO, Hasura, Inc.",
+      "name": "Kenneth Stott",
+      "about": "Ken’s experience spans risk management consulting at Deloitte, technology executive leadership in major finance and energy firms, and the CTO of a MedTech startup. Most recently, he was a senior data architect for key initiatives at Bank of America. Now, as Field CTO at Hasura, Inc., he drives cost-effective data solutions for large finance, energy, and healthcare enterprises, addressing complex regulatory challenges and competitive pressures.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/b3/21066821/avatar.jpg.320x320px.jpg?439",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505607370
+    },
+    {
+      "username": "kevin.brown11",
+      "company": "Exogee",
+      "position": "Chief Technology Officer",
+      "name": "Kevin Brown",
+      "about": "Kevin founded Exogee, a company that builds GraphQL based products for companies that want to ship high quality code quickly on modern stacks. He has been building with GraphQL for more than 7 years, creating software for more than 20 years and likes solving hard problems. Kevin is originally from the US and lives in Sydney, Australia.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/4d/21490044/avatar.jpg.320x320px.jpg?2c5",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749505607370
+    },
+    {
+      "username": "kevin1700",
+      "company": "The Graph",
+      "position": "Developer Relations Engineer",
+      "name": "Kevin Jones",
+      "about": "Kevin is an experienced Developer Relations Engineer with a strong focus on the dynamic realm of blockchain technology. With a passion for fostering innovation and education in the blockchain space, specializing in dApp development and a champion of the adoption of public goods education. Leveraging over 15 years of hands-on experience in deploying production applications, Kevin brings a wealth of knowledge to drive impactful solutions.",
+      "location": "San Francisco, CA",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/d0/19150962/avatar.jpg.320x320px.jpg?e4c",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/cryptomastery_"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/kevinjones-crypto/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "laurent57",
+      "company": "Postman",
+      "position": "Microcks co-founder, Director of Engineering at Postman Open Technologies",
+      "name": "Laurent Broudoux",
+      "about": "Laurent is a Cloud-Native Architecture expert and Enterprise Integration problem lover. He has helped organizations in adopting distributed and cloud paradigms while capitalizing on their critical existing assets. He is the founder and lead developer of the Microcks.io open source project: a Kubernetes-native tool for API mocking and testing. For this, he is using his 10+ years experience as an architect in Financial Services where he defined API transformation strategies, including governance and delivery process.",
+      "location": "Le Mans, France",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/7d/18853523/avatar.jpg.320x320px.jpg?fdb",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/lbroudoux"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/laurentbroudoux/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "laurinquast",
+      "company": "The Guild",
+      "position": "Software Engineer",
+      "name": "Laurin Quast",
+      "about": "Laurin Quast is a developer that started exploring GraphQL, by leading API development at a start-up. Realizing that there are still many unsolved problems and challenges within the space, he started contributing to famous JavaScript libraries, such as GraphQL Code Generator and Tools. Diving deeper, the transition into becoming a full-time open-source developer at The Guild was inevitable. Currently, he is working on Hive helping teams scale GraphQL across teams and organizations.",
+      "location": "",
+      "url": "https://the-guild.dev/",
+      "avatar": "//avatars.sched.co/2/a6/18743819/avatar.jpg.320x320px.jpg?ebc",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/n1rual"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/laurin-quast-a47b871b4/"
+        }
+      ],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "ldebruijn",
+      "company": "bol",
+      "position": "Tech Lead",
+      "name": "Lars de Bruijn",
+      "about": "Lars de Bruijn is a Tech Lead at bol, a leading retail platform operating in The Netherlands and Belgium. Lars is passionate about aligning business strategy with efficient execution, while ensuring the rubber hits the road with his hands-on approach. In his role he is responsible for the customer facing stack of bol, which is where he introduced Federated GraphQL and spearheaded the adoption of GraphQL in the organization.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/57/5922948/avatar.jpg.320x320px.jpg?fa5",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/lars-de-bruijn/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501892530
+    },
+    {
+      "username": "lee_byron.25jvpjmb",
+      "company": "GraphQL Foundation",
+      "position": "Co-creator of GraphQL and Director",
+      "name": "Lee Byron",
+      "about": "",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/24/18743534/avatar.jpg.320x320px.jpg?480",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "lee_byron.25krdom6",
+      "company": "GraphQL Foundation",
+      "position": "Co-creator of GraphQL, Director of the GraphQL Foundation",
+      "name": "Lee Byron",
+      "about": "Lee is the co-creator of GraphQL and Executive Director of the GraphQL Foundation. He leads Product Engineering at Watershed building tools to address the climate crisis. Lee has had a hand in open source libraries used by millions of developers worldwide including GraphQL, React, Dataloader, Immutable.js, Relay, Flow and more.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/8/92/18769956/avatar.jpg.320x320px.jpg?547",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "lerenzo",
+      "company": "Miro",
+      "position": "Senior Software Engineer",
+      "name": "LeRenzo Malcom",
+      "about": "Software engineer at Miro!",
+      "location": "",
+      "url": "https://miro.com",
+      "avatar": "//avatars.sched.co/f/19/5604312/avatar.jpg.320x320px.jpg?db4",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/lerenzom"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/lmalcom"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "lisamwatkins",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Lisa Watkins",
+      "about": "Lisa works on the Mobile Sustainability team at Instagram. Her team's charter is to ensure the longterm health of the mobile developer experience at Instagram. Her main focus is transition Instagram from REST to GraphQL.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/7/15/23098774/avatar.jpg.320x320px.jpg?49f",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "lyonwj1",
+      "company": "Neo4j",
+      "position": "Developer Advocate",
+      "name": "William Lyon",
+      "about": "William Lyon is a Staff Developer Advocate at Neo4j, the open source graph database. He previously worked as a software engineer on quantitative finance systems, mobile apps for the real estate industry, and predictive API services. He is the author of the Manning book Full Stack GraphQL Applications and has a masters degree in Computer Science from the University of Montana. You can find him online where he publishes a blog at lyonwj.com",
+      "location": "San Mateo, CA",
+      "url": "https://lyonwj.com/",
+      "avatar": "//avatars.sched.co/5/93/19084292/avatar.jpg.320x320px.jpg?348",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/lyonwj"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/lyonwj/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "mahoney.mattj",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Matthew Mahoney",
+      "about": "I work on Meta's Mobile GraphQL team.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/c/1d/19314398/avatar.jpg.320x320px.jpg?b71",
+      "socialurls": [
+        {
+          "service": "Facebook",
+          "url": "https://www.facebook.com/mattjmahoney?mibextid=LQQJ4d"
+        },
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/mahoneymattj"
+        }
+      ],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960621
+    },
+    {
+      "username": "mail1232",
+      "company": "Apollo GraphQL",
+      "position": "Senior Staff Engineer",
+      "name": "Lenz Weber-Tronic",
+      "about": "Lenz Weber-Tronic works as a Senior Staff Software Engineer at Apollo GraphQL, where he is part of the team maintaining the Apollo TypeScript Client. He is a maintainer of Redux Toolkit and if he’s not currently trying to summon elder gods with weird TypeScript incantations he can usually be found answering questions on Apollo and Redux usage or opening random PRs all over GitHub.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/fa/23098771/avatar.jpg.320x320px.jpg?314",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754078014495
+    },
+    {
+      "username": "mansi.mittal",
+      "company": "Booking.com",
+      "position": "Senior Software Engineer",
+      "name": "Mansi Mittal",
+      "about": "Mansi Mittal is a Senior Software Engineer with 12 years of experience, including 6 years at Booking.com. She has designed and architected critical, high-scale systems and led the migration from REST + Protobuf to federated GraphQL for high-volume, business-critical services. Passionate about scalable architecture, she bridges product needs with elegant engineering solutions.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/45/23098777/avatar.jpg.320x320px.jpg?d75",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "marco.reni",
+      "company": "Mediaset - MFE",
+      "position": "Architect",
+      "name": "Marco Reni",
+      "about": "Marco Reni is an Architect at Mediaset (MFE), the biggest broadcaster in Italy and one of the largest free broadcasters in Europe. He is in charge of all the frontend architectures and services. Over the years, he has taken responsibility of several high profile projects - including the new Voting Platform - leveraging his background as a Backend/DevOps Engineer. In his free time he likes to play the piano, play board games, eat ramen and take photos while traveling around the world.",
+      "location": "Milan, Italy",
+      "url": "https://www.marcoreni.it/",
+      "avatar": "//avatars.sched.co/7/39/23098780/avatar.jpg.320x320px.jpg?6ae",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/in/marcoreni"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752072949897
+    },
+    {
+      "username": "marion84",
+      "company": "Hasura",
+      "position": "Head of Developer Education",
+      "name": "Marion Schleifer",
+      "about": "I am leading the Developer Education efforts at Hasura, working with the documentation team and the technical evangelists team. I love interacting with and learning from the community to help improve the Hasura product. In my free time, I ride dirt bikes and practice ballet.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/b/cf/19150944/avatar.jpg.320x320px.jpg?418",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/rubydwarf"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/marion-schleifer/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~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",
+      "position": "Software Engineer",
+      "name": "Martijn Walraven",
+      "about": "Martijn Walraven lives in Amsterdam and has been with Apollo since the early days of our GraphQL journey. He is one of the co-creators of Apollo Federation. Outside of work, he enjoys volunteering at a primary school and is working towards a degree in education.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/6/33/21066825/avatar.jpg.320x320px.jpg?ac7",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960621
+    },
+    {
+      "username": "martinbonnin42",
+      "company": "Apollo",
+      "position": "Mobile Engineer",
+      "name": "Martin Bonnin",
+      "about": "Martin is a maintainer of Apollo Kotlin. He has been writing Android applications since Cupcake and fell in love with Kotlin in 2017. Martin loves naming things and the sound of his laptop fan compiling all these type-safe programs. When not busy rewriting all his bash scripts in Kotlin, Martin loves to hike the Pyrénées or play a good game of Hearthstone.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/c/ef/23098783/avatar.jpg.320x320px.jpg?7ff",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "marybriskin",
+      "company": "Tutored by Teachers",
+      "position": "Lead Software Engineer",
+      "name": "Mary Briskin",
+      "about": "Attended the University of Waterloo. Worked at Shopify and now working at Tutored by Teachers as the Lead Software Engineer. Love using graphQL, love learning from and teaching others!",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/3f/21457039/avatar.jpg.320x320px.jpg?7cf",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501892530
+    },
+    {
+      "username": "masanori.uehara",
+      "company": "Tailor Inc.",
+      "position": "Head of Platform",
+      "name": "Masanori Uehara",
+      "about": "Masanori is a Head of Platform at Tailor Inc, a Headless ERP Platform. He previously worked as a Backend engineer at Japan's largest C2C Marketplace, Mercari, and joined Tailor in 2023.",
+      "location": "Tokyo, Japan",
+      "url": "https://www.tailor.tech/",
+      "avatar": "//avatars.sched.co/4/fd/21066828/avatar.jpg.320x320px.jpg?b60",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/jackchuka"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/jackchuka/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501892530
+    },
+    {
+      "username": "matt1575",
+      "company": "Apollo GraphQL",
+      "position": "CEO & Co-Founder",
+      "name": "Matt DeBergalis",
+      "about": "Matt DeBergalis is the Chief Executive Officer and Co-Founder of Apollo GraphQL, where he is responsible for pioneering the next frontier of the company’s cutting-edge technology. Prior to Apollo, Matt was the co-founder of Meteor Development Group and co-creator of Meteor.js, which grew to become one of the most popular open-source projects in the world for developing full-stack web apps with JavaScript. He attended MIT and resides in the San Francisco Bay Area with his family.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/c/59/7503056/avatar.jpg.320x320px.jpg?f15",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "matteo.collina1",
+      "company": "Platformatic",
+      "position": "Co-Founder  & CTO",
+      "name": "Matteo Collina",
+      "about": "Matteo co-founded Platformatic.dev and serves as its CTO, recognized as a leading Open Source author in JavaScript with 30B annual downloads. Previously, he was Chief Software Architect at NearForm and earned a Ph.D. in 2014. Matteo is on the Node.js Technical Steering Committee, focusing on streams and HTTP, and developed the fast logger Pino and the Fastify framework. He has spoken at over 60 conferences and co-authored \"Accelerating Server-Side Development with Fastify\" by Packt.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/56/11925534/avatar.jpg.320x320px.jpg?3fe",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/matteocollins"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752072949898
+    },
+    {
+      "username": "mauricio.montalvo.guzman",
+      "company": "Pinterest",
+      "position": "Senior Software Engineer",
+      "name": "Mauricio Montalvo",
+      "about": "I’m a software engineer with 11 years of professional experience, I consider myself full stack but my career has been focused in FE development in the last years, I love creating UIs using ReactJS and GraphQL.\nAt Pinterest, I’m part of the Web team that’s exploring the introduction of GraphQL in our systems, I’ve worked on this for 3years now, leading a GQL migration project since Q3 2023.\n\nI think helping others and sharing knowledge is one of the best ways to improve in your career as a dev.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/8/d4/21066831/avatar.jpg.320x320px.jpg?3d6",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "meenakshi.dhanani1",
+      "company": "Postman",
+      "position": "Ms.",
+      "name": "Meenakshi Dhanani",
+      "about": "Meenakshi is a Technical Enablement Architect at Postman, helping internal teams and customers build better API practices and unlock the platform's full potential, which serves over 30 million users worldwide. With a background in full-stack development and Developer Relations, she led Postman’s GraphQL initiatives and is a voting member of the GraphQL Foundation Board. Outside of work, she’s a fitness enthusiast training to become a yoga instructor, striving for balance both on and off the mat.",
+      "location": "India",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/8c/18777983/avatar.jpg.320x320px.jpg?e4c",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/mdhananii"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/in/meenakshi-dhanani"
+        }
+      ],
+      "_years": [
+        2023,
+        2025
+      ],
+      "~syncedDetailsAt": 1751036945383
+    },
+    {
+      "username": "mgiroux7",
+      "company": "Netflix",
+      "position": "Senior Software Developer @ Netflix, Author of Production Ready GraphQL & GraphQL TSC Member",
+      "name": "Marc-Andre Giroux",
+      "about": "Marc-André is senior software developer at Netflix. He is the author of the book Production Ready GraphQL and a member of the GraphQL Technical Steering Committee.",
+      "location": "Montreal, Canada",
+      "url": "https://productionreadygraphql.com/",
+      "avatar": "//avatars.sched.co/0/61/9031414/avatar.jpg.320x320px.jpg?b12",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/__xuorig__"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/magiroux/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "michael_staib.23xujj9p",
+      "company": "ChilliCream",
+      "position": "Michael Staib",
+      "name": "Michael Staib",
+      "about": "Michael is a member of the GraphQL technical steering committee, a Microsoft MVP, and the author of the Hot Chocolate project (https://github.com/ChilliCream/hotchocolate), a platform for building GraphQL servers and clients in .NET. This open-source project has been his main focus for the last couple of years.",
+      "location": "Zurich",
+      "url": "http://chillicream.com",
+      "avatar": "//avatars.sched.co/a/85/14900031/avatar.jpg.320x320px.jpg?0a9",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/michael_staib"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/michael-staib-31519571/"
+        }
+      ],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960621
+    },
+    {
+      "username": "michael.astle",
+      "company": "Xolvio",
+      "position": "CTO",
+      "name": "Mike Astle",
+      "about": "Mike is a practical software leader with an interest in theory, but a stronger interest in getting things done. He's been slinging ones and zeroes for 30 years now and has experience going from five person startups to thousand person enterprises. Mike is currently the CTO of Xolvio where he leads delivery of client projects using GraphQL and event sourcing every day. He has previously spoken at SXSW and GraphQL Summit and mixes a fair bit of humor into his informal public speaking style.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/eb/23098786/avatar.jpg.320x320px.jpg?eb8",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752072949898
+    },
+    {
+      "username": "michael.bleigh",
+      "company": "Google",
+      "position": "Firebase Engineering Lead",
+      "name": "Michael Bleigh",
+      "about": "Michael is an engineering lead on the Firebase team at Google and has been building open source tech for the web for more than 15 years. Michael's open source projects have more than 2B downloads and he has presented at conferences including Google I/O, OSCON, and RailsConf. Michael recently led the creation of Firebase Data Connect, a GraphQL-based backend-as-a-service product that helps developers build apps on a PostgreSQL database.",
+      "location": "Bay Area, CA",
+      "url": "https://mbleigh.dev",
+      "avatar": "//avatars.sched.co/d/0b/21066834/avatar.jpg.320x320px.jpg?83f",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/mbleigh"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/in/mbleigh"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749501892530
+    },
+    {
+      "username": "minghe.huang",
+      "company": "Booking.com",
+      "position": "Senior Software Engineer",
+      "name": "Minghe Huang",
+      "about": "Minghe is a passionate software engineer with over a decade of experience spanning various technologies. With a deep interest in coding and scalable architectures, Minghe is currently focused on GraphQL federation and maintains the GraphQL federation platform at Booking.com.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/e/f2/23098789/avatar.jpg.320x320px.jpg?ff6",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "omribruchim",
+      "company": "Stealth",
+      "position": "CTO & Co-Founder @ Stealth",
+      "name": "Omri Bruchim",
+      "about": "Ex GM @ Wix, Public Speaker, Mostly talk about react, react-native, performance, and scale.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/8/5c/21066837/avatar.jpg.320x320px.jpg?b62",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502056388
+    },
+    {
+      "username": "pascal.senn",
+      "company": "ChilliCream",
+      "position": "COO",
+      "name": "Pascal Senn",
+      "about": "I'm co-founder of ChilliCream, where we're passionate about advancing the GraphQL ecosystem. We develop and maintain open-source software, actively help and participate in the community, and create tools that help developers to get the most out of their GraphQL APIs.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/4e/21066839/avatar.jpg.320x320px.jpg?efc",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960622
+    },
+    {
+      "username": "patrick.arminio",
+      "company": "Apollo",
+      "position": "Developer Advocate",
+      "name": "Patrick Arminio",
+      "about": "Developer Advocate at Apollo GraphQL, Chair of Python Italia. Creator of Strawberry GraphQL, a python library that makes use of type hints to create GraphQL APIs.",
+      "location": "London",
+      "url": "https://patrick.wtf",
+      "avatar": "//avatars.sched.co/1/ab/19178765/avatar.jpg.320x320px.jpg?bd3",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/patrick91"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/patrickarminio/"
+        },
+        {
+          "service": "Instagram",
+          "url": "https://www.instagram.com/patrick.py"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "plgah",
+      "company": "Postman",
+      "position": "AI/Data Lead",
+      "name": "Pascal Heus",
+      "about": "Pascal Heus is a seasoned information technologist with extensive expertise in data management and engineering, metadata standards, and related best practices. He has collaborated with numerous data agencies and communities worldwide. His primary focus has been on driving the modernization of data management infrastructure, tooling, and advancing machine actionability and APIs in the field. Pascal brings valuable insights to the forefront of data management, enabling organizations to leverage cutting-edge practices for improved data governance and accessibility.",
+      "location": "Calgary, Canada",
+      "url": "https://www.postman.com",
+      "avatar": "//avatars.sched.co/f/0e/15289322/avatar.jpg.320x320px.jpg?4a4",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/PascalHeus"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/pascal"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "pooja.mistry",
+      "company": "Postman",
+      "position": "Developer Advocate",
+      "name": "Pooja Mistry",
+      "about": "Pooja Mistry(@poojamakes) is a Developer Advocate at Postman. She is passionate about the intersection of technology and community, and she works to expand the reach of Postman’s API Platform to developers worldwide. Before working at Postman, Pooja led the Partnership Advocacy Program at IBM and worked to build communities around sharing technology insights in the API, APIOps, Integration, and Data and AI space. Pooja loves to learn, teach, and share her knowledge with developers. Along with being a proud plant mom, she strongly believes in helping new technologists get up and running with technology and feel confident in their abilities to make!",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/d/a3/18775745/avatar.jpg.320x320px.jpg?cfc",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/poojamakes"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/pmmistry/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "pooja.mistry1",
+      "company": "",
+      "position": "",
+      "name": "Pooja Mistry",
+      "about": "Pooja Mistry (@poojamakes) is a Developer Advocate at Postman, an API platform with over 30 million users. She is passionate about the intersection of technology and community, working to expand the reach of Postman’s API Platform to developers worldwide. Pooja currently runs the Postman Intergalactic program, a series of Postman educational trainings.Pooja loves to learn, teach, and share her knowledge with developers. Besides being a proud plant mom, she strongly believes in helping new technologists get up and running with technology and feel confident in their abilities.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/b4/21225462/avatar.jpg.320x320px.jpg?a43",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502056389
+    },
+    {
+      "username": "qkw1221",
+      "company": "Meta",
+      "position": "Senior Staff Software Engineer at Meta",
+      "name": "Kewei Qu",
+      "about": "TBD",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/9/1a/18743864/avatar.jpg.320x320px.jpg?7fa",
+      "socialurls": [],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079549
+    },
+    {
+      "username": "rachit_sengupta",
+      "company": "Intuit",
+      "position": "Staff Software Engineer",
+      "name": "Rachit Sengupta",
+      "about": "Rachit has spent over six years at Intuit, where his work has spanned from building platforms for monetization and AI powered conversation to enhancing user experiences in products like QuickBooks and TurboTax. Currently, he is part of an Applied AI team focusing on the innovative use of Generative AI to boost developer productivity through intelligent tools and methodologies, such as efficient GraphQL attribute discovery and dynamic query generation.\n\nRachit looks forward to connecting with fellow innovators at this conference to exchange insights and discuss the evolving landscape of AI technologies and their applications in improving developer experiences.",
+      "location": "San Diego",
+      "url": "",
+      "avatar": "//avatars.sched.co/7/bc/21066842/avatar.jpg.320x320px.jpg?426",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/rachit-sengupta-57b45513b/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502056389
+    },
+    {
+      "username": "rama_palaniappan",
+      "company": "Intuit",
+      "position": "Principal Engineer, API Platform Team",
+      "name": "Rama Palaniappan",
+      "about": "Rama Palaniappan is a Principal Engineer at Intuit. Rama has extensive experience in building scalable and reliable systems, and has been instrumental in the design and development of Intuit's API pla",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/dc/21066845/avatar.jpg.320x320px.jpg?4c4",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502056389
+    },
+    {
+      "username": "ramnivas.laddad",
+      "company": "Exograph",
+      "position": "Co-founder",
+      "name": "Ramnivas Laddad",
+      "about": "Ramnivas leads the development of Exograph, a declarative approach to GraphQL backend written in Rust. He has led innovation in Spring Framework and Cloud Foundry since their beginning. Ramnivas is the author of AspectJ in Action, the best-selling book on aspect-oriented programming lauded by industry experts for its practical and innovative approach to real-world problems. He has spoken at leading industry conferences, including JavaOne, ScalaDays, SpringOne, and O'Reilly OSCON.",
+      "location": "",
+      "url": "https://exograph.dev",
+      "avatar": "//avatars.sched.co/6/89/21066848/avatar.jpg.320x320px.jpg?5de",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/ramnivas"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/ramnivasladdad/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502056389
+    },
+    {
+      "username": "raymie2",
+      "company": "Airbnb",
+      "position": "Contractor, former Technical Fellow",
+      "name": "Raymie Stata",
+      "about": "Early in his career Raymie worked on Web Search and Big Data. He sold his desktop search startup to Yahoo!, where he rose to become the CTO. At Yahoo! he was heavily involved in the Hadoop ecosystem. He left Yahoo! to start a big-data-as-a-service company, which he sold to SAP in 2016. In 2019 he joined Airbnb as its first Technical Fellow, where he lead a program to re-engineer their tech stack. In 2024 he stepped down as a Technical Fellow to devote himself full-time to Viaduct.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/a1/23098792/avatar.jpg.320x320px.jpg?a85",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "rickbijkerk54",
+      "company": "Bol",
+      "position": "Software Engineer",
+      "name": "Rick Bijkerk",
+      "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",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "robert.balicki",
+      "company": "Pinterest",
+      "position": "Staff Engineer",
+      "name": "Robert Balicki",
+      "about": "Robert is an engineer at Pinterest, where he helps the company adopt Relay and GraphQL. He was previously on the Relay team at Meta.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/8b/18743858/avatar.jpg.320x320px.jpg?7d6",
+      "socialurls": [],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960622
+    },
+    {
+      "username": "robrichard87",
+      "company": "1stDibs",
+      "position": "Senior Director, Front-End Engineering",
+      "name": "Rob Richard",
+      "about": "Rob is a front-end engineer at 1stDibs, an online marketplace for extraordinary design. He is also a member of the GraphQL Technical Steering committee, where he has been championing the @defer & @stream spec proposal.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/b/cb/21066852/avatar.jpg.320x320px.jpg?6f4",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960622
+    },
+    {
+      "username": "ruben.cagnie",
+      "company": "Toast",
+      "position": "Senior Principal Engineer at Toast",
+      "name": "Ruben Cagnie",
+      "about": "I am based in Boston but originally from Belgium. I have over 20 years of experience in the industry across different roles at startups as established companies. Currently, I am the Technical Design Lead for the customer experience org at Toast. Mainly focused on mobile experiences as well as AI.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/37/21066855/avatar.jpg.320x320px.jpg?9fa",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502056389
+    },
+    {
+      "username": "sabrina.wasserman",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Sabrina Wasserman",
+      "about": "GraphQL client-side frameworks software engineer at Meta.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/d/94/21066857/avatar.jpg.320x320px.jpg?4fd",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1751036945383
+    },
+    {
+      "username": "saihaj",
+      "company": "The Guild",
+      "position": "Head of Growth & Product Engineering - Stellate",
+      "name": "Saihajpreet Singh",
+      "about": "I’ve been active in the GraphQL community for years, maintaining many projects. I also support the ecosystem through efforts like managing GraphQL Weekly, representing The Guild in the GraphQL Foundation, and driving broader community initiatives, balancing technical leadership with community engagement.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/e9/22528045/avatar.jpg.320x320px.jpg?00f",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753215856699
+    },
+    {
+      "username": "saihajpreet.singh",
+      "company": "The Guild",
+      "position": "Software Engineer",
+      "name": "Saihajpreet Singh",
+      "about": "I have been deeply involved in the GraphQL community for several years, contributing to key projects like GraphQL-js, GraphQL Code Generator, GraphQL Yoga, and Envelop. With extensive experience in the field, I am passionate about open-source development.",
+      "location": "",
+      "url": "https://saihaj.dev",
+      "avatar": "//avatars.sched.co/d/77/21066858/avatar.jpg.320x320px.jpg?75f",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/singh_saihaj/"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/saihaj/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502079623
+    },
+    {
+      "username": "sam_2f",
+      "company": "Expedia Group",
+      "position": "Principal Software Engineer",
+      "name": "Samuel Bernardo Vázquez Andalón",
+      "about": "Born and raised in Guadalajara, Jalisco, México, attended University of Guadalajara and working for Expedia Group since 2018.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/e/e5/23098795/avatar.jpg.320x320px.jpg?102",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "sanvertarmur",
+      "company": "Booking.com",
+      "position": "Senior Software Engineer 2",
+      "name": "Sanver Tarmur",
+      "about": "Sanver is a Senior Software Engineer II at Booking.com with 15 years of industry experience. In recent years, he has been leading the Federated GraphQL transformation at Booking.com, focusing on scaling, enhancing the security of the GraphQL platform, and improving the developer experience for internal Graph users.",
+      "location": "Amsterdam",
+      "url": "",
+      "avatar": "//avatars.sched.co/0/9e/23098798/avatar.jpg.320x320px.jpg?318",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1751472966787
+    },
+    {
+      "username": "sasanders26",
+      "company": "Docker",
+      "position": "Technical Writer",
+      "name": "Sarah Sanders",
+      "about": "Sarah is a Technical Writer at Docker, located in Philadelphia, PA. She specializes in writing developer and API documentation, with a deep focus on GraphQL developer experience. As an active contributor to the GraphQL project, she's passionate about creating educational resources and developer tools that make GraphQL more approachable.",
+      "location": "Philadelphia, PA",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/50/21066861/avatar.jpg.320x320px.jpg?67a",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/sarah-sanders-42913121a?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medi"
+        }
+      ],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1753215856699
+    },
+    {
+      "username": "sasha177",
+      "company": "",
+      "position": "Staff Software Engineer/Tech Lead",
+      "name": "Sasha Solomon",
+      "about": "Sasha is a software engineer and industry expert in schema and data modeling, with experience building APIs and operating them at scale. She was a Staff Software engineer and co-Tech Lead of the Core API Platform Team at Twitter helping build the next generation API with GraphQL and Scala.\n\nShe served on the GraphQL Governing Board as a representative of Twitter, as well as on the Technical Steering Committee (TSC) for GraphQL. She also worked at Medium as the Tech Lead of the Platform Team, jumpstarting Medium's move to GraphQL.",
+      "location": "Portland, OR",
+      "url": "sashatsolomon.com",
+      "avatar": "//avatars.sched.co/e/e5/21336701/avatar.jpg.320x320px.jpg?ae7",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://x.com/sachee"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/sasha-s-3808365a/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502079623
+    },
+    {
+      "username": "satish.chitnis",
+      "company": "Paramount / Pluto TV",
+      "position": "Principal Architect- Infrastructure",
+      "name": "Satish Chitnis",
+      "about": "",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/c3/21496512/avatar.jpg.320x320px.jpg?0c2",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502079623
+    },
+    {
+      "username": "sdk.bens",
+      "company": "Northeastern University",
+      "position": "Graduate Researcher",
+      "name": "Seddik Benaissa",
+      "about": "Seddik, a software engineer and a researcher in Computer Science & Artificial Intelligence at Northeastern University,  With a love for data and a passion for exploring the world, he has traveled to 58 countries. When he's not immersed in cutting-edge technologies, Seddik can often be found embracing the wonders of nature in national parks, cheering at thrilling sports events, or actively participating in enriching tech summits.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/52/18743831/avatar.jpg.320x320px.jpg?746",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749505650884
+    },
+    {
+      "username": "seiyaizumi",
+      "company": "Tailor Inc.",
+      "position": "Lead Architect",
+      "name": "Seiya Izumi",
+      "about": "Seiya is a Frontend Engineer specializing in developing frontend infrastructure using the Tailor Platform, including SDKs, authentication systems, and design systems. He also leads technical decisions and architecture design for the Japan region. Joined Tailor in November 2022.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/7/bc/21066863/avatar.jpg.320x320px.jpg?c03",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502079623
+    },
+    {
+      "username": "serhii.korin",
+      "company": "Booking.com",
+      "position": "Staff Software Engineer",
+      "name": "Serhii Korin",
+      "about": "I’m passionate about technology and adventure. While the former keeps me engaged in the ever-evolving world of innovation, the latter brings me peace through exploring new horizons, hiking in nature, or unwinding by a campfire. I also enjoy intellectual challenges, and in my spare time I love solving puzzles, playing chess and strategic board games.",
+      "location": "Amsterdam",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/6a/19235292/avatar.jpg.320x320px.jpg?3fe",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/serhiikorin"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381878
+    },
+    {
+      "username": "shahar_binyamin.24vrzgo4",
+      "company": "Inigo",
+      "position": "co-founder and CEO",
+      "name": "Shahar Binyamin",
+      "about": "Shahar Binyamin is the CEO and co-founder of Inigo. A software engineer by trade, he has extensive experience working on high-profile enterprise application and security projects. Among his roles, Shahar spent several years within the InfoSec Unit of the Israeli Defense Forces. He has also led product development at Dropbox and Kiteworks, with a focus on ensuring data and API security. Shahar lives in Silicon Valley, where Inigo is headquartered.",
+      "location": "",
+      "url": "https://inigo.io/",
+      "avatar": "//avatars.sched.co/c/b0/17274089/avatar.jpg.320x320px.jpg?cec",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/ShacharBinyamin"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/shacharbinyamin/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381878
+    },
+    {
+      "username": "shashank.gugnani",
+      "company": "Oracle",
+      "position": "Software Development Manager",
+      "name": "Shashank Gugnani",
+      "about": "I am an engineering manager in the Database Transactions team at Oracle, working on the design and implementation of next-generation Oracle database products. I hold a PhD in Computer Science from The Ohio State University and an undergraduate degree in Computer Science from BITS-Pilani. My research interests are related to storage systems and problems of scale in distributed systems. I have published several papers in top conferences and journals including VLDB, HPDC, SC, IPDPS, and BigData.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/3/e1/21458022/avatar.jpg.320x320px.jpg?bde",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502079623
+    },
+    {
+      "username": "shawsourav91",
+      "company": "Atlassian",
+      "position": "Principal Engineer",
+      "name": "Sourav Shaw",
+      "about": "Engineer with decade of experience in software. Worked across platform and product teams at Atlassian.\nCurrently working as an architect in Jira's Issue Domain at Atlassian.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/6/e0/23098801/avatar.jpg.320x320px.jpg?8c8",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "siva27",
+      "company": "Intuit",
+      "position": "Staff Software Engineer",
+      "name": "Siva Thiru",
+      "about": "Siva is a staff software engineer on the API Management Platform team at Intuit based in MountainView, CA. He works on building features for API Platform where developers can author, mock, explore and share APIs with other developers. During his free time, he enjoys going on hikes and runs a couple of marathons every year",
+      "location": "Toronto",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/23/9778144/avatar.jpg.320x320px.jpg?422",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502079623
+    },
+    {
+      "username": "skwok5",
+      "company": "LinkedIn",
+      "position": "Senior Software Engineer",
+      "name": "Spencer Kwok",
+      "about": "I specialize in federated GraphQL for frontend and backend services across LinkedIn's application ecosystem.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/e4/23138920/avatar.jpg.320x320px.jpg?2f3",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/spencerkwok/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753974079549
+    },
+    {
+      "username": "spencer211",
+      "company": "Okta",
+      "position": "Software Architect",
+      "name": "Spencer MacKinnon",
+      "about": "Spencer has worked on GraphQL at both Microsoft and Salesforce, where he has pushed the boundary of schema construction to, quite frankly, silly levels. He spends his free time sailing and has a fuchsia hexagon tattooed on his ankle. Follow him @smackinnon.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/e/9c/18743795/avatar.jpg.320x320px.jpg?957",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381878
+    },
+    {
+      "username": "sspalding2",
+      "company": "Netflix",
+      "position": "Engineer",
+      "name": "Stephen Spalding",
+      "about": "Stephen is a member of the Edge API team at Netflix and a GraphQL TSC emeritus. His team develops and operates the Netflix API platform. This is the nexus point where hundreds of microservices are aggregated into a single API that delivers the Netflix experience for the hundreds of millions of Netflix devices worldwide.",
+      "location": "",
+      "url": "http://stephenspalding.com",
+      "avatar": "//avatars.sched.co/8/08/18743825/avatar.jpg.320x320px.jpg?af4",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/stephenspalding"
+        }
+      ],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1751036945383
+    },
+    {
+      "username": "stefan239",
+      "company": "Wundergraph",
+      "position": "Co-Founder & CCO",
+      "name": "Stefan Avram",
+      "about": "Stefan co-founded WunderGraph with Jens Neuse in 2021 and now spearheads growth and success strategies as the Chief Customer Officer.\n\nBefore WunderGraph, Stefan was a software engineer at three late-stage startups all using GraphQL.\n\nStefan is passionate about APIs, GraphQL, helping customers succeed, and building a long term company.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/0/e6/21335795/avatar.jpg.320x320px.jpg?985",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502079623
+    },
+    {
+      "username": "stephanie.saunders2",
+      "company": "Coinbase",
+      "position": "Engineering Manager",
+      "name": "Stephanie Saunders",
+      "about": "This year, Stephanie made the switch from Staff Software Engineer to Engineering Manager and hasn’t looked back. She enjoys creating awesome GraphQL DevX, sifting through chaos to find order and reason, (which is an absolute requirement when you have four kids) leading other engineers to be the best they can be, and initiating company-wide culture changes. In her free time, (limited, remember the four kids) you can find her on top of a 14K Colorado peak, or 80ft under the ocean.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/1/65/14992671/avatar.jpg.320x320px.jpg?588",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381878
+    },
+    {
+      "username": "stephenchambers",
+      "company": "Netflix",
+      "position": "N/A",
+      "name": "Stephen Chambers",
+      "about": "Stephen Chambers is a Senior Software Engineer on the API team at Netflix. With a background in distributed systems, he spent six years at Liberty Mutual Insurance and two years at Apple before joining Netflix. Brand new to GraphQL, Stephen is navigating this technology with fresh eyes. Outside of work, he enjoys lifting weights, playing live music, and traveling with his wife, Tiffany.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/ac/23098804/avatar.jpg.320x320px.jpg?4a8",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "suresh_muthu",
+      "company": "Intuit",
+      "position": "Principal Engineer",
+      "name": "Suresh Muthu",
+      "about": "Suresh is a Principal Engineer at Intuit, where he focuses on the Intuit Data Exchange platform. The Intuit Data Exchange is responsible for acquiring, transforming, enriching, and managing consumer’s financial data from financial institutions across a variety of channels and authorization schemes. He has a passion for FinTech and domain-driven design and modeling APIs while dealing with legacy.",
+      "location": "",
+      "url": "https://www.intuit.com/",
+      "avatar": "//avatars.sched.co/2/29/18743849/avatar.jpg.320x320px.jpg?d1d",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/sureshmuthu"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/sureshmuthu/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381878
+    },
+    {
+      "username": "tanmaig",
+      "company": "Hasura",
+      "position": "CEO & Co-Founder",
+      "name": "Tanmai Gopal",
+      "about": "Tanmai is the co-founder of Hasura. He is a GPT-4-powered, full-stack, polyglot developer whose areas of interest and work span React, GraphQL, Node.js, Python, Haskell, Docker, Postgres, and Kubernetes. He is passionate about making it easy to build things. Before Hasura, Tanmai ran a consulting firm helping tech-forward enterprises migrate to cloud-native architectures and was the instructor of what became India's largest MOOC imad.tech with over 250,000 students.",
+      "location": "San Francisco",
+      "url": "https://hasura.io",
+      "avatar": "//avatars.sched.co/1/7c/4968006/avatar.jpg.320x320px.jpg?81a",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/tanmaigo"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/tanmaig"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381878
+    },
+    {
+      "username": "theo93",
+      "company": "Ping Labs",
+      "position": "CEO, Founder",
+      "name": "Theo Browne",
+      "about": "Known primarily for sh*tposting, secondarily for shouting on Youtube, and I guess for code as well. Theo likes full stack web dev and TypeScript a lot. Many think he dislikes GraphQL despite his persistent defense of it. Ask him about RSCs or tRPC if you have a few hours to spare",
+      "location": "San Francisco",
+      "url": "t3.gg",
+      "avatar": "//avatars.sched.co/2/a1/19108367/avatar.jpg.320x320px.jpg?09c",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/t3dotgg"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381878
+    },
+    {
+      "username": "thomas.heyenbrock",
+      "company": "Stellate",
+      "position": "Software Engineer",
+      "name": "Thomas Heyenbrock",
+      "about": "",
+      "location": "Munich, Germany",
+      "url": "",
+      "avatar": "//avatars.sched.co/d/37/14989332/avatar.jpg.320x320px.jpg?9f4",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/heyenbrock"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/thomas-heyenbrock-1a9651145/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381878
+    },
+    {
+      "username": "thorekoritzius",
+      "company": "Independent",
+      "position": "Machine Learning Software Engineer",
+      "name": "Thore Koritzius",
+      "about": "Thore is an ML Engineer with a passion for building and deploying multimodal LLMs. He enjoys working on the full stack of AI systems—from training embedding models and optimizing RAG pipelines to deploying on-premises LLM infrastructure. Thore is also a GraphQL and Rust enthusiast who loves exploring modern developer tools and building high-performance systems. His journey into AI started with research on Physics-Informed Neural Networks during his Master’s thesis, and he's been excited about pushing the boundaries of applied machine learning ever since.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/c/bd/23218043/avatar.jpg.320x320px.jpg?02e",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752072949897
+    },
+    {
+      "username": "tim.hall.engr",
+      "company": "Postman",
+      "position": "Technical Lead",
+      "name": "Tim Hall",
+      "about": "Tim is a full-stack developer working on GraphQL at Postman, where he's applying what he's learned building backends and frontends with GraphQL to developing Postman's GraphQL client. He's based in Virginia and shares an office with four crazy kids and five wild pets.",
+      "location": "",
+      "url": "https://www.postman.com",
+      "avatar": "//avatars.sched.co/a/76/18743807/avatar.jpg.320x320px.jpg?7e7",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/timhalldesign"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/timhallengr/"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381879
+    },
+    {
+      "username": "tom817",
+      "company": "Grafbase",
+      "position": "Engineer",
+      "name": "Tom Houlé",
+      "about": "Tom's professional life has gravitated towards GraphQL and Rust, schemas and databases. After authoring the first Rust GraphQL client library, recent years have taken him from the database schema management space at Prisma to GraphQL federation at Grafbase. In his free time, he enjoys long walks, pistachios and trying to teach his dog the international phonetic alphabet.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/2/e2/23098807/avatar.jpg.320x320px.jpg?cff",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "tristan119",
+      "company": "Escape",
+      "position": "Co-founder & CEO",
+      "name": "Tristan Kalos",
+      "about": "Co-founder and CEO of Escape - GraphQL Security, the first company that provides developers and security teams the right tooling for building safe, scalable and compliant GraphQL APIs",
+      "location": "San Francisco, USA",
+      "url": "https://escape.tech",
+      "avatar": "//avatars.sched.co/7/08/19011005/avatar.jpg.320x320px.jpg?53c",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://linkedin.com/in/tkalos"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381879
+    },
+    {
+      "username": "tushar.mathur",
+      "company": "Tailcall",
+      "position": "CEO & Founder",
+      "name": "Tushar Mathur",
+      "about": "Tushar is the Founder and CEO of Tailcall Inc. Before Tailcall, he was leading engineering at Dream11. He is an avid open-source maintainer and contributor, with an ardent passion for doing functional programming.",
+      "location": "",
+      "url": "https://tailcall.run",
+      "avatar": "//avatars.sched.co/6/97/21066872/avatar.jpg.320x320px.jpg?498",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/tusharmath/"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/tusharmath/"
+        }
+      ],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502251756
+    },
+    {
+      "username": "twitter7",
+      "company": "Apollo",
+      "position": "Staff Software Engineer",
+      "name": "Alessia Bellisario",
+      "about": "Alessia is a Staff Open Source Engineer at Apollo GraphQL building Apollo Client. She loves ECMAScript, making generative art with pen plotters and lives in New York City with her wife and son.",
+      "location": "",
+      "url": "https://apollographql.com",
+      "avatar": "//avatars.sched.co/a/c6/18743837/avatar.jpg.320x320px.jpg?847",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/alessbell"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/alessiabellisario/"
+        }
+      ],
+      "_years": [
+        2023,
+        2024
+      ],
+      "~syncedDetailsAt": 1749502251756
+    },
+    {
+      "username": "uri_goldshtein.23xujj9a",
+      "company": "The Guild",
+      "position": "CEO",
+      "name": "Uri Goldshtein",
+      "about": "The Guild, the largest open source group in the GraphQL ecosystem",
+      "location": "",
+      "url": "http://the-guild.dev",
+      "avatar": "//avatars.sched.co/8/2b/14900013/avatar.jpg.320x320px.jpg?06d",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/UriGoldshtein"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/urigo"
+        }
+      ],
+      "_years": [
+        2023,
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1751036945383
+    },
+    {
+      "username": "vincent.desmares",
+      "company": "Teamstarter",
+      "position": "Co-founder & CTO",
+      "name": "Vincent Desmares",
+      "about": "While I was Tech lead and Team lead in a startup studio I developed business analytics platforms for Winsight, Apple and Rakuten. I then co-funded Teamstarter, a platform to boost employee initiative taking.",
+      "location": "Paris, France",
+      "url": "https://www.teamstarter.com/en",
+      "avatar": "//avatars.sched.co/d/cc/21066875/avatar.jpg.320x320px.jpg?f80",
+      "socialurls": [],
+      "_years": [
+        2024
+      ],
+      "~syncedDetailsAt": 1749502251756
+    },
+    {
+      "username": "vivekyadav.cse.2005",
+      "company": "Atlassian",
+      "position": "Modernizing a Million Lines of Code: Jira's Journey to GraphQL and Relay",
+      "name": "Vivek Yadav",
+      "about": "Masters from IIT Roorkee. Engineer with decade of experience in software previously Worked in Amazon & Uber. \nIn Atlassian Using GraphQL to handle JIRA's scale and optimising for better observability, safe rollouts and making JIRA more responsive.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/b1/23098813/avatar.jpg.320x320px.jpg?d11",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1752503797083
+    },
+    {
+      "username": "vmjohnson999",
+      "company": "The New York Times",
+      "position": "Android Engineer",
+      "name": "Vanessa Johnson",
+      "about": "Vanessa Johnson is an Android Engineer at The New York Times working on the Games Android app. She loves building mobile apps and any technical topics she finds interesting. She is passionate about accessibility, is working on various side projects, and has a newsletter & a podcast. When she isn’t coding she is usually playing pickup basketball or watching a horror movie.",
+      "location": "New York City",
+      "url": "https://vanessamj99.github.io",
+      "avatar": "//avatars.sched.co/c/54/23098810/avatar.jpg.320x320px.jpg?394",
+      "socialurls": [
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/vanessa-johnson999/"
+        }
+      ],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1754671960621
+    },
+    {
+      "username": "watson17",
+      "company": "Apollo GraphQL",
+      "position": "Developer Relations Manager",
+      "name": "Michael Watson",
+      "about": "A father first and builder with a passion for polish second. I strive to connect my work with the real world and share my learnings. Whether it's IoT, the cloud, woodworking or now AI, I want to better understand how these pieces can fit together to create new experiences.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/84/19024254/avatar.jpg.320x320px.jpg?838",
+      "socialurls": [],
+      "_years": [
+        2024,
+        2025
+      ],
+      "~syncedDetailsAt": 1753467946105
+    },
+    {
+      "username": "x65han",
+      "company": "Meta Inc.",
+      "position": "Software Engineer",
+      "name": "Xiao Han",
+      "about": "Software Engineer on Instagram Product Foundations",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/5/90/23098816/avatar.jpg.320x320px.jpg?d30",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753215856699
+    },
+    {
+      "username": "yaacovcr",
+      "company": "Open Source",
+      "position": "Contributor",
+      "name": "Yaacov Rydzinski",
+      "about": "Open source GraphQL contributor interested primarily in executor enhancements, incremental delivery, and schema stitching, not necessarily in that order. Contributor to `graphql-tools`, especially the stitch module, part-time reviewer for `graphql-js`, implementer and re-implementer of incremental, deduplicated, and semi-concurrent GraphQL execution. Author of `value-or-promise`.",
+      "location": "",
+      "url": "https://github.com/yaacovCR",
+      "avatar": "//avatars.sched.co/4/e4/18743840/avatar.jpg.320x320px.jpg?eb9",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/YRydzinski"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/yaacov"
+        }
+      ],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381879
+    },
+    {
+      "username": "yassineldeeb94",
+      "company": "The Guild",
+      "position": "Sr. DevTools Engineer",
+      "name": "Yassin Eldeeb",
+      "about": "Yassin Eldeeb is a high school dropout with a unique programming background. He got his first client at the age of 15, contributed to JavaScript and Rust open-source ecosystems, and is a volunteering member of https://invisible.institute/beneath-the-surface helping their cause in achieving justice in Chicago. He currently works as an Open Source Devtools Engineer at The Guild. He enjoys adrenaline-fueled activities like Sky Diving, Hiking, and Deep diving.",
+      "location": "Egypt",
+      "url": "https://the-guild.dev",
+      "avatar": "//avatars.sched.co/4/33/18743822/avatar.jpg.320x320px.jpg?230",
+      "socialurls": [
+        {
+          "service": "Twitter",
+          "url": "https://twitter.com/YassinEldeeb7"
+        },
+        {
+          "service": "LinkedIn",
+          "url": "https://www.linkedin.com/in/yassin-eldeeb/"
+        }
+      ],
+      "_years": [
+        2023,
+        2024
+      ],
+      "~syncedDetailsAt": 1749502251756
+    },
+    {
+      "username": "yczhu",
+      "company": "Meta",
+      "position": "Software Engineer",
+      "name": "Yuanchao Zhu",
+      "about": "I am a software engineer at Meta. I work on adopting Relay and GraphQL in Ads Manager incrementally. I enjoy solving hard technical problems and building sustainable frameworks.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/4/46/18743882/avatar.jpg.320x320px.jpg?6ba",
+      "socialurls": [],
+      "_years": [
+        2023
+      ],
+      "~syncedDetailsAt": 1749568381879
+    },
+    {
+      "username": "yehudar",
+      "company": "JFrog",
+      "position": "Application Security Researcher",
+      "name": "Yehuda Rosenberg",
+      "about": "I'm an Application Security Researcher passionate about breaking assumptions in modern web technologies. From protocol quirks to real-world vulnerabilities, I explore how small oversights lead to big security issues. My work often blends offensive research with practical defense, aiming to make the internet a little safer and a lot more interesting.",
+      "location": "",
+      "url": "",
+      "avatar": "//avatars.sched.co/f/a8/23098819/avatar.jpg.320x320px.jpg?d3f",
+      "socialurls": [],
+      "_years": [
+        2025
+      ],
+      "~syncedDetailsAt": 1753215856699
+    }
+  ]
+}
\ No newline at end of file
diff --git a/scripts/sync-sched/sync.ts b/scripts/sync-sched/sync.ts
new file mode 100644
index 0000000000..3598bcc039
--- /dev/null
+++ b/scripts/sync-sched/sync.ts
@@ -0,0 +1,495 @@
+#!/usr/bin/env tsx
+
+import assert from "node:assert"
+import { parseArgs } from "node:util"
+import { join } from "node:path"
+import { readFile, writeFile } from "node:fs/promises"
+import pLimit from "p-limit"
+
+import {
+  getSchedule,
+  getSpeakerDetails,
+  getSpeakers,
+  mergeSpeaker,
+  RequestContext,
+} from "@/app/conf/_api/sched-client"
+import type { ConferenceYear, SchedSpeaker } from "@/app/conf/_api/sched-types"
+
+/**
+ * Sched API rate limit is 30 requests per minute per token.
+ * This scripts fires:
+ *  - one request for the entire schedule which overwritten
+ *  - one request for the list of speakers with partial details
+ *  - and N requests for the full details of each speaker
+ */
+const DEFAULT_SPEAKER_DETAILS_REQUEST_QUOTA = 10
+
+const PRINT_UNCHANGED = false
+
+const unsafeKeys = Object.keys as <T extends object>(obj: T) => Array<keyof T>
+
+;(async function main() {
+  try {
+    const { values } = parseArgs({
+      options: {
+        year: {
+          type: "string",
+          short: "y",
+        },
+        quota: {
+          type: "string",
+          short: "q",
+        },
+        help: {
+          type: "boolean",
+          short: "h",
+        },
+      },
+    })
+
+    if (values.help) {
+      help()
+      process.exit(0)
+    }
+
+    const year = parseInt(
+      values.year || new Date().getFullYear().toString(),
+    ) as ConferenceYear
+    const quota = parseInt(
+      values.quota || DEFAULT_SPEAKER_DETAILS_REQUEST_QUOTA.toString(),
+    )
+
+    console.log(`Syncing schedule for year: ${year}`)
+
+    const token = process.env[`SCHED_ACCESS_TOKEN_${year}`]
+    assert(token, `SCHED_ACCESS_TOKEN_${year} is not set`)
+
+    await sync(year, quota, token)
+  } catch (error) {
+    if (error instanceof Error && error.message.includes("Unknown option")) {
+      console.error(`Error: ${error.message}`)
+      help()
+      process.exit(1)
+    }
+    throw error
+  }
+})()
+
+async function sync(
+  year: ConferenceYear,
+  detailsRequestsQuota: number,
+  token: string,
+) {
+  const apiUrl = {
+    2023: "https://graphqlconf23.sched.com/api",
+    2024: "https://graphqlconf2024.sched.com/api",
+    2025: "https://graphqlconf2025.sched.com/api",
+  }[year]
+
+  assert(apiUrl, `API URL for year ${year} not found`)
+
+  const ctx: RequestContext = { apiUrl, token }
+
+  const speakersFilePath = join(import.meta.dirname, "speakers.json")
+  const scheduleFilePath = join(import.meta.dirname, `schedule-${year}.json`)
+
+  console.log("Getting schedule and speakers list...")
+
+  const schedule = getSchedule(ctx)
+  const thisYearSpeakers = getSpeakers(ctx)
+  const existingSchedule = readFile(scheduleFilePath, "utf-8").then(JSON.parse)
+  const existingSpeakers = readFile(speakersFilePath, "utf-8").then(JSON.parse)
+
+  const scheduleComparison = compare(
+    await existingSchedule,
+    await schedule,
+    "id",
+  )
+  printComparison(scheduleComparison, "sessions", "id")
+
+  const writeSchedule = writeFile(
+    scheduleFilePath,
+    JSON.stringify(await schedule, null, 2),
+  )
+
+  const speakerComparison = compare(
+    await existingSpeakers.then(data => data.speakers),
+    await thisYearSpeakers.then(speakers =>
+      speakers.map(s => ({
+        ...s,
+        _years: [year as ConferenceYear],
+      })),
+    ),
+    "username",
+    { merge: mergeSpeaker },
+  )
+
+  await updateSpeakerDetails(ctx, speakerComparison, detailsRequestsQuota, year)
+
+  printComparison(speakerComparison, "speakers", "username", {
+    printRemoved: false,
+  })
+
+  const { keptRemovedSpeakers, actuallyRemovedSpeakers } =
+    partitionRemovedSpeakers(speakerComparison.removed, year)
+
+  if (actuallyRemovedSpeakers.length > 0) {
+    console.log(
+      bold(
+        `${actuallyRemovedSpeakers.length} speakers removed (only appeared in ${year}):`,
+      ),
+    )
+    for (const speaker of actuallyRemovedSpeakers) {
+      console.log(red(`- ${speaker.username}`))
+    }
+  }
+
+  const updatedSpeakers = [
+    ...keptRemovedSpeakers,
+    ...speakerComparison.unchanged,
+    ...speakerComparison.changed.map(change => change.new),
+    ...speakerComparison.added,
+  ].sort((a, b) => a.username.localeCompare(b.username))
+
+  const equal: string[][] = (await existingSpeakers).equal
+  updateEqualitySets(equal, updatedSpeakers)
+
+  const writeSpeakers = writeFile(
+    speakersFilePath,
+    JSON.stringify(
+      {
+        equal,
+        speakers: updatedSpeakers,
+      },
+      null,
+      2,
+    ),
+  )
+
+  await writeSchedule
+  await writeSpeakers
+}
+
+async function updateSpeakerDetails(
+  ctx: RequestContext,
+  /** mutated in place */
+  comparison: Comparison<SchedSpeaker>,
+  quota: number,
+  year: ConferenceYear,
+) {
+  const locations = new Map<
+    string /* username */,
+    [key: keyof Comparison<unknown>, index: number]
+  >()
+
+  for (const key of unsafeKeys(comparison)) {
+    const items = comparison[key as keyof Comparison<SchedSpeaker>]
+    for (let i = 0; i < items.length; i++) {
+      let item = items[i]
+      if (!("username" in item)) item = item.new
+      locations.set(item.username, [key, i])
+    }
+  }
+
+  const allSpeakers = [
+    ...comparison.unchanged,
+    ...comparison.changed.map(change => change.new),
+    ...comparison.added,
+  ]
+  const byUpdateTime = allSpeakers
+    .filter(x => x._years?.includes(year))
+    .sort((a, b) => {
+      const aTime = a["~syncedDetailsAt"] ?? 0
+      const bTime = b["~syncedDetailsAt"] ?? 0
+      return aTime - bTime
+    })
+
+  const toUpdate = byUpdateTime.slice(0, quota)
+  console.log(`Fetching additional details for ${toUpdate.length} speakers...`)
+  console.log(
+    toUpdate
+      .map(s =>
+        [
+          `- ${s.username.padEnd(32, " ")}`,
+          s["~syncedDetailsAt"]
+            ? `last synced at ${new Date(s["~syncedDetailsAt"]).toLocaleString()}`
+            : "without details yet",
+        ].join("\t"),
+      )
+      .join("\n"),
+  )
+
+  const limit = pLimit(5)
+  const updated = await Promise.all(
+    toUpdate.map(speaker =>
+      limit(() => getSpeakerDetails(ctx, speaker.username)),
+    ),
+  )
+
+  for (const speaker of updated) {
+    const location = locations.get(speaker.username)
+    if (location) {
+      const [key, index] = location
+      const current =
+        key === "changed" ? comparison[key][index].new : comparison[key][index]
+
+      const newValue = mergeSpeaker(current, speaker)
+      const diff = objectDiff({ old: current, new: newValue })
+      if (diff.trim()) {
+        console.log(diff)
+      }
+      newValue["~syncedDetailsAt"] = Date.now()
+
+      if (key === "changed") {
+        comparison[key][index].new = newValue
+      } else {
+        comparison[key][index] = newValue
+      }
+    }
+  }
+
+  // Re-classify after speaker details update
+  const actuallyChanged = comparison.changed.filter(
+    change => !deepStrictEqualWithoutInternals(change.old, change.new),
+  )
+  const nowUnchanged = comparison.changed
+    .filter(change => deepStrictEqualWithoutInternals(change.old, change.new))
+    .map(change => change.new)
+
+  comparison.changed = actuallyChanged
+  comparison.unchanged.push(...nowUnchanged)
+}
+
+function help() {
+  return console.log("Usage: tsx sync.ts --year <year>")
+}
+
+function partitionRemovedSpeakers(
+  removedSpeakers: SchedSpeaker[],
+  currentYear: ConferenceYear,
+) {
+  const keptRemovedSpeakers: SchedSpeaker[] = []
+  const actuallyRemovedSpeakers: SchedSpeaker[] = []
+
+  for (const speaker of removedSpeakers) {
+    // We only remove the speakers removed from Sched if they didn't have talks in other years.
+    if (speaker._years?.length === 1 && speaker._years[0] === currentYear) {
+      actuallyRemovedSpeakers.push(speaker)
+    } else {
+      keptRemovedSpeakers.push(speaker)
+    }
+  }
+
+  return { keptRemovedSpeakers, actuallyRemovedSpeakers }
+}
+
+type EqualitySet = string[][]
+
+function updateEqualitySets(old: EqualitySet, speakers: SchedSpeaker[]) {
+  for (const a of speakers) {
+    for (const b of speakers) {
+      if (a.username === b.username) continue
+
+      // if the name or one of the social URLs is the same we add the username to a set
+      if (
+        a.name === b.name ||
+        a.socialurls?.some(url =>
+          b.socialurls?.some(bUrl => bUrl.url === url.url),
+        )
+      ) {
+        const existing = old.find(
+          set => set.includes(a.username) || set.includes(b.username),
+        )
+        if (existing) {
+          const length = existing.length
+          const newSet = [...new Set([...existing, a.username, b.username])]
+          if (newSet.length !== length) {
+            existing.length = 0
+            existing.push(...newSet)
+            console.log("Found more duplicate speakers:", newSet)
+          }
+        } else {
+          old.push([a.username, b.username])
+          console.log("Found duplicate speakers:", a.username, b.username)
+        }
+      }
+    }
+  }
+}
+
+// #region utility
+
+type Change<T> = { old: T; new: T }
+type Comparison<T> = {
+  added: T[]
+  removed: T[]
+  changed: Change<T>[]
+  unchanged: T[]
+}
+
+function compare<T extends object>(
+  olds: T[],
+  news: T[],
+  key: keyof T,
+  options: { merge?: (oldItem: T, newItem: T) => T } = {},
+) {
+  const oldMap = new Map(olds.map(o => [o[key], o]))
+  const newMap = new Map(news.map(n => [n[key], n]))
+
+  const added: T[] = []
+  const removed: T[] = []
+  const changed: Change<T>[] = []
+  const unchanged: T[] = []
+
+  for (const newItem of news) {
+    const oldItem = oldMap.get(newItem[key])
+    if (oldItem) {
+      if (deepStrictEqualWithoutInternals(oldItem, newItem)) {
+        unchanged.push(oldItem)
+      } else {
+        changed.push({
+          old: oldItem,
+          new: options.merge ? options.merge(oldItem, newItem) : newItem,
+        })
+      }
+    } else {
+      added.push(newItem)
+    }
+  }
+
+  for (const oldItem of olds) {
+    if (!newMap.has(oldItem[key])) {
+      removed.push(oldItem)
+    }
+  }
+
+  return { added, removed, changed, unchanged }
+}
+
+function printComparison<T extends object>(
+  comparison: Comparison<T>,
+  name: string,
+  key: keyof T,
+  options: { printRemoved?: boolean } = { printRemoved: true },
+) {
+  if (comparison.added.length > 0) {
+    console.log(bold(`${comparison.added.length} ${name} added.`))
+    for (const item of comparison.added) {
+      console.log(green(`+ ${JSON.stringify(item)}`))
+    }
+  }
+
+  if (options.printRemoved) {
+    if (comparison.removed.length > 0) {
+      console.log(bold(`${comparison.removed.length} ${name} removed.`))
+      for (const item of comparison.removed) {
+        console.log(red(`- ${JSON.stringify(item)}`))
+      }
+    }
+  }
+
+  if (comparison.unchanged.length > 0) {
+    console.log(bold(`${comparison.unchanged.length} ${name} not changed.`))
+    if (PRINT_UNCHANGED) {
+      for (const item of comparison.unchanged) {
+        console.log(yellow(`{ ${String(key)}: ${item[key]}, ... }`))
+      }
+    }
+  }
+
+  if (comparison.changed.length > 0) {
+    console.log(bold(`${comparison.changed.length} ${name} changed.`))
+    for (const change of comparison.changed) {
+      console.log(change.new[key] + "\n", objectDiff(change))
+    }
+  }
+}
+
+function objectDiff<T extends object>(change: Change<T>): string {
+  const allKeys = [
+    ...new Set([...unsafeKeys(change.old), ...unsafeKeys(change.new)]),
+  ]
+    .sort()
+    .filter(key => !String(key).startsWith("~"))
+
+  const diff = allKeys
+    .map(key => {
+      const oldValue = change.old[key]
+      const newValue = change.new[key]
+
+      if (JSON.stringify(oldValue) === JSON.stringify(newValue)) {
+        return null
+      }
+
+      return { key, oldValue, newValue }
+    })
+    .filter(x => !!x)
+
+  return diff
+    .map(diff => {
+      return `${yellow(String(diff.key))}:\n  ${red("-" + JSON.stringify(diff.oldValue))}\n  ${green("+" + JSON.stringify(diff.newValue))}`
+    })
+    .join("\n")
+}
+
+function green(text: string) {
+  return `\x1b[32m${text}\x1b[0m`
+}
+
+function red(text: string) {
+  return `\x1b[31m${text}\x1b[0m`
+}
+
+function yellow(text: string) {
+  return `\x1b[33m${text}\x1b[0m`
+}
+
+function bold(text: string) {
+  return `\x1b[1m${text}\x1b[0m`
+}
+
+function deepStrictEqualWithoutInternals(a: unknown, b: unknown): boolean {
+  if (a === b) return true
+
+  if (a === null || b === null || a === undefined || b === undefined) {
+    return a === b
+  }
+
+  if (typeof a !== typeof b) return false
+
+  if (typeof a !== "object") return false
+
+  if (Array.isArray(a) !== Array.isArray(b)) return false
+
+  if (Array.isArray(a) && Array.isArray(b)) {
+    if (a.length !== b.length) return false
+
+    for (let i = 0; i < a.length; i++) {
+      if (!deepStrictEqualWithoutInternals(a[i], b[i])) {
+        return false
+      }
+    }
+    return true
+  }
+
+  const aObj = a as Record<string, unknown>
+  const bObj = b as Record<string, unknown>
+
+  const aKeys = Object.keys(aObj).filter(key => !key.startsWith("~"))
+  const bKeys = Object.keys(bObj).filter(key => !key.startsWith("~"))
+
+  if (aKeys.length !== bKeys.length) return false
+
+  aKeys.sort()
+  bKeys.sort()
+
+  for (const key of aKeys) {
+    if (!deepStrictEqualWithoutInternals(aObj[key], bObj[key])) {
+      return false
+    }
+  }
+
+  return true
+}
+
+// #endregion utility
diff --git a/scripts/validate-snippets.js b/scripts/validate-snippets.js
new file mode 100644
index 0000000000..8bd70c09bf
--- /dev/null
+++ b/scripts/validate-snippets.js
@@ -0,0 +1,158 @@
+#!/usr/bin/env node
+
+import fs from "node:fs"
+import path from "node:path"
+import glob from "glob"
+import { parse } from "graphql"
+import chalk from "chalk"
+import { fileURLToPath } from "node:url"
+
+const __filename = fileURLToPath(import.meta.url)
+const __dirname = path.dirname(__filename)
+const projectRoot = path.resolve(__dirname, "../")
+
+const MDX_GLOB = "./src/pages/learn/**/*.mdx"
+const CODE_BLOCK_REGEX = /^(`{3,})(\w+)\s*\n([\s\S]*?)\r?\n\1$/gm
+const IGNORE_COMMENT = "snippet-ignore"
+
+let totalFiles = 0
+let totalSnippets = 0
+let totalErrors = 0
+
+// TODO: Add JS linting after JS code snippet modernization
+// async function lintJavaScript(code, filePath) {
+//   const eslint = new ESLint({
+//     useEslintrc: true,
+//     baseConfig: {
+//       parserOptions: {
+//         ecmaVersion: "latest",
+//         sourceType: "module",
+//       },
+//     },
+//   })
+
+//   let preparedCode = code.trim()
+
+//   if (preparedCode.startsWith("function")) {
+//     preparedCode = "/* eslint-disable no-unused-vars */\n" + preparedCode
+//   }
+
+//   const results = await eslint.lintText(preparedCode, { filePath })
+//   return results.flatMap(result => result.messages)
+// }
+
+function validateGraphQL(code) {
+  try {
+    parse(code)
+    return []
+  } catch (error) {
+    return [{ message: error.message }]
+  }
+}
+
+function extractSnippets(content, filePath) {
+  const snippets = []
+  let match
+
+  while ((match = CODE_BLOCK_REGEX.exec(content)) !== null) {
+    const [fullMatch, openingBackticks, lang, code] = match
+    const beforeBlock = content.slice(0, match.index)
+    const lineNumber = beforeBlock.split(/\r?\n/).length
+
+    if (beforeBlock.includes(IGNORE_COMMENT)) {
+      continue
+    }
+
+    snippets.push({ lang, code, lineNumber, filePath })
+  }
+
+  return snippets
+}
+
+async function validateSnippet(snippet) {
+  const { lang, code, lineNumber, filePath } = snippet
+
+  if (!code.trim()) return []
+
+  // TODO: Add section after JS code snippet modernization
+  // if (["js", "javascript", "ts", "typescript"].includes(lang)) {
+  //   const messages = await lintJavaScript(code, filePath)
+  //   return messages.map(msg => ({
+  //     type: "JS/TS",
+  //     file: filePath,
+  //     line: lineNumber + (msg.line || 1),
+  //     message: msg.message,
+  //   }))
+  // }
+
+  if (lang === "graphql") {
+    const messages = validateGraphQL(code)
+    return messages.map(msg => ({
+      type: "GraphQL",
+      file: filePath,
+      line: lineNumber + (msg.line || 1),
+      message: msg.message,
+    }))
+  }
+
+  return []
+}
+
+async function main() {
+  console.log(`Validating code snippets in: ${projectRoot}/${MDX_GLOB}`)
+
+  const files = glob.sync(MDX_GLOB, { cwd: projectRoot })
+  totalFiles = files.length
+
+  if (totalFiles === 0) {
+    console.log(chalk.green("No MDX files found to validate."))
+    return
+  }
+
+  const errors = []
+
+  for (const file of files) {
+    const content = fs.readFileSync(file, "utf8")
+    const snippets = extractSnippets(content, file)
+    totalSnippets += snippets.length
+
+    for (const snippet of snippets) {
+      const snippetErrors = await validateSnippet(snippet)
+      errors.push(...snippetErrors)
+    }
+  }
+
+  totalErrors = errors.length
+
+  if (totalErrors > 0) {
+    errors.forEach(err => {
+      const errorMessage = `${err.type} Error in ${err.file} at line ${err.line}: ${err.message}`
+      console.error(chalk.red(errorMessage))
+
+      if (process.env.GITHUB_ACTIONS) {
+        console.log(`::error file=${err.file},line=${err.line}::${err.message}`)
+      }
+    })
+
+    console.error(
+      chalk.red("\nCode snippet validation failed. Check error logs."),
+    )
+    console.error(`Files checked: ${totalFiles}`)
+    console.error(`Snippets checked: ${totalSnippets}`)
+    console.error(`Errors found: ${totalErrors}`)
+    process.exit(1)
+  } else {
+    console.log(
+      chalk.green(
+        "\nCode snippet validation passed. All code snippets are valid.",
+      ),
+    )
+    console.log(`Files checked: ${totalFiles}`)
+    console.log(`Snippets checked: ${totalSnippets}`)
+  }
+}
+
+main().catch(err => {
+  console.error(err)
+  process.exit(1)
+})
diff --git a/src/app/(development)/layout.tsx b/src/app/(development)/layout.tsx
new file mode 100644
index 0000000000..bcfae89f8e
--- /dev/null
+++ b/src/app/(development)/layout.tsx
@@ -0,0 +1,27 @@
+import React from "react"
+import { notFound } from "next/navigation"
+import { NewFontsStyleTag } from "../fonts"
+
+// @ts-expect-error: we want to import the same version as Nextra for the main page
+import { ThemeProvider } from "next-themes"
+
+import "../colors.css"
+
+export default function DevelopmentLayout({
+  children,
+}: {
+  children: React.ReactNode
+}) {
+  if (process.env.NODE_ENV !== "development") notFound()
+
+  return (
+    <>
+      <NewFontsStyleTag />
+      <ThemeProvider attribute="class">
+        <div className="min-h-screen bg-neu-0 text-neu-900 antialiased">
+          {children}
+        </div>
+      </ThemeProvider>
+    </>
+  )
+}
diff --git a/src/app/(development)/workroom/page.tsx b/src/app/(development)/workroom/page.tsx
new file mode 100644
index 0000000000..3df0ab62c2
--- /dev/null
+++ b/src/app/(development)/workroom/page.tsx
@@ -0,0 +1,119 @@
+import { SpeakerOpengraphImage } from "@/app/conf/2025/components/og-images/speaker-opengraph-image"
+import { SessionOpengraphImage } from "@/app/conf/2025/components/og-images/session-opengraph-image"
+import { GenericOpengraphImage } from "@/app/conf/2025/components/og-images/generic-opengraph-image"
+import { SchedSpeaker } from "@/app/conf/2023/types"
+
+/**
+ * This is cheaper than maintaining a Storybook config.
+ */
+export default function WorkroomPage() {
+  const dateAndLocation = {
+    date: "September 8-10",
+    year: "2025",
+    location: "Amsterdam, Netherlands",
+  }
+
+  const enisdenjo: SchedSpeaker = {
+    name: "Denis Badurina",
+    username: "enisdenjo",
+    avatar: "https://github.com/enisdenjo.png",
+    company: "The Guild",
+    position: "Software Architect",
+    about:
+      "Denis is a software architect at The Guild. He is a passionate about GraphQL and the GraphQL ecosystem.",
+    role: "speaker",
+    socialurls: [],
+    _years: [2025],
+  }
+
+  const saihaj: SchedSpeaker = {
+    name: "Saihajpreet Singh",
+    username: "saihaj",
+    avatar: "https://github.com/saihaj.png",
+    company: "The Guild",
+    position: "Head of Growth & Product",
+    about:
+      "I'm an engineer focused on building developer tools, infrastructure, and application solutions, while experimenting with practical AI applications. Always accelerating efficiently.",
+    role: "speaker",
+    socialurls: [],
+    _years: [2025],
+  }
+
+  return (
+    <main className="gql-conf-section gql-conf-container [&>p]:pt-8 [&>p]:font-mono [&>p]:text-sm [&>p]:text-neu-600">
+      <p>SpeakerOpengraphImage</p>
+      <SpeakerOpengraphImage speaker={enisdenjo} {...dateAndLocation} />
+
+      <p>ScheduleOpengraphImage / no speakers</p>
+      <SessionOpengraphImage
+        session={{
+          name: "Welcome & Opening Remarks",
+          speakers: [],
+          event_type: "",
+          event_subtype: "",
+        }}
+        {...dateAndLocation}
+      />
+
+      <p>ScheduleOpengraphImage / single speaker</p>
+      <SessionOpengraphImage
+        session={{
+          name: "The State of Distributed GraphQL",
+          speakers: [enisdenjo],
+          event_type: "Keynote Sessions",
+          event_subtype: "",
+        }}
+        {...dateAndLocation}
+      />
+
+      <p>ScheduleOpengraphImage / multiple speakers</p>
+      <SessionOpengraphImage
+        session={{
+          name: "TSC Panel",
+          speakers: [enisdenjo, saihaj],
+          event_type: "Developer Experience",
+          event_subtype: "Backend",
+        }}
+        {...dateAndLocation}
+      />
+
+      <p>SpeakerOpengraphImage / very long title</p>
+      <SessionOpengraphImage
+        session={{
+          name: "TSC Panel - Lee Byron, GraphQL Foundation; Kewei Qu, Meta; Rob Richard, 1stDibs; Michael Staib, ChilliCream; Moderated by Sasha Solomon, Staff Software Engineer & Tech Lead",
+          speakers: [
+            {
+              ...enisdenjo,
+              name: "Lee Byron",
+            },
+            {
+              ...enisdenjo,
+              name: "Kewei Qu",
+            },
+            {
+              ...enisdenjo,
+              name: "Rob Richard",
+            },
+            {
+              ...enisdenjo,
+              name: "Michael Staib",
+            },
+            { ...enisdenjo, name: "Sasha Solomon" },
+          ],
+          event_type: "Keynote Sessions",
+          event_subtype: "",
+        }}
+        {...dateAndLocation}
+      />
+
+      <p>GenericOpengraphImage / GraphQLConf 2025</p>
+      <GenericOpengraphImage
+        pageTitle="GraphQLConf 2025"
+        {...dateAndLocation}
+      />
+
+      <p>GenericOpengraphImage / Sponsors</p>
+      <GenericOpengraphImage pageTitle="Sponsors" {...dateAndLocation} />
+    </main>
+  )
+}
diff --git a/src/app/colors.css b/src/app/colors.css
new file mode 100644
index 0000000000..95ec008b24
--- /dev/null
+++ b/src/app/colors.css
@@ -0,0 +1,40 @@
+:root,
+.light {
+  --color-pri-lighter: 319 100% 90%;
+  --color-pri-light: 318 100% 80%;
+  --color-pri-base: 319 100% 44.1%;
+  --color-pri-dark: 319 100% 30%;
+  --color-pri-darker: 319 100% 20%;
+
+  --color-sec-lighter: 79 80% 90%;
+  --color-sec-light: 79 82% 80%;
+  --color-sec-base: 79 90% 65%;
+  --color-sec-dark: 79 98% 37%;
+  --color-sec-darker: 79 98% 23%;
+
+  --color-neu-0: 0 0% 100%;
+  --color-neu-50: 75 57% 97%;
+  --color-neu-100: 75 15% 95%;
+  --color-neu-200: 77 14% 90%;
+  --color-neu-300: 76 14% 85%;
+  --color-neu-400: 77 14% 80%;
+  --color-neu-500: 74 14% 70%;
+  --color-neu-600: 76 15% 60%;
+  --color-neu-700: 76 15% 40%;
+  --color-neu-800: 77 14% 20%;
+  --color-neu-900: 75 15% 5%;
+}
+
+.dark {
+  --color-neu-900: 0 0% 100%;
+  --color-neu-800: 75 57% 97%;
+  --color-neu-700: 75 15% 95%;
+  --color-neu-600: 77 14% 90%;
+  --color-neu-500: 76 14% 85%;
+  --color-neu-400: 77 14% 80%;
+  --color-neu-300: 74 14% 70%;
+  --color-neu-200: 76 15% 60%;
+  --color-neu-100: 76 15% 40%;
+  --color-neu-50: 77 14% 20%;
+  --color-neu-0: 75 15% 5%;
+}
diff --git a/src/app/conf/2023/_data.ts b/src/app/conf/2023/_data.ts
index 55e10bdab8..ced52d8c12 100644
--- a/src/app/conf/2023/_data.ts
+++ b/src/app/conf/2023/_data.ts
@@ -1,84 +1,7 @@
 import "server-only"
-import { stripHtml } from "string-strip-html"
-import { SchedSpeaker, ScheduleSession } from "@/app/conf/2023/types"
-import pLimit from "p-limit"
 
-async function fetchData<T>(url: string): Promise<T> {
-  try {
-    const response = await fetch(url, {
-      method: "POST",
-      headers: {
-        "Content-Type": "application/json",
-        "User-Agent": "GraphQL Conf / GraphQL Foundation",
-      },
-    })
-    const data = await response.json()
-    return data
-  } catch (error) {
-    throw new Error(
-      `Error fetching data from ${url}: ${(error as Error).message || (error as Error).toString()}`,
-    )
-  }
-}
+import { SchedSpeaker, ScheduleSession } from "../_api/sched-types"
+import { readSpeakers } from "../_api/sched-data"
 
-const token = process.env.SCHED_ACCESS_TOKEN_2023
-
-async function getUsernames(): Promise<string[]> {
-  const response = await fetchData<{ username: string }[]>(
-    `https://graphqlconf23.sched.com/api/user/list?api_key=${token}&format=json&fields=username`,
-  )
-  return response.map(user => user.username)
-}
-
-const limit = pLimit(40) // rate limit is 30req/min
-
-async function getSpeakers(): Promise<SchedSpeaker[]> {
-  const usernames = await getUsernames()
-
-  const users = await Promise.all(
-    usernames.map(username =>
-      limit(() => {
-        return fetchData<SchedSpeaker>(
-          `https://graphqlconf23.sched.com/api/user/get?api_key=${token}&by=username&term=${username}&format=json&fields=username,company,position,name,about,location,url,avatar,role,socialurls`,
-        )
-      }),
-    ),
-  )
-
-  const result = users
-    .filter(speaker => speaker.role.includes("speaker"))
-    .map(user => {
-      return {
-        ...user,
-        about: stripHtml(user.about).result,
-      }
-    })
-
-  return result
-}
-
-async function getSchedule(): Promise<ScheduleSession[]> {
-  const sessions = await fetchData<ScheduleSession[]>(
-    `https://graphqlconf23.sched.com/api/session/export?api_key=${token}&format=json`,
-  )
-
-  const result = sessions.map(session => {
-    const { description } = session
-    if (description?.includes("<")) {
-      // console.log(`Found HTML element in about field for session "${session.name}"`)
-    }
-
-    return {
-      ...session,
-      description: description && stripHtml(description).result,
-    }
-  })
-
-  return result
-}
-
-// @ts-expect-error -- fixme
-export const speakers = await getSpeakers()
-
-// @ts-expect-error -- fixme
-export const schedule = await getSchedule()
+export const schedule: ScheduleSession[] = require("../../../../scripts/sync-sched/schedule-2023.json")
+export const speakers: SchedSpeaker[] = readSpeakers(2023)
diff --git a/src/app/conf/2023/layout.tsx b/src/app/conf/2023/layout.tsx
index 4669949d2c..6b3f04a9db 100644
--- a/src/app/conf/2023/layout.tsx
+++ b/src/app/conf/2023/layout.tsx
@@ -4,6 +4,7 @@ import { Header } from "../_components/header"
 import { Footer } from "../_components/footer"
 import { GraphQLConf, HostedByGraphQLFoundation } from "@/icons"
 import NextLink from "next/link"
+import { OldFontsStyleTag } from "../../fonts/old-fonts"
 
 export const metadata = {
   description:
@@ -33,6 +34,7 @@ export default function ConfLayout({
   const hover = "#c026d3"
   return (
     <>
+      <OldFontsStyleTag />
       <style>{`
         .text-primary,
         .hover\\:text-primary:hover {
diff --git a/src/app/conf/2023/page.tsx b/src/app/conf/2023/page.tsx
index 5f58405460..c4e160cc40 100644
--- a/src/app/conf/2023/page.tsx
+++ b/src/app/conf/2023/page.tsx
@@ -24,7 +24,7 @@ export default function ConfPage() {
 
 function Hero() {
   return (
-    <div className="bg-black/20 bg-[url('/img/conf/graphql-conf-bg.png')] bg-cover text-white bg-blend-multiply max-md:text-base">
+    <div className="bg-blk/20 bg-[url('/img/conf/graphql-conf-bg.png')] bg-cover text-white bg-blend-multiply max-md:text-base">
       <div className="container py-16 md:py-20">
         <div className="flex items-center gap-6">
           <GraphQLConf className="h-14" />
diff --git a/src/app/conf/2023/sessions/[id]/_event_title.ts b/src/app/conf/2023/sessions/[id]/_event_title.ts
index a0510613c2..a9b5a8b2ea 100644
--- a/src/app/conf/2023/sessions/[id]/_event_title.ts
+++ b/src/app/conf/2023/sessions/[id]/_event_title.ts
@@ -1,4 +1,4 @@
-import { ScheduleSession } from "../../../_components/schedule/session-list"
+import { ScheduleSession } from "@/app/conf/_api/sched-types"
 
 export function getEventTitle(
   event: ScheduleSession,
diff --git a/src/app/conf/2023/sessions/[id]/page.tsx b/src/app/conf/2023/sessions/[id]/page.tsx
index 9cf13d884b..1a1b6056da 100644
--- a/src/app/conf/2023/sessions/[id]/page.tsx
+++ b/src/app/conf/2023/sessions/[id]/page.tsx
@@ -63,10 +63,16 @@ export default function SessionPage({ params }: SessionProps) {
   if (!event) {
     notFound()
   }
-  // @ts-expect-error -- fixme
-  event.speakers = event.speakers!.map(speaker =>
-    speakers.find(s => s.username === speaker.username),
-  )
+
+  event.speakers = (event.speakers || []).map(speaker => {
+    const s = speakers.find(s => s.username === speaker.username)
+    if (!s) {
+      throw new Error(
+        `Speaker not found: "${speaker.username}" in "${event.name}".`,
+      )
+    }
+    return s
+  })
 
   const eventType = event.event_type.endsWith("s")
     ? event.event_type.slice(0, -1)
@@ -86,7 +92,7 @@ export default function SessionPage({ params }: SessionProps) {
     <div className="bg-[#f4f6f8]">
       <div className="container">
         <div className="py-10">
-          <section className="xs:px-0 mx-auto min-h-[80vh] flex-col justify-center px-2 text-[#333333] md:container lg:justify-between">
+          <section className="mx-auto min-h-[80vh] flex-col justify-center px-2 text-[#333333] md:container lg:justify-between">
             <div className="flex flex-col lg:px-0">
               <BackLink year="2023" kind="sessions" />
               {recordingTitle.rating > 0.5 && (
diff --git a/src/app/conf/2023/speakers/[id]/page.tsx b/src/app/conf/2023/speakers/[id]/page.tsx
index 8bc8773f12..6611f41130 100644
--- a/src/app/conf/2023/speakers/[id]/page.tsx
+++ b/src/app/conf/2023/speakers/[id]/page.tsx
@@ -47,9 +47,15 @@ export default function SpeakerPage({ params }: SpeakerProps) {
     .filter(s => s.speakers && s.speakers.some(s => s.username === params.id))
     .map(s => ({
       ...s,
-      speakers: s.speakers!.map(
-        s => speakers.find(speaker => speaker.username === s.username)!,
-      ),
+      speakers: s.speakers!.map(other => {
+        const s = speakers.find(s => s.username === other.username)
+        if (!s) {
+          throw new Error(
+            `Speaker "${other.username}" not found for ${speaker.username} details page`,
+          )
+        }
+        return s
+      }),
     }))
 
   return (
diff --git a/src/app/conf/2023/speakers/page.tsx b/src/app/conf/2023/speakers/page.tsx
index c89589d877..c4f098a98f 100644
--- a/src/app/conf/2023/speakers/page.tsx
+++ b/src/app/conf/2023/speakers/page.tsx
@@ -10,7 +10,7 @@ export default function Page() {
   return (
     <>
       <div className="flex w-full justify-center">
-        <div className="xs:px-0 prose px-2 py-20 md:container lg:prose-lg">
+        <div className="prose px-2 py-20 md:container lg:prose-lg">
           <h1 className="text-white">GraphQLConf 2023 Speakers</h1>
           <p className="text-white sm:w-2/3">
             Meet the unique lineup of insightful speakers we've carefully
@@ -22,7 +22,7 @@ export default function Page() {
       <div className="bg-white">
         <section className="conf-block container flex flex-wrap justify-center gap-8 lg:justify-between">
           {speakers.map(speaker => (
-            <Speaker key={speaker.username} {...speaker} year="2023" />
+            <Speaker key={speaker.username} {...speaker} year={2023} />
           ))}
         </section>
       </div>
diff --git a/src/app/conf/2023/types.d.ts b/src/app/conf/2023/types.d.ts
index 3ced63c4ad..6d3be512cd 100644
--- a/src/app/conf/2023/types.d.ts
+++ b/src/app/conf/2023/types.d.ts
@@ -1,27 +1 @@
-export type ScheduleSession = {
-  id: string
-  audience: string
-  description: string
-  event_end: string
-  event_start: string
-  event_subtype: string
-  event_type: string
-  name: string
-  venue: string
-  speakers?: SchedSpeaker[]
-  files?: { name: string; path: string }[]
-}
-
-export type SchedSpeaker = {
-  username: string
-  name: string
-  about: string
-  company?: string
-  position?: string
-  avatar?: string
-  url?: string
-  role: string
-  location?: string
-  socialurls: { service: string; url: string }[]
-  year: "2024" | "2023"
-}
+export * from "../_api/sched-types"
diff --git a/src/app/conf/2024/_data.ts b/src/app/conf/2024/_data.ts
index e172f3e519..289c003006 100644
--- a/src/app/conf/2024/_data.ts
+++ b/src/app/conf/2024/_data.ts
@@ -1,84 +1,7 @@
 import "server-only"
-import { stripHtml } from "string-strip-html"
-import { SchedSpeaker, ScheduleSession } from "@/app/conf/2023/types"
-import pLimit from "p-limit"
 
-async function fetchData<T>(url: string): Promise<T> {
-  try {
-    const response = await fetch(url, {
-      method: "POST",
-      headers: {
-        "Content-Type": "application/json",
-        "User-Agent": "GraphQL Conf / GraphQL Foundation",
-      },
-    })
-    const data = await response.json()
-    return data
-  } catch (error) {
-    throw new Error(
-      `Error fetching data from ${url}: ${(error as Error).message || (error as Error).toString()}`,
-    )
-  }
-}
+import { SchedSpeaker, ScheduleSession } from "../_api/sched-types"
+import { readSpeakers } from "../_api/sched-data"
 
-const token = process.env.SCHED_ACCESS_TOKEN_2024
-
-async function getUsernames(): Promise<string[]> {
-  const response = await fetchData<{ username: string }[]>(
-    `https://graphqlconf2024.sched.com/api/user/list?api_key=${token}&format=json&fields=username`,
-  )
-  return response.map(user => user.username)
-}
-
-const limit = pLimit(40) // rate limit is 30req/min
-
-async function getSpeakers(): Promise<SchedSpeaker[]> {
-  const usernames = await getUsernames()
-
-  const users = await Promise.all(
-    usernames.map(username =>
-      limit(() => {
-        return fetchData<SchedSpeaker>(
-          `https://graphqlconf2024.sched.com/api/user/get?api_key=${token}&by=username&term=${username}&format=json&fields=username,company,position,name,about,location,url,avatar,role,socialurls`,
-        )
-      }),
-    ),
-  )
-
-  const result = users
-    .filter(speaker => speaker.role.includes("speaker"))
-    .map(user => {
-      return {
-        ...user,
-        about: stripHtml(user.about).result,
-      }
-    })
-
-  return result
-}
-
-async function getSchedule(): Promise<ScheduleSession[]> {
-  const sessions = await fetchData<ScheduleSession[]>(
-    `https://graphqlconf2024.sched.com/api/session/export?api_key=${token}&format=json`,
-  )
-
-  const result = sessions.map(session => {
-    const { description } = session
-    if (description?.includes("<")) {
-      // console.log(`Found HTML element in about field for session "${session.name}"`)
-    }
-
-    return {
-      ...session,
-      description: description && stripHtml(description).result,
-    }
-  })
-
-  return result
-}
-
-// @ts-expect-error -- fixme
-export const speakers = await getSpeakers()
-
-// @ts-expect-error -- fixme
-export const schedule = await getSchedule()
+export const schedule: ScheduleSession[] = require("../../../../scripts/sync-sched/schedule-2024.json")
+export const speakers: SchedSpeaker[] = readSpeakers(2024)
diff --git a/src/app/conf/2024/layout.tsx b/src/app/conf/2024/layout.tsx
index 8e62aeed30..1e26638db0 100644
--- a/src/app/conf/2024/layout.tsx
+++ b/src/app/conf/2024/layout.tsx
@@ -4,6 +4,7 @@ import { Header } from "../_components/header"
 import { Footer } from "../_components/footer"
 import { GraphQLConf, HostedByGraphQLFoundation } from "@/icons"
 import NextLink from "next/link"
+import { OldFontsStyleTag } from "../../fonts/old-fonts"
 
 export const metadata = {
   description:
@@ -30,6 +31,7 @@ export default function Layout({
 }): ReactElement {
   return (
     <>
+      <OldFontsStyleTag />
       <Header
         logo={
           <NextLink
diff --git a/src/app/conf/2024/page.tsx b/src/app/conf/2024/page.tsx
index f968564339..e8dcc80f94 100644
--- a/src/app/conf/2024/page.tsx
+++ b/src/app/conf/2024/page.tsx
@@ -54,7 +54,7 @@ export default function Page() {
           </div>
           <div className="flex items-center gap-10">
             <svg
-              className="w-[50%]"
+              className="w-1/2"
               viewBox="0 0 1239 142"
               fill="currentColor"
               xmlns="http://www.w3.org/2000/svg"
diff --git a/src/app/conf/2024/schedule/[id]/page.tsx b/src/app/conf/2024/schedule/[id]/page.tsx
index cdf9b73443..54cae8be55 100644
--- a/src/app/conf/2024/schedule/[id]/page.tsx
+++ b/src/app/conf/2024/schedule/[id]/page.tsx
@@ -34,7 +34,11 @@ function getEventTitle(event: ScheduleSession, speakers: string[]): string {
 type SessionProps = { params: { id: string } }
 
 export function generateMetadata({ params }: SessionProps): Metadata {
-  const event = schedule.find(s => s.id === params.id)!
+  const event = schedule.find(s => s.id === params.id)
+
+  if (!event) {
+    notFound()
+  }
 
   const keywords = [
     event.event_type,
@@ -77,14 +81,20 @@ const Tag = ({
 
 export default function SessionPage({ params }: SessionProps) {
   const event = schedule.find(s => s.id === params.id)
+
   if (!event) {
     notFound()
   }
 
-  // @ts-expect-error -- fixme
-  event.speakers = (event.speakers || []).map(speaker =>
-    speakers.find(s => s.username === speaker.username),
-  )
+  event.speakers = (event.speakers || []).map(speaker => {
+    const s = speakers.find(s => s.username === speaker.username)
+    if (!s) {
+      throw new Error(
+        `Speaker "${speaker.username}" not found for "${event.name}"`,
+      )
+    }
+    return s
+  })
 
   const eventType = event.event_type.endsWith("s")
     ? event.event_type.slice(0, -1)
@@ -110,7 +120,7 @@ export default function SessionPage({ params }: SessionProps) {
     <div className="bg-[#f4f6f8]">
       <div className="container">
         <div className="py-10">
-          <section className="xs:px-0 mx-auto min-h-[80vh] flex-col justify-center px-2 text-[#333333] md:container lg:justify-between">
+          <section className="mx-auto min-h-[80vh] flex-col justify-center px-2 text-[#333333] md:container lg:justify-between">
             <BackLink year="2024" kind="schedule" />
             <iframe
               className="mx-auto mt-6 aspect-video w-full max-w-4xl rounded-md"
diff --git a/src/app/conf/2024/speakers/[id]/page.tsx b/src/app/conf/2024/speakers/[id]/page.tsx
index afca6571ee..1d70675439 100644
--- a/src/app/conf/2024/speakers/[id]/page.tsx
+++ b/src/app/conf/2024/speakers/[id]/page.tsx
@@ -18,7 +18,11 @@ type SpeakerProps = { params: { id: string } }
 
 export function generateMetadata({ params }: SpeakerProps): Metadata {
   const decodedId = decodeURIComponent(params.id)
-  const speaker = speakers.find(s => s.username === decodedId)!
+  const speaker = speakers.find(s => s.username === decodedId)
+
+  if (!speaker) {
+    throw new Error(`Speaker "${decodedId}" not found for details page`)
+  }
 
   const keywords = [speaker.name, speaker.company, speaker.position].filter(
     Boolean,
@@ -40,15 +44,27 @@ export function generateStaticParams() {
 
 export default function SpeakerPage({ params }: SpeakerProps) {
   const decodedId = decodeURIComponent(params.id)
-  const speaker = speakers.find(s => s.username === decodedId)!
+  const speaker = speakers.find(s => s.username === decodedId)
+
+  if (!speaker) {
+    throw new Error(`Speaker "${decodedId}" not found for details page`)
+  }
 
   const s = schedule
-    .filter(s => s.speakers && s.speakers.some(s => s.username === decodedId))
+    .filter((s): s is typeof s & Required<Pick<typeof s, "speakers">> =>
+      Boolean(s.speakers && s.speakers.some(s => s.username === decodedId)),
+    )
     .map(s => ({
       ...s,
-      speakers: s.speakers!.map(
-        s => speakers.find(speaker => speaker.username === s.username)!,
-      ),
+      speakers: s.speakers.map(other => {
+        const s = speakers.find(s => other.username === s.username)
+        if (!s) {
+          throw new Error(
+            `Speaker "${other.username}" not found for ${speaker.username} details page`,
+          )
+        }
+        return s
+      }),
     }))
 
   return (
diff --git a/src/app/conf/2024/speakers/page.tsx b/src/app/conf/2024/speakers/page.tsx
index 343e76f6de..e09cc87671 100644
--- a/src/app/conf/2024/speakers/page.tsx
+++ b/src/app/conf/2024/speakers/page.tsx
@@ -10,7 +10,7 @@ export default function Page() {
   return (
     <div className='bg-[url("/img/conf/golden-gate-bridge.png")] bg-contain bg-no-repeat'>
       <div className="flex w-full justify-center">
-        <div className="xs:px-0 prose px-2 py-20 md:container lg:prose-lg">
+        <div className="prose px-2 py-20 md:container lg:prose-lg">
           <h1 className="text-white">GraphQLConf 2024 Speakers</h1>
           <p className="text-white sm:w-2/3">
             Meet the unique lineup of insightful speakers we've carefully
@@ -22,7 +22,7 @@ export default function Page() {
       <div className="bg-white">
         <section className="conf-block container flex flex-wrap justify-center gap-8 lg:justify-between">
           {speakers.map(speaker => (
-            <Speaker key={speaker.username} {...speaker} year="2024" />
+            <Speaker key={speaker.username} {...speaker} year={2024} />
           ))}
         </section>
       </div>
diff --git a/src/app/conf/2024/sponsors.tsx b/src/app/conf/2024/sponsors.tsx
index 7d99f9a4f3..c995fcde65 100644
--- a/src/app/conf/2024/sponsors.tsx
+++ b/src/app/conf/2024/sponsors.tsx
@@ -99,7 +99,7 @@ export function Sponsors() {
     <div id="sponsors" className="bg-conf-black">
       <div className="conf-block container">
         <h1 className={classes.title}>Thanks to our 2024 sponsors!</h1>
-        {sponsorDiamond.length && (
+        {sponsorDiamond.length > 0 && (
           <>
             <h3 className={classes.heading}>Diamond</h3>
             <List
@@ -109,7 +109,7 @@ export function Sponsors() {
             />
           </>
         )}
-        {sponsorPlatinum.length && (
+        {sponsorPlatinum.length > 0 && (
           <>
             <h3 className={classes.heading}>Platinum</h3>
             <List
@@ -119,7 +119,7 @@ export function Sponsors() {
             />{" "}
           </>
         )}
-        {sponsorGold.length && (
+        {sponsorGold.length > 0 && (
           <>
             <h3 className={classes.heading}>Gold</h3>
             <List
@@ -129,7 +129,7 @@ export function Sponsors() {
             />
           </>
         )}
-        {sponsorSilver.length && (
+        {sponsorSilver.length > 0 && (
           <>
             <h3 className={classes.heading}>Silver</h3>
             <List
@@ -139,7 +139,7 @@ export function Sponsors() {
             />
           </>
         )}
-        {workshopDaySponsors.length && (
+        {workshopDaySponsors.length > 0 && (
           <>
             <h3 className={classes.heading}>Workshop Day Sponsor</h3>
             <List
diff --git a/src/app/conf/2024/venue.tsx b/src/app/conf/2024/venue.tsx
index 866884669e..53ed935baa 100644
--- a/src/app/conf/2024/venue.tsx
+++ b/src/app/conf/2024/venue.tsx
@@ -1,4 +1,4 @@
-import { TrainIcon, AroundIcon, ParkingIcon, BusIcon } from "@/icons"
+import { TrainIcon, AroundIcon, ParkingIcon } from "@/icons"
 import NextImage from "next-image-export-optimizer"
 import cityViewImage from "./sf-city-view.jpeg"
 
diff --git a/src/app/conf/2025/_data.ts b/src/app/conf/2025/_data.ts
new file mode 100644
index 0000000000..66ded603c2
--- /dev/null
+++ b/src/app/conf/2025/_data.ts
@@ -0,0 +1,57 @@
+import "server-only"
+
+import { SchedSpeaker, ScheduleSession } from "@/app/conf/2023/types"
+import { readSpeakers } from "../_api/sched-data"
+
+const speakersData = require("../../../../scripts/sync-sched/speakers.json")
+const equalitySets: string[][] = speakersData.equal || []
+
+export const schedule: ScheduleSession[] = require("../../../../scripts/sync-sched/schedule-2025.json")
+
+type SpeakerUsername = SchedSpeaker["username"]
+
+export const speakerSessions = new Map<SpeakerUsername, ScheduleSession[]>()
+
+for (const session of schedule) {
+  for (const speaker of session.speakers || []) {
+    if (!speakerSessions.has(speaker.username)) {
+      speakerSessions.set(speaker.username, [])
+    }
+
+    speakerSessions.get(speaker.username)!.push(session)
+  }
+}
+
+export const speakers: SchedSpeaker[] = readSpeakers(2025).filter(speaker =>
+  speakerSessions.has(speaker.username),
+)
+
+export const previousEditionSessions = new Map<
+  SpeakerUsername,
+  ScheduleSession[]
+>()
+
+{
+  const schedule2023 = require("../../../../scripts/sync-sched/schedule-2023.json")
+  const schedule2024 = require("../../../../scripts/sync-sched/schedule-2024.json")
+
+  collectSessionsFromPreviousYears(schedule2023)
+  collectSessionsFromPreviousYears(schedule2024)
+}
+
+function collectSessionsFromPreviousYears(schedule: ScheduleSession[]) {
+  for (const session of schedule) {
+    for (const speaker of session.speakers || []) {
+      const duplicates = equalitySets.find(set =>
+        set.includes(speaker.username),
+      )
+
+      for (const username of duplicates || [speaker.username]) {
+        if (!previousEditionSessions.has(username)) {
+          previousEditionSessions.set(username, [])
+        }
+        previousEditionSessions.get(username)!.push(session)
+      }
+    }
+  }
+}
diff --git a/src/app/conf/2025/_videos.ts b/src/app/conf/2025/_videos.ts
new file mode 100644
index 0000000000..e2c1f16ab0
--- /dev/null
+++ b/src/app/conf/2025/_videos.ts
@@ -0,0 +1,4 @@
+export const videos: {
+  id: string
+  title: string
+}[] = []
diff --git a/src/app/conf/2025/assets/graphql-foundation-wordmark.svg b/src/app/conf/2025/assets/graphql-foundation-wordmark.svg
new file mode 100644
index 0000000000..8ecff1b893
--- /dev/null
+++ b/src/app/conf/2025/assets/graphql-foundation-wordmark.svg
@@ -0,0 +1,113 @@
+<svg
+  width="128"
+  height="35"
+  viewBox="0 0 128 35"
+  fill="none"
+  xmlns="http://www.w3.org/2000/svg"
+>
+  <g clip-path="url(#clip0_1120_25035)">
+    <path
+      fill-rule="evenodd"
+      clip-rule="evenodd"
+      d="M17.4388 2.2558L30.5876 9.84724V25.0301L17.4388 32.6216L4.29004 25.0301V9.84724L17.4388 2.2558ZM5.76535 10.699V21.8513L15.4235 5.12289L5.76535 10.699ZM17.4388 4.58289L6.30536 23.8666H28.5723L17.4388 4.58289ZM27.097 25.3419H7.78067L17.4388 30.918L27.097 25.3419ZM29.1123 21.8513L19.4541 5.12289L29.1123 10.699V21.8513Z"
+      fill="white"
+    />
+    <path
+      d="M5.02579 13.379C6.74205 13.379 8.13336 11.9877 8.13336 10.2714C8.13336 8.55513 6.74205 7.16382 5.02579 7.16382C3.30952 7.16382 1.91821 8.55513 1.91821 10.2714C1.91821 11.9877 3.30952 13.379 5.02579 13.379Z"
+      fill="white"
+    />
+    <path
+      d="M5.02579 27.7118C6.74205 27.7118 8.13336 26.3205 8.13336 24.6042C8.13336 22.888 6.74205 21.4967 5.02579 21.4967C3.30952 21.4967 1.91821 22.888 1.91821 24.6042C1.91821 26.3205 3.30952 27.7118 5.02579 27.7118Z"
+      fill="white"
+    />
+    <path
+      d="M17.4386 34.8774C19.1549 34.8774 20.5462 33.4861 20.5462 31.7698C20.5462 30.0535 19.1549 28.6622 17.4386 28.6622C15.7224 28.6622 14.3311 30.0535 14.3311 31.7698C14.3311 33.4861 15.7224 34.8774 17.4386 34.8774Z"
+      fill="white"
+    />
+    <path
+      d="M29.8498 27.7118C31.566 27.7118 32.9573 26.3205 32.9573 24.6042C32.9573 22.888 31.566 21.4967 29.8498 21.4967C28.1335 21.4967 26.7422 22.888 26.7422 24.6042C26.7422 26.3205 28.1335 27.7118 29.8498 27.7118Z"
+      fill="white"
+    />
+    <path
+      d="M29.8498 13.3807C31.566 13.3807 32.9573 11.9894 32.9573 10.2731C32.9573 8.55687 31.566 7.16556 29.8498 7.16556C28.1335 7.16556 26.7422 8.55687 26.7422 10.2731C26.7422 11.9894 28.1335 13.3807 29.8498 13.3807Z"
+      fill="white"
+    />
+    <path
+      d="M17.4386 6.21515C19.1549 6.21515 20.5462 4.82384 20.5462 3.10757C20.5462 1.39131 19.1549 0 17.4386 0C15.7224 0 14.3311 1.39131 14.3311 3.10757C14.3311 4.82384 15.7224 6.21515 17.4386 6.21515Z"
+      fill="white"
+    />
+    <path
+      d="M48.436 18.0055C46.6195 18.0055 45.2098 17.4823 44.2071 16.436C43.2043 15.3897 42.6739 13.9873 42.616 12.2289C42.6013 11.7929 42.594 11.1026 42.594 10.158C42.594 9.21347 42.6013 8.52317 42.616 8.0872C42.6739 6.32879 43.2043 4.92644 44.2071 3.88012C45.2098 2.8338 46.6195 2.31064 48.436 2.31064C49.6713 2.31064 50.7103 2.54316 51.5533 3.00819C52.3959 3.47322 53.0209 4.02545 53.428 4.66486C53.8493 5.28976 54.0746 5.84923 54.1035 6.34334V6.38693C54.1035 6.50318 54.0599 6.59766 53.9727 6.67031C53.8855 6.74296 53.7767 6.7793 53.6456 6.7793H53.1664C53.0356 6.7793 52.9411 6.75025 52.8828 6.69211C52.8246 6.63397 52.7667 6.51772 52.7084 6.34334C52.4615 5.57314 51.9819 4.92644 51.2697 4.40328C50.5722 3.88012 49.6277 3.61854 48.436 3.61854C47.0845 3.61854 46.0165 3.98911 45.2318 4.73026C44.4613 5.4714 44.0473 6.62671 43.9891 8.1962C43.9744 8.63216 43.9675 9.28612 43.9675 10.158C43.9675 11.03 43.9744 11.6839 43.9891 12.1199C44.0473 13.6894 44.4613 14.8447 45.2318 15.5858C46.0165 16.327 47.0845 16.6976 48.436 16.6976C49.7875 16.6976 50.8774 16.3124 51.7057 15.5422C52.534 14.772 52.948 13.6312 52.948 12.1199V11.0082H49.1555C49.01 11.0082 48.8939 10.9646 48.8067 10.8774C48.7195 10.7757 48.6759 10.6522 48.6759 10.5068V10.2016C48.6759 10.0563 48.7195 9.94007 48.8067 9.85287C48.8939 9.75114 49.01 9.70028 49.1555 9.70028H53.82C53.9801 9.70028 54.1035 9.74388 54.1907 9.83107C54.2779 9.91827 54.3215 10.0418 54.3215 10.2016V12.1199C54.3215 13.2825 54.0889 14.307 53.624 15.1935C53.1591 16.08 52.4831 16.7702 51.5969 17.2643C50.7103 17.7584 49.6567 18.0055 48.436 18.0055Z"
+      fill="white"
+    />
+    <path
+      d="M57.8758 17.7875C57.7307 17.7875 57.6142 17.7439 57.527 17.6567C57.4398 17.5695 57.3962 17.4533 57.3962 17.3079V6.95369C57.3962 6.80836 57.4398 6.69211 57.527 6.60492C57.6142 6.50318 57.7307 6.45233 57.8758 6.45233H58.2246C58.37 6.45233 58.4862 6.50318 58.5734 6.60492C58.6752 6.69211 58.7261 6.80836 58.7261 6.95369V7.95642C59.2493 6.95369 60.2374 6.45233 61.6907 6.45233H62.4971C62.6425 6.45233 62.7586 6.49593 62.8458 6.58312C62.933 6.67032 62.9766 6.78656 62.9766 6.9319V7.23707C62.9766 7.38241 62.933 7.49865 62.8458 7.58585C62.7586 7.67304 62.6425 7.71664 62.4971 7.71664H61.5599C60.688 7.71664 59.9977 7.97096 59.4889 8.47958C58.9804 8.9882 58.7261 9.67849 58.7261 10.5504V17.3079C58.7261 17.4533 58.6752 17.5695 58.5734 17.6567C58.4862 17.7439 58.37 17.7875 58.2246 17.7875H57.8758Z"
+      fill="white"
+    />
+    <path
+      d="M67.8564 18.0055C67.1589 18.0055 66.5119 17.8601 65.9162 17.5695C65.3205 17.2789 64.8409 16.8865 64.4775 16.3924C64.1287 15.8983 63.9543 15.3533 63.9543 14.7575C63.9543 13.7984 64.3394 13.0136 65.1098 12.4033C65.8946 11.7929 66.9479 11.4006 68.2704 11.2262L71.7146 10.7466V9.98366C71.7146 9.18438 71.4676 8.57402 70.9734 8.1526C70.4939 7.71663 69.7527 7.49865 68.75 7.49865C68.0088 7.49865 67.3985 7.64398 66.9189 7.93462C66.454 8.22525 66.1562 8.57402 66.0254 8.98094C65.9671 9.15533 65.8946 9.27886 65.8074 9.35151C65.7345 9.40965 65.633 9.4387 65.5022 9.4387H65.197C65.0662 9.4387 64.9497 9.39511 64.8483 9.30791C64.7611 9.20618 64.7175 9.08993 64.7175 8.95914C64.7175 8.63942 64.8626 8.26885 65.1534 7.84742C65.444 7.41146 65.8946 7.03363 66.5049 6.71391C67.1153 6.39419 67.8634 6.23434 68.75 6.23434C70.3048 6.23434 71.4094 6.60492 72.0633 7.34606C72.7173 8.08721 73.0444 8.98819 73.0444 10.0491V17.3079C73.0444 17.4532 73.0008 17.5695 72.9136 17.6567C72.8265 17.7439 72.71 17.7875 72.5649 17.7875H72.1941C72.0487 17.7875 71.9325 17.7439 71.8454 17.6567C71.7582 17.5695 71.7146 17.4532 71.7146 17.3079V16.2834C71.3947 16.763 70.9225 17.1699 70.2978 17.5041C69.6875 17.8383 68.8735 18.0055 67.8564 18.0055ZM68.0744 16.7412C69.135 16.7412 70.007 16.3924 70.6902 15.6948C71.3731 14.9973 71.7146 13.9946 71.7146 12.6867V11.9455L68.9028 12.3379C67.711 12.4977 66.8101 12.7739 66.1998 13.1662C65.5894 13.5586 65.2842 14.0527 65.2842 14.6485C65.2842 15.317 65.5601 15.8329 66.1126 16.1962C66.6793 16.5595 67.3333 16.7412 68.0744 16.7412Z"
+      fill="white"
+    />
+    <path
+      d="M76.9925 21.9292C76.8474 21.9292 76.7309 21.8856 76.6437 21.7984C76.5565 21.7112 76.5129 21.5949 76.5129 21.4496V6.93189C76.5129 6.78656 76.5565 6.67031 76.6437 6.58312C76.7309 6.49592 76.8474 6.45233 76.9925 6.45233H77.3633C77.5087 6.45233 77.6248 6.49592 77.712 6.58312C77.7992 6.67031 77.8428 6.78656 77.8428 6.93189V7.95642C78.6858 6.80836 79.9065 6.23434 81.5049 6.23434C83.0744 6.23434 84.2296 6.73571 84.9707 7.73843C85.7265 8.72661 86.1262 9.94732 86.1698 11.4006C86.1844 11.5459 86.1914 11.7857 86.1914 12.1199C86.1914 12.4541 86.1844 12.6939 86.1698 12.8392C86.1262 14.2925 85.7265 15.5204 84.9707 16.5232C84.2296 17.5114 83.0744 18.0055 81.5049 18.0055C79.9208 18.0055 78.7001 17.4314 77.8428 16.2834V21.4496C77.8428 21.5949 77.7992 21.7112 77.712 21.7984C77.6248 21.8856 77.5087 21.9292 77.3633 21.9292H76.9925ZM81.3742 16.7412C82.5513 16.7412 83.4085 16.3706 83.9464 15.6294C84.4985 14.8738 84.7963 13.9074 84.8399 12.7303C84.8546 12.5849 84.8619 12.3815 84.8619 12.1199C84.8619 10.7684 84.6003 9.66394 84.0771 8.80655C83.554 7.93462 82.6531 7.49865 81.3742 7.49865C80.226 7.49865 79.3614 7.88377 78.78 8.65396C78.1989 9.40965 77.8864 10.3034 77.8428 11.3352L77.8208 12.1853L77.8428 13.0354C77.8575 13.6603 77.9952 14.2561 78.2568 14.8229C78.5184 15.3751 78.9108 15.8329 79.4339 16.1962C79.9571 16.5595 80.6041 16.7412 81.3742 16.7412Z"
+      fill="white"
+    />
+    <path
+      d="M89.6585 17.7875C89.5134 17.7875 89.3969 17.7439 89.3097 17.6567C89.2226 17.5695 89.179 17.4532 89.179 17.3079V2.7902C89.179 2.64488 89.2226 2.52862 89.3097 2.44143C89.3969 2.35424 89.5134 2.31064 89.6585 2.31064H90.0293C90.1747 2.31064 90.2909 2.35424 90.378 2.44143C90.4652 2.52862 90.5088 2.64488 90.5088 2.7902V7.95641C90.9448 7.38966 91.439 6.96094 91.9911 6.67031C92.5579 6.37968 93.2844 6.23434 94.171 6.23434C95.595 6.23434 96.6922 6.69211 97.4623 7.60764C98.2328 8.50863 98.6178 9.67849 98.6178 11.1172V17.3079C98.6178 17.4532 98.5742 17.5695 98.487 17.6567C98.3998 17.7439 98.2837 17.7875 98.1383 17.7875H97.7675C97.6224 17.7875 97.5059 17.7439 97.4187 17.6567C97.3315 17.5695 97.2879 17.4532 97.2879 17.3079V11.2262C97.2879 10.0491 96.9974 9.13353 96.416 8.47958C95.8493 7.82562 95.0282 7.49865 93.953 7.49865C92.9067 7.49865 92.071 7.83288 91.446 8.50137C90.8213 9.15532 90.5088 10.0636 90.5088 11.2262V17.3079C90.5088 17.4532 90.4652 17.5695 90.378 17.6567C90.2909 17.7439 90.1747 17.7875 90.0293 17.7875H89.6585Z"
+      fill="white"
+    />
+    <path
+      d="M112.194 19.2044C111.976 19.2044 111.744 19.0372 111.497 18.703L110.538 17.3733C109.666 17.7947 108.648 18.0055 107.486 18.0055C103.751 18.0055 101.833 16 101.731 11.9891C101.716 11.5531 101.709 10.9428 101.709 10.158C101.709 9.37331 101.716 8.76295 101.731 8.32699C101.789 6.35059 102.327 4.85379 103.344 3.83652C104.362 2.81927 105.742 2.31064 107.486 2.31064C109.23 2.31064 110.61 2.81927 111.628 3.83652C112.645 4.85379 113.182 6.35059 113.241 8.32699C113.27 9.19892 113.284 9.80928 113.284 10.158C113.284 10.5068 113.27 11.1172 113.241 11.9891C113.168 14.0672 112.638 15.5931 111.65 16.5668L113.045 18.5286C113.088 18.6158 113.11 18.6958 113.11 18.7684C113.11 18.8846 113.066 18.9864 112.979 19.0736C112.892 19.1608 112.79 19.2044 112.674 19.2044H112.194ZM107.486 16.6976C108.794 16.6976 109.833 16.3052 110.603 15.5204C111.388 14.7212 111.809 13.5077 111.868 11.8801C111.896 11.0082 111.911 10.4342 111.911 10.158C111.911 9.88193 111.896 9.30791 111.868 8.43598C111.809 6.80836 111.388 5.60219 110.603 4.81745C109.818 4.01817 108.779 3.61854 107.486 3.61854C106.193 3.61854 105.154 4.01817 104.369 4.81745C103.584 5.60219 103.162 6.80836 103.105 8.43598C103.09 8.87195 103.083 9.44596 103.083 10.158C103.083 10.8701 103.09 11.4442 103.105 11.8801C103.162 13.5077 103.577 14.7212 104.347 15.5204C105.132 16.3052 106.178 16.6976 107.486 16.6976Z"
+      fill="white"
+    />
+    <path
+      d="M117.232 17.7875C117.087 17.7875 116.97 17.7439 116.883 17.6567C116.796 17.5695 116.752 17.4533 116.752 17.3079V3.00819C116.752 2.86287 116.796 2.74661 116.883 2.65942C116.97 2.57222 117.087 2.52863 117.232 2.52863H117.646C117.792 2.52863 117.908 2.57222 117.995 2.65942C118.082 2.74661 118.126 2.86287 118.126 3.00819V16.4796H125.646C125.806 16.4796 125.93 16.5232 126.017 16.6104C126.104 16.6976 126.148 16.8211 126.148 16.9809V17.3079C126.148 17.4533 126.097 17.5695 125.995 17.6567C125.908 17.7439 125.792 17.7875 125.646 17.7875H117.232Z"
+      fill="white"
+    />
+    <path
+      d="M43.7746 34.3542C43.6641 34.3542 43.5758 34.3211 43.5096 34.2548C43.4433 34.1886 43.4102 34.1002 43.4102 33.9898V23.1385C43.4102 23.0281 43.4433 22.9397 43.5096 22.8735C43.5758 22.7962 43.6641 22.7575 43.7746 22.7575H50.1694C50.2908 22.7575 50.3846 22.7906 50.4509 22.8569C50.5171 22.9232 50.5503 23.0171 50.5503 23.1385V23.387C50.5503 23.4975 50.5119 23.5858 50.4345 23.6521C50.3682 23.7184 50.28 23.7515 50.1694 23.7515H44.4537V28.208H49.8381C49.9594 28.208 50.0533 28.2411 50.1195 28.3074C50.1858 28.3736 50.2189 28.4675 50.2189 28.589V28.8375C50.2189 28.948 50.1806 29.0363 50.1031 29.1026C50.0369 29.1688 49.9486 29.202 49.8381 29.202H44.4537V33.9898C44.4537 34.1002 44.4153 34.1886 44.3379 34.2548C44.2716 34.3211 44.1834 34.3542 44.0728 34.3542H43.7746Z"
+      fill="white"
+    />
+    <path
+      d="M55.7292 34.5199C54.5804 34.5199 53.6858 34.172 53.0454 33.4762C52.4159 32.7694 52.0845 31.8582 52.0514 30.7427L52.0347 30.0469L52.0514 29.3511C52.0845 28.2356 52.4159 27.3299 53.0454 26.6341C53.6858 25.9273 54.5804 25.5739 55.7292 25.5739C56.8777 25.5739 57.7668 25.9273 58.3963 26.6341C59.037 27.3299 59.3739 28.2356 59.407 29.3511C59.4179 29.4615 59.4234 29.6935 59.4234 30.0469C59.4234 30.4003 59.4179 30.6323 59.407 30.7427C59.3739 31.8582 59.037 32.7694 58.3963 33.4762C57.7668 34.172 56.8777 34.5199 55.7292 34.5199ZM55.7292 33.559C56.5133 33.559 57.1428 33.3105 57.6178 32.8135C58.1037 32.3055 58.3632 31.5876 58.3963 30.6598C58.4075 30.5494 58.413 30.3451 58.413 30.0469C58.413 29.7487 58.4075 29.5444 58.3963 29.4339C58.3632 28.5062 58.1037 27.7938 57.6178 27.2968C57.1428 26.7888 56.5133 26.5347 55.7292 26.5347C54.9448 26.5347 54.3101 26.7888 53.8239 27.2968C53.3492 27.7938 53.0949 28.5062 53.0618 29.4339L53.0454 30.0469L53.0618 30.6598C53.0949 31.5876 53.3492 32.3055 53.8239 32.8135C54.3101 33.3105 54.9448 33.559 55.7292 33.559Z"
+      fill="white"
+    />
+    <path
+      d="M64.9174 34.5199C63.8351 34.5199 63.012 34.1775 62.4487 33.4927C61.8855 32.808 61.604 31.9134 61.604 30.8089V26.104C61.604 25.9935 61.6371 25.9052 61.7034 25.8389C61.7697 25.7726 61.8579 25.7395 61.9685 25.7395H62.2499C62.3605 25.7395 62.4487 25.7726 62.515 25.8389C62.5813 25.9052 62.6144 25.9935 62.6144 26.104V30.7261C62.6144 32.6147 63.4375 33.559 65.083 33.559C65.8782 33.559 66.5078 33.3105 66.9716 32.8135C67.4467 32.3055 67.6838 31.6097 67.6838 30.7261V26.104C67.6838 25.9935 67.717 25.9052 67.7832 25.8389C67.8495 25.7726 67.9381 25.7395 68.0483 25.7395H68.3301C68.4407 25.7395 68.5289 25.7726 68.5952 25.8389C68.6614 25.9052 68.6946 25.9935 68.6946 26.104V33.9897C68.6946 34.1002 68.6614 34.1885 68.5952 34.2548C68.5289 34.3211 68.4407 34.3542 68.3301 34.3542H68.0483C67.9381 34.3542 67.8495 34.3211 67.7832 34.2548C67.717 34.1885 67.6838 34.1002 67.6838 33.9897V33.2111C67.3525 33.6418 66.9716 33.9677 66.5409 34.1885C66.1213 34.4095 65.58 34.5199 64.9174 34.5199Z"
+      fill="white"
+    />
+    <path
+      d="M71.7422 34.3542C71.6316 34.3542 71.5434 34.3211 71.4771 34.2548C71.4108 34.1886 71.3777 34.1002 71.3777 33.9898V26.104C71.3777 25.9936 71.4108 25.9052 71.4771 25.8389C71.5434 25.7727 71.6316 25.7395 71.7422 25.7395H72.024C72.1342 25.7395 72.2228 25.7727 72.289 25.8389C72.3553 25.9052 72.3884 25.9936 72.3884 26.104V26.8826C72.7198 26.4519 73.095 26.1261 73.515 25.9052C73.9457 25.6843 74.4978 25.5739 75.1716 25.5739C76.2539 25.5739 77.0878 25.9218 77.6731 26.6176C78.2583 27.3023 78.5513 28.1914 78.5513 29.2848V33.9898C78.5513 34.1002 78.5181 34.1886 78.4519 34.2548C78.3856 34.3211 78.297 34.3542 78.1868 34.3542H77.905C77.7944 34.3542 77.7062 34.3211 77.6399 34.2548C77.5737 34.1886 77.5405 34.1002 77.5405 33.9898V29.3676C77.5405 28.473 77.3197 27.7772 76.8779 27.2802C76.4471 26.7832 75.8232 26.5347 75.006 26.5347C74.2108 26.5347 73.5757 26.7888 73.1006 27.2968C72.6256 27.7938 72.3884 28.4841 72.3884 29.3676V33.9898C72.3884 34.1002 72.3553 34.1886 72.289 34.2548C72.2228 34.3211 72.1342 34.3542 72.024 34.3542H71.7422Z"
+      fill="white"
+    />
+    <path
+      d="M84.2642 34.5199C83.0714 34.5199 82.1876 34.1333 81.6135 33.3602C81.0502 32.5761 80.752 31.6263 80.7189 30.5107L80.7021 30.0469L80.7189 29.583C80.752 28.4675 81.0502 27.5232 81.6135 26.7501C82.1876 25.9659 83.0714 25.5738 84.2642 25.5738C85.4678 25.5738 86.3955 26.0101 87.0474 26.8826V22.9563C87.0474 22.8459 87.0805 22.7575 87.1468 22.6912C87.2131 22.625 87.3013 22.5918 87.4119 22.5918H87.6933C87.8039 22.5918 87.8921 22.625 87.9584 22.6912C88.0247 22.7575 88.0578 22.8459 88.0578 22.9563V33.9898C88.0578 34.1002 88.0247 34.1886 87.9584 34.2548C87.8921 34.3211 87.8039 34.3542 87.6933 34.3542H87.4119C87.3013 34.3542 87.2131 34.3211 87.1468 34.2548C87.0805 34.1886 87.0474 34.1002 87.0474 33.9898V33.2111C86.4067 34.0836 85.479 34.5199 84.2642 34.5199ZM84.3636 33.559C85.2359 33.559 85.8933 33.2719 86.3348 32.6975C86.7767 32.1122 87.0143 31.4275 87.0474 30.6433C87.0582 30.5328 87.0638 30.3175 87.0638 29.9972C87.0638 29.6769 87.0582 29.4615 87.0474 29.3511C87.0362 28.8762 86.9312 28.4289 86.7324 28.0092C86.5336 27.5784 86.2354 27.225 85.8378 26.9489C85.4402 26.6728 84.9488 26.5347 84.3636 26.5347C83.469 26.5347 82.8119 26.8219 82.392 27.3962C81.9835 27.9595 81.7624 28.6884 81.7293 29.583L81.7129 30.0469C81.7129 31.074 81.9117 31.9189 82.3093 32.5816C82.7069 33.2332 83.3915 33.559 84.3636 33.559Z"
+      fill="white"
+    />
+    <path
+      d="M93.0786 34.5199C92.5484 34.5199 92.057 34.4095 91.6043 34.1886C91.1516 33.9677 90.7871 33.6695 90.5109 33.294C90.2458 32.9185 90.1133 32.5043 90.1133 32.0515C90.1133 31.3225 90.4059 30.7261 90.9911 30.2622C91.5875 29.7984 92.3883 29.5002 93.3935 29.3676L96.011 29.0032V28.4233C96.011 27.8159 95.8234 27.352 95.4478 27.0317C95.0833 26.7004 94.52 26.5347 93.758 26.5347C93.1947 26.5347 92.7308 26.6452 92.3664 26.8661C92.013 27.087 91.7863 27.352 91.6869 27.6613C91.643 27.7938 91.5875 27.8877 91.5213 27.9429C91.4662 27.9871 91.3887 28.0092 91.2893 28.0092H91.0574C90.958 28.0092 90.8698 27.976 90.7923 27.9098C90.7261 27.8325 90.6929 27.7441 90.6929 27.6447C90.6929 27.4017 90.8035 27.1201 91.0243 26.7998C91.2454 26.4685 91.5875 26.1813 92.0514 25.9383C92.5153 25.6954 93.0841 25.5739 93.758 25.5739C94.9396 25.5739 95.7791 25.8555 96.2761 26.4188C96.7731 26.982 97.0214 27.6668 97.0214 28.473V33.9898C97.0214 34.1002 96.9883 34.1886 96.922 34.2548C96.8558 34.3211 96.7675 34.3542 96.657 34.3542H96.3755C96.2649 34.3542 96.1767 34.3211 96.1104 34.2548C96.0442 34.1886 96.011 34.1002 96.011 33.9898V33.2111C95.768 33.5756 95.4091 33.8849 94.934 34.1389C94.4702 34.3929 93.8518 34.5199 93.0786 34.5199ZM93.2442 33.559C94.0506 33.559 94.7133 33.294 95.2322 32.7638C95.7516 32.2337 96.011 31.4716 96.011 30.4776V29.9143L93.8738 30.2125C92.9683 30.3341 92.2834 30.5439 91.8195 30.8421C91.3556 31.1403 91.1237 31.5158 91.1237 31.9686C91.1237 32.4767 91.3336 32.8688 91.7532 33.1449C92.184 33.421 92.681 33.559 93.2442 33.559Z"
+      fill="white"
+    />
+    <path
+      d="M102.46 34.3542C101.642 34.3542 101.062 34.1113 100.72 33.6253C100.378 33.1283 100.206 32.449 100.206 31.5876V26.7004H98.9143C98.8041 26.7004 98.7155 26.6672 98.6492 26.601C98.5829 26.5347 98.5498 26.4464 98.5498 26.3359V26.104C98.5498 25.9936 98.5829 25.9052 98.6492 25.8389C98.7155 25.7726 98.8041 25.7395 98.9143 25.7395H100.206V22.9563C100.206 22.8459 100.24 22.7575 100.306 22.6912C100.372 22.625 100.461 22.5918 100.571 22.5918H100.853C100.963 22.5918 101.052 22.625 101.118 22.6912C101.184 22.7575 101.217 22.8459 101.217 22.9563V25.7395H103.272C103.382 25.7395 103.47 25.7726 103.537 25.8389C103.603 25.9052 103.636 25.9936 103.636 26.104V26.3359C103.636 26.4464 103.603 26.5347 103.537 26.601C103.47 26.6672 103.382 26.7004 103.272 26.7004H101.217V31.5213C101.217 32.1398 101.317 32.6092 101.515 32.9295C101.725 33.2387 102.068 33.3934 102.543 33.3934H103.437C103.547 33.3934 103.636 33.4265 103.702 33.4928C103.769 33.559 103.802 33.6474 103.802 33.7578V33.9898C103.802 34.1002 103.769 34.1886 103.702 34.2548C103.636 34.3211 103.547 34.3542 103.437 34.3542H102.46Z"
+      fill="white"
+    />
+    <path
+      d="M105.697 23.9669C105.586 23.9669 105.498 23.9337 105.431 23.8675C105.365 23.8012 105.332 23.7129 105.332 23.6024V22.9729C105.332 22.8624 105.365 22.7741 105.431 22.7078C105.498 22.6305 105.586 22.5918 105.697 22.5918H106.326C106.436 22.5918 106.525 22.6305 106.591 22.7078C106.668 22.7741 106.707 22.8624 106.707 22.9729V23.6024C106.707 23.7129 106.668 23.8012 106.591 23.8675C106.525 23.9337 106.436 23.9669 106.326 23.9669H105.697ZM105.879 34.3542C105.768 34.3542 105.68 34.3211 105.613 34.2548C105.547 34.1886 105.514 34.1002 105.514 33.9898V26.104C105.514 25.9936 105.547 25.9052 105.613 25.8389C105.68 25.7726 105.768 25.7395 105.879 25.7395H106.16C106.271 25.7395 106.359 25.7726 106.425 25.8389C106.492 25.9052 106.525 25.9936 106.525 26.104V33.9898C106.525 34.1002 106.492 34.1886 106.425 34.2548C106.359 34.3211 106.271 34.3542 106.16 34.3542H105.879Z"
+      fill="white"
+    />
+    <path
+      d="M112.483 34.5199C111.335 34.5199 110.44 34.172 109.799 33.4762C109.17 32.7694 108.838 31.8582 108.805 30.7427L108.789 30.0469L108.805 29.3511C108.838 28.2356 109.17 27.3299 109.799 26.6341C110.44 25.9273 111.335 25.5739 112.483 25.5739C113.632 25.5739 114.521 25.9273 115.15 26.6341C115.791 27.3299 116.128 28.2356 116.161 29.3511C116.172 29.4615 116.178 29.6935 116.178 30.0469C116.178 30.4003 116.172 30.6323 116.161 30.7427C116.128 31.8582 115.791 32.7694 115.15 33.4762C114.521 34.172 113.632 34.5199 112.483 34.5199ZM112.483 33.559C113.267 33.559 113.897 33.3105 114.372 32.8135C114.858 32.3055 115.117 31.5876 115.15 30.6598C115.161 30.5494 115.167 30.3451 115.167 30.0469C115.167 29.7487 115.161 29.5444 115.15 29.4339C115.117 28.5062 114.858 27.7938 114.372 27.2968C113.897 26.7888 113.267 26.5347 112.483 26.5347C111.699 26.5347 111.064 26.7888 110.578 27.2968C110.103 27.7938 109.849 28.5062 109.816 29.4339L109.799 30.0469L109.816 30.6598C109.849 31.5876 110.103 32.3055 110.578 32.8135C111.064 33.3105 111.699 33.559 112.483 33.559Z"
+      fill="white"
+    />
+    <path
+      d="M118.805 34.3542C118.695 34.3542 118.607 34.3211 118.54 34.2548C118.474 34.1886 118.441 34.1002 118.441 33.9898V26.104C118.441 25.9936 118.474 25.9052 118.54 25.8389C118.607 25.7727 118.695 25.7395 118.805 25.7395H119.087C119.197 25.7395 119.286 25.7727 119.352 25.8389C119.419 25.9052 119.452 25.9936 119.452 26.104V26.8826C119.783 26.4519 120.158 26.1261 120.578 25.9052C121.009 25.6843 121.561 25.5739 122.235 25.5739C123.317 25.5739 124.151 25.9218 124.736 26.6176C125.322 27.3023 125.614 28.1914 125.614 29.2848V33.9898C125.614 34.1002 125.581 34.1886 125.515 34.2548C125.449 34.3211 125.36 34.3542 125.25 34.3542H124.968C124.858 34.3542 124.769 34.3211 124.703 34.2548C124.637 34.1886 124.604 34.1002 124.604 33.9898V29.3676C124.604 28.473 124.383 27.7772 123.941 27.2802C123.51 26.7832 122.886 26.5347 122.069 26.5347C121.274 26.5347 120.639 26.7888 120.164 27.2968C119.689 27.7938 119.452 28.4841 119.452 29.3676V33.9898C119.452 34.1002 119.419 34.1886 119.352 34.2548C119.286 34.3211 119.197 34.3542 119.087 34.3542H118.805Z"
+      fill="white"
+    />
+  </g>
+  <defs>
+    <clipPath id="clip0_1120_25035">
+      <rect width="128" height="34.8774" fill="white" />
+    </clipPath>
+  </defs>
+</svg>
diff --git a/src/app/conf/2025/code-of-conduct/code-of-conduct.mdx b/src/app/conf/2025/code-of-conduct/code-of-conduct.mdx
new file mode 100644
index 0000000000..5909350faa
--- /dev/null
+++ b/src/app/conf/2025/code-of-conduct/code-of-conduct.mdx
@@ -0,0 +1,53 @@
+The Linux Foundation and its project communities are dedicated to providing a harassment-free experience for participants at all of our events, whether they are held in person or virtually. Linux Foundation events are working conferences intended for professional networking and collaboration within the open source community. They exist to encourage the open exchange of ideas and expression and require an environment that recognizes the inherent worth of every person and group. While at Linux Foundation events or related ancillary or social events, any participants, including members, speakers, attendees, volunteers, sponsors, exhibitors, booth staff and anyone else, must not engage in harassment in any form.
+
+This Code of Conduct may be revised at any time by The Linux Foundation and the terms are non-negotiable. Your registration for or attendance at any Linux Foundation event, whether it's held in person or virtually, indicates your agreement to abide by this policy and its terms.
+
+<Callout>
+## Expected Behavior
+
+All event participants, whether they are attending an in-person event or a virtual event, are expected to behave in accordance with professional standards, with both this Code of Conduct as well as their respective employer's policies governing appropriate workplace behavior and applicable laws.
+</Callout>
+
+## Unacceptable Behavior
+
+Harassment will not be tolerated in any form, whether in person or virtually, including, but not limited to, harassment based on gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion or any other status protected by laws in which the conference or program is being held. Harassment includes the use of abusive, offensive or degrading language, intimidation, stalking, harassing photography or recording, inappropriate physical contact, sexual imagery and unwelcome sexual advances or requests for sexual favors. Any report of harassment at one of our events, whether in person or virtual, will be addressed immediately. Participants asked to stop any harassing behavior are expected to comply immediately. Anyone who witnesses or is subjected to unacceptable behavior should notify a conference organizer at once.
+
+Individuals who participate (or plan to participate) in Linux Foundation events, whether its an in-person event or a virtual event, should conduct themselves at all times in a manner that comports with both the letter and spirit of this policy prohibiting harassment and abusive behavior, whether before, during or after the event. This includes statements made in social media postings, on-line publications, text messages, and all other forms of electronic communication.
+
+Speakers should not use sexual language, images, or any language or images that would constitute harassment as defined above in their talks. Exhibitor booths serve as a platform for presenting businesses and/or projects and should maintain a professional and inclusive presence; therefore, the use of sexualized images, activities, materials, or attire, including costumes and uniforms that contribute to a sexualized environment, is strictly prohibited. Additionally, booths must not be utilized for political campaigning or promoting political causes, including the display or engagement in activities or materials that support such endeavors.
+
+<Callout>
+## Consequences of Unacceptable Behavior
+
+If a participant engages in harassing behavior, whether in person or virtually, the conference organizers may take any action they deem appropriate depending on the circumstances, ranging from issuance of a warning to the offending individual to expulsion from the conference with no refund. The Linux Foundation reserves the right to exclude any participant found to be engaging in harassing behavior from participating in any further Linux Foundation events, trainings or other activities.
+
+If a participant (or individual wishing to participate in a Linux Foundation event, in-person and/or virtual), through postings on social media or other online publications or another form of electronic communication, engages in conduct that violates this policy, whether before, during or after a Linux Foundation event, The Linux Foundation may take appropriate corrective action, which could include imposing a temporary or permanent ban on an individual's participation in future Linux Foundation events.
+</Callout>
+
+## What To Do If You Witness or Are Subject To Unacceptable Behavior
+
+If you are being harassed, notice that someone else is being harassed, or have any other concerns relating to harassment, please contact a member of the conference staff immediately. You are also encouraged to contact Angela Brown, Senior VP & General Manager of Events, at [angela@linuxfoundation.org](mailto:angela@linuxfoundation.org).
+
+<Callout>
+## Incident Response
+
+Our staff has taken incident response training and responds to harassment reports quickly and thoroughly. As referenced above, if a participant engages in harassing behavior, whether in-person or virtually, the conference organizers may take any action they deem appropriate, ranging from issuance of a warning to the offending individual to expulsion from the conference with no refund, depending on the circumstances. The Linux Foundation reserves the right to exclude any participant found to be engaging in harassing behavior from participating in any further Linux Foundation events, trainings or other activities.
+
+Conference staff will also provide support to victims, including, but not limited to:
+- Providing an Escort
+- Contacting Hotel/Venue Security or Local Law Enforcement
+- Briefing Key Event Staff For Response/Victim Assistance
+- And otherwise assisting those experiencing harassment to ensure that they feel safe for the duration of the conference.
+</Callout>
+
+## Health and Safety Requirements
+
+It is necessary for all attendees to cooperate and protect one another. For this reason, The Linux Foundation's events may have health and safety requirements (the "Health and Safety Requirements"). The specific requirements may vary from event to event, and will be communicated in writing prior to and during the event.
+
+If an attendee fails to comply with any of the Health and Safety Requirements, The Linux Foundation may (but is not obligated to) take appropriate corrective action, which could include immediate removal from the event and venue without a refund, and/or imposing a temporary or permanent ban on an individual's participation in future Linux Foundation events.
+
+<Callout>
+## Pre-Event Concerns
+
+If you are planning to attend an upcoming event, whether in-person or virtually and have concerns regarding another individual who may be present, please contact Angela Brown ([angela@linuxfoundation.org](mailto:angela@linuxfoundation.org)). Precautions will be taken to ensure your comfort and safety, including, but not limited to providing an escort, prepping onsite event staff, keeping victim and harasser from attending the same talks/social events and providing onsite contact cell phone numbers for immediate contact.
+</Callout>
diff --git a/src/app/conf/2025/code-of-conduct/opengraph-image.tsx b/src/app/conf/2025/code-of-conduct/opengraph-image.tsx
new file mode 100644
index 0000000000..84f732fc7c
--- /dev/null
+++ b/src/app/conf/2025/code-of-conduct/opengraph-image.tsx
@@ -0,0 +1,10 @@
+import { SimpleOpengraphImage } from "../components/og-images/simple-opengraph-image"
+export {
+  generateStaticParams,
+  contentType,
+  size,
+} from "../components/og-images/simple-opengraph-image"
+
+export default SimpleOpengraphImage.bind(null, {
+  pageTitle: "Code of Conduct",
+})
diff --git a/src/app/conf/2025/code-of-conduct/page.tsx b/src/app/conf/2025/code-of-conduct/page.tsx
new file mode 100644
index 0000000000..619061fc1f
--- /dev/null
+++ b/src/app/conf/2025/code-of-conduct/page.tsx
@@ -0,0 +1,99 @@
+import type { Metadata } from "next"
+import clsx from "clsx"
+
+import { Anchor } from "@/app/conf/_design-system/anchor"
+import { ServerComponentMarkdown } from "@/app/conf/_components/server-component-markdown"
+import { Button } from "@/app/conf/_design-system/button"
+
+import { NavbarPlaceholder } from "../components/navbar"
+import { Hero, HeroStripes } from "../components/hero"
+import "../resources/prose.css"
+
+import markdown from "./code-of-conduct.mdx?raw"
+
+export const metadata: Metadata = {
+  title: "Code of Conduct | GraphQLConf 2025",
+}
+
+const components = {
+  a: (props: React.AnchorHTMLAttributes<HTMLAnchorElement>) => {
+    return (
+      <Anchor
+        {...props}
+        href={props.href ?? ""}
+        className={clsx(props.className, "typography-link")}
+      />
+    )
+  },
+  ul: (props: React.HTMLAttributes<HTMLUListElement>) => {
+    return <ul {...props} className={clsx(props.className, "-mt-6")} />
+  },
+  Callout: (props: React.HTMLAttributes<HTMLDivElement>) => {
+    return (
+      <div
+        {...props}
+        className={clsx(
+          props.className,
+          "gql-prose-inner -mx-4 w-fit border border-neu-300 bg-neu-50 p-4 dark:border-neu-100 dark:bg-neu-50/50 max-md:border-x-0 xl:my-4",
+        )}
+      />
+    )
+  },
+}
+
+export default function ResourcesPage() {
+  return (
+    <>
+      <NavbarPlaceholder className="top-0 bg-neu-100 before:bg-white/30 dark:bg-[#181A12] dark:before:bg-blk/40" />
+      <Hero
+        pageName="Code of conduct"
+        subtitle="The Linux Foundation"
+        colorScheme="neutral"
+        stripes={
+          <HeroStripes
+            className="-scale-x-100 dark:data-[loaded=true]:opacity-80"
+            evenClassName="bg-[linear-gradient(180deg,hsl(var(--color-sec-light))_0%,hsl(319deg_100%_90%_/_0.2)_100%)] dark:bg-[linear-gradient(180deg,hsl(var(--color-sec-dark))_0%,hsl(var(--color-neu-100))_100%)]"
+            oddClassName="bg-[linear-gradient(180deg,hsl(319deg_100%_90%_/_0.2)_0%,hsl(var(--color-sec-base))_100%)] dark:bg-[linear-gradient(180deg,hsl(var(--color-sec-dark))_0%,hsl(var(--color-neu-0))_100%)]"
+          />
+        }
+      >
+        <Button
+          href="https://events.linuxfoundation.org/about/code-of-conduct/"
+          className="mt-[18px] w-fit"
+        >
+          See on The Linux Foundation
+        </Button>
+      </Hero>
+      <main className="gql-all-anchors-focusable gql-conf-navbar-strip text-neu-900 before:bg-white/40 before:dark:bg-blk/30">
+        <div className="gql-conf-container gql-conf-section xl:mb-16 xl:mt-8">
+          <ServerComponentMarkdown
+            markdown={markdown}
+            extractToc
+            render={({ mdx, data }) => {
+              return (
+                <div className="gql-prose md:max-lg:[&>:not(:first-child)]:mx-4">
+                  <aside className="gql-sticky-aside row-span-8 -mt-1 w-fit sm:max-xl:grid sm:max-xl:grid-cols-2 sm:max-xl:bg-neu-100 sm:max-xl:p-4 dark:sm:max-xl:bg-neu-50/50 xl:max-w-[284px]">
+                    {data.toc.map(({ value, id, depth }) => (
+                      <a
+                        key={id}
+                        data-depth={depth}
+                        className="raw typography-menu block p-4 py-2 text-neu-800 hover:bg-neu-100 hover:text-neu-900 dark:hover:bg-neu-50 max-xl:-ml-4"
+                        style={{
+                          paddingLeft: (depth - 2) * 16 + 16,
+                        }}
+                        href={`#${id}`}
+                      >
+                        {value}
+                      </a>
+                    ))}
+                  </aside>
+                  {mdx({ components })}
+                </div>
+              )
+            }}
+          />
+        </div>
+      </main>
+    </>
+  )
+}
diff --git a/src/app/conf/2025/components/become-a-sponsor/blur-blob.webp b/src/app/conf/2025/components/become-a-sponsor/blur-blob.webp
new file mode 100644
index 0000000000..af6299d6bd
Binary files /dev/null and b/src/app/conf/2025/components/become-a-sponsor/blur-blob.webp differ
diff --git a/src/app/conf/2025/components/become-a-sponsor/index.tsx b/src/app/conf/2025/components/become-a-sponsor/index.tsx
new file mode 100644
index 0000000000..24f9142499
--- /dev/null
+++ b/src/app/conf/2025/components/become-a-sponsor/index.tsx
@@ -0,0 +1,125 @@
+import clsx from "clsx"
+
+import { Button } from "../../../_design-system/button"
+
+import blurBlob from "./blur-blob.webp"
+import { StripesDecoration } from "@/app/conf/_design-system/stripes-decoration"
+
+export function BecomeASponsor() {
+  return (
+    <section id="sponsors" className="relative overflow-hidden">
+      <Stripes />
+      <div className="gql-conf-container gql-conf-section xl:py-16">
+        <header className="flex flex-col gap-x-48 gap-y-4 md:flex-row md:items-end md:justify-between">
+          <div>
+            <h2 className="typography-h2">Become a Sponsor</h2>
+            <p className="typography-body-lg mt-6 text-pretty">
+              Connect with the global GraphQL community and showcase your brand
+              to industry leaders and decision-makers.
+            </p>
+          </div>
+          <Button
+            variant="primary"
+            href="https://events.linuxfoundation.org/sponsor-GraphQLConf-25?utm_source=graphql_conf_2025&utm_medium=website&utm_campaign=sponsor_section"
+            target="_blank"
+            rel="noreferrer"
+            className="shrink-0"
+          >
+            Download the Prospectus
+          </Button>
+        </header>
+        <dl className="relative z-10 mt-10 border border-neu-300 md:backdrop-blur-[6.4px] xl:mt-16">
+          <DefinitionListItem
+            term="Brand Visibility"
+            definition="Showcase your brand to thousands of GraphQL enthusiasts and decision-makers."
+          />
+          <DefinitionListItem
+            term="Lead Generation"
+            definition="Connect with potential customers and partners in the GraphQL ecosystem."
+          />
+          <DefinitionListItem
+            term="Thought Leadership"
+            definition="Position your company as a leader in the GraphQL space."
+          />
+          <DefinitionListItem
+            term="Talent Acquisition"
+            definition="Meet and recruit top GraphQL developers and engineers."
+          />
+          <DefinitionListItem
+            term="Product Feedback"
+            definition="Gather valuable feedback from the GraphQL community."
+          />
+          <DefinitionListItem
+            term="Community Impact"
+            definition="Support and shape the future of GraphQL technology."
+          />
+        </dl>
+      </div>
+    </section>
+  )
+}
+
+function DefinitionListItem({
+  className,
+  term,
+  definition,
+}: {
+  className?: string
+  term: string
+  definition: string
+}) {
+  return (
+    <div
+      className={clsx(
+        className,
+        "flex border-b border-neu-300 last:border-b-0 max-sm:flex-col",
+      )}
+    >
+      <dt className="typography-body-lg flex min-w-[320px] shrink-0 items-center whitespace-pre border-b border-neu-300 p-4 max-sm:w-full sm:border-b-0 sm:border-r">
+        {term}
+      </dt>
+      <dd className="typography-body-md flex items-center p-4">{definition}</dd>
+    </div>
+  )
+}
+
+function Stripes() {
+  return (
+    <div
+      role="presentation"
+      // prettier-ignore
+      // false positive
+      // eslint-disable-next-line tailwindcss/no-contradicting-classname
+      className="pointer-events-none absolute inset-0
+        [--start-1:hsl(var(--color-sec-lighter))]
+        [--end-1:hsl(hsl(320deg_100%_96%/.8)]
+        dark:[--start-1:hsl(var(--color-sec-lighter))]
+        dark:[--end-1:hsl(var(--color-pri-lighter)/.2)]
+
+        [--start-2:#FFEAF8]
+        [--end-2:hsl(var(--color-neu-0))]
+        dark:[--start-2:rgba(255,204,239,.1)]
+        dark:[--end-2:hsl(var(--color-pri-lighter)/.4)]
+        
+        translate-y-12
+
+        [mask-size:120%]
+        3xl:[mask-size:2000px] 2xl:opacity-50
+        max-md:[mask-size:600%] max-md:opacity-50
+      "
+      style={{
+        maskImage: `url(${blurBlob.src})`,
+        WebkitMaskImage: `url(${blurBlob.src})`,
+        maskPosition: "center",
+        WebkitMaskPosition: "center",
+        maskRepeat: "no-repeat",
+        WebkitMaskRepeat: "no-repeat",
+      }}
+    >
+      <StripesDecoration
+        evenClassName="bg-[linear-gradient(180deg,var(--start-1)_-200%,var(--end-1)_100%)]"
+        oddClassName="bg-[linear-gradient(180deg,var(--start-2)_0%,var(--end-2)_100%)]"
+      />
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/call-for-proposals.tsx b/src/app/conf/2025/components/call-for-proposals.tsx
new file mode 100644
index 0000000000..b7084564ff
--- /dev/null
+++ b/src/app/conf/2025/components/call-for-proposals.tsx
@@ -0,0 +1,530 @@
+"use client"
+
+import clsx from "clsx"
+import { useState, useEffect, Fragment } from "react"
+import Link from "next/link"
+
+import ArrowDownIcon from "@/app/conf/_design-system/pixelarticons/arrow-down.svg?svgr"
+import { Button } from "@/app/conf/_design-system/button"
+
+function DatesTab() {
+  return (
+    <DefinitionListBox>
+      <DefinitionListItem term="CFP Opens" definition="Tuesday, 4 February" />
+      <DefinitionListItem
+        term="CFP Close"
+        definition="Sunday, 11 May at 23:59 CEST (UTC+2)"
+      />
+      <DefinitionListItem
+        term="CFP Notifications"
+        definition="Monday, 9 June"
+      />
+      <DefinitionListItem
+        term="Schedule Announced"
+        definition="Wednesday, 11 June"
+      />
+      <DefinitionListItem
+        term="Slides due date"
+        definition="Friday, 5 September"
+      />
+      <DefinitionListItem
+        term="Event Dates"
+        definition="Monday, 8 September - Wednesday, 10 September, 2024"
+      />
+    </DefinitionListBox>
+  )
+}
+
+function DefinitionListItem({
+  className,
+  term,
+  definition,
+}: {
+  className?: string
+  term: string
+  definition: string
+}) {
+  return (
+    <div className={clsx(className, "typography-body-md flex max-sm:flex-col")}>
+      <dt className="flex w-[184.5px] shrink-0 items-center whitespace-pre border-neu-300 bg-white/[0.79] px-3 py-2 max-sm:w-full sm:border-r sm:p-4">
+        {term}
+      </dt>
+      <dd className="flex flex-1 items-center bg-white/[0.48] px-3 py-2 backdrop-blur-[3px] sm:p-4">
+        {definition}
+      </dd>
+    </div>
+  )
+}
+function TopicsTab() {
+  return (
+    <div className="bg-sec-light p-4">
+      <h3 className="typography-h3">Suggested Topics</h3>
+      <ul className="mt-2 list-disc space-y-2 pl-6">
+        <li>GraphQL Working Group</li>
+        <ul className="list-disc space-y-2 pl-6">
+          <li>
+            GraphQL Specification (including incremental delivery, nullability)
+          </li>
+          <li>GraphQL-over-HTTP specification</li>
+          <li>Federation specification</li>
+          <li>
+            Reference software (GraphQL.js, graphql-http, GraphiQL and LSP)
+          </li>
+        </ul>
+        <li>GraphQL in Production</li>
+        <ul className="list-disc space-y-2 pl-6">
+          <li>Case studies</li>
+          <li>Federation and Distributed Systems</li>
+          <li>
+            Schema evolution (including backwards compatibility and versioning)
+          </li>
+          <li>Security</li>
+          <li>Scaling</li>
+          <li>Observability, telemetry and tracing</li>
+        </ul>
+        <li>Developer Experience</li>
+        <ul className="list-disc space-y-2 pl-6">
+          <li>Frontend</li>
+          <li>Backend</li>
+          <li>Patterns and community trends</li>
+          <li>Testing</li>
+          <li>Documentation</li>
+        </ul>
+      </ul>
+    </div>
+  )
+}
+
+function NotesTab() {
+  return (
+    <div className="bg-sec-light p-4">
+      <h3 className="typography-h3">Important Notes</h3>
+      <ul className="mt-4 list-disc space-y-2 pl-6">
+        <li>
+          All speakers are required to adhere to our{" "}
+          <Link
+            className="typography-link dark:text-neu-50"
+            href="/conf/2025/code-of-conduct"
+          >
+            Code of Conduct
+          </Link>
+          . We also highly recommend that speakers take our online{" "}
+          <a
+            className="typography-link dark:text-neu-50"
+            target="_blank"
+            rel="noreferrer"
+            href="https://training.linuxfoundation.org/linux-courses/open-source-compliance-courses/inclusive-speaker-orientation"
+          >
+            Inclusive Speaker Orientation Course
+          </a>
+          .
+        </li>
+        <li>
+          Panel submissions must include the names of all participants in the
+          initial submission to be considered. In an effort to promote speaker
+          diversity, The Linux Foundation does not accept submissions with
+          all-male panels, and speakers must not all be from the same company.
+        </li>
+        <li>
+          Complimentary Passes For Speakers – One complimentary pass for the
+          event will be provided for each accepted speaker.
+        </li>
+        <li>
+          Avoid sales pitches and discussing unlicensed or potentially
+          closed-source technologies when preparing your proposal; these talks
+          are almost always rejected due to the fact that they take away from
+          the integrity of our events, and are rarely well-received by
+          conference attendees.
+        </li>
+        <li>
+          All accepted speakers are required to submit their slides prior to the
+          event.
+        </li>
+      </ul>
+      <h3 className="typography-h3 mt-6">Preparing to Submit Your Proposal</h3>
+      <p className="mt-2">
+        While it is not our intention to provide you with strict instructions on
+        how to prepare your proposal, we hope you will take a moment to review
+        the following guidelines that we have put together to help you prepare
+        the best submission possible. To get started, here are three things that
+        you should consider before submitting your proposal:
+      </p>
+      <ul className="my-4 list-disc space-y-2 pl-6">
+        <li>What are you hoping to get from your presentation?</li>
+        <li>What do you expect the audience to gain from your presentation?</li>
+        <li>How will your presentation help better the ecosystem?</li>
+      </ul>
+      <p>
+        There are plenty of ways to give a presentation about projects and
+        technologies without focusing on company-specific efforts. Remember the
+        things to consider that we mentioned above when writing your proposal
+        and think of ways to make it interesting for attendees while still
+        letting you share your experiences, educate the community about an
+        issue, or generate interest in a project.
+      </p>
+      <h3 className="typography-h3 mt-6">How to Give a Great Talk</h3>
+      <p className="mt-2">
+        We want to make sure submitters receive resources to help put together a
+        great submission and if accepted, give the best presentation possible.
+        To help with this, we recommend viewing seasoned speaker Dawn Foster's
+        in-depth talk:{" "}
+        <a
+          href="https://youtu.be/2I5fYBLCfUA"
+          target="_blank"
+          className="typography-link dark:text-neu-50"
+          rel="noreferrer"
+        >
+          Getting Over Your Imposter Syndrome to Become a Conference Speaker
+        </a>
+        .
+      </p>
+      <h3 className="typography-h3 mt-6">
+        Have More Questions? First Time Submitting? Don't Feel Intimidated
+      </h3>
+      <p className="mt-2">
+        Linux Foundation events are an excellent way to get to know the
+        community and share your ideas and the work that you are doing and we
+        strongly encourage first-time speakers to submit talks for our events.
+        In the instance that you aren't sure about your abstract,{" "}
+        <a
+          href="mailto:cfp@linuxfoundation.org"
+          className="typography-link dark:text-neu-50"
+        >
+          reach out to us
+        </a>{" "}
+        and we will be more than happy to work with you on your proposal.
+      </p>
+    </div>
+  )
+}
+
+function TypesTab() {
+  return (
+    <DefinitionListBox>
+      <DefinitionListItem
+        term="Session Presentation"
+        definition="Typically 30 minutes in length, 1-2 speakers presenting on a topic"
+      />
+      <DefinitionListItem
+        term="Panel Discussion"
+        definition="Typically 30 minutes in length, 3-4 speakers presenting on a topic"
+      />
+      <DefinitionListItem
+        term="Birds of a Feather"
+        definition="Typically 45 minutes to 1 hour in length"
+      />
+      <DefinitionListItem
+        term="Lightning Talk"
+        definition="Typically 5-10 minutes in length"
+      />
+      <DefinitionListItem
+        term="Workshop"
+        definition="Typically 1-2 hours in length"
+      />
+    </DefinitionListBox>
+  )
+}
+
+function ProcessTab() {
+  return (
+    <div className="bg-sec-light p-4">
+      <h3 className="typography-h3">The Talk Selection Process</h3>
+      <p className="mt-2">
+        The GraphQL Foundation strives to select conference talks based on fair
+        criteria in a transparent manner. There are three groups involved in the
+        selection process, each with their own focus to help create an engaging
+        and balanced conference schedule:
+      </p>
+      <ul className="list-disc space-y-2 pl-6">
+        <li>The Technical Steering Committee (TSC)</li>
+        <li>The new Subject Matter Experts initiative (SMEs)</li>
+        <li>The Program Committee</li>
+      </ul>
+      <h3 className="typography-h3 mt-6">The Technical Steering Committee</h3>
+      <p className="mt-2">
+        The TSC are a group of 11 individuals who are elected to serve a two
+        year term to provide technical oversight of all GraphQL development
+        efforts. When evaluating conference talks they{" "}
+        <strong>focus on quality</strong> and use the following criteria:
+      </p>
+      <ul className="mt-2 list-disc space-y-2 pl-6">
+        <li>Relevance</li>
+        <li>Originality</li>
+        <li>Soundness</li>
+        <li>Quality of Presentation</li>
+        <li>Importance</li>
+      </ul>
+      <h3 className="typography-h3 mt-6">Subject Matter Experts</h3>
+      <p className="mt-2">
+        The SME initiative is new for 2025. This will be a panel of volunteers
+        drawn from industry experts, working group members, security and
+        observability experts, and maintainers and contributors to open source
+        GraphQL projects. When evaluating the talks, they will{" "}
+        <strong>focus on how exciting and engaging the talks are</strong> and
+        use the following criteria:
+      </p>
+      <ul className="mt-2 list-disc space-y-2 pl-6">
+        <li>Subject Content</li>
+        <li>Originality</li>
+        <li>Audience Engagement</li>
+      </ul>
+      <h3 className="typography-h3 mt-6">The Program Committee</h3>
+      <p className="mt-2">
+        The Program Committee is made up of representatives from the GraphQL
+        Foundation board and interested members of the GraphQL community who
+        have had experience organizing conferences. They shape the schedule from
+        the highest-rated talks, ensuring balance across industries and
+        affiliations, and also including a range of speaker experience and
+        demographics, to ensure a varied and well-rounded representation of the
+        GraphQL ecosystem.
+      </p>
+      <h3 className="typography-h3 mt-6">
+        Have More Questions? First Time Submitting? Don't Feel Intimidated
+      </h3>
+      <p className="mt-2">
+        Linux Foundation events are an excellent way to get to know the
+        community and share your ideas and the work that you are doing and we
+        strongly encourage first-time speakers to submit talks for our events.
+        In the instance that you aren't sure about your abstract, reach out to
+        us and we will be more than happy to work with you on your proposal.
+      </p>
+    </div>
+  )
+}
+
+const tabs = {
+  dates: <DatesTab />,
+  topics: <TopicsTab />,
+  types: <TypesTab />,
+  notes: <NotesTab />,
+  process: <ProcessTab />,
+}
+
+type Tab = keyof typeof tabs
+
+const tabsInOrder: Tab[] = ["dates", "topics", "types", "notes", "process"]
+
+export function CallForProposals() {
+  const [buttonText, setButtonText] = useState("Submit a Proposal")
+  const [isDisabled, setIsDisabled] = useState(false)
+  const [activeTab, setActiveTab] = useState<Tab>("dates")
+
+  useEffect(() => {
+    const checkDate = () => {
+      const currentDate = new Date()
+      const closingDate = new Date("2025-05-12T00:00:00Z")
+      if (currentDate >= closingDate) {
+        setButtonText("CFP Closed")
+        setIsDisabled(true)
+      }
+    }
+
+    checkDate()
+    const timer = setInterval(checkDate, 60000) // Check every minute
+
+    return () => clearInterval(timer)
+  }, [])
+
+  return (
+    <section
+      id="speakers"
+      // todo: the part with `dark:` here is temporary until we have a dark mode version of this section
+      className="gql-conf-section gql-conf-container dark:text-neu-0"
+    >
+      <div className="flex *:basis-1/2 max-lg:flex-col">
+        <div className="border-sec-dark bg-sec-light p-4 lg:border-r lg:p-8 xl:p-16">
+          <h1 className="typography-h2">Call for Proposals</h1>
+          <p className="mt-6 md:mt-10">
+            Putting on an amazing conference depends on great content, which is
+            where you come in! Join other GraphQL leaders and community members
+            as a presenter by submitting to our Call for Proposals (CFP) and
+            sharing your experience across a wide range of topics. Please click
+            through all of the tabs below before submitting a proposal.
+          </p>
+          <p className="mt-6">
+            For any questions regarding the CFP process, please email{" "}
+            <a
+              href="mailto:cfp@linuxfoundation.org"
+              className="typography-link dark:text-neu-50"
+            >
+              cfp@linuxfoundation.org
+            </a>
+            .
+          </p>
+          <p className="typography-body-sm mt-6 md:mt-10">
+            Please be aware that the Linux Foundation uses Sessionize for CFP
+            submissions. Sessionize is a cloud-based event content management
+            software designed to be intuitive and user-friendly. If you need
+            guidance, please review{" "}
+            <a
+              target="_blank"
+              href="https://sessionize.com/playbook/submit-your-session-for-an-event"
+              className="typography-link dark:text-neu-50"
+              rel="noreferrer"
+            >
+              how to submit your session
+            </a>{" "}
+            for an event to see step-by-step instructions and helpful
+            screenshots.
+          </p>
+          <Button
+            disabled={isDisabled}
+            variant="primary"
+            href="https://sessionize.com/graphqlconf-2025?utm_medium=website&utm_campaign=speaker_section"
+            className={clsx(
+              "mt-6 md:mt-10",
+              isDisabled && "cursor-not-allowed",
+            )}
+          >
+            {buttonText}
+          </Button>
+        </div>
+        <article className="flex h-auto flex-col bg-[#C6F267]">
+          <div
+            role="tablist"
+            className="flex divide-sec-dark border-b border-sec-dark *:flex-1 max-lg:sr-only lg:divide-x"
+          >
+            {tabsInOrder.map((tab, i) => (
+              <TabButton
+                key={tab}
+                tab={tab}
+                tabIndex={i === 0 ? 0 : -1}
+                activeTab={activeTab}
+                setActiveTab={setActiveTab}
+              />
+            ))}
+          </div>
+          <div className="flex flex-1 justify-center overflow-hidden max-lg:flex-col lg:items-center">
+            {tabsInOrder.map(tab => (
+              <Fragment key={tab}>
+                <TabButton
+                  tab={tab}
+                  activeTab={activeTab}
+                  setActiveTab={setActiveTab}
+                  className="lg:hidden"
+                  aria-hidden
+                />
+                <div
+                  role="tabpanel"
+                  key={tab}
+                  id={`tabpanel-${tab}`}
+                  className="relative h-full flex-1"
+                  style={{
+                    display: activeTab === tab ? "block" : "none",
+                  }}
+                >
+                  {tabs[tab]}
+                </div>
+              </Fragment>
+            ))}
+          </div>
+        </article>
+      </div>
+    </section>
+  )
+}
+
+interface TabButtonProps
+  extends Omit<React.HTMLAttributes<HTMLButtonElement>, "onFocus"> {
+  tab: Tab
+  tabIndex?: number
+  activeTab: Tab
+  setActiveTab: (tab: Tab) => void
+}
+
+function TabButton({
+  tab,
+  tabIndex,
+  activeTab,
+  setActiveTab,
+  className,
+  ...props
+}: TabButtonProps) {
+  return (
+    <button
+      key={tab}
+      tabIndex={tabIndex}
+      aria-selected={activeTab === tab}
+      className={clsx(
+        "gql-focus-visible typography-body-lg flex items-center justify-between px-3 py-4 hover:bg-sec-light focus:outline-none max-lg:border-b max-lg:border-sec-dark max-lg:first:border-t lg:[--collapsible:1] lg:aria-selected:bg-sec-light",
+        className,
+      )}
+      onFocus={() => {
+        setActiveTab(tab)
+      }}
+      onPointerDown={() => {
+        setActiveTab(tab)
+      }}
+      onKeyDown={arrowsMoveSideways}
+      {...props}
+    >
+      {tab.charAt(0).toUpperCase() + tab.slice(1)}
+      <ArrowDownIcon className="ml-2 size-6 text-transparent max-lg:[[aria-selected=false]>&]:rotate-180 max-lg:[[aria-selected=false]>&]:text-sec-dark [[aria-selected=true]>&]:text-sec-darker" />
+    </button>
+  )
+}
+
+function arrowsMoveSideways(event: React.KeyboardEvent<HTMLButtonElement>) {
+  if (event.key === "ArrowLeft") {
+    const previousElement = event.currentTarget.previousElementSibling
+    if (previousElement) {
+      ;(previousElement as HTMLElement).focus()
+    }
+  } else if (event.key === "ArrowRight") {
+    const nextElement = event.currentTarget.nextElementSibling
+    if (nextElement) {
+      ;(nextElement as HTMLElement).focus()
+    }
+  }
+}
+
+function DefinitionListBox({ children }: { children: React.ReactNode }) {
+  return (
+    <div className="inset-0 isolate h-full lg:absolute lg:flex lg:items-center lg:justify-center lg:p-4 xl:p-8 2xl:p-16">
+      <dl className="divide-y divide-sec-dark border-neu-300 lg:divide-neu-300 lg:border lg:shadow-[0px_0px_20px_0px_rgba(133,185,19,0.20)]">
+        {children}
+      </dl>
+      <Stripes />
+    </div>
+  )
+}
+
+const maskEven =
+  "repeating-linear-gradient(to right, transparent, transparent 12px, black 12px, black 24px)"
+const maskOdd =
+  "repeating-linear-gradient(to right, black, black 12px, transparent 12px, transparent 24px)"
+
+function Stripes() {
+  const mask = "linear-gradient(125deg, transparent 68%, hsl(0 0 0 / 0.8))"
+  return (
+    <div
+      role="presentation"
+      className="pointer-events-none absolute inset-0 bottom-[-20px] -z-10 translate-x-0.5 translate-y-12 ease-linear max-lg:hidden"
+      style={{
+        maskImage: mask,
+        WebkitMaskImage: mask,
+      }}
+    >
+      <div
+        className="absolute inset-0"
+        style={{
+          maskImage: maskOdd,
+          WebkitMaskImage: maskOdd,
+          maskPosition: "right",
+          backgroundImage:
+            "linear-gradient(0deg, hsl(var(--color-sec-lighter)) 0%, rgba(133, 185, 19, 0.00) 100%)",
+        }}
+      />
+      <div
+        className="absolute inset-0"
+        style={{
+          maskImage: maskEven,
+          WebkitMaskImage: maskEven,
+          maskPosition: "right",
+          backgroundImage:
+            "linear-gradient(0deg, hsl(var(--color-sec-dark)) 0%, hsl(var(--color-sec-base)) 100%)",
+        }}
+      />
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/cta-card-section/index.tsx b/src/app/conf/2025/components/cta-card-section/index.tsx
new file mode 100644
index 0000000000..e690003db7
--- /dev/null
+++ b/src/app/conf/2025/components/cta-card-section/index.tsx
@@ -0,0 +1,66 @@
+import { StripesDecoration } from "@/app/conf/_design-system/stripes-decoration"
+
+import logoMask from "./logo-mask.webp"
+
+export interface CtaCardSectionProps
+  extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
+  title: React.ReactNode
+  description: string
+  children: React.ReactNode
+}
+
+export function CtaCardSection({
+  className,
+  title: heading,
+  description,
+  children,
+  ...rest
+}: CtaCardSectionProps) {
+  return (
+    <div className="gql-conf-section">
+      <section
+        className="relative overflow-hidden bg-gradient-to-r from-pri-dark to-pri-base p-6 dark:from-pri-darker dark:to-pri-dark sm:p-16"
+        {...rest}
+      >
+        <div className="relative z-10 flex flex-col gap-10 sm:items-start [@media(max-width:420px)]:text-center">
+          <div className="flex flex-col gap-6">
+            <h2 className="typography-d1 text-neu-0 dark:text-neu-900">
+              {heading}
+            </h2>
+            <p className="typography-body-lg max-w-[555px] text-pretty text-neu-50 dark:text-neu-800">
+              {description}
+            </p>
+          </div>
+
+          {children}
+        </div>
+
+        <div
+          role="presentation"
+          // prettier-ignore
+          className="
+              pointer-events-none absolute
+              sm:bottom-[-277px] inset-0 sm:left-1/3 xl:left-1/2 sm:top-[-107px] xl:right-[-391px]
+              [--start:hsl(var(--color-sec-base))]
+              [--end:hsl(var(--color-sec-lighter))]
+              dark:[--start:hsl(var(--color-sec-dark))]
+              dark:[--end:hsl(var(--color-sec-base))]
+
+              [mask-size:cover]
+              max-sm:[mask-position:center] max-sm:opacity-50
+              sm:[mask-size:1117px]
+            "
+          style={{
+            maskImage: `url(${logoMask.src})`,
+            maskRepeat: "no-repeat",
+          }}
+        >
+          <StripesDecoration
+            stripeWidth="5.2px"
+            oddClassName="bg-[linear-gradient(180deg,var(--start)_0%,var(--end)_100%)]"
+          />
+        </div>
+      </section>
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/cta-card-section/logo-mask.webp b/src/app/conf/2025/components/cta-card-section/logo-mask.webp
new file mode 100644
index 0000000000..8c83251f30
Binary files /dev/null and b/src/app/conf/2025/components/cta-card-section/logo-mask.webp differ
diff --git a/src/app/conf/2025/components/footer/blur-bean.webp b/src/app/conf/2025/components/footer/blur-bean.webp
new file mode 100644
index 0000000000..899304aa38
Binary files /dev/null and b/src/app/conf/2025/components/footer/blur-bean.webp differ
diff --git a/src/app/conf/2025/components/footer/index.tsx b/src/app/conf/2025/components/footer/index.tsx
new file mode 100644
index 0000000000..c2bd8fc3e1
--- /dev/null
+++ b/src/app/conf/2025/components/footer/index.tsx
@@ -0,0 +1,152 @@
+import NextLink from "next/link"
+import { ReactNode } from "react"
+import { clsx } from "clsx"
+
+import { SocialIcons } from "../../../_components/social-icons"
+import { StripesDecoration } from "../../../_design-system/stripes-decoration"
+
+import blurBean from "./blur-bean.webp"
+
+interface FooterLink {
+  href: string
+  children: ReactNode
+  disabled?: boolean
+}
+
+export function Footer({
+  links,
+  logo,
+}: {
+  links: (FooterLink | FooterLink[])[]
+  logo: ReactNode
+}) {
+  return (
+    <footer className="gql-all-anchors-focusable typography-menu relative !bg-neu-100 text-neu-900 dark:!bg-neu-0 max-md:px-0 max-md:pt-0">
+      <Stripes />
+      <div className="flex flex-wrap justify-between gap-4 p-4 max-md:w-full md:px-6 lg:py-10 2xl:px-10">
+        {logo}
+        <div className="typography-body-lg flex gap-x-4 max-sm:grid max-sm:grid-cols-2 max-sm:items-start max-sm:text-lg sm:gap-y-2">
+          <p className="flex items-center whitespace-pre">
+            <time dateTime="2025-09-08">September 08</time>
+            <span>-</span>
+            <time dateTime="2025-09-10">
+              10<span className="max-sm:hidden">, 2025</span>
+            </time>
+          </p>
+          <address className="not-italic">Amsterdam, Netherlands</address>
+        </div>
+      </div>
+      <ul className="grid grid-cols-2 gap-px bg-neu-400 py-px dark:bg-neu-100 lg:grid-cols-4">
+        {links.map((box, i) => (
+          <li className="bg-neu-100 dark:bg-neu-0 lg:h-32" key={i}>
+            <FooterBox box={box} />
+          </li>
+        ))}
+      </ul>
+      <div className="relative flex justify-between gap-10 p-4 text-sm max-lg:flex-col md:px-6 2xl:px-10">
+        <div className="flex flex-col font-light max-md:gap-5">
+          <p>
+            Copyright © {new Date().getFullYear()} The GraphQL Foundation. All
+            rights reserved.
+          </p>
+          <p>
+            For web site terms of use, trademark policy and general project
+            policies please see{" "}
+            <a
+              href="https://lfprojects.org"
+              target="_blank"
+              rel="noreferrer"
+              className="typography-link"
+            >
+              https://lfprojects.org
+            </a>
+            .
+          </p>
+        </div>
+        <SocialIcons className="[&>a:focus]:text-current [&>a:focus]:ring-transparent [&>a:hover]:bg-neu-900/10 [&>a:hover]:text-current" />
+      </div>
+    </footer>
+  )
+}
+
+function Stripes() {
+  return (
+    <div
+      role="presentation"
+      // prettier-ignore
+      // false positive
+      // eslint-disable-next-line tailwindcss/no-contradicting-classname
+      className="pointer-events-none absolute inset-0
+        [--start-1:rgba(255,204,239,.05)]
+        [--end-1:hsl(var(--color-pri-base)/.8)]
+        dark:[--start-1:hsl(var(--color-pri-darker))]
+        dark:[--end-1:hsl(var(--color-pri-base)/.9)]
+
+        [--start-2:transparent]
+        [--end-2:hsl(var(--color-pri-base)/.6)]
+        dark:[--start-2:rgba(255,204,239,.1)]
+        dark:[--end-2:hsl(var(--color-pri-base)/.8)]
+
+        mix-blend-darken
+        dark:mix-blend-lighten
+      "
+      style={{
+        maskImage: `url(${blurBean.src})`,
+        WebkitMaskImage: `url(${blurBean.src})`,
+        maskPosition: "center 260px",
+        WebkitMaskPosition: "center 260px",
+        maskSize: "200% 100%",
+        WebkitMaskSize: "200% 100%",
+        maskRepeat: "no-repeat",
+        WebkitMaskRepeat: "no-repeat",
+        maskOrigin: "top",
+      }}
+    >
+      <StripesDecoration
+        evenClassName="bg-[linear-gradient(180deg,var(--start-1)_0%,var(--end-1)_200%)]"
+        oddClassName="bg-[linear-gradient(180deg,var(--start-2)_0%,var(--end-2)_200%)]"
+      />
+    </div>
+  )
+}
+
+function FooterBox({ box }: { box: FooterLink | FooterLink[] }) {
+  if (Array.isArray(box)) {
+    return (
+      <div className="relative flex flex-col p-3">
+        {box.map(link => (
+          <NextLink
+            key={link.href}
+            href={link.href}
+            title={link.disabled ? "Coming soon" : undefined}
+            className={clsx(
+              "gql-focus-visible block h-full p-3 first:font-bold",
+              link.disabled
+                ? "pointer-events-none"
+                : "underline-offset-4 hover:underline",
+            )}
+            tabIndex={link.disabled ? -1 : undefined}
+          >
+            {link.children}
+          </NextLink>
+        ))}
+      </div>
+    )
+  }
+
+  const { href, children, disabled } = box
+
+  return (
+    <NextLink
+      href={href}
+      title={disabled ? "Coming soon" : undefined}
+      className={clsx(
+        "gql-focus-visible relative block h-full p-4 pb-8 md:p-6 2xl:px-10",
+        disabled ? "pointer-events-none" : "underline-offset-4 hover:underline",
+      )}
+      tabIndex={disabled ? -1 : undefined}
+    >
+      {children}
+    </NextLink>
+  )
+}
diff --git a/src/app/conf/2025/components/format-speaker-position.tsx b/src/app/conf/2025/components/format-speaker-position.tsx
new file mode 100644
index 0000000000..ca3f0d29b2
--- /dev/null
+++ b/src/app/conf/2025/components/format-speaker-position.tsx
@@ -0,0 +1,7 @@
+import { SchedSpeaker } from "../../2023/types"
+
+export function formatSpeakerPosition(speaker: SchedSpeaker) {
+  return [speaker.company === "-" ? "" : speaker.company, speaker.position]
+    .filter(Boolean)
+    .join(", ")
+}
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/1.webp b/src/app/conf/2025/components/gallery-strip/images/2023/1.webp
new file mode 100644
index 0000000000..d7eea3f82e
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/1.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/10.webp b/src/app/conf/2025/components/gallery-strip/images/2023/10.webp
new file mode 100644
index 0000000000..36ea36a797
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/10.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/11.webp b/src/app/conf/2025/components/gallery-strip/images/2023/11.webp
new file mode 100644
index 0000000000..a80106071a
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/11.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/12.webp b/src/app/conf/2025/components/gallery-strip/images/2023/12.webp
new file mode 100644
index 0000000000..95e7e6408b
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/12.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/13.webp b/src/app/conf/2025/components/gallery-strip/images/2023/13.webp
new file mode 100644
index 0000000000..b1e38faf47
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/13.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/14.webp b/src/app/conf/2025/components/gallery-strip/images/2023/14.webp
new file mode 100644
index 0000000000..8d690e9e52
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/14.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/2.webp b/src/app/conf/2025/components/gallery-strip/images/2023/2.webp
new file mode 100644
index 0000000000..1d74dc6007
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/2.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/3.webp b/src/app/conf/2025/components/gallery-strip/images/2023/3.webp
new file mode 100644
index 0000000000..2db9119b0a
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/3.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/4.webp b/src/app/conf/2025/components/gallery-strip/images/2023/4.webp
new file mode 100644
index 0000000000..c81d3f61be
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/4.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/5.webp b/src/app/conf/2025/components/gallery-strip/images/2023/5.webp
new file mode 100644
index 0000000000..35626d8ed3
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/5.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/6.webp b/src/app/conf/2025/components/gallery-strip/images/2023/6.webp
new file mode 100644
index 0000000000..a835ea21d9
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/6.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/7.webp b/src/app/conf/2025/components/gallery-strip/images/2023/7.webp
new file mode 100644
index 0000000000..61343ea8d9
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/7.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/8.webp b/src/app/conf/2025/components/gallery-strip/images/2023/8.webp
new file mode 100644
index 0000000000..a8fdca040d
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/8.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2023/9.webp b/src/app/conf/2025/components/gallery-strip/images/2023/9.webp
new file mode 100644
index 0000000000..388314373d
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2023/9.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/1.webp b/src/app/conf/2025/components/gallery-strip/images/2024/1.webp
new file mode 100644
index 0000000000..7861718767
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/1.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/11.webp b/src/app/conf/2025/components/gallery-strip/images/2024/11.webp
new file mode 100644
index 0000000000..3a32278ff8
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/11.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/12.webp b/src/app/conf/2025/components/gallery-strip/images/2024/12.webp
new file mode 100644
index 0000000000..758904900b
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/12.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/13.webp b/src/app/conf/2025/components/gallery-strip/images/2024/13.webp
new file mode 100644
index 0000000000..31d941ec2c
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/13.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/2.webp b/src/app/conf/2025/components/gallery-strip/images/2024/2.webp
new file mode 100644
index 0000000000..52c29cb9c3
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/2.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/3.webp b/src/app/conf/2025/components/gallery-strip/images/2024/3.webp
new file mode 100644
index 0000000000..bbbd7d2a56
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/3.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/4.webp b/src/app/conf/2025/components/gallery-strip/images/2024/4.webp
new file mode 100644
index 0000000000..e24a5d6384
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/4.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/6.webp b/src/app/conf/2025/components/gallery-strip/images/2024/6.webp
new file mode 100644
index 0000000000..70d219c412
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/6.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/7.webp b/src/app/conf/2025/components/gallery-strip/images/2024/7.webp
new file mode 100644
index 0000000000..b05c4d3d4c
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/7.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/8.webp b/src/app/conf/2025/components/gallery-strip/images/2024/8.webp
new file mode 100644
index 0000000000..eebf0c1ff9
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/8.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/2024/9.webp b/src/app/conf/2025/components/gallery-strip/images/2024/9.webp
new file mode 100644
index 0000000000..38d7e8cbac
Binary files /dev/null and b/src/app/conf/2025/components/gallery-strip/images/2024/9.webp differ
diff --git a/src/app/conf/2025/components/gallery-strip/images/index.ts b/src/app/conf/2025/components/gallery-strip/images/index.ts
new file mode 100644
index 0000000000..136ccc282e
--- /dev/null
+++ b/src/app/conf/2025/components/gallery-strip/images/index.ts
@@ -0,0 +1,56 @@
+import image2023_1 from "./2023/1.webp"
+import image2023_2 from "./2023/2.webp"
+import image2023_3 from "./2023/3.webp"
+import image2023_4 from "./2023/4.webp"
+import image2023_5 from "./2023/5.webp"
+import image2023_6 from "./2023/6.webp"
+import image2023_7 from "./2023/7.webp"
+import image2023_8 from "./2023/8.webp"
+import image2023_9 from "./2023/9.webp"
+import image2023_10 from "./2023/10.webp"
+import image2023_11 from "./2023/11.webp"
+import image2023_12 from "./2023/12.webp"
+import image2023_13 from "./2023/13.webp"
+
+import image2024_1 from "./2024/1.webp"
+import image2024_2 from "./2024/2.webp"
+import image2024_3 from "./2024/3.webp"
+import image2024_4 from "./2024/4.webp"
+import image2024_6 from "./2024/6.webp"
+import image2024_7 from "./2024/7.webp"
+import image2024_8 from "./2024/8.webp"
+import image2024_9 from "./2024/9.webp"
+import image2024_11 from "./2024/11.webp"
+import image2024_12 from "./2024/12.webp"
+import image2024_13 from "./2024/13.webp"
+
+export const imagesByYear = {
+  "2023": [
+    image2023_8,
+    image2023_11,
+    image2023_3,
+    image2023_1,
+    image2023_13,
+    image2023_6,
+    image2023_9,
+    image2023_4,
+    image2023_12,
+    image2023_2,
+    image2023_10,
+    image2023_7,
+    image2023_5,
+  ],
+  "2024": [
+    image2024_2,
+    image2024_3,
+    image2024_12,
+    image2024_7,
+    image2024_9,
+    image2024_6,
+    image2024_13,
+    image2024_11,
+    image2024_8,
+    image2024_4,
+    image2024_1,
+  ],
+}
diff --git a/src/app/conf/2025/components/gallery-strip/index.tsx b/src/app/conf/2025/components/gallery-strip/index.tsx
new file mode 100644
index 0000000000..6a54961dc1
--- /dev/null
+++ b/src/app/conf/2025/components/gallery-strip/index.tsx
@@ -0,0 +1,83 @@
+"use client"
+
+import { useState } from "react"
+import { clsx } from "clsx"
+import Image from "next-image-export-optimizer"
+import type { StaticImageData } from "next/image"
+
+import { Marquee } from "@/app/conf/_design-system/marquee"
+
+import { imagesByYear } from "./images"
+
+const YEARS = ["2024", "2023"] as const
+type Year = (typeof YEARS)[number]
+
+export interface GalleryStripProps extends React.HTMLAttributes<HTMLElement> {}
+
+export function GalleryStrip({ className, ...rest }: GalleryStripProps) {
+  const [selectedYear, setSelectedYear] = useState<Year>("2024")
+
+  return (
+    <section
+      role="presentation"
+      className={clsx("py-8 md:py-16", className)}
+      {...rest}
+    >
+      <div className="flex gap-3.5 px-4 max-md:items-center md:px-24">
+        {YEARS.map(year => (
+          <button
+            key={year}
+            onClick={() => setSelectedYear(year)}
+            className={clsx(
+              "gql-focus-visible typography-menu p-1",
+              selectedYear === year
+                ? "bg-sec-light text-neu-900 dark:text-neu-0"
+                : "text-neu-800",
+            )}
+          >
+            {year}
+          </button>
+        ))}
+      </div>
+
+      <div className="mt-6 w-full md:mt-10">
+        <Marquee
+          gap={8}
+          speed={35}
+          drag
+          reverse
+          className="cursor-[var(--cursor-grabbing,grab)] touch-pan-y"
+        >
+          {imagesByYear[selectedYear].map((image, i) => {
+            const key = `${selectedYear}-${i}`
+
+            return <GalleryStripImage key={key} image={image} index={i} />
+          })}
+        </Marquee>
+      </div>
+    </section>
+  )
+}
+
+function GalleryStripImage({
+  image,
+  index,
+}: {
+  image: StaticImageData
+  index: number
+}) {
+  return (
+    <div className="relative md:px-2">
+      <Image
+        data-index={index}
+        src={image}
+        alt=""
+        role="presentation"
+        // intrinsic 799x533
+        height={320}
+        width={index % 4 === 2 ? 256 : index % 3 === 2 ? 420 : 480}
+        className="pointer-events-none h-[320px] object-cover"
+      />
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/get-your-ticket/blur-bean.webp b/src/app/conf/2025/components/get-your-ticket/blur-bean.webp
new file mode 100644
index 0000000000..cdfd6621dc
Binary files /dev/null and b/src/app/conf/2025/components/get-your-ticket/blur-bean.webp differ
diff --git a/src/app/conf/2025/components/get-your-ticket/index.tsx b/src/app/conf/2025/components/get-your-ticket/index.tsx
new file mode 100644
index 0000000000..2a6e01746c
--- /dev/null
+++ b/src/app/conf/2025/components/get-your-ticket/index.tsx
@@ -0,0 +1,74 @@
+import { clsx } from "clsx"
+
+import { ImageLoaded } from "../image-loaded"
+
+import { TicketPeriods } from "./ticket-periods"
+
+import blurBean from "./blur-bean.webp"
+
+export function GetYourTicket({ className }: { className?: string }) {
+  return (
+    <section
+      className={clsx(
+        "dark relative overflow-hidden bg-pri-dark px-4 py-8 lg:py-16 xl:py-24",
+        className,
+      )}
+    >
+      <Stripes />
+      <div className="gql-conf-container gql-conf-section relative">
+        <header className="flex flex-wrap justify-between gap-6 md:items-end">
+          <h2 className="typography-h2 whitespace-pre text-white">
+            Get your ticket
+          </h2>
+          <p className="typography-body-lg text-neu-800">
+            The registration deadline is 23:59 CET on the respective date.
+          </p>
+        </header>
+
+        <div className="mt-6 grid gap-px backdrop-blur-[6px] md:mt-10 md:grid-cols-3">
+          <TicketPeriods />
+        </div>
+      </div>
+    </section>
+  )
+}
+
+const maskEven =
+  "repeating-linear-gradient(to right, transparent, transparent 12px, black 12px, black 24px)"
+const maskOdd =
+  "repeating-linear-gradient(to right, black, black 12px, transparent 12px, transparent 24px)"
+
+function Stripes() {
+  return (
+    <ImageLoaded
+      role="presentation"
+      image={blurBean}
+      className="pointer-events-none absolute inset-x-0 bottom-[-385px] top-[-203px] translate-y-12 opacity-0 transition duration-[400ms] ease-linear [mask-position:70%_60%] *:opacity-100 data-[loaded=true]:translate-y-0 data-[loaded=true]:opacity-100 max-3xl:[mask-size:220%] max-md:[mask-size:800%] md:*:opacity-30 lg:*:opacity-50 xl:*:opacity-60 3xl:[mask-position:70%_39%]"
+      style={{
+        maskImage: `url(${blurBean.src})`,
+        WebkitMaskImage: `url(${blurBean.src})`,
+        maskRepeat: "no-repeat",
+        WebkitMaskRepeat: "no-repeat",
+      }}
+    >
+      <div
+        className="absolute inset-0"
+        style={{
+          backgroundImage:
+            "linear-gradient(180deg, hsl(var(--color-pri-light)) 0%, hsl(var(--color-pri-lighter)) 100%)",
+          maskImage: maskEven,
+          WebkitMaskImage: maskEven,
+        }}
+      />
+      <div
+        className="absolute inset-0"
+        style={{
+          backgroundImage:
+            "linear-gradient(180deg,hsl(319deg 100% 90% / 0.2) 0%, hsl(var(--color-pri-base)) 100%)",
+          maskImage: maskOdd,
+          WebkitMaskImage: maskOdd,
+        }}
+      />
+    </ImageLoaded>
+  )
+}
diff --git a/src/app/conf/2025/components/get-your-ticket/ticket-period.tsx b/src/app/conf/2025/components/get-your-ticket/ticket-period.tsx
new file mode 100644
index 0000000000..cc79d2e902
--- /dev/null
+++ b/src/app/conf/2025/components/get-your-ticket/ticket-period.tsx
@@ -0,0 +1,91 @@
+import { Button } from "@/app/conf/_design-system/button"
+import { clsx } from "clsx"
+import { GET_TICKETS_LINK } from "../../links"
+
+export interface TicketPeriodProps {
+  price: string
+  date: Date | [Date, Date]
+  isLoading?: boolean
+  soldOut?: boolean
+  comingSoon?: boolean
+  name: string
+}
+
+export function TicketPeriod({
+  price,
+  date,
+  isLoading,
+  soldOut,
+  comingSoon,
+  name,
+}: TicketPeriodProps) {
+  const disabled = soldOut || comingSoon || isLoading
+
+  return (
+    <article
+      data-disabled={disabled}
+      className={clsx(
+        "flex flex-col border border-pri-lighter bg-pri-light/[0.24] backdrop-blur-md transition @container/card max-md:[&+&]:border-t-0 md:[&+&]:border-l-0",
+        disabled
+          ? "opacity-50 max-md:[&:has(+article[data-disabled=false])]:border-b-0 md:[&:has(+article[data-disabled=false])]:border-r-0"
+          : "!border",
+      )}
+    >
+      <header className="border-b border-pri-lighter p-6">
+        <h3 className="typography-h3 text-white">{name}</h3>
+      </header>
+      <div className="flex h-full flex-col justify-end gap-6 p-6">
+        <div className="flex items-end justify-between gap-2">
+          <span className="typography-h3 text-white @[356px]:typography-h2">
+            {price}
+          </span>
+          {/* eslint-disable-next-line tailwindcss/no-custom-classname */}
+          <span className="ticket-period--date typography-body-md text-right text-white">
+            {Array.isArray(date) ? (
+              <>
+                <Time date={date[0]} />
+                {" - "}
+                <Time date={date[1]} />
+              </>
+            ) : (
+              <>
+                <span>Through </span>
+                <Time date={date} />
+              </>
+            )}
+          </span>
+        </div>
+        <Button
+          variant="primary"
+          disabled={disabled}
+          className="light w-full"
+          href={GET_TICKETS_LINK}
+        >
+          {isLoading
+            ? "Get a ticket"
+            : soldOut
+              ? "Sold out"
+              : comingSoon
+                ? "Coming soon"
+                : "Get a ticket"}
+        </Button>
+      </div>
+    </article>
+  )
+}
+
+function Time({ date }: { date: Date }) {
+  return (
+    <time
+      dateTime={date.toISOString()}
+      dangerouslySetInnerHTML={{
+        __html: date
+          .toLocaleDateString("en-GB", {
+            month: "long",
+            day: "numeric",
+          })
+          .replace(" ", "&nbsp"),
+      }}
+    />
+  )
+}
diff --git a/src/app/conf/2025/components/get-your-ticket/ticket-periods.tsx b/src/app/conf/2025/components/get-your-ticket/ticket-periods.tsx
new file mode 100644
index 0000000000..285c6008a5
--- /dev/null
+++ b/src/app/conf/2025/components/get-your-ticket/ticket-periods.tsx
@@ -0,0 +1,55 @@
+"use client"
+
+import { useState, useEffect } from "react"
+
+import { TicketPeriod } from "./ticket-period"
+
+// Ticket period end dates (using zero-indexed months)
+// Dates are specified in CET (UTC+1/UTC+2 for CEST) and converted to UTC
+// Example: July 13th 23:59 CEST (UTC+2) becomes July 13th 21:59 UTC
+const EARLY_BIRD_END_DATE = new Date(Date.UTC(2025, 6, 13, 21, 59)) // July 13th 23:59 CEST
+const STANDARD_END_DATE = new Date(Date.UTC(2025, 7, 31, 21, 59)) // August 31st 23:59 CEST
+const LATE_END_DATE = new Date(Date.UTC(2025, 8, 10, 21, 59)) // September 10th 23:59 CEST
+
+export function TicketPeriods() {
+  const now = useCurrentDate()
+
+  return (
+    <>
+      <TicketPeriod
+        name="Early Bird"
+        price="$599"
+        date={EARLY_BIRD_END_DATE}
+        comingSoon={false}
+        isLoading={!now}
+        soldOut={!!now && now > EARLY_BIRD_END_DATE}
+      />
+      <TicketPeriod
+        name="Standard"
+        price="$799"
+        date={[new Date(2025, 6, 14), STANDARD_END_DATE]}
+        isLoading={!now}
+        comingSoon={!!now && now < EARLY_BIRD_END_DATE}
+        soldOut={!!now && now > STANDARD_END_DATE}
+      />
+      <TicketPeriod
+        name="Late"
+        price="$899"
+        date={[new Date(2025, 8, 1), LATE_END_DATE]}
+        isLoading={!now}
+        comingSoon={!!now && now < STANDARD_END_DATE}
+        soldOut={!!now && now > LATE_END_DATE}
+      />
+    </>
+  )
+}
+
+function useCurrentDate() {
+  const [date, setDate] = useState<Date | null>(null)
+
+  useEffect(() => {
+    setDate(new Date())
+  }, [])
+
+  return date
+}
diff --git a/src/app/conf/2025/components/graphql-conf-logo-link.tsx b/src/app/conf/2025/components/graphql-conf-logo-link.tsx
new file mode 100644
index 0000000000..fdeb9e2c1e
--- /dev/null
+++ b/src/app/conf/2025/components/graphql-conf-logo-link.tsx
@@ -0,0 +1,52 @@
+import NextLink from "next/link"
+import { clsx } from "clsx"
+
+export interface GraphQLConfLogoLinkProps
+  extends React.HTMLAttributes<HTMLDivElement> {
+  year: number
+}
+
+export function GraphQLConfLogoLink({
+  className,
+  year,
+  ...rest
+}: GraphQLConfLogoLinkProps) {
+  return (
+    <div
+      className={clsx(
+        "flex items-center gap-2 text-xl/none uppercase",
+        className,
+      )}
+      {...rest}
+    >
+      <NextLink href="/" className="-m-1 p-1 hover:bg-neu-900/10">
+        <GraphQLLogo className="h-6" />
+      </NextLink>
+      <span>/</span>
+      <NextLink
+        href={`/conf/${year}`}
+        className="-m-2 p-2 underline-offset-4 hover:underline"
+      >
+        GraphQLConf {year}
+      </NextLink>
+    </div>
+  )
+}
+
+export function GraphQLLogo(props: React.SVGProps<SVGSVGElement>) {
+  return (
+    <svg viewBox="0 0 100 100" fill="currentColor" {...props}>
+      <path
+        fillRule="evenodd"
+        clipRule="evenodd"
+        d="M50 6.90308L87.323 28.4515V71.5484L50 93.0968L12.677 71.5484V28.4515L50 6.90308ZM16.8647 30.8693V62.5251L44.2795 15.0414L16.8647 30.8693ZM50 13.5086L18.3975 68.2457H81.6025L50 13.5086ZM77.4148 72.4334H22.5852L50 88.2613L77.4148 72.4334ZM83.1353 62.5251L55.7205 15.0414L83.1353 30.8693V62.5251Z"
+      />
+      <circle cx="50" cy="9.3209" r="8.82" />
+      <circle cx="85.2292" cy="29.6605" r="8.82" />
+      <circle cx="85.2292" cy="70.3396" r="8.82" />
+      <circle cx="50" cy="90.6791" r="8.82" />
+      <circle cx="14.7659" cy="70.3396" r="8.82" />
+      <circle cx="14.7659" cy="29.6605" r="8.82" />
+    </svg>
+  )
+}
diff --git a/src/app/conf/2025/components/graphql-foundation-card.tsx b/src/app/conf/2025/components/graphql-foundation-card.tsx
new file mode 100644
index 0000000000..ab3155f3fb
--- /dev/null
+++ b/src/app/conf/2025/components/graphql-foundation-card.tsx
@@ -0,0 +1,20 @@
+import { clsx } from "clsx"
+
+import FoundationWordmark from "../assets/graphql-foundation-wordmark.svg?svgr"
+
+export function GraphQLFoundationCard({ className }: { className?: string }) {
+  return (
+    <section className={clsx("gql-conf-section", className)}>
+      <div className="flex divide-neu-300 border border-neu-300 bg-neu-100 dark:divide-neu-100 dark:border-neu-100 dark:bg-neu-50 max-md:flex-col max-md:divide-y md:divide-x">
+        <div className="flex items-center justify-center px-8 py-10 lg:px-16 lg:py-24">
+          <FoundationWordmark className="h-[68px] text-rhodamine dark:text-current lg:h-[100px] [&_g]:fill-current" />
+        </div>
+        <p className="typography-body-lg text-pretty px-8 py-10 max-md:text-center lg:px-16 lg:py-24">
+          GraphQLConf is presented by the GraphQL Foundation, uniting the global
+          GraphQL community to promote education, adoption, and advancement of
+          GraphQL.
+        </p>
+      </div>
+    </section>
+  )
+}
diff --git a/src/app/conf/2025/components/hero/blur-bean-cropped.webp b/src/app/conf/2025/components/hero/blur-bean-cropped.webp
new file mode 100644
index 0000000000..41785f9cbd
Binary files /dev/null and b/src/app/conf/2025/components/hero/blur-bean-cropped.webp differ
diff --git a/src/app/conf/2025/components/hero/hero-image.tsx b/src/app/conf/2025/components/hero/hero-image.tsx
new file mode 100644
index 0000000000..d1c58d7415
--- /dev/null
+++ b/src/app/conf/2025/components/hero/hero-image.tsx
@@ -0,0 +1,17 @@
+import Image from "next-image-export-optimizer"
+
+import heroPhoto from "./hero-photo.jpeg"
+
+export function HeroImage() {
+  return (
+    <div className="z-[2] bg-blk">
+      <Image
+        src={heroPhoto}
+        width={1920}
+        height={560}
+        alt="five speakers at GraphQLConf 2024"
+        className="mx-auto h-[560px] w-[1920px] max-w-full object-cover"
+      />
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/hero/hero-photo.jpeg b/src/app/conf/2025/components/hero/hero-photo.jpeg
new file mode 100644
index 0000000000..5e9fed6fd0
Binary files /dev/null and b/src/app/conf/2025/components/hero/hero-photo.jpeg differ
diff --git a/src/app/conf/2025/components/hero/index.tsx b/src/app/conf/2025/components/hero/index.tsx
new file mode 100644
index 0000000000..1c2ac61332
--- /dev/null
+++ b/src/app/conf/2025/components/hero/index.tsx
@@ -0,0 +1,132 @@
+import { ReactNode } from "react"
+
+import { CalendarIcon } from "@/app/conf/_design-system/pixelarticons/calendar-icon"
+import { PinIcon } from "@/app/conf/_design-system/pixelarticons/pin-icon"
+
+import GraphQLFoundationWordmark from "../../assets/graphql-foundation-wordmark.svg?svgr"
+
+import { ImageLoaded } from "../image-loaded"
+import blurBean from "./blur-bean-cropped.webp"
+import clsx from "clsx"
+import {
+  StripesDecoration,
+  StripesDecorationProps,
+} from "@/app/conf/_design-system/stripes-decoration"
+
+export type HeroProps = {
+  pageName?: string
+  children: React.ReactNode
+  bottom?: React.ReactNode
+  colorScheme?: "primary" | "neutral"
+  stripes?: ReactNode
+} & (
+  | { year: string | number; subtitle?: never }
+  | { year?: never; subtitle: string }
+)
+
+export function Hero(props: HeroProps) {
+  const colorScheme = props.colorScheme || "primary"
+
+  return (
+    <article
+      className={clsx(
+        "gql-conf-navbar-strip relative isolate flex flex-col justify-center selection:bg-blk/40 before:bg-white/30 before:dark:bg-blk/40",
+        colorScheme === "primary"
+          ? "bg-pri-base text-neu-0 dark:bg-pri-darker dark:text-neu-900 dark:selection:bg-white/40"
+          : "bg-neu-100 dark:bg-neu-50/25",
+      )}
+    >
+      <article className="relative">
+        {props.stripes || <HeroStripes />}
+        <div className="gql-conf-container mx-auto flex max-w-full flex-col gap-12 overflow-hidden p-4 pt-6 sm:p-8 sm:pt-12 md:gap-12 md:bg-left md:p-12 lg:px-24 lg:pb-16 lg:pt-24">
+          <div className="flex gap-10 max-md:flex-col md:justify-between">
+            {props.pageName ? (
+              <div>
+                <span
+                  className={clsx(
+                    "typography-body-lg lg:typography-h3",
+                    colorScheme === "primary"
+                      ? "text-sec-base"
+                      : "text-pri-base",
+                  )}
+                >
+                  {props.year ? `GraphQLConf ${props.year}` : props.subtitle}
+                </span>
+                <h1 className="typography-d1">{props.pageName}</h1>
+              </div>
+            ) : (
+              <h1 className="typography-d1 flex flex-wrap gap-2">
+                <span>GraphQLConf</span>
+                <span className="text-sec-base">
+                  {props.year || props.subtitle}
+                </span>
+              </h1>
+            )}
+            <div className="flex h-min items-center gap-4">
+              <span className="typography-body-sm whitespace-pre">
+                hosted by
+              </span>
+              <GraphQLFoundationWordmark
+                width={128}
+                height={34.877}
+                className={
+                  colorScheme === "neutral" ? "[&_path]:fill-primary" : ""
+                }
+              />
+            </div>
+          </div>
+
+          <div className="flex flex-col gap-8">{props.children}</div>
+        </div>
+      </article>
+      {props.bottom}
+    </article>
+  )
+}
+
+export function HeroDateAndLocation() {
+  return (
+    <div className="typography-body-md flex flex-col gap-4 md:flex-row md:gap-6">
+      <div className="flex items-center gap-2">
+        <CalendarIcon className="size-5 sm:size-6" />
+        <time dateTime="2025-09-08">September 08</time>
+        <span>-</span>
+        <time dateTime="2025-09-10">10, 2025</time>
+      </div>
+      <div className="flex items-center gap-2">
+        <PinIcon className="size-5 sm:size-6" />
+        <address className="not-italic">Amsterdam, Netherlands</address>
+      </div>
+    </div>
+  )
+}
+
+export interface HeroStripesProps extends StripesDecorationProps {
+  className?: string
+}
+export function HeroStripes({ className, ...rest }: HeroStripesProps) {
+  return (
+    <ImageLoaded
+      role="presentation"
+      image={blurBean}
+      className={clsx(
+        "pointer-events-none absolute inset-x-0 bottom-[-385px] top-[-203px] -z-10 translate-y-12 opacity-0 transition duration-[400ms] ease-linear [mask-size:100%_50%] data-[loaded=true]:translate-y-0 data-[loaded=true]:opacity-100 sm:[mask-size:125%] xl:[mask-size:100%]",
+        className,
+      )}
+      style={{
+        maskImage: `url(${blurBean.src})`,
+        WebkitMaskImage: `url(${blurBean.src})`,
+        maskRepeat: "no-repeat",
+        WebkitMaskRepeat: "no-repeat",
+        maskPosition: "center",
+        WebkitMaskPosition: "center",
+      }}
+    >
+      <StripesDecoration
+        evenClassName="bg-[linear-gradient(180deg,hsl(var(--color-pri-light))_0%,hsl(319deg_100%_90%_/_0.2)_100%)] dark:bg-[linear-gradient(180deg,hsl(var(--color-pri-dark))_0%,hsl(319_100%_20%_/_1)_100%)]"
+        oddClassName="bg-[linear-gradient(180deg,hsl(319deg_100%_90%_/_0.2)_0%,hsl(var(--color-pri-base))_100%)] dark:bg-[linear-gradient(180deg,hsl(319_100%_30%_/_1)_0%,hsl(var(--color-pri-dark))_100%)]"
+        {...rest}
+      />
+    </ImageLoaded>
+  )
+}
diff --git a/src/app/conf/2025/components/image-loaded.tsx b/src/app/conf/2025/components/image-loaded.tsx
new file mode 100644
index 0000000000..6e26ef4c7a
--- /dev/null
+++ b/src/app/conf/2025/components/image-loaded.tsx
@@ -0,0 +1,36 @@
+"use client"
+
+import type { StaticImageData } from "next/image"
+import { useEffect, useState } from "react"
+
+const _cache = new Map<string, HTMLImageElement>()
+
+export interface ImageLoadedProps extends React.HTMLAttributes<HTMLDivElement> {
+  image: string | StaticImageData
+}
+
+export function ImageLoaded({ image, ...rest }: ImageLoadedProps) {
+  const [loaded, setLoaded] = useState(false)
+  const src = typeof image === "string" ? image : image.src
+
+  const alreadyLoaded = _cache.get(src)?.complete
+
+  useEffect(() => {
+    let img: HTMLImageElement
+    if (_cache.has(src)) {
+      img = _cache.get(src)!
+      if (img.complete) {
+        setLoaded(true)
+      } else {
+        img.addEventListener("load", () => setLoaded(true))
+      }
+    } else {
+      img = new Image()
+      img.src = src
+      img.addEventListener("load", () => setLoaded(true))
+      _cache.set(src, img)
+    }
+  }, [src])
+
+  return <div data-loaded={alreadyLoaded || loaded} {...rest} />
+}
diff --git a/src/app/conf/2025/components/marquee-rows/blur.webp b/src/app/conf/2025/components/marquee-rows/blur.webp
new file mode 100644
index 0000000000..9f990b8037
Binary files /dev/null and b/src/app/conf/2025/components/marquee-rows/blur.webp differ
diff --git a/src/app/conf/2025/components/marquee-rows/index.tsx b/src/app/conf/2025/components/marquee-rows/index.tsx
new file mode 100644
index 0000000000..38906c5fe5
--- /dev/null
+++ b/src/app/conf/2025/components/marquee-rows/index.tsx
@@ -0,0 +1,92 @@
+import { clsx } from "clsx"
+import { Fragment, ReactNode } from "react"
+
+import { Marquee } from "@/app/conf/_design-system/marquee"
+import CodeIcon from "@/app/conf/_design-system/pixelarticons/code.svg?svgr"
+import { StripesDecoration } from "@/app/conf/_design-system/stripes-decoration"
+
+import blurWave from "./blur.webp"
+
+export interface MarqueeRowsProps extends React.HTMLAttributes<HTMLDivElement> {
+  items: ReactNode[][]
+  variant: "primary" | "secondary"
+}
+
+export function MarqueeRows({
+  items,
+  className,
+  variant,
+  ...rest
+}: MarqueeRowsProps) {
+  const separator = (
+    <CodeIcon
+      className={clsx(
+        "size-8 md:size-10",
+        variant === "primary"
+          ? "text-pri-dark dark:text-pri-light"
+          : "text-pri-base",
+      )}
+    />
+  )
+
+  return (
+    <section
+      className={clsx(
+        "relative font-mono text-xl/none md:text-[56px]/none 3xl:[mask-image:linear-gradient(to_right,transparent,black_5%,black_95%,transparent)]",
+        variant === "primary" ? "text-pri-base" : "text-neu-900",
+        className,
+      )}
+      {...rest}
+    >
+      {variant === "primary" && <Stripes />}
+      {items.map((row, i) => (
+        <Marquee
+          key={i}
+          gap={16}
+          speed={35}
+          speedOnHover={15}
+          className="relative *:select-none"
+          reverse={i % 2 === 1}
+          drag
+          separator={separator}
+        >
+          {row.map((item, j) => (
+            <Fragment key={j}>
+              {item}
+              {j !== row.length - 1 && separator}
+            </Fragment>
+          ))}
+        </Marquee>
+      ))}
+    </section>
+  )
+}
+
+function Stripes() {
+  return (
+    <div
+      role="presentation"
+      // prettier-ignore
+      // false positive
+      // eslint-disable-next-line tailwindcss/no-contradicting-classname
+      className="pointer-events-none absolute inset-0 -bottom-1/2
+
+    [--start:hsl(var(--color-pri-light)/.6)]
+    [--end:hsl(var(--color-pri-lighter)/.05)]
+    dark:[--start:hsl(320_86_20/.6)]
+    dark:[--end:hsl(var(--color-pri-base)/.025)]
+
+    [mask-size:400%_100%]
+    sm:[mask-size:cover]
+  "
+      style={{
+        maskImage: `url(${blurWave.src})`,
+        WebkitMaskImage: `url(${blurWave.src})`,
+        maskRepeat: "no-repeat",
+        WebkitMaskRepeat: "no-repeat",
+      }}
+    >
+      <StripesDecoration oddClassName="bg-[linear-gradient(180deg,var(--start)_0%,var(--end)_100%)]" />
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/navbar.tsx b/src/app/conf/2025/components/navbar.tsx
new file mode 100644
index 0000000000..e308f6a596
--- /dev/null
+++ b/src/app/conf/2025/components/navbar.tsx
@@ -0,0 +1,159 @@
+"use client"
+
+import { ReactElement, useCallback, useEffect, useState } from "react"
+import { clsx } from "clsx"
+import { usePathname } from "next/navigation"
+
+import { Badge } from "../../_components/badge"
+
+import MenuIcon from "@/app/conf/_design-system/pixelarticons/menu.svg?svgr"
+import CloseIcon from "@/app/conf/_design-system/pixelarticons/close.svg?svgr"
+import { GraphQLConfLogoLink } from "./graphql-conf-logo-link"
+import { Anchor } from "../../_design-system/anchor"
+
+export interface NavbarProps {
+  links: { href: string; children: React.ReactNode; "aria-disabled"?: true }[]
+  year: number
+}
+
+export function Navbar({ links, year }: NavbarProps): ReactElement {
+  const pathname = usePathname()
+  const [mobileDrawerOpen, setMobileDrawerOpen] = useState(false)
+
+  const handleDrawerClick = useCallback(() => {
+    // todo: block scrolling on body
+    setMobileDrawerOpen(prev => !prev)
+  }, [])
+
+  useEffect(() => {
+    setMobileDrawerOpen(false)
+  }, [pathname])
+
+  useEffect(() => {
+    document.body.style.overflow = mobileDrawerOpen ? "hidden" : "auto"
+    if (mobileDrawerOpen) {
+      const closeOnEscape = (event: KeyboardEvent) => {
+        if (event.key === "Escape") setMobileDrawerOpen(false)
+      }
+      document.addEventListener("keydown", closeOnEscape)
+      return () => {
+        document.removeEventListener("keydown", closeOnEscape)
+      }
+    }
+  }, [mobileDrawerOpen])
+
+  return (
+    <>
+      <div
+        className={clsx(
+          "top-0 w-full scale-y-105 bg-pri-base dark:bg-pri-darker",
+          mobileDrawerOpen ? "static" : "absolute",
+        )}
+      />
+      <NavbarPlaceholder className="bg-pri-base before:bg-white/30 dark:bg-pri-darker dark:before:bg-blk/40" />
+      <header
+        className={clsx(
+          "gql-all-anchors-focusable sticky top-0 z-[100] w-full border-b border-blk/60 font-mono text-neu-900 antialiased dark:border-white/80",
+          mobileDrawerOpen && "!border-neu-900 dark:!border-white",
+        )}
+      >
+        <BackdropBlur />
+        <div className="flex h-[var(--navbar-h)] items-center justify-between gap-5 px-4 md:px-6 2xl:px-10">
+          <GraphQLConfLogoLink year={year} />
+
+          <div className="typography-menu mr-auto flex h-full flex-col justify-center whitespace-pre border-x border-blk/60 px-4 dark:border-white/80 max-xl:hidden">
+            <p className="flex items-center gap-2 text-sm">
+              <time dateTime="2025-09-08">September 08</time>
+              <span>-</span>
+              <time dateTime="2025-09-10">10, 2025</time>
+            </p>
+            <address className="text-sm not-italic">
+              Amsterdam, Netherlands
+            </address>
+          </div>
+
+          {mobileDrawerOpen && (
+            <div
+              // menu overlay
+              onClick={handleDrawerClick}
+              className="fixed inset-0 top-[calc(var(--navbar-h)+1px)] z-10 bg-white/40 backdrop-blur-[6.4px] dark:bg-blk/30"
+            />
+          )}
+
+          <nav
+            className={clsx(
+              "typography-menu inset-0 z-20 flex gap-7 max-lg:fixed max-lg:mt-[calc(var(--navbar-h)+1px)] max-lg:flex-col max-md:min-w-[50%] sm:max-lg:p-4 lg:items-end",
+              mobileDrawerOpen ? "translate-x-0" : "max-lg:translate-x-full",
+            )}
+          >
+            <div className="flex w-full flex-col lg:mt-0 lg:block">
+              {links.map(
+                ({ "aria-disabled": isDisabled, children, ...link }) => (
+                  <Anchor
+                    aria-disabled={isDisabled}
+                    key={link.href}
+                    {...link}
+                    className={clsx(
+                      "p-5 underline-offset-4 hover:underline aria-disabled:pointer-events-none max-lg:text-base",
+                      pathname === link.href && "underline",
+                    )}
+                    onClick={() => {
+                      if (mobileDrawerOpen) {
+                        setMobileDrawerOpen(false)
+                      }
+                    }}
+                  >
+                    {children}
+                    {isDisabled && (
+                      <sup className="ml-2">
+                        <Badge className="text-white">Soon</Badge>
+                      </sup>
+                    )}
+                  </Anchor>
+                ),
+              )}
+            </div>
+          </nav>
+
+          <button
+            className="gql-focus-visible z-40 ml-auto size-7 hover:bg-neu-900/10 lg:hidden"
+            onClick={handleDrawerClick}
+          >
+            {mobileDrawerOpen ? <CloseIcon /> : <MenuIcon />}
+          </button>
+        </div>
+      </header>
+    </>
+  )
+}
+
+function BackdropBlur() {
+  const mask = "linear-gradient(to bottom,#000 0% 50%, transparent 50% 100%)"
+  return (
+    <div
+      // note: we can't use the background trick to reduce flickering, because we have many section
+      // background colors and big images, so we'd have to change the --bg var with javascript
+      className="pointer-events-none absolute inset-0 -z-10 h-[200%] backdrop-blur-[6.4px]"
+      style={{
+        maskImage: mask,
+        WebkitMaskImage: mask,
+      }}
+    />
+  )
+}
+
+export function NavbarPlaceholder({
+  className,
+  ...rest
+}: React.HTMLAttributes<HTMLDivElement>) {
+  return (
+    <div
+      // placeholder: the colors here on `before` must match the ones on Hero `before` strip
+      className={clsx(
+        "absolute h-[calc(var(--navbar-h)+1px)] w-full before:absolute before:top-0 before:h-[calc(var(--navbar-h)+1px)] before:w-full",
+        className,
+      )}
+      {...rest}
+    />
+  )
+}
diff --git a/src/app/conf/2025/components/og-images/conference-opengraph-image-header.tsx b/src/app/conf/2025/components/og-images/conference-opengraph-image-header.tsx
new file mode 100644
index 0000000000..1a35039192
--- /dev/null
+++ b/src/app/conf/2025/components/og-images/conference-opengraph-image-header.tsx
@@ -0,0 +1,171 @@
+import { CalendarIcon } from "@/app/conf/_design-system/pixelarticons/calendar-icon"
+import { PinIcon } from "@/app/conf/_design-system/pixelarticons/pin-icon"
+
+import { GraphQLLogo } from "../graphql-conf-logo-link"
+import { colors, fonts, RIGHT_COLUMN_WIDTH_PX } from "./speaker-opengraph-image"
+
+export const OG_IMAGE_HEADER_HEIGHT = 154
+
+export function ConferenceOpengraphImageHeader({
+  year,
+  date,
+  location,
+  style,
+}: {
+  year: string
+  date: string
+  location: string
+  style?: React.CSSProperties
+}) {
+  return (
+    <header
+      style={{
+        display: "flex",
+        alignItems: "center",
+        borderBottom: `2px solid ${colors.neu600}`,
+        ...style,
+      }}
+    >
+      <div
+        style={{
+          display: "flex",
+          flex: 1,
+          alignItems: "center",
+          gap: "1.5rem",
+          borderRight: `2px solid ${colors.neu600}`,
+          padding: "2.5rem",
+          paddingRight: "4rem",
+          height: OG_IMAGE_HEADER_HEIGHT,
+        }}
+      >
+        <div style={{ display: "flex", alignItems: "center", gap: "1rem" }}>
+          <div
+            style={{
+              fontFamily: fonts.mono,
+              display: "flex",
+              fontWeight: "normal",
+              textTransform: "uppercase",
+              lineHeight: "1",
+              color: colors.neu900,
+            }}
+          >
+            <div
+              style={{
+                display: "flex",
+                height: "74px",
+                alignItems: "center",
+                gap: "1rem",
+                fontSize: "40px",
+                lineHeight: "1",
+                textTransform: "uppercase",
+              }}
+            >
+              <GraphQLLogo
+                style={{
+                  height: "3rem",
+                  width: "3rem",
+                  color: colors.priBase,
+                  /* hack: satori aligns this SVG differently than browsers, it will look off center in /workroom,
+                           but centered in the images */
+                  marginTop: "-6px",
+                }}
+              />
+              <span>/</span>
+              <div
+                style={{ display: "flex", alignItems: "center", gap: "0.5rem" }}
+              >
+                GraphQLConf{" "}
+                <span style={{ color: colors.priBase }}>{year}</span>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <div
+        style={{
+          display: "flex",
+          height: "100%",
+          flexShrink: 0,
+          flexDirection: "column",
+          justifyContent: "center",
+          width: RIGHT_COLUMN_WIDTH_PX,
+        }}
+      >
+        <div
+          style={{
+            display: "flex",
+            alignItems: "center",
+            gap: "1.5rem",
+            borderBottom: `2px solid ${colors.neu600}`,
+            paddingLeft: "1.5rem",
+            paddingRight: "1.5rem",
+            paddingTop: "26px",
+            paddingBottom: "26px",
+          }}
+        >
+          <div style={{ display: "flex", alignItems: "center", gap: "0.5rem" }}>
+            <CalendarIcon
+              width="24"
+              height="24"
+              style={{
+                /* hack: different across satori and browsers */
+                transform: "translateY(-3px)",
+                color: colors.priBase,
+              }}
+            />
+            <span
+              style={{
+                fontFamily: fonts.mono,
+                display: "flex",
+                fontSize: "1.25rem",
+                fontWeight: "normal",
+                textTransform: "uppercase",
+                lineHeight: "1.2",
+                color: colors.neu900,
+              }}
+            >
+              {date}, {year}
+            </span>
+          </div>
+        </div>
+
+        <div
+          style={{
+            display: "flex",
+            alignItems: "center",
+            gap: "1.5rem",
+            paddingLeft: "1.5rem",
+            paddingRight: "1.5rem",
+            paddingTop: "26px",
+            paddingBottom: "26px",
+          }}
+        >
+          <div style={{ display: "flex", alignItems: "center", gap: "0.5rem" }}>
+            <PinIcon
+              width="24"
+              height="24"
+              style={{
+                /* hack: different across satori and browsers */
+                transform: "translateY(-2px)",
+                color: colors.priBase,
+              }}
+            />
+            <span
+              style={{
+                fontFamily: fonts.mono,
+                fontSize: "1.25rem",
+                fontWeight: "normal",
+                textTransform: "uppercase",
+                lineHeight: "1.2",
+                color: colors.neu900,
+              }}
+            >
+              {location}
+            </span>
+          </div>
+        </div>
+      </div>
+    </header>
+  )
+}
diff --git a/src/app/conf/2025/components/og-images/generic-opengraph-image.tsx b/src/app/conf/2025/components/og-images/generic-opengraph-image.tsx
new file mode 100644
index 0000000000..821d1d1200
--- /dev/null
+++ b/src/app/conf/2025/components/og-images/generic-opengraph-image.tsx
@@ -0,0 +1,80 @@
+import { colors, fonts } from "./speaker-opengraph-image"
+import {
+  ConferenceOpengraphImageHeader,
+  OG_IMAGE_HEADER_HEIGHT,
+} from "./conference-opengraph-image-header"
+
+import graphqlLogoStripes from "./graphql-logo-stripes.png"
+
+export interface GenericOpengraphImageProps
+  extends React.HTMLAttributes<HTMLElement> {
+  date: string
+  year: string
+  location: string
+  pageTitle: string
+}
+
+export function GenericOpengraphImage({
+  date,
+  location,
+  year,
+  pageTitle,
+  ...rest
+}: GenericOpengraphImageProps) {
+  const basePath =
+    `https://${process.env.VERCEL_URL}` || process.env.__NEXT_PRIVATE_ORIGIN
+
+  const height = 630
+
+  return (
+    <article
+      style={{
+        display: "flex",
+        height,
+        width: "1200px",
+        flexDirection: "column",
+        overflow: "hidden",
+        borderWidth: "2px",
+        borderColor: colors.neu600,
+        backgroundColor: colors.neu100,
+        fontFamily: fonts.sans,
+      }}
+      {...rest}
+    >
+      <ConferenceOpengraphImageHeader
+        year={year}
+        date={date}
+        location={location}
+      />
+
+      <div
+        style={{
+          display: "flex",
+          flex: 1,
+          flexDirection: "column",
+          justifyContent: "flex-end",
+          padding: "2.5rem",
+          position: "relative",
+        }}
+      >
+        <h1
+          style={{
+            margin: 0,
+            fontFamily: fonts.sans,
+            lineHeight: "1.25",
+            color: colors.neu900,
+            fontSize: "96px",
+          }}
+        >
+          {pageTitle}
+        </h1>
+        <img
+          src={`${basePath}${graphqlLogoStripes.src}`}
+          style={{ position: "absolute", right: 0, bottom: -5 }}
+          height={height - OG_IMAGE_HEADER_HEIGHT}
+          width={673}
+        />
+      </div>
+    </article>
+  )
+}
diff --git a/src/app/conf/2025/components/og-images/graphql-logo-stripes.png b/src/app/conf/2025/components/og-images/graphql-logo-stripes.png
new file mode 100644
index 0000000000..31f190c214
Binary files /dev/null and b/src/app/conf/2025/components/og-images/graphql-logo-stripes.png differ
diff --git a/src/app/conf/2025/components/og-images/normalize-protocol-relative-url.tsx b/src/app/conf/2025/components/og-images/normalize-protocol-relative-url.tsx
new file mode 100644
index 0000000000..5d65ec3f49
--- /dev/null
+++ b/src/app/conf/2025/components/og-images/normalize-protocol-relative-url.tsx
@@ -0,0 +1,6 @@
+export function normalizeProtocolRelativeUrl(url: string) {
+  if (url.startsWith("//")) {
+    return `https:${url}`
+  }
+  return url
+}
diff --git a/src/app/conf/2025/components/og-images/opengraph-image-footer.tsx b/src/app/conf/2025/components/og-images/opengraph-image-footer.tsx
new file mode 100644
index 0000000000..fc43d7115b
--- /dev/null
+++ b/src/app/conf/2025/components/og-images/opengraph-image-footer.tsx
@@ -0,0 +1,34 @@
+import { colors, fonts } from "./speaker-opengraph-image"
+
+export function OpengraphImageFooter({
+  children,
+}: {
+  children: React.ReactNode
+}) {
+  return (
+    <footer
+      style={{
+        display: "flex",
+        alignItems: "center",
+        borderTop: `2px solid ${colors.neu600}`,
+        paddingLeft: "2.5rem",
+        paddingRight: "4rem",
+        paddingTop: "2rem",
+        paddingBottom: "2rem",
+      }}
+    >
+      <span
+        style={{
+          fontFamily: fonts.mono,
+          fontSize: "1.5rem",
+          fontWeight: "normal",
+          textTransform: "uppercase",
+          lineHeight: "1",
+          color: colors.neu900,
+        }}
+      >
+        {children}
+      </span>
+    </footer>
+  )
+}
diff --git a/src/app/conf/2025/components/og-images/session-opengraph-image.tsx b/src/app/conf/2025/components/og-images/session-opengraph-image.tsx
new file mode 100644
index 0000000000..a369833427
--- /dev/null
+++ b/src/app/conf/2025/components/og-images/session-opengraph-image.tsx
@@ -0,0 +1,210 @@
+import type { SchedSpeaker, ScheduleSession } from "@/app/conf/2023/types"
+import { colors, fonts } from "./speaker-opengraph-image"
+import { ConferenceOpengraphImageHeader } from "./conference-opengraph-image-header"
+import { OpengraphImageFooter } from "./opengraph-image-footer"
+import { normalizeProtocolRelativeUrl } from "./normalize-protocol-relative-url"
+import { getEventTitle } from "../../utils"
+import { formatSpeakerPosition } from "../format-speaker-position"
+import { speakers as allSpeakers } from "../../_data"
+
+export interface SessionOpengraphImageProps
+  extends React.HTMLAttributes<HTMLElement> {
+  session: Pick<
+    ScheduleSession,
+    "name" | "speakers" | "event_type" | "event_subtype"
+  >
+  date: string
+  year: string
+  location: string
+}
+
+function isString(x: unknown): x is string {
+  return Object.prototype.toString.call(x) === "[object String]"
+}
+
+export function SessionOpengraphImage({
+  session,
+  date,
+  location,
+  year,
+  ...rest
+}: SessionOpengraphImageProps) {
+  const speakers = session.speakers
+    ? isString(session.speakers)
+      ? (session.speakers as string)
+          .split(",")
+          .map(name => ({ name, username: "", avatar: "" }))
+      : session.speakers.map(speaker => {
+          return (
+            allSpeakers.find(s => s.username === speaker.username) || speaker
+          )
+        })
+    : []
+
+  const eventTitle = getEventTitle(
+    session,
+    speakers.map(s => s.name),
+  )
+
+  return (
+    <article
+      style={{
+        display: "flex",
+        height: "630px",
+        width: "1200px",
+        flexDirection: "column",
+        overflow: "hidden",
+        borderWidth: "2px",
+        borderColor: colors.neu600,
+        backgroundColor: colors.neu100,
+        fontFamily: fonts.sans,
+      }}
+      {...rest}
+    >
+      <ConferenceOpengraphImageHeader
+        year={year}
+        date={date}
+        location={location}
+      />
+
+      <div
+        style={{
+          display: "flex",
+          flex: 1,
+          flexDirection: "column",
+          justifyContent: "space-between",
+          padding: "2.5rem",
+        }}
+      >
+        <div
+          style={{
+            display: "flex",
+            flexDirection: "column",
+            gap: "2.5rem",
+          }}
+        >
+          <h3
+            style={{
+              margin: 0,
+              fontFamily: fonts.sans,
+              lineHeight: "1.25",
+              color: colors.neu900,
+              fontSize: eventTitle.length <= 32 ? "72px" : "32px",
+            }}
+          >
+            {eventTitle}
+          </h3>
+        </div>
+
+        {speakers.length === 1 && speakers[0] && (
+          <div
+            style={{
+              display: "flex",
+              alignItems: "flex-end",
+              gap: "2.5rem",
+            }}
+          >
+            {speakers[0]?.avatar && (
+              <div
+                style={{
+                  position: "relative",
+                  overflow: "hidden",
+                  display: "flex",
+                }}
+              >
+                <img
+                  src={normalizeProtocolRelativeUrl(speakers[0].avatar)}
+                  alt=""
+                  style={{
+                    width: "120px",
+                    height: "120px",
+                    objectFit: "cover",
+                    filter: "sepia(1) hue-rotate(37.5deg)",
+                  }}
+                  width={120}
+                  height={120}
+                />
+                <div
+                  style={{
+                    position: "absolute",
+                    top: 0,
+                    left: 0,
+                    width: "120px",
+                    height: "120px",
+                    backgroundColor: colors.secLighter,
+                    opacity: 0.25,
+                  }}
+                />
+              </div>
+            )}
+            <div
+              style={{
+                display: "flex",
+                flexDirection: "column",
+                justifyContent: "flex-end",
+                gap: "1rem",
+              }}
+            >
+              <h4
+                style={{
+                  margin: 0,
+                  fontFamily: fonts.sans,
+                  fontSize: "48px",
+                  fontWeight: "normal",
+                  lineHeight: "1",
+                  color: colors.neu900,
+                }}
+              >
+                {speakers[0].name}
+              </h4>
+              {"company" in speakers[0] && speakers[0].company && (
+                <span
+                  style={{
+                    fontFamily: fonts.sans,
+                    fontSize: "32px",
+                    fontWeight: "normal",
+                    lineHeight: "1",
+                    color: colors.neu700,
+                  }}
+                >
+                  {formatSpeakerPosition(speakers[0] as SchedSpeaker)}
+                </span>
+              )}
+            </div>
+          </div>
+        )}
+
+        {speakers.length > 1 && (
+          <div
+            style={{
+              display: "flex",
+              flexDirection: "column",
+              gap: "1rem",
+            }}
+          >
+            <h4
+              style={{
+                margin: 0,
+                fontFamily: fonts.sans,
+                fontWeight: "normal",
+                lineHeight: "1.25",
+                color: colors.neu900,
+                fontSize: speakers.length < 4 ? "48px" : "32px",
+              }}
+            >
+              {speakers.map(s => s.name).join(", ")}
+            </h4>
+          </div>
+        )}
+      </div>
+
+      {(session.event_type || session.event_subtype) && (
+        <OpengraphImageFooter>
+          {[session.event_type, session.event_subtype]
+            .filter(Boolean)
+            .join(" — ")}
+        </OpengraphImageFooter>
+      )}
+    </article>
+  )
+}
diff --git a/src/app/conf/2025/components/og-images/simple-opengraph-image.tsx b/src/app/conf/2025/components/og-images/simple-opengraph-image.tsx
new file mode 100644
index 0000000000..bd086537b0
--- /dev/null
+++ b/src/app/conf/2025/components/og-images/simple-opengraph-image.tsx
@@ -0,0 +1,38 @@
+import { ImageResponse } from "next/og"
+
+import { loadFontsForOG } from "@/app/fonts/og/load-fonts-for-og"
+
+import { GenericOpengraphImage } from "./generic-opengraph-image"
+
+export const contentType = "image/png"
+export const size = {
+  width: 1200,
+  height: 630,
+}
+
+export function generateStaticParams() {
+  return [{}]
+}
+
+export async function SimpleOpengraphImage({
+  pageTitle,
+}: {
+  pageTitle: string
+}) {
+  const fonts = loadFontsForOG()
+
+  return new ImageResponse(
+    (
+      <GenericOpengraphImage
+        pageTitle={pageTitle}
+        date="September 8-10"
+        year="2025"
+        location="Amsterdam, Netherlands"
+      />
+    ),
+    {
+      ...size,
+      fonts: await fonts,
+    },
+  )
+}
diff --git a/src/app/conf/2025/components/og-images/speaker-opengraph-image.tsx b/src/app/conf/2025/components/og-images/speaker-opengraph-image.tsx
new file mode 100644
index 0000000000..16203bd041
--- /dev/null
+++ b/src/app/conf/2025/components/og-images/speaker-opengraph-image.tsx
@@ -0,0 +1,176 @@
+import type { SchedSpeaker } from "@/app/conf/2023/types"
+import { formatSpeakerPosition } from "../format-speaker-position"
+import { normalizeProtocolRelativeUrl } from "./normalize-protocol-relative-url"
+import { OpengraphImageFooter } from "./opengraph-image-footer"
+import { ConferenceOpengraphImageHeader } from "./conference-opengraph-image-header"
+
+/**
+ * We can't use CSS variables and Tailwind classes here because we're rendering an image.
+ */
+export const colors = {
+  neu0: "hsl(0 0% 100%)",
+  neu50: "hsl(75 57% 97%)",
+  neu100: "hsl(75 15% 95%)",
+  neu200: "hsl(77 14% 90%)",
+  neu300: "hsl(76 14% 85%)",
+  neu400: "hsl(77 14% 80%)",
+  neu500: "hsl(74 14% 70%)",
+  neu600: "hsl(76 15% 60%)",
+  neu700: "hsl(76 15% 40%)",
+  neu800: "hsl(77 14% 20%)",
+  neu900: "hsl(75 15% 5%)",
+  secLighter: "hsl(79 80% 90%)",
+  priBase: "hsl(319 100% 44.1%)",
+}
+
+export const fonts = {
+  sans: "'Host Grotesk', var(--font-sans)",
+  mono: "'Commit Mono', var(--font-mono)",
+}
+
+export const RIGHT_COLUMN_WIDTH_PX = 476
+
+export interface SpeakerOpengraphImageProps
+  extends React.HTMLAttributes<HTMLElement> {
+  speaker: SchedSpeaker
+  date: string
+  year: string
+  location: string
+}
+
+export function SpeakerOpengraphImage({
+  speaker,
+  date,
+  year,
+  location,
+  ...rest
+}: SpeakerOpengraphImageProps) {
+  return (
+    <article
+      style={{
+        display: "flex",
+        height: "630px",
+        width: "1200px",
+        flexDirection: "column",
+        overflow: "hidden",
+        borderWidth: "2px",
+        backgroundColor: colors.neu100,
+        borderColor: colors.neu600,
+        fontFamily: fonts.sans,
+      }}
+      {...rest}
+    >
+      <ConferenceOpengraphImageHeader
+        year={year}
+        date={date}
+        location={location}
+      />
+
+      <div style={{ display: "flex" }}>
+        <div
+          style={{
+            display: "flex",
+            flex: 1,
+            flexDirection: "column",
+            justifyContent: "center",
+          }}
+        >
+          <div
+            style={{
+              display: "flex",
+              flex: 1,
+              flexDirection: "column",
+              justifyContent: "center",
+              gap: "2.5rem",
+              padding: "2.5rem",
+              paddingRight: "4rem",
+            }}
+          >
+            <div
+              style={{
+                display: "flex",
+                flexDirection: "column",
+                gap: "2.5rem",
+              }}
+            >
+              <h3
+                style={{
+                  margin: 0,
+                  fontSize: "88px",
+                  fontWeight: "normal",
+                  lineHeight: "1.25",
+                  color: colors.neu900,
+                }}
+              >
+                {speaker.name}
+              </h3>
+
+              <div
+                style={{
+                  display: "flex",
+                  alignItems: "center",
+                  gap: "2rem",
+                }}
+              >
+                <span
+                  style={{
+                    fontFamily: fonts.sans,
+                    fontSize: "32px",
+                    fontWeight: "normal",
+                    lineHeight: "1.25",
+                    color: colors.neu700,
+                  }}
+                >
+                  {formatSpeakerPosition(speaker)}
+                </span>
+              </div>
+            </div>
+          </div>
+
+          <OpengraphImageFooter>Speakers</OpengraphImageFooter>
+        </div>
+
+        {speaker.avatar && (
+          <div
+            style={{
+              position: "relative",
+              display: "flex",
+              overflow: "hidden",
+              borderLeft: `2px solid ${colors.neu600}`,
+              width: RIGHT_COLUMN_WIDTH_PX + 2,
+              height: RIGHT_COLUMN_WIDTH_PX,
+            }}
+          >
+            <img
+              src={normalizeProtocolRelativeUrl(speaker.avatar)}
+              alt=""
+              style={{
+                objectFit: "cover",
+                // @vercel/og doesn't support mix blend mode
+                // and SVG `<image>` is crashing similarly to
+                // https://github.com/vercel/satori/issues/650.
+                // So we use `sepia` and `hue-rotate` to change
+                // the hue to around 79deg from the design system's
+                // secondary color (yellowish green).
+                filter: "sepia(1) hue-rotate(37.5deg)",
+              }}
+              width={RIGHT_COLUMN_WIDTH_PX}
+              height={RIGHT_COLUMN_WIDTH_PX}
+            />
+            <div
+              style={{
+                position: "absolute",
+                top: 0,
+                left: 0,
+                width: RIGHT_COLUMN_WIDTH_PX,
+                height: RIGHT_COLUMN_WIDTH_PX,
+                backgroundColor: colors.secLighter,
+                opacity: 0.25,
+              }}
+            />
+          </div>
+        )}
+      </div>
+    </article>
+  )
+}
diff --git a/src/app/conf/2025/components/register-section/index.tsx b/src/app/conf/2025/components/register-section/index.tsx
new file mode 100644
index 0000000000..8b4b18ff96
--- /dev/null
+++ b/src/app/conf/2025/components/register-section/index.tsx
@@ -0,0 +1,90 @@
+import { Button } from "@/app/conf/_design-system/button"
+import { clsx } from "clsx"
+import { BECOME_A_SPEAKER_LINK } from "../../links"
+
+export interface RegisterSectionProps
+  extends React.HTMLAttributes<HTMLDivElement> {}
+
+export function RegisterSection({ className, ...props }: RegisterSectionProps) {
+  return (
+    <section
+      className={clsx(
+        "gql-conf-section flex gap-x-12 gap-y-10 py-8 max-md:flex-col sm:py-12 md:py-24 xl:gap-x-24",
+        className,
+      )}
+      {...props}
+    >
+      <div>
+        <h2 className="typography-h2">Register</h2>
+        <p className="typography-body-lg mt-6">
+          Join a diverse community of GraphQL developers, architects, and
+          enthusiasts while experiencing premium content and networking
+          opportunities in a vendor-neutral environment.
+        </p>
+        <p className="typography-body-sm mt-6 md:mt-16">
+          We never sell attendee lists or contact information, nor do we
+          authorize others to do so. If you receive an email claiming to sell an
+          attendee list for a Linux Foundation event, please forward it to
+          events@linuxfoundation.org.
+        </p>
+      </div>
+      <div className="flex flex-col gap-6 md:gap-8">
+        <article className="border border-neu-400 p-6">
+          <h3 className="typography-h3">Speakers</h3>
+          <p className="typography-body-lg mt-6">
+            You should have received a registration link in your acceptance
+            email. If you did not, please contact us for more details:{" "}
+            <a
+              href="mailto:cfp@linuxfoundation.org"
+              className="typography-link"
+            >
+              cfp@linuxfoundation.org
+            </a>
+          </p>
+          <Button
+            variant="primary"
+            className="mt-6"
+            href={BECOME_A_SPEAKER_LINK}
+          >
+            Become a speaker
+          </Button>
+        </article>
+        <article className="border border-neu-400 p-6">
+          <h3 className="typography-h3">Sponsors</h3>
+          <p className="typography-body-lg mt-6">
+            A registration link was shared in an email to your company's
+            sponsorship contact. Please reach out to them if you need to
+            register as a Sponsor. For further questions, please email us:{" "}
+            <a
+              href="mailto:graphql_events@linuxfoundation.org"
+              className="typography-link"
+            >
+              graphql_events@linuxfoundation.org
+            </a>
+          </p>
+          <Button
+            variant="primary"
+            className="mt-6"
+            href="https://events.linuxfoundation.org/wp-content/uploads/2025/02/sponsor_GraphQLConf_2025_022025.pdf"
+          >
+            Become a sponsor
+          </Button>
+        </article>
+        <article className="border border-neu-400 p-6">
+          <h3 className="typography-h3">Media</h3>
+          <p className="typography-body-lg mt-6">
+            If you are a member of the media interested in attending this event,
+            write us an email.
+          </p>
+          <Button
+            variant="primary"
+            className="mt-6"
+            href="mailto:graphql_events@linuxfoundation.org"
+          >
+            Contact us
+          </Button>
+        </article>
+      </div>
+    </section>
+  )
+}
diff --git a/src/app/conf/2025/components/register-today/index.tsx b/src/app/conf/2025/components/register-today/index.tsx
new file mode 100644
index 0000000000..4c039e1856
--- /dev/null
+++ b/src/app/conf/2025/components/register-today/index.tsx
@@ -0,0 +1,48 @@
+import { clsx } from "clsx"
+import NextImage from "next-image-export-optimizer"
+
+import { Button } from "../../../_design-system/button"
+import { GET_TICKETS_LINK } from "../../links"
+
+import speakerImage from "./speaker.webp"
+
+export interface RegisterTodayProps {
+  className?: string
+}
+
+export function RegisterToday({ className }: RegisterTodayProps) {
+  return (
+    <section
+      className={clsx(
+        "gql-conf-section flex gap-10 max-lg:flex-col-reverse",
+        className,
+      )}
+    >
+      {/* todo: placeholders work in preview, but they could use some improvement */}
+      <NextImage
+        src={speakerImage}
+        alt="GraphQL Conference"
+        width="450"
+        height="566"
+        className="aspect-[312/392] w-full object-cover max-sm:hidden sm:aspect-[2] lg:aspect-[450/566] lg:h-[566px] lg:w-[450px]"
+      />
+      <div className="flex flex-col justify-between">
+        <div>
+          <h2 className="typography-h2 text-neu-900">
+            Let's celebrate 10 years of GraphQL together
+          </h2>
+          <p className="typography-h3 mt-6 text-neu-800 md:mt-10">
+            Join three transformative days of expert insights and innovation to
+            shape the next decade of APIs!
+          </p>
+        </div>
+        <div className="mt-10 flex gap-x-6 gap-y-4 max-sm:flex-col">
+          <Button href={GET_TICKETS_LINK}>Register today</Button>
+          <Button variant="secondary" href="#sponsors">
+            Become a Sponsor
+          </Button>
+        </div>
+      </div>
+    </section>
+  )
+}
diff --git a/src/app/conf/2025/components/register-today/speaker.webp b/src/app/conf/2025/components/register-today/speaker.webp
new file mode 100644
index 0000000000..2d3d18a35b
Binary files /dev/null and b/src/app/conf/2025/components/register-today/speaker.webp differ
diff --git a/src/app/conf/2025/components/session-tags.tsx b/src/app/conf/2025/components/session-tags.tsx
new file mode 100644
index 0000000000..0c4247e370
--- /dev/null
+++ b/src/app/conf/2025/components/session-tags.tsx
@@ -0,0 +1,42 @@
+import clsx from "clsx"
+import React from "react"
+
+import { ScheduleSession } from "@/app/conf/2023/types"
+import { Tag } from "@/app/conf/_design-system/tag"
+
+import { eventsColors } from "../utils"
+
+export interface SessionTagsProps extends React.HTMLAttributes<HTMLDivElement> {
+  session: ScheduleSession
+  className?: string
+}
+
+export function SessionTags({ session, className, ...rest }: SessionTagsProps) {
+  const eventType = session.event_type.endsWith("s")
+    ? session.event_type.slice(0, -1)
+    : session.event_type
+
+  return (
+    <div className={clsx("flex flex-wrap gap-2 md:gap-3", className)} {...rest}>
+      {eventType && (
+        <Tag color={eventsColors[session.event_type || ""]}>{eventType}</Tag>
+      )}
+      {session.company && (
+        <Tag
+          color={eventsColors[session.company] || "hsl(var(--color-neu-500))"}
+        >
+          {session.company}
+        </Tag>
+      )}
+      {session.event_subtype && (
+        <Tag
+          color={
+            eventsColors[session.event_subtype] || "hsl(var(--color-sec-dark))"
+          }
+        >
+          {session.event_subtype}
+        </Tag>
+      )}
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/speaker-card.module.css b/src/app/conf/2025/components/speaker-card.module.css
new file mode 100644
index 0000000000..a0050d35c0
--- /dev/null
+++ b/src/app/conf/2025/components/speaker-card.module.css
@@ -0,0 +1,84 @@
+.stripes {
+  mask-image: radial-gradient(
+    ellipse at top left,
+    hsl(var(--color-pri-base)) 0%,
+    hsl(var(--color-pri-base)) 5%,
+    transparent 40%,
+    transparent,
+    transparent 85%,
+    black 100%
+  );
+}
+
+.speakerCard:nth-child(7n + 1) .stripes {
+  mask-image: linear-gradient(
+    120deg,
+    hsl(var(--color-pri-base)) 0%,
+    hsl(var(--color-pri-base)) 8%,
+    transparent 35%,
+    transparent
+  );
+}
+
+.speakerCard:nth-child(7n + 2) .stripes {
+  mask-image: linear-gradient(
+    80deg,
+    hsl(var(--color-pri-base)) 0%,
+    hsl(var(--color-pri-base)) 5%,
+    transparent 40%,
+    transparent
+  );
+}
+
+.speakerCard:nth-child(7n + 3) .stripes {
+  mask-image: radial-gradient(
+    circle at bottom right,
+    hsl(var(--color-pri-base)) 0%,
+    hsl(var(--color-pri-base)) 10%,
+    transparent 40%,
+    transparent
+  );
+}
+
+.speakerCard:nth-child(7n + 4) .stripes {
+  mask-image: linear-gradient(
+    -40deg,
+    hsl(var(--color-pri-base)) 0%,
+    hsl(var(--color-pri-base)) 5%,
+    transparent 40%,
+    transparent
+  );
+}
+
+.speakerCard:nth-child(7n + 5) .stripes {
+  mask-image: radial-gradient(
+    circle at top left,
+    transparent 0%,
+    transparent 65%,
+    black 90%
+  );
+}
+
+.speakerCard:nth-child(7n + 6) .stripes {
+  mask-image: radial-gradient(
+    ellipse at bottom left,
+    hsl(var(--color-pri-base)) 0%,
+    hsl(var(--color-pri-base)) 6%,
+    transparent 45%,
+    transparent,
+    transparent 90%,
+    black 100%
+  );
+}
+
+.stripes {
+  --end-color: hsl(var(--color-sec-light));
+}
+
+.speakerCard:nth-child(3n + 1) .stripes {
+  --end-color: hsl(var(--color-sec-base));
+}
+
+.speakerCard:nth-child(3n + 2) .stripes {
+  --end-color: hsl(var(--color-sec-darker));
+}
diff --git a/src/app/conf/2025/components/speaker-card.tsx b/src/app/conf/2025/components/speaker-card.tsx
new file mode 100644
index 0000000000..0db943c8dd
--- /dev/null
+++ b/src/app/conf/2025/components/speaker-card.tsx
@@ -0,0 +1,104 @@
+import clsx from "clsx"
+import Image from "next-image-export-optimizer"
+
+import { Anchor } from "../../_design-system/anchor"
+import { SchedSpeaker } from "../../2023/types"
+import { StripesDecoration } from "../../_design-system/stripes-decoration"
+
+import { SpeakerTags } from "./speaker-tags"
+import { SpeakerLinks } from "./speaker-links"
+
+import styles from "./speaker-card.module.css"
+import { formatSpeakerPosition } from "./format-speaker-position"
+
+export interface SpeakerCardProps extends React.HTMLAttributes<HTMLDivElement> {
+  isReturning?: boolean
+  stripes?: string
+  speaker: SchedSpeaker
+  showSocials?: boolean
+  year: string
+}
+
+export function SpeakerCard({
+  className,
+  speaker,
+  year,
+  showSocials = false,
+  ...props
+}: SpeakerCardProps) {
+  return (
+    <article
+      className={clsx(
+        "group relative overflow-hidden border border-neu-200 bg-neu-0 @container dark:border-neu-100",
+        styles.speakerCard,
+        className,
+      )}
+      {...props}
+    >
+      <div className="flex h-full flex-col gap-4 p-4 @[420px]:flex-row md:gap-6 md:p-6">
+        {showSocials && (
+          <SpeakerLinks
+            speaker={speaker}
+            className="absolute right-6 top-6 z-[3]"
+          />
+        )}
+
+        <div className="relative aspect-square h-full overflow-hidden @[420px]:w-[176px] @[420px]:shrink-0">
+          <div className="absolute inset-0 z-[1] bg-sec-light mix-blend-multiply" />
+          {speaker.avatar ? (
+            <Image
+              src={speaker.avatar}
+              alt=""
+              width={176}
+              height={176}
+              className="size-full object-cover saturate-[.1] transition-transform"
+            />
+          ) : (
+            <div
+              className="size-full"
+              style={{
+                backgroundImage:
+                  "linear-gradient(163deg, #759236 0%, hsl(var(--color-sec-lighter)) 100%)",
+              }}
+            />
+          )}
+          <Stripes />
+        </div>
+
+        <div className="flex flex-1 flex-col gap-2">
+          <div className="flex flex-col gap-1">
+            <h3 className="typography-body-lg">{speaker.name}</h3>
+            <p className="typography-body-sm line-clamp-1 text-neu-800">
+              {formatSpeakerPosition(speaker)}
+            </p>
+            <SpeakerTags speaker={speaker} className="my-3" />
+          </div>
+          {speaker.about && (
+            <p className="typography-body-sm line-clamp-3 text-neu-800">
+              {speaker.about}
+            </p>
+          )}
+        </div>
+      </div>
+      <Anchor
+        href={`/conf/${year}/speakers/${speaker.username}`}
+        className="absolute inset-0 z-[1] ring-inset ring-neu-400 hover:bg-sec-base/[.035] hover:ring-1 dark:ring-neu-100 dark:hover:bg-sec-base/[.05]"
+        aria-label={`See ${speaker.name.split(" ")[0]}'s sessions`}
+      />
+    </article>
+  )
+}
+
+function Stripes() {
+  return (
+    <div
+      role="presentation"
+      className={clsx(
+        "pointer-events-none absolute inset-0 inset-y-[-20px]",
+        styles.stripes,
+      )}
+    >
+      <StripesDecoration oddClassName="absolute inset-0 bg-gradient-to-b from-sec-dark to-[var(--end-color)]" />
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/speaker-links.tsx b/src/app/conf/2025/components/speaker-links.tsx
new file mode 100644
index 0000000000..120b59606c
--- /dev/null
+++ b/src/app/conf/2025/components/speaker-links.tsx
@@ -0,0 +1,58 @@
+import clsx from "clsx"
+
+import { SchedSpeaker } from "@/app/conf/2023/types"
+import {
+  SocialIcon,
+  SocialIconType,
+} from "@/app/conf/_design-system/social-icon"
+
+export interface SpeakerLinksProps
+  extends React.HTMLAttributes<HTMLDivElement> {
+  speaker: SchedSpeaker
+  size?: "lg" | "md"
+}
+
+export function SpeakerLinks({
+  speaker,
+  className,
+  size = "md",
+  ...rest
+}: SpeakerLinksProps) {
+  const speakerUrls = SocialIconType.all
+    .map(social =>
+      speaker.socialurls.find(
+        x => x.service.toLowerCase() === social.toLowerCase(),
+      ),
+    )
+    .concat([{ service: "website", url: speaker.url || "" }])
+    .filter((x): x is Exclude<typeof x, undefined> => !!x?.url)
+    .slice(-3)
+
+  return (
+    <div
+      className={clsx(
+        "flex divide-x divide-neu-200 border border-neu-200 dark:border-neu-100",
+        className,
+      )}
+      {...rest}
+    >
+      {speakerUrls.map(social => (
+        <a
+          key={social.url}
+          href={social.url}
+          target="_blank"
+          rel="noreferrer"
+          className={clsx(
+            "flex items-center text-neu-900 hover:bg-neu-600/10",
+            size === "lg" ? "p-4" : "p-2",
+          )}
+        >
+          <SocialIcon
+            type={social.service.toLowerCase()}
+            className={size === "lg" ? "size-6" : "size-5"}
+          />
+        </a>
+      ))}
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/speaker-tags.tsx b/src/app/conf/2025/components/speaker-tags.tsx
new file mode 100644
index 0000000000..2d1be0e4f9
--- /dev/null
+++ b/src/app/conf/2025/components/speaker-tags.tsx
@@ -0,0 +1,39 @@
+import clsx from "clsx"
+
+import { SchedSpeaker } from "@/app/conf/2023/types"
+import { Tag } from "@/app/conf/_design-system/tag"
+import ReloadIcon from "@/app/conf/_design-system/pixelarticons/reload.svg?svgr"
+
+import { speakerSessions } from "../_data"
+import { eventsColors } from "../utils"
+
+export function SpeakerTags({
+  speaker,
+  className,
+  showEventType = true,
+}: {
+  speaker: SchedSpeaker
+  className?: string
+  showEventType?: boolean
+}) {
+  const firstTalk = speakerSessions.get(speaker.username)?.[0]
+  let tag = showEventType && firstTalk?.event_subtype
+
+  const tagColor = (tag && eventsColors[tag]) || "hsl(var(--color-sec-dark))"
+  if (tag && tag.includes(" and ")) {
+    tag = tag.replace(" and ", " & ")
+  }
+
+  return (
+    <div className={clsx("flex basis-0 flex-wrap gap-2", className)}>
+      {tag && <Tag color={tagColor}>{tag}</Tag>}
+
+      {speaker._years.length > 1 && (
+        <Tag color="hsl(var(--color-neu-500))">
+          <ReloadIcon className="-mx-0.5 size-3" />
+          returning speaker
+        </Tag>
+      )}
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/sponsors.tsx b/src/app/conf/2025/components/sponsors.tsx
new file mode 100644
index 0000000000..358b79026c
--- /dev/null
+++ b/src/app/conf/2025/components/sponsors.tsx
@@ -0,0 +1,151 @@
+import Grafbase from "public/img/conf/Sponsors/Grafbase.svg?svgr"
+import Apollo from "public/img/conf/Sponsors/Apollo.svg?svgr"
+
+import { clsx } from "clsx"
+import { ChevronRight } from "../../_design-system/pixelarticons/chevron-right"
+import { ComponentPropsWithoutRef } from "react"
+
+interface Sponsor {
+  icon:
+    | React.FC<React.SVGProps<SVGElement>>
+    | React.FC<React.ImgHTMLAttributes<HTMLImageElement>>
+    | React.FC<React.HTMLAttributes<HTMLDivElement>>
+  name: string
+  link: string
+}
+
+const sponsorDiamond: Sponsor[] = []
+
+const sponsorPlatinum: Sponsor[] = []
+
+const sponsorGold: Sponsor[] = [
+  {
+    icon: (props: React.SVGProps<SVGElement>) => (
+      <Apollo
+        {...props}
+        className={clsx(
+          props.className,
+          "[&_path]:fill-[#15252D] dark:[&_path]:fill-white",
+        )}
+      />
+    ),
+    name: "Apollo",
+    link: "https://www.apollographql.com",
+  },
+]
+
+const sponsorSilver: Sponsor[] = [
+  {
+    icon: (props: React.SVGProps<SVGElement>) => (
+      <Grafbase
+        {...props}
+        className={clsx(
+          props.className,
+          "[&_path]:fill-blk dark:[&_path]:fill-white",
+        )}
+      />
+    ),
+    name: "Grafbase",
+    link: "https://grafbase.com/",
+  },
+  {
+    icon: (props: React.HTMLAttributes<HTMLDivElement>) => (
+      <div {...props} className={clsx(props.className, "relative")}>
+        <img
+          src={
+            new URL("/public/img/conf/Sponsors/Meta.svg", import.meta.url).href
+          }
+          className="absolute inset-0 dark:hidden"
+        />
+        <img
+          src={
+            new URL("/public/img/conf/Sponsors/Meta-dark.svg", import.meta.url)
+              .href
+          }
+          className="absolute inset-0 hidden dark:block"
+        />
+      </div>
+    ),
+    name: "Meta",
+    link: "https://about.facebook.com/meta/",
+  },
+]
+
+export interface SponsorsProps {
+  heading?: string
+}
+
+interface Tier {
+  name: string
+  items: Sponsor[]
+}
+
+const sponsorTiers: Tier[] = [
+  {
+    name: "Diamond",
+    items: sponsorDiamond,
+  },
+  {
+    name: "Platinum",
+    items: sponsorPlatinum,
+  },
+  {
+    name: "Gold",
+    items: sponsorGold,
+  },
+  {
+    name: "Silver",
+    items: sponsorSilver,
+  },
+]
+
+export function Sponsors({ heading }: SponsorsProps) {
+  return (
+    <section className="gql-conf-section mx-auto py-16">
+      <h1 className="typography-h2">{heading}</h1>
+
+      <div className="mt-10 md:mt-16">
+        {sponsorTiers.map(
+          tier =>
+            tier.items.length > 0 && (
+              <Tier
+                key={tier.name}
+                tier={tier}
+                logoHeight={220 - sponsorTiers.indexOf(tier) * 24}
+              />
+            ),
+        )}
+      </div>
+    </section>
+  )
+}
+
+function Tier({ tier, logoHeight }: { tier: Tier; logoHeight: number }) {
+  return (
+    <div className="flex gap-x-12 gap-y-4 border-t border-neu-200 py-4 dark:border-neu-50 max-md:flex-col">
+      <h3 className="flex w-[80px] shrink-0 items-center gap-1 self-start whitespace-nowrap font-mono text-sm/none font-normal uppercase text-pri-base">
+        <ChevronRight className="shrink-0 translate-y-[-0.5px]" />
+        {tier.name}
+      </h3>
+      <div className="flex flex-wrap justify-center gap-y-4">
+        {tier.items.map(({ link, icon: Icon, name }, i) => (
+          <a
+            key={i}
+            href={link}
+            target="_blank"
+            rel="noreferrer"
+            title={name}
+            className="group flex min-h-24 items-center justify-center hover:bg-neu-500/10 dark:opacity-90 dark:hover:opacity-100"
+          >
+            <Icon
+              className="aspect-[3] w-auto max-w-[80%] shrink-0"
+              style={{
+                height: logoHeight,
+              }}
+            />
+          </a>
+        ))}
+      </div>
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/testimonials/index.tsx b/src/app/conf/2025/components/testimonials/index.tsx
new file mode 100644
index 0000000000..4ae007a082
--- /dev/null
+++ b/src/app/conf/2025/components/testimonials/index.tsx
@@ -0,0 +1,145 @@
+import { StripesDecoration } from "@/app/conf/_design-system/stripes-decoration"
+import { clsx } from "clsx"
+import Image from "next-image-export-optimizer"
+
+import maskBlur from "./mask.webp"
+
+export interface TestimonialsProps extends React.HTMLAttributes<HTMLElement> {}
+
+interface Testimonial {
+  quote: string
+  author: {
+    name: string
+    role: string
+    avatar: string
+  }
+}
+
+const testimonials: Testimonial[] = [
+  {
+    quote:
+      "GraphQL is evolving to new use cases every day and it's really a competitive advantage to experience them first hand with everyone that matters. I look forward the next edition!",
+    author: {
+      name: "Vincent Desmares",
+      role: "Teamstarter, CTO",
+      avatar:
+        "https://avatars.sched.co/d/cc/21066875/avatar.jpg.320x320px.jpg?f80",
+    },
+  },
+  {
+    quote:
+      "As a beginner in GraphQL, it was very helpful to see real use cases and honest accounts of the challenges along the way. I learned a lot about performance and security and had a great opportunity to network with other participants and potential vendors.",
+    author: {
+      name: "Nicolai Draslov",
+      role: "Danish Agency for Digital Government",
+      avatar:
+        "https://media.licdn.com/dms/image/v2/C4E03AQGlrdt3GpJI9w/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1528203207471?e=1753920000&v=beta&t=H6CMhDZFoXJxGUu4XYwC_rEX9Jjwh7OdPIDm8JaeXAU",
+    },
+  },
+  {
+    quote:
+      "GraphQLConf 24 was well organized event which empowers new and existing organizations to adopt GraphQL and help navigate how to rollout within their organizations by building understanding of ecosystem.",
+    author: {
+      name: "Satish Chitnis",
+      role: "Paramount, Principal Architect",
+      avatar:
+        "https://avatars.sched.co/1/c3/21496512/avatar.jpg.320x320px.jpg?0c2",
+    },
+  },
+]
+
+export function Testimonials({ className, ...rest }: TestimonialsProps) {
+  return (
+    <section
+      className={clsx(
+        "gql-conf-container py-8 max-md:px-4 md:pb-16 md:pt-24 md:[mask-image:linear-gradient(to_right,transparent,black_5%,black_95%,transparent)]",
+        className,
+      )}
+      {...rest}
+    >
+      <h2 className="typography-h2 text-center text-neu-800">
+        How was the previous edition?
+      </h2>
+      <div className="flex w-full snap-x snap-mandatory flex-row gap-10 overflow-x-auto px-4 py-6 lg:mt-16 lg:py-16">
+        {testimonials.map((testimonial, i) => (
+          <div
+            key={i}
+            className="flex shrink-0 snap-start flex-row-reverse items-center gap-6 max-md:flex-col md:px-10"
+          >
+            <div>
+              <p className="typography-body-lg max-w-[calc(100vw-32px)] !leading-[1.1] max-md:text-center md:max-w-[544px]">
+                {testimonial.quote}
+              </p>
+              <AuthorNameAndRole
+                author={testimonial.author}
+                className="mt-4 max-md:hidden"
+              />
+            </div>
+            <TestimonialAuthor author={testimonial.author} />
+          </div>
+        ))}
+      </div>
+    </section>
+  )
+}
+
+function TestimonialAuthor({ author }: { author: Testimonial["author"] }) {
+  return (
+    <div className="relative flex shrink-0 flex-col items-center justify-center whitespace-pre md:px-6 lg:h-full lg:px-8">
+      <div className="relative bg-neu-500 dark:bg-neu-200 dark:opacity-90">
+        <Image
+          src={author.avatar}
+          alt={author.name}
+          width={128}
+          height={128}
+          className="size-16 saturate-0 xl:size-32"
+        />
+        <div className="absolute inset-0 z-[1] bg-pri-darker mix-blend-plus-lighter" />
+        <Stripes />
+      </div>
+      <AuthorNameAndRole author={author} className="contents md:hidden" />
+      <div
+        // the separator
+        className="absolute inset-y-0 right-0 w-px bg-gradient-to-b from-transparent via-pri-lighter to-transparent max-md:hidden"
+      />
+    </div>
+  )
+}
+
+function AuthorNameAndRole({
+  author,
+  className,
+}: {
+  author: Testimonial["author"]
+  className?: string
+}) {
+  return (
+    <div className={className}>
+      <div className="typography-body-sm mt-3">{author.name}</div>
+      <div className="typography-body-xs text-neu-700">{author.role}</div>
+    </div>
+  )
+}
+
+function Stripes() {
+  const mask = `url(${maskBlur.src})`
+  return (
+    <div
+      role="presentation"
+      className="pointer-events-none absolute inset-0"
+      style={{
+        maskImage: mask,
+        WebkitMaskImage: mask,
+        maskSize: "cover",
+        WebkitMaskSize: "cover",
+        maskPosition: "left",
+        WebkitMaskPosition: "left",
+      }}
+    >
+      <StripesDecoration
+        evenClassName="bg-gradient-to-b from-pri-light/0 to-pri-lighter/25"
+        stripeWidth="8px"
+      />
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/testimonials/mask.webp b/src/app/conf/2025/components/testimonials/mask.webp
new file mode 100644
index 0000000000..31dba9802a
Binary files /dev/null and b/src/app/conf/2025/components/testimonials/mask.webp differ
diff --git a/src/app/conf/2025/components/top-minds/index.tsx b/src/app/conf/2025/components/top-minds/index.tsx
new file mode 100644
index 0000000000..b276d384cb
--- /dev/null
+++ b/src/app/conf/2025/components/top-minds/index.tsx
@@ -0,0 +1,199 @@
+import clsx from "clsx"
+import { HTMLAttributes } from "react"
+import Image from "next-image-export-optimizer"
+import type { StaticImageData } from "next/image"
+
+import { Button } from "@/app/conf/_design-system/button"
+import { GET_TICKETS_LINK } from "../../links"
+import { StripesDecoration } from "@/app/conf/_design-system/stripes-decoration"
+import {
+  SocialIconType,
+  SocialIcon,
+  urlForUser,
+} from "@/app/conf/_design-system/social-icon"
+
+const previousConfSpeakers = {
+  benjie: {
+    name: "Benjie Gillam",
+    title: "GraphQL TSC & Spec",
+    src: "https://avatars.sched.co/b/99/18743846/avatar.jpg.320x320px.jpg",
+    socials: {
+      twitter: "benjie",
+      linkedin: "benjiegillam",
+    },
+  },
+  kewei: {
+    name: "Kewei Qu",
+    title: "Meta, Senior Staff Engineer",
+    src: "https://avatars.sched.co/9/1a/18743864/avatar.jpg.320x320px.jpg",
+    socials: {
+      twitter: "kewei_qu",
+      linkedin: "keweiqu",
+    },
+  },
+  donna: {
+    name: "Donna Zhou",
+    title: "Atlassian, GraphQL Java",
+    src: "https://avatars.sched.co/0/1d/18743879/avatar.jpg.320x320px.jpg?e1f",
+    socials: {
+      linkedin: "donnazhou",
+    },
+  },
+  uri: {
+    name: "Uri Goldshtein",
+    title: "The Guild, Founder",
+    src: "https://avatars.sched.co/8/2b/14900013/avatar.jpg.320x320px.jpg?9f1",
+    socials: {
+      twitter: "UriGoldshtein",
+      linkedin: "urigo",
+    },
+  },
+  alessia: {
+    name: "Alessia Bellisario",
+    title: "Apollo, Staff Engineer",
+    src: "https://avatars.sched.co/a/c6/18743837/avatar.jpg.320x320px.jpg?847",
+    socials: {
+      twitter: "alessbell",
+      linkedin: "alessiabellisario",
+    },
+  },
+}
+
+interface TopMindsSectionProps extends HTMLAttributes<HTMLElement> {
+  hasSpeakersPage?: boolean
+}
+
+export default function TopMindsSection({
+  className,
+  hasSpeakersPage,
+  ...rest
+}: TopMindsSectionProps) {
+  return (
+    <section
+      className={clsx(
+        "gql-conf-section flex justify-center max-md:flex-col [@media(767px<width<807px)]:px-6 [@media(807px<=width<858px)]:px-12",
+        className,
+      )}
+      {...rest}
+    >
+      <div className="flex grid-cols-2 flex-wrap [@media(444px<width<743px)]:grid [@media(width<=444px)]:flex-col [@media(width<=743px)]:justify-center [@media(width>=970px)]:*:border-b-0">
+        <h3 className="typography-h2 mr-auto flex w-full grow text-pretty pb-6 pr-6 [@media(width>857px)]:basis-0">
+          Meet the top industry minds
+        </h3>
+        <TopMindCard
+          {...previousConfSpeakers.benjie}
+          stripes="linear-gradient(80deg, hsl(var(--color-pri-base)) 0%, hsl(var(--color-pri-base)) 5%, transparent 40%, transparent)"
+        />
+        <TopMindCard
+          {...previousConfSpeakers.kewei}
+          className="[@media(width<=742px)]:border-l"
+          stripes="radial-gradient(circle at bottom right, hsl(var(--color-pri-base)) 0%, hsl(var(--color-pri-base)) 10%, transparent 40%, transparent)"
+        />
+        <div className="flex grow border-sec-dark [@media(width<970px)]:contents [@media(width>=970px)]:border-t [@media(width>=970px)]:*:border-t-0">
+          <TopMindCard
+            {...previousConfSpeakers.donna}
+            className="[@media(744px<=width<=970px)]:first-of-type:border-l-0"
+            stripes="radial-gradient(ellipse at top left, hsl(var(--color-pri-base)) 0%, hsl(var(--color-pri-base)) 5%, transparent 40%, transparent, transparent 85%, black 100%)"
+          />
+          <TopMindCard
+            {...previousConfSpeakers.uri}
+            className="[@media(639px<=width<=970px)]:border-l"
+            stripes="linear-gradient(-40deg, hsl(var(--color-pri-base)) 0%, hsl(var(--color-pri-base)) 5%, transparent 40%, transparent)"
+          />
+          <TopMindCard
+            {...previousConfSpeakers.alessia}
+            className="[@media(width<744px)]:border-l"
+            stripes="radial-gradient(circle at top left, transparent 0%, transparent 65%, black 90%)"
+          />
+          <div className="mt-6 flex shrink-0 basis-[content] items-end justify-stretch max-lg:w-full [@media(640px<=width<=855px)]:basis-[236px] [@media(width<=444px)]:*:w-full [@media(width>742px)]:justify-end [@media(width>742px)]:pl-6 [@media(width>855px)]:grow">
+            {hasSpeakersPage ? (
+              <Button variant="secondary" href="/conf/2025/speakers/">
+                View all speakers
+              </Button>
+            ) : (
+              <Button variant="secondary" href={GET_TICKETS_LINK}>
+                Get tickets
+              </Button>
+            )}
+          </div>
+        </div>
+      </div>
+    </section>
+  )
+}
+
+export interface TopMindCardProps {
+  name: string
+  title: string
+  src: string | StaticImageData
+  className?: string
+  stripes?: string
+  socials: Partial<Record<SocialIconType, string>>
+}
+
+function TopMindCard({
+  name,
+  title,
+  src,
+  className,
+  stripes,
+  socials,
+}: TopMindCardProps) {
+  return (
+    <article
+      className={clsx(
+        "flex shrink-0 flex-col border-y border-r border-sec-dark first-of-type:border-l max-sm:border-l",
+        className,
+      )}
+    >
+      <div className="relative overflow-hidden">
+        <div className="absolute inset-0 z-[1] bg-sec-light opacity-90 mix-blend-multiply" />
+        <Image
+          src={src}
+          alt=""
+          width={312}
+          height={312}
+          className="aspect-square size-[312px] w-full object-cover saturate-[0.1] transition-transform sm:h-[236px]"
+        />
+        <Stripes mask={stripes} />
+      </div>
+      <div className="flex flex-1 items-stretch border-t border-sec-dark">
+        <div className="flex grow flex-col justify-center gap-1 p-3 sm:h-[80px]">
+          <h4 className="typography-body-md">{name}</h4>
+          <p className="typography-body-xs text-neu-700">{title}</p>
+        </div>
+        <div className="flex border-l border-sec-dark max-sm:divide-x sm:flex-col sm:items-center sm:divide-y sm:border-l">
+          {SocialIconType.all.map(type => {
+            if (!socials[type]) return null
+            return (
+              <a
+                key={type}
+                href={urlForUser(type, socials[type])}
+                target="_blank"
+                rel="noopener noreferrer"
+                className="flex grow items-center justify-center border-sec-dark p-4 transition-colors hover:bg-neu-900/10 hover:text-neu-700 sm:p-2"
+              >
+                <SocialIcon type={type} className="size-6" />
+              </a>
+            )
+          })}
+        </div>
+      </div>
+    </article>
+  )
+}
+
+function Stripes({ mask }: { mask?: string }) {
+  return (
+    <div
+      role="presentation"
+      className="pointer-events-none absolute inset-0 inset-y-[-20px]"
+      style={{
+        maskImage: mask,
+        WebkitMaskImage: mask,
+      }}
+    >
+      <StripesDecoration evenClassName="bg-gradient-to-b from-sec-darker to-sec-dark" />
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/components/venue/index.tsx b/src/app/conf/2025/components/venue/index.tsx
new file mode 100644
index 0000000000..a758109bdb
--- /dev/null
+++ b/src/app/conf/2025/components/venue/index.tsx
@@ -0,0 +1,153 @@
+import { clsx } from "clsx"
+
+import { Button } from "@/app/conf/_design-system/button"
+import { Accordion } from "@/app/conf/_design-system/accordion"
+
+import locationPhoto from "./location-photo.webp"
+
+export interface VenueProps extends React.HTMLAttributes<HTMLElement> {}
+
+export function Venue(props: VenueProps) {
+  return (
+    <section
+      {...props}
+      style={{
+        ...({ "--photo": `url(${locationPhoto.src})` } as {}),
+        ...props.style,
+        backgroundBlendMode: "overlay, normal",
+      }}
+      className={clsx(
+        "gql-conf-section relative bg-[linear-gradient(0deg,hsl(var(--color-sec-light))_0%,hsl(var(--color-sec-light))_100%),var(--photo)] dark:bg-[linear-gradient(180deg,#344303_0%,#344303_120%),var(--photo)] md:bg-cover",
+        props.className,
+      )}
+    >
+      <div className="relative flex gap-x-12 gap-y-10 bg-white/10 p-4 dark:bg-blk/10 max-lg:flex-col lg:p-16 xl:*:flex-1">
+        <div
+          className="absolute inset-0 backdrop-blur-3xl"
+          style={{
+            maskImage:
+              "radial-gradient(circle at center, #fff 65%, rgb(255 0 0/.8) 99%)",
+            WebkitMaskImage:
+              "radial-gradient(circle at center, #fff 65%, rgb(255 0 0/.8) 99%)",
+          }}
+        />
+        <article className="relative flex shrink-0 flex-col gap-6 max-xl:max-w-[476px]">
+          <h2 className="typography-h2">
+            A place of innovation &&nbsp;creation
+          </h2>
+          <p className="typography-body-lg">
+            A former warehouse, located in an industrial area near the Amsterdam
+            city centre, changed into a place of culture & business.
+          </p>
+          <div className="flex-1" />
+          <p className="typography-body-lg">
+            Pakhuis De Zwijger <br />
+            Piet Heinkade 179, 1019 HC <br />
+            Amsterdam, Netherlands
+          </p>
+          <Button href="https://maps.app.goo.gl/W7nX1NejhWw9PqxF7">
+            Google Maps
+          </Button>
+        </article>
+        <div className="relative flex-1">
+          <h3 className="typography-h3 mb-6">How to get to the venue?</h3>
+          <Accordion
+            className="[&_svg]:fill-neu-900"
+            items={[
+              {
+                title: "Public Transportation",
+                description: (
+                  <>
+                    Take tram 26 from Amsterdam Central Station to the
+                    "Kattenburgerstraat" stop.
+                    <br />
+                    The venue is in front of the tram stop.
+                  </>
+                ),
+              },
+              {
+                title: "Airport Information",
+                description:
+                  "Amsterdam Airport Schiphol is about 20 km from the venue. Take a direct train to Amsterdam Central Station, then follow the public transportation instructions.",
+              },
+              {
+                title: "Parking at venue",
+                description: (
+                  <>
+                    Limited parking is available at the venue. We recommend
+                    using public transportation when possible. Learn more about
+                    parking at{" "}
+                    <a
+                      className="typography-link"
+                      href="https://dezwijger.nl/about-us-en/contact"
+                      target="_blank"
+                      rel="noreferrer"
+                    >
+                      Pakhuis de Zwijger
+                    </a>
+                    . If&nbsp;you require an accessible parking spot, park at
+                    Vriesseveem 4 or Withoedenveem 16 where you can park if you
+                    have a Disability Parking Card.
+                  </>
+                ),
+              },
+            ]}
+          />
+          <h3 className="typography-h3 my-6">Where to stay?</h3>
+          <Accordion
+            className="[&_svg]:fill-neu-900"
+            items={[
+              {
+                title: "Mövenpick Hotel Amsterdam City Centre",
+                link: "https://movenpick.accor.com/en/europe/netherlands/amsterdam/hotel-amsterdam.html?utm_source=google&utm_medium=local&utm_campaign=hotel-MHR-Amsterdam-city-center&y_source=1_MTUzNjI2OTgtNzE1LWxvY2F0aW9uLndlYnNpdGU%3D",
+                description: (
+                  <>
+                    Piet Heinkade 11
+                    <br />
+                    1019 BR Amsterdam, Netherlands
+                    <br />
+                    Phone:{" "}
+                    <a className="typography-link" href="tel:+31 20 519 1200">
+                      +31 20 519 1200
+                    </a>
+                  </>
+                ),
+              },
+              {
+                title: "Inntel Hotels Amsterdam Landmark",
+                link: "https://www.inntelhotelsamsterdamlandmark.nl/",
+                description: (
+                  <>
+                    VOC-kade 600
+                    <br />
+                    1018 LG Amsterdam, Netherlands
+                    <br />
+                    Phone:{" "}
+                    <a className="typography-link" href="tel:+31 20 227 2550">
+                      +31 20 227 2550
+                    </a>
+                  </>
+                ),
+              },
+              {
+                title: "DoubleTree by Hilton Amsterdam Central Station",
+                link: "https://www.hilton.com/en/hotels/amscsdi-doubletree-amsterdam-centraal-station/?SEO_id=GMB-EMEA-DI-AMSCSDI",
+                description: (
+                  <>
+                    Oosterdoksstraat 4 <br />
+                    1011 DK Amsterdam, Netherlands
+                    <br />
+                    Phone:{" "}
+                    <a className="typography-link" href="tel:+31 20 530 0800">
+                      +31 20 530 0800
+                    </a>
+                  </>
+                ),
+              },
+            ]}
+          />
+        </div>
+      </div>
+    </section>
+  )
+}
diff --git a/src/app/conf/2025/components/venue/location-photo.webp b/src/app/conf/2025/components/venue/location-photo.webp
new file mode 100644
index 0000000000..5bb3e21f34
Binary files /dev/null and b/src/app/conf/2025/components/venue/location-photo.webp differ
diff --git a/src/app/conf/2025/components/what-to-expect.tsx b/src/app/conf/2025/components/what-to-expect.tsx
new file mode 100644
index 0000000000..0bfd71a116
--- /dev/null
+++ b/src/app/conf/2025/components/what-to-expect.tsx
@@ -0,0 +1,37 @@
+import clsx from "clsx"
+import { HTMLAttributes } from "react"
+
+import { schedule, speakers } from "../_data"
+
+interface WhatToExpectSectionProps extends HTMLAttributes<HTMLElement> {}
+
+export default function WhatToExpectSection({
+  className,
+  ...rest
+}: WhatToExpectSectionProps) {
+  return (
+    <section
+      className={clsx("gql-conf-section flex gap-6 max-md:flex-col", className)}
+      {...rest}
+    >
+      <h3 className="typography-h2 md:flex-1">What to expect</h3>
+      <ul className="flex flex-col gap-6 uppercase md:flex-1">
+        <ListItem number={schedule.length} text="sessions" />
+        <ListItem number={speakers.length} text="speakers" />
+        <ListItem number="9" text="lightning talks" />
+        <ListItem number="7" text="workshops" />
+      </ul>
+    </section>
+  )
+}
+
+function ListItem({ number, text }: { number: string | number; text: string }) {
+  return (
+    <li className="list-none bg-gradient-to-r from-[#CDF27E] p-6 dark:from-[#507501]">
+      <span className="inline-block w-[87px] text-[72px]/none [text-box:trim-both_cap_alphabetic]">
+        {number}
+      </span>{" "}
+      <span className="typography-menu ml-10 inline-block">{text}</span>
+    </li>
+  )
+}
diff --git a/src/app/conf/2025/faq.tsx b/src/app/conf/2025/faq.tsx
index 95bdc0c072..9696270e18 100644
--- a/src/app/conf/2025/faq.tsx
+++ b/src/app/conf/2025/faq.tsx
@@ -1,101 +1,242 @@
-import { ArrowRight } from "lucide-react"
+import clsx from "clsx"
 
-import styles from "./index.module.css"
+import ArrowDown from "@/app/conf/_design-system/pixelarticons/arrow-down.svg?svgr"
 
 const FAQS = [
   {
     question: "When will speakers and the agenda be announced?",
-    answer:
-      "Stay tuned to our social media channels and website for updates on speakers and the agenda.",
+    answer: (
+      <>
+        Stay tuned to our social media channels and website for updates on
+        speakers and the agenda.
+      </>
+    ),
   },
   {
     question: "Can I sponsor the event?",
-    answer:
-      'Yes! We offer various sponsorship packages. See <a href="#sponsors">this</a> section for more information.',
+    answer: (
+      <>
+        Yes! We offer various sponsorship packages. See the{" "}
+        <a className="typography-link" href="#sponsors">
+          Sponsors
+        </a>{" "}
+        section for more information.
+      </>
+    ),
   },
   {
     question: "Are there group discounts for teams?",
-    answer:
-      'If you have a group of 5 or more people, you can receive a 10% discount on all passes. All pass types must be the same, and all registrations must be processed under one group registration and must be paid with the same credit card. To create a group, select “Add Another Person” to your registration. When 5 or more people are added the 10% discount will be automatically applied. <a href="mailto:registration@linuxfoundation.org">registration@linuxfoundation.org</a> for any questions.',
+    answer: (
+      <>
+        If you have a group of 5 or more people, you can receive a 10% discount
+        on all passes. All pass types must be the same, and all registrations
+        must be processed under one group registration and must be paid with the
+        same credit card.
+        <br />
+        <br />
+        To create a group, select “Add Another Person” to your registration.
+        When 5 or more people are added the 10% discount will be automatically
+        applied.{" "}
+        <a
+          className="typography-link"
+          href="mailto:registration@linuxfoundation.org"
+        >
+          registration@linuxfoundation.org
+        </a>{" "}
+        for any questions.
+      </>
+    ),
   },
   {
     question: "What is the refund and cancellation policy?",
-    answer: `If you must cancel for any reason, please sign back into your registration, click the “Register/Modify” button and select “Unregister.” If you need further assistance, please contact <a href="mailto:registration@linuxfoundation.org">registration@linuxfoundation.org</a>.<br/><br/>Refunds will only be issued for cancellations received two weeks prior to the event start date, including bulk ticket request refunds, and will appear as a credit on the card's statement 7-10 business days after cancellation. Individual refund requests for late cancellations due to sickness or emergency will be considered on a case by case basis - <a href="mailto:registration@linuxfoundation.org">registration@linuxfoundation.org</a>.<br/><br/>Refunds can only be issued on the card the original payment was made.`,
+    answer: (
+      <>
+        If you must cancel for any reason, please sign back into your
+        registration, click the “Register/Modify” button and select
+        “Unregister.” If you need further assistance, please contact{" "}
+        <a
+          className="typography-link"
+          href="mailto:registration@linuxfoundation.org"
+        >
+          registration@linuxfoundation.org
+        </a>
+        .<br />
+        <br />
+        Refunds will only be issued for cancellations received two weeks prior
+        to the event start date, including bulk ticket request refunds, and will
+        appear as a credit on the card's statement 7-10 business days after
+        cancellation. Individual refund requests for late cancellations due to
+        sickness or emergency will be considered on a case by case basis -{" "}
+        <a
+          className="typography-link"
+          href="mailto:registration@linuxfoundation.org"
+        >
+          registration@linuxfoundation.org
+        </a>
+        .<br />
+        <br />
+        Refunds can only be issued on the card the original payment was made.
+      </>
+    ),
   },
   {
     question: "Can I transfer my registration?",
-    answer:
-      "If you are unable to attend, you may substitute another attendee in lieu of cancellation. To substitute an attendee, sign back into your registration, click the “Register/Modify”, and select “Transfer Registration” on your confirmation page.",
+    answer: (
+      <>
+        If you are unable to attend, you may substitute another attendee in lieu
+        of cancellation. To substitute an attendee, sign back into your
+        registration, click the “Register/Modify”, and select “Transfer
+        Registration” on your confirmation page.
+      </>
+    ),
   },
   {
     question: "Can I get certificate of attendance?",
-    answer: `You can download your Certificate of Attendance directly from your <a target="_blank" href="https://openprofile.dev/myevents">LFX dashboard</a> by navigating to the "Past Events" section in the LF Events column. Please Note: We verify attendance through the registration system, and certificates will only be available for download after the event is completed.`,
+    answer: (
+      <>
+        You can download your Certificate of Attendance directly from your{" "}
+        <a
+          className="typography-link"
+          target="_blank"
+          rel="noreferrer"
+          href="https://openprofile.dev/myevents"
+        >
+          LFX dashboard
+        </a>{" "}
+        by navigating to the "Past Events" section in the LF Events column.
+        <br />
+        <br />
+        Please Note: We verify attendance through the registration system, and
+        certificates will only be available for download after the event is
+        completed.
+      </>
+    ),
   },
   {
     question: "How do I request a visa letter?",
-    answer: `You must be registered for the event before requesting a visa letter. Please note: it can take up to an hour for our registration system and visa letter system to sync. <a target="_blank" href="https://events.linuxfoundation.org/about/visa-request/">Request a visa letter</a>.`,
+    answer: (
+      <>
+        You must be registered for the event before requesting a visa letter.
+        Please note: it can take up to an hour for our registration system and
+        visa letter system to sync.{" "}
+        <a
+          className="typography-link"
+          target="_blank"
+          href="https://events.linuxfoundation.org/about/visa-request/"
+          rel="noreferrer"
+        >
+          Request a visa letter
+        </a>
+        .
+      </>
+    ),
   },
   {
     question: "Where can I find health and safety information for the event?",
-    answer:
-      'Your well-being is our top priority. We continuously update our health and safety guidelines based on local regulations. Information about food allergies, medical resources, emergency contacts, and safety services can be found on  <a href="/conf/2025/resources#onsite-resources">this</a> page.',
+    answer: (
+      <>
+        Your well-being is our top priority. We continuously update our health
+        and safety guidelines based on local regulations. Information about food
+        allergies, medical resources, emergency contacts, and safety services
+        can be found on{" "}
+        <a
+          className="typography-link"
+          href="/conf/2025/resources#onsite-resources"
+        >
+          this
+        </a>{" "}
+        page.
+      </>
+    ),
   },
   {
     question: "What accessibility and onsite resources are available?",
-    answer:
-      'We are committed to providing a comfortable and accessible experience for all attendees. Onsite resources include a private nursing room, venue accessibility support, reserved seating, a quiet room, communication and pronoun stickers, all-gender restrooms, first aid assistance, and a process for handling harassment reports. For full details on these resources, please visit <a href="/conf/2025/resources#health--safety">this</a> page.',
+    answer: (
+      <>
+        We are committed to providing a comfortable and accessible experience
+        for all attendees. Onsite resources include a private nursing room,
+        venue accessibility support, reserved seating, a quiet room,
+        communication and pronoun stickers, all-gender restrooms, first aid
+        assistance, and a process for handling harassment reports. For full
+        details on these resources, please visit{" "}
+        <a
+          className="typography-link"
+          href="/conf/2025/resources#health--safety"
+        >
+          this
+        </a>{" "}
+        page.
+      </>
+    ),
   },
   {
     question: "Looking for more?",
-    answer: "Checkout our <a href='/conf/2025/resources'>Resources</a> page.",
+    answer: (
+      <>
+        Check out our{" "}
+        <a className="typography-link" href="/conf/2025/resources">
+          Resources
+        </a>{" "}
+        page.
+      </>
+    ),
   },
   {
     question: "Cannot find the answer to your question?",
-    answer:
-      'You are welcome to email us <a href="mailto:graphql_events@linuxfoundation.org ">graphql_events@linuxfoundation.org</a>.',
+    answer: (
+      <>
+        You are welcome to email us{" "}
+        <a
+          className="typography-link"
+          href="mailto:graphql_events@linuxfoundation.org "
+        >
+          graphql_events@linuxfoundation.org
+        </a>
+        .
+      </>
+    ),
   },
 ]
 
-export function FAQ() {
+export function FAQ({ className }: { className?: string }) {
   return (
-    <div id="faq" className={styles.faq}>
-      <div className="mx-auto grid max-w-7xl gap-12 md:grid-cols-2">
-        <div>
-          <h2 className="mb-4 select-none text-4xl font-bold md:text-5xl">
-            Frequently
-            <br />
-            Asked Questions
-          </h2>
-          <p className="select-none text-sm">
-            You can find much more information on our{" "}
-            <a
-              href="/conf/2025/resources"
-              className="select-text text-primary hover:underline"
-            >
-              Resources
-            </a>{" "}
-            page.
-          </p>
-        </div>
+    <section
+      id="faq"
+      className={clsx(
+        "gql-conf-section flex gap-10 max-lg:flex-col xl:gap-24 xl:py-16 2xl:gap-36",
+        className,
+      )}
+    >
+      <div>
+        <h2 className="typography-h2 lg:max-xl:max-w-lg">
+          Frequently Asked Questions
+        </h2>
+        <p className="typography-body-md mt-6">
+          You can find much more information on our{" "}
+          <a href="/conf/2025/resources" className="typography-link">
+            Resources
+          </a>{" "}
+          page.
+        </p>
+      </div>
 
-        <div>
-          {FAQS.map((faq, index) => (
-            <details
-              key={index}
-              className="group border-b border-dashed border-white/10"
-            >
-              <summary className="flex cursor-pointer list-none items-center justify-start gap-2 py-6 text-left focus:outline-none">
-                <ArrowRight className="size-5 shrink-0 transition-transform duration-200 group-open:rotate-90" />
-                <span className="select-none text-lg">{faq.question}</span>
-              </summary>
-              <p
-                className="-mt-4 ml-7 whitespace-pre-wrap pb-6 text-gray-300 [&>a]:underline"
-                dangerouslySetInnerHTML={{ __html: faq.answer }}
-              />
-            </details>
-          ))}
-        </div>
+      <div className="grow space-y-4 lg:space-y-6">
+        {FAQS.map((faq, index) => (
+          <details
+            open={index === 0}
+            key={index}
+            className="group/q w-full border border-neu-400 @container"
+          >
+            <summary className="flex cursor-pointer list-none items-center justify-between gap-2 border-neu-400 p-2 px-3 focus:outline-none group-open/q:border-b [&::-webkit-details-marker]:hidden">
+              <span className="typography-body-lg select-none">
+                {faq.question}
+              </span>
+              <ArrowDown className="size-10 shrink-0 text-sec-darker group-open/q:rotate-180" />
+            </summary>
+            <div className="typography-body-md p-3">{faq.answer}</div>
+          </details>
+        ))}
       </div>
-    </div>
+    </section>
   )
 }
diff --git a/src/app/conf/2025/index.module.css b/src/app/conf/2025/index.module.css
deleted file mode 100644
index b950c3d318..0000000000
--- a/src/app/conf/2025/index.module.css
+++ /dev/null
@@ -1,6 +0,0 @@
-.faq {
-  /* Safari specific style - we are using icon for consistency */
-  details summary::-webkit-details-marker {
-    display: none;
-  }
-}
diff --git a/src/app/conf/2025/layout.tsx b/src/app/conf/2025/layout.tsx
index 3c0f0b93ab..bc6b002f9e 100644
--- a/src/app/conf/2025/layout.tsx
+++ b/src/app/conf/2025/layout.tsx
@@ -1,15 +1,15 @@
 import { ReactElement, ReactNode } from "react"
 import { Metadata } from "next"
-import { Header } from "../_components/header"
-import { Footer } from "../_components/footer"
-import { GraphQLConf, HostedByGraphQLFoundation } from "@/icons"
-import NextLink from "next/link"
-import { Rubik } from "next/font/google"
 
-const rubik = Rubik({
-  weight: ["700", "600", "500", "400", "300"],
-  subsets: ["latin"],
-})
+import { NewFontsStyleTag } from "../../fonts"
+import "../../colors.css"
+
+import { Navbar } from "./components/navbar"
+import { Footer } from "./components/footer"
+
+// @ts-expect-error: we want to import the same version as Nextra for the main page
+import { ThemeProvider } from "next-themes"
+import { GraphQLConfLogoLink } from "./components/graphql-conf-logo-link"
 
 export const metadata = {
   description:
@@ -36,63 +36,39 @@ export default function Layout({
 }): ReactElement {
   return (
     <>
-      <Header
-        logo={
-          <NextLink
-            href="/conf/2025"
-            className="nextra-logo flex items-center gap-2 text-white"
-          >
-            <GraphQLConf className="h-6" />
-            <span className="select-none text-xl/none">2025</span>
-          </NextLink>
-        }
+      <NewFontsStyleTag />
+      <Navbar
+        year={2025}
         links={[
-          { children: "Sponsor", href: "/conf/2025/#sponsors" },
-          { children: "Speakers", href: "/conf/2025/#speakers" },
-          { children: "Register", href: "/conf/2025/#register" },
+          { children: "Schedule", href: "/conf/2025/schedule" },
+          { children: "Speakers", href: "/conf/2025/speakers" },
+          { children: "Sponsors", href: "/conf/2025/#sponsors" },
           { children: "Recap", href: "/conf/2024" },
           { children: "Resources", href: "/conf/2025/resources" },
           { children: "FAQ", href: "/conf/2025/#faq" },
         ]}
-        is2025
       />
-      <div
-        style={{
-          fontFamily: rubik.style.fontFamily,
-        }}
-      >
-        {children}
-      </div>
+      <ThemeProvider attribute="class">
+        <div className="bg-neu-0 text-neu-900 antialiased">{children}</div>
+      </ThemeProvider>
       <Footer
-        logo={
-          <NextLink href="/conf/2025" className="nextra-logo text-white">
-            <div className="flex items-center gap-2">
-              <GraphQLConf className="h-6" />
-              <span className="select-none text-xl/none">2025</span>
-            </div>
-            <HostedByGraphQLFoundation className="mt-2 h-5" />
-          </NextLink>
-        }
+        logo={<GraphQLConfLogoLink year={2025} />}
         links={[
+          { children: "Sponsor", href: "/conf/2025/#sponsors" },
+          { children: "Speakers", href: "/#speakers" },
+          { children: "GraphQLConf 2024", href: "/conf/2024" },
+          { children: "FAQ", href: "#faq" },
+          { children: "Contact Us", href: "/conf/2025/faq/#contact" },
+          { children: "GraphQL", href: "/" },
+          { children: "GraphQL Foundation", href: "/foundation" },
           [
-            { children: "Sponsor", href: "/conf/2025/#sponsors" },
-            { children: "Speakers", href: "/#speakers" },
-            { children: "GraphQLConf 2024", href: "/conf/2024" },
-          ],
-          [
-            { children: "FAQ", href: "#faq" },
-            { children: "Contact Us", href: "/conf/2025/faq/#contact" },
-          ],
-          [
-            { children: "GraphQL", href: "/" },
-            { children: "GraphQL Foundation", href: "/foundation" },
             {
               children: "Code of Conduct",
-              href: "/conf/2025/resources/#code-of-conduct",
+              href: "/conf/2025/code-of-conduct",
             },
             {
-              children: "Diversity & Inclusion",
-              href: "/conf/2025/resources/#diversity--inclusion",
+              children: "Inclusion & Accessibility",
+              href: "/conf/2025/resources/#inclusion--accessibility",
             },
           ],
         ]}
diff --git a/src/app/conf/2025/links.ts b/src/app/conf/2025/links.ts
new file mode 100644
index 0000000000..9a46630370
--- /dev/null
+++ b/src/app/conf/2025/links.ts
@@ -0,0 +1,5 @@
+export const GET_TICKETS_LINK =
+  "https://cvent.me/PBNYEe?utm_source=graphql_conf_2025&utm_medium=website&utm_campaign=register_section"
+
+export const BECOME_A_SPEAKER_LINK =
+  "https://sessionize.com/graphqlconf-2025?utm_medium=website&utm_campaign=speaker_section"
diff --git a/src/app/conf/2025/opengraph-image.tsx b/src/app/conf/2025/opengraph-image.tsx
new file mode 100644
index 0000000000..6243f3534d
--- /dev/null
+++ b/src/app/conf/2025/opengraph-image.tsx
@@ -0,0 +1,10 @@
+import { SimpleOpengraphImage } from "./components/og-images/simple-opengraph-image"
+export {
+  generateStaticParams,
+  contentType,
+  size,
+} from "./components/og-images/simple-opengraph-image"
+
+export default SimpleOpengraphImage.bind(null, {
+  pageTitle: "GraphQLConf 2025",
+})
diff --git a/src/app/conf/2025/page.tsx b/src/app/conf/2025/page.tsx
index 0e173e6eea..106881110a 100644
--- a/src/app/conf/2025/page.tsx
+++ b/src/app/conf/2025/page.tsx
@@ -1,76 +1,102 @@
 import { Metadata } from "next"
-import { HostedByGraphQLFoundation } from "@/icons"
-import { GridButton } from "../_components/grid-button"
-import { Sponsor } from "./sponsorship"
-import { Venue } from "./venue"
+import { BecomeASponsor } from "./components/become-a-sponsor"
+import { Venue } from "./components/venue"
 import { FAQ } from "./faq"
-import { Register } from "./register"
-import { PastSponsors } from "./past-sponsors"
+import { CallForProposals } from "./components/call-for-proposals"
+import { RegisterToday } from "./components/register-today"
+import { Hero, HeroDateAndLocation } from "./components/hero"
+import WhatToExpectSection from "./components/what-to-expect"
+import TopMindsSection from "./components/top-minds"
+import { GetYourTicket } from "./components/get-your-ticket"
+import { RegisterSection } from "./components/register-section"
+import { Sponsors } from "./components/sponsors"
+import { GraphQLFoundationCard } from "./components/graphql-foundation-card"
+import { MarqueeRows } from "./components/marquee-rows"
+import { CtaCardSection } from "./components/cta-card-section"
+import { Button } from "../_design-system/button"
+import { GET_TICKETS_LINK } from "./links"
+import { GalleryStrip } from "./components/gallery-strip"
+import { Testimonials } from "./components/testimonials"
+import { HeroImage } from "./components/hero/hero-image"
+import { HERO_MARQUEE_ITEMS } from "./utils"
 
 export const metadata: Metadata = {
   title: "GraphQLConf 2025 — Sept 08-10",
 }
 
-function Hero() {
-  return (
-    <section className="conf-hero-2025 relative">
-      <div className="flex h-full flex-col justify-center py-16 md:py-28">
-        <div className="flex flex-col items-center justify-center">
-          <h1 className="text-center text-5xl font-bold md:text-7xl">
-            GraphQLConf <span className="font-light">2025</span>
-          </h1>
-          <HostedByGraphQLFoundation className="mb-6 h-8 w-full shrink-0 self-start lg:h-10" />
-          <div className="flex flex-col justify-center text-xl font-medium md:flex-row md:gap-2">
-            <div className="flex items-center gap-1">
-              <time dateTime="2025-09-08">September 08</time>
-              <span>-</span>
-              <time dateTime="2025-09-10">10, 2025</time>
-            </div>
-            <span className="hidden md:block">|</span>
-            <address className="not-italic">Amsterdam, Netherlands</address>
-          </div>
-        </div>
-      </div>
-      <div
-        className="absolute bottom-0 left-1/2 h-px w-[90%] -translate-x-1/2 bg-white/10"
-        aria-hidden="true"
-      />
-    </section>
-  )
-}
-
-function Intro() {
-  return (
-    <section className="flex flex-col gap-20 md:gap-32">
-      <h2 className="text-3xl font-normal lg:text-5xl">
-        Celebrating 10 Years of GraphQL. Three transformative days of expert
-        insights and innovation to shape the next decade of APIs together!
-      </h2>
-
-      <GridButton
-        title="Get Tickets"
-        href="https://cvent.me/PBNYEe?utm_source=graphql_conf_2025&utm_medium=website&utm_campaign=cta"
-      />
-    </section>
-  )
-}
-
 export default function Page() {
   return (
-    <main className="text-white">
-      <Hero />
-      <div className="container my-20 flex flex-col gap-20 md:my-32 md:gap-32">
-        <Intro />
-        <PastSponsors />
-        <Sponsor />
-        <GridButton
-          id="speakers"
-          title="Notify Me About Speaking"
-          href="https://forms.gle/jRsE2u8pokLX93RGA"
+    <main className="gql-all-anchors-focusable">
+      <Hero year="2025" bottom={<HeroImage />}>
+        <HeroDateAndLocation />
+        <Button className="md:w-fit" href={GET_TICKETS_LINK}>
+          Get your tickets
+        </Button>
+      </Hero>
+      <div className="gql-conf-container gql-conf-navbar-strip text-neu-900 before:bg-white/40 before:dark:bg-blk/30">
+        <MarqueeRows
+          variant="primary"
+          className="pt-4 max-sm:pb-1 sm:pt-6 md:space-y-2 md:pt-12 xl:pt-16"
+          items={HERO_MARQUEE_ITEMS}
         />
-        <Register />
-        <Venue />
-        <FAQ />
+        <RegisterToday className="md:mb-8 md:mt-16" />
+        <WhatToExpectSection className="md:mb-8 md:mt-24" />
+        <TopMindsSection className="md:mb-8 md:mt-24" hasSpeakersPage={false} />
+      </div>
+      <div className="gql-conf-navbar-strip before:bg-white/40 before:dark:bg-pri-dark/[0.45]">
+        <GetYourTicket />
+      </div>
+      <div className="gql-conf-navbar-strip text-neu-900 before:bg-white/50 before:dark:bg-blk/30">
+        <div className="gql-conf-container">
+          <RegisterSection />
+          <Sponsors heading="Sponsors" />
+        </div>
+        <BecomeASponsor />
+        <div className="gql-conf-container">
+          <CallForProposals />
+          <MarqueeRows
+            variant="secondary"
+            items={[
+              [
+                "AMSTERDAM",
+                "SEPTEMBER 2025",
+                "THREE DAYS",
+                "PAKHUIS DE ZWIJGER",
+              ],
+              [
+                "THREE DAYS",
+                "PAKHUIS DE ZWIJGER",
+                "NETHERLANDS",
+                "PIET HEINKADE 179",
+              ],
+              [
+                "NETHERLANDS",
+                "10 YEARS OF GRAPHQL",
+                "8-10 SEPTEMBER",
+                "AMSTERDAM",
+              ],
+            ]}
+            className="my-8 xl:mb-16 xl:mt-10 2xl:mb-24"
+          />
+          <Venue />
+          <GalleryStrip />
+          <Testimonials />
+          <GraphQLFoundationCard />
+          <FAQ />
+          <CtaCardSection
+            title="Get your ticket"
+            description="Join three transformative days of expert insights and innovation to shape the next decade of APIs!"
+          >
+            <Button variant="primary" href={GET_TICKETS_LINK}>
+              Get tickets
+            </Button>
+          </CtaCardSection>
+          <MarqueeRows
+            variant="secondary"
+            items={HERO_MARQUEE_ITEMS}
+            className="my-8 xl:my-16"
+          />
+        </div>
       </div>
     </main>
   )
diff --git a/src/app/conf/2025/past-sponsors.tsx b/src/app/conf/2025/past-sponsors.tsx
deleted file mode 100644
index 9e3d25dcc0..0000000000
--- a/src/app/conf/2025/past-sponsors.tsx
+++ /dev/null
@@ -1,122 +0,0 @@
-import Stellate from "public/img/conf/Sponsors/Stellate.svg"
-import Hasura from "public/img/conf/Sponsors/Hasura.svg"
-import TheGuild from "public/img/conf/Sponsors/TheGuild.svg"
-import Apollo from "public/img/conf/Sponsors/Apollo.svg"
-import Tyk from "public/img/conf/Sponsors/Tyk.svg"
-import IBM from "public/img/conf/Sponsors/IBM.svg"
-import Graphweaver from "public/img/conf/Sponsors/Graphweaver.svg"
-
-import { clsx } from "clsx"
-import NextImage from "next-image-export-optimizer"
-
-type LogosType = {
-  icon: string
-  name: string
-  link: string
-}
-
-const SPONSORS: Array<{
-  title: string
-  logos: Array<LogosType>
-}> = [
-  {
-    title: "Diamond",
-    logos: [
-      { icon: TheGuild, name: "The Guild", link: "https://the-guild.dev" },
-      {
-        icon: IBM,
-        name: "IBM",
-        link: "https://www.ibm.com/products/api-connect",
-      },
-    ],
-  },
-  {
-    title: "Gold",
-    logos: [
-      { icon: Apollo, name: "Apollo", link: "https://www.apollographql.com/" },
-      {
-        icon: Graphweaver,
-        name: "Graphweaver",
-        link: "https://graphweaver.com",
-      },
-      { icon: Hasura, name: "Hasura", link: "https://hasura.io" },
-    ],
-  },
-  {
-    title: "Silver",
-    logos: [
-      { icon: Stellate, name: "Stellate", link: "https://stellate.co" },
-      { icon: Tyk, name: "Tyk", link: "https://tyk.io/" },
-    ],
-  },
-]
-
-function List({
-  items,
-  className,
-  linkClassName,
-}: {
-  className?: string
-  items: Array<LogosType>
-  linkClassName?: string
-}) {
-  return (
-    <div
-      className={clsx(
-        "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3",
-        className,
-      )}
-    >
-      {items.map(({ link, icon, name }, i) => (
-        <a
-          key={i}
-          className={clsx(
-            "relative shrink-0",
-            "flex justify-center",
-            "items-center", // fix vertical align in Safari/iOS
-            "border border-solid border-transparent hover:border-primary focus:border-primary",
-            "transition-colors",
-            "group",
-            "shadow-md outline-none focus:shadow-primary/20 group-hover:shadow-primary/20",
-            linkClassName,
-          )}
-          href={link}
-          target="_blank"
-          rel="noreferrer"
-          title={name}
-        >
-          <NextImage
-            alt={`${name} logo`}
-            src={icon}
-            className="max-h-full lg:w-auto lg:max-w-60"
-          />
-          <span className="absolute right-5 top-5 hidden font-sans leading-none group-hover:block lg:text-2xl">
-            ↗
-          </span>
-        </a>
-      ))}
-    </div>
-  )
-}
-
-export function PastSponsors() {
-  return (
-    <section>
-      <h1 className="conf-heading mb-12">Thanks to our 2024 sponsors!</h1>
-      {SPONSORS.map(({ title, logos }, i) => (
-        <>
-          <div className="mb-2 flex items-center gap-2 border-b-2 border-dotted border-white/40 pb-1.5">
-            {/* Square box */}
-            <div className="size-2.5 bg-primary" />
-            <h3 className="font-medium uppercase">{title}</h3>
-          </div>
-          <List
-            items={logos}
-            className="flex"
-            linkClassName="p-8 lg:p-16 h-28 lg:h-[220px]"
-          />
-        </>
-      ))}
-    </section>
-  )
-}
diff --git a/src/app/conf/2025/register.tsx b/src/app/conf/2025/register.tsx
deleted file mode 100644
index 0e54fd7e37..0000000000
--- a/src/app/conf/2025/register.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-import { InfoGrid } from "../_components/info-grid"
-
-export function Register() {
-  return (
-    <section>
-      <InfoGrid
-        id="register"
-        title="Register"
-        subtitle="Join a diverse community of GraphQL developers, architects, and enthusiasts while experiencing premium content and networking opportunities in a vendor-neutral environment. We never sell attendee lists or contact information, nor do we authorize others to do so. If you receive an email claiming to sell an attendee list for a Linux Foundation event, please forward it to events@linuxfoundation.org."
-        listItems={[
-          {
-            title: "Academics",
-            description: `Academics registrations are for current full-time students and faculty members. Full-time faculty and students will need to upload a valid copy of their Faculty or Student ID when registering. If you have any questions, please email <a href="mailto:graphql_events@linuxfoundation.org">graphql_events@linuxfoundation.org</a>`,
-          },
-          {
-            title: "Speakers",
-            description: `You should have received a registration link in your acceptance email. If you did not, please contact <a href="mailto:cfp@linuxfoundation.org">cfp@linuxfoundation.org</a> for more details.`,
-          },
-          {
-            title: "Sponsors",
-            description: `A registration link was shared in an email to your company's sponsorship contact. Please reach out to your company’s sponsorship contact if you need to register as a Sponsor. For further questions, please email <a href="mailto:graphql_events@linuxfoundation.org">graphql_events@linuxfoundation.org</a>.`,
-          },
-          {
-            title: "Media",
-            description: `If you are a member of the media interested in attending this event and have not received a complimentary access code to attend, contact us at <a href="mailto:graphql_events@linuxfoundation.org">graphql_events@linuxfoundation.org</a>.`,
-          },
-        ]}
-      />
-
-      <div className="mt-10">
-        <h2 className="mb-4 text-5xl font-bold text-white">Rates</h2>
-        <p>The registraion deadlines is 23:59 on the respective date.</p>
-        <div className="mt-8 grid gap-6 md:grid-cols-3 md:gap-2">
-          {[
-            { title: "Early Bird", dates: "Through 13 July", price: "$599" },
-            { title: "Standard", dates: "14 July - 31 August", price: "$799" },
-            {
-              title: "Late",
-              dates: "1 September - 10 September",
-              price: "$899",
-            },
-          ].map((item, index) => (
-            <div
-              key={item.title}
-              className="w-full flex-shrink-0 snap-start items-center justify-center border border-primary p-6 text-center text-white shadow-lg lg:w-full lg:max-w-sm"
-            >
-              <h3 className="mb-2 text-2xl font-bold">{item.title}</h3>
-              <time>{item.dates}</time>
-              <p className="mt-2 text-3xl font-bold">{item.price}</p>
-            </div>
-          ))}
-        </div>
-      </div>
-
-      <div className="mt-8 flex justify-center">
-        <a
-          href="https://cvent.me/PBNYEe?utm_source=graphql_conf_2025&utm_medium=website&utm_campaign=register_section"
-          target="_blank"
-          rel="noreferrer"
-          className="bg-primary/85 px-20 py-4 text-center text-3xl font-semibold transition-colors hover:bg-primary/100 md:px-28"
-        >
-          Get Tickets
-        </a>
-      </div>
-    </section>
-  )
-}
diff --git a/src/app/conf/2025/resources/client-mdx.tsx b/src/app/conf/2025/resources/client-mdx.tsx
index 1a7ec8124c..af3e2764c1 100644
--- a/src/app/conf/2025/resources/client-mdx.tsx
+++ b/src/app/conf/2025/resources/client-mdx.tsx
@@ -6,15 +6,24 @@ export default function ResourcesPage() {
   return (
     <Resources
       components={{
-        // @ts-expect-error - not sure how to type this
-        a: props => {
-          const isExternal = props.href.startsWith("http")
+        a: (props: React.AnchorHTMLAttributes<HTMLAnchorElement>) => {
+          const isExternal = props.href?.startsWith("http")
           if (isExternal) {
             return <a {...props} target="_blank" rel="noopener noreferrer" />
           }
 
           return <a {...props} />
         },
+        h3: (props: React.HTMLAttributes<HTMLHeadingElement>) => {
+          return (
+            <h3
+              className="typography-menu border-t border-neu-100 pt-2 text-pri-base dark:border-neu-50 dark:text-pri-light"
+              {...props}
+            >
+              {props.children}
+            </h3>
+          )
+        },
       }}
     />
   )
diff --git a/src/app/conf/2025/resources/opengraph-image.tsx b/src/app/conf/2025/resources/opengraph-image.tsx
new file mode 100644
index 0000000000..6adec040fa
--- /dev/null
+++ b/src/app/conf/2025/resources/opengraph-image.tsx
@@ -0,0 +1,10 @@
+import { SimpleOpengraphImage } from "../components/og-images/simple-opengraph-image"
+export {
+  generateStaticParams,
+  contentType,
+  size,
+} from "../components/og-images/simple-opengraph-image"
+
+export default SimpleOpengraphImage.bind(null, {
+  pageTitle: "Resources",
+})
diff --git a/src/app/conf/2025/resources/page.tsx b/src/app/conf/2025/resources/page.tsx
index 28aac8a38f..9790a6e736 100644
--- a/src/app/conf/2025/resources/page.tsx
+++ b/src/app/conf/2025/resources/page.tsx
@@ -1,25 +1,45 @@
-import Resources from "./client-mdx"
-
-import { clsx } from "clsx"
 import { Metadata } from "next"
 
+import { Button } from "@/app/conf/_design-system/button"
+
+import { NavbarPlaceholder } from "../components/navbar"
+import { Hero, HeroStripes } from "../components/hero"
+
+import Resources from "./client-mdx"
+import "./prose.css"
+
 export const metadata: Metadata = {
   title: "Resources | 2025",
 }
 
 export default function ResourcesPage() {
   return (
-    <main>
-      <div
-        className={clsx(
-          "container my-10 flex flex-col md:my-20",
-          "prose max-w-screen-xl",
-          "text-white prose-headings:text-white prose-a:text-white prose-strong:text-white",
-          "prose-a:w-fit prose-a:transition-colors hover:prose-a:text-primary",
-        )}
+    <>
+      <NavbarPlaceholder className="top-0 bg-neu-100 before:bg-white/30 dark:bg-[#181A12] dark:before:bg-blk/40" />
+      <Hero
+        pageName="Resources"
+        year="2025"
+        colorScheme="neutral"
+        stripes={
+          <HeroStripes
+            className="-scale-x-100 dark:data-[loaded=true]:opacity-80"
+            evenClassName="bg-[linear-gradient(180deg,hsl(var(--color-sec-light))_0%,hsl(319deg_100%_90%_/_0.2)_100%)] dark:bg-[linear-gradient(180deg,hsl(var(--color-sec-dark))_0%,hsl(var(--color-neu-100))_100%)]"
+            oddClassName="bg-[linear-gradient(180deg,hsl(319deg_100%_90%_/_0.2)_0%,hsl(var(--color-sec-base))_100%)] dark:bg-[linear-gradient(180deg,hsl(var(--color-sec-dark))_0%,hsl(var(--color-neu-0))_100%)]"
+          />
+        }
       >
-        <Resources />
-      </div>
-    </main>
+        <Button
+          href="mailto:graphql_events@linuxfoundation.org"
+          className="w-fit"
+        >
+          Talk to us
+        </Button>
+      </Hero>
+      <main className="gql-all-anchors-focusable gql-conf-navbar-strip text-neu-900 before:bg-white/40 before:dark:bg-blk/30">
+        <div className="gql-conf-container gql-conf-section gql-prose xl:mb-16 xl:mt-8">
+          <Resources />
+        </div>
+      </main>
+    </>
   )
 }
diff --git a/src/app/conf/2025/resources/prose.css b/src/app/conf/2025/resources/prose.css
new file mode 100644
index 0000000000..3927294808
--- /dev/null
+++ b/src/app/conf/2025/resources/prose.css
@@ -0,0 +1,52 @@
+.gql-prose {
+  --prose-width: 640px;
+  --grid-col-aside: 1;
+  --grid-col-content: 1;
+
+  @apply xl:[--grid-col-content:3];
+  @apply typography-body-md grid grid-cols-1 gap-6 xl:grid-cols-[auto_1fr_var(--prose-width)_1fr];
+
+  & > * {
+    grid-column: var(--grid-col-content);
+  }
+}
+
+.gql-prose,
+.gql-prose-inner {
+  & h1 {
+    @apply typography-h2 lg:col-span-full xl:pb-16;
+  }
+  & h2 {
+    @apply typography-h3;
+  }
+  & a:not(.raw) {
+    @apply typography-link;
+  }
+
+  & > p,
+  & > ul,
+  & > ol {
+    @apply max-w-[var(--prose-width)] text-neu-800;
+  }
+
+  & > p {
+    @apply text-pretty;
+  }
+
+  & > ul {
+    @apply list-disc pl-4;
+  }
+
+  & > ol {
+    @apply list-decimal pl-4;
+  }
+}
+
+.gql-prose-inner {
+  @apply grid grid-cols-1 gap-6;
+}
+
+.gql-sticky-aside {
+  grid-column: var(--grid-col-aside);
+  @apply xl:sticky xl:top-[calc(var(--navbar-h)+1rem)];
+}
diff --git a/src/app/conf/2025/resources/resources.mdx b/src/app/conf/2025/resources/resources.mdx
index e9bab5e623..3ca0d8155b 100644
--- a/src/app/conf/2025/resources/resources.mdx
+++ b/src/app/conf/2025/resources/resources.mdx
@@ -1,6 +1,8 @@
-# GraphQLConf 2025 Resource Hub 
-
-<div className="mt-6 grid grid-cols-2 gap-x-4">{toc.map(({value, id}) => <a key={id} href={`#${id}`}>{value}</a>)}</div>
+<aside className='gql-sticky-aside w-fit row-span-8 -mt-1 sm:max-xl:grid-cols-2 sm:max-xl:grid sm:max-xl:bg-neu-100 dark:sm:max-xl:bg-neu-50/50 sm:max-xl:p-4'>
+  {toc.map(({value, id, depth}) => <a key={id} data-depth={depth} className='block raw hover:bg-neu-100 dark:hover:bg-neu-50 py-2 p-4 max-xl:-ml-4 hover:text-neu-900 text-neu-800 typography-menu xl:data-[depth=2]:text-lg data-[depth=2]:font-semibold' style={{
+    paddingLeft: (depth - 2) * 16 + 16,
+  }} href={`#${id}`}>{value}</a>)}
+</aside>
 
 ## Code of Conduct
 
@@ -8,13 +10,13 @@ The GraphQL Foundation and the Linux Foundation are dedicated to providing a har
 
 This Code of Conduct may be revised at any time by The GraphQL Foundation or The Linux Foundation and the terms are non-negotiable. Your registration for or attendance at GraphQL, whether in person or virtually, indicates your agreement to abide by this policy and its terms.
 
-Please read the full [Code of Conduct](https://events.linuxfoundation.org/about/code-of-conduct/) for the complete policy and terms.
+Please read the full [Code of Conduct](/conf/2025/code-of-conduct) for the complete policy and terms.
 
-## Diversity & Inclusion 
+## Inclusion & Accessibility
 
-Education and collaboration are vital to the future of the open source ecosystem, and it is imperative to us that everyone in the community that wants to participate feels welcome to do so regardless of gender, gender identity, sexual orientation, disability, race, ethnicity, age, religion or economic status. Our [code of conduct](#code-of-conduct) outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.
+Education and collaboration are vital to the future of the open source ecosystem, and it is imperative to us that everyone in the community that wants to participate feels welcome to do so regardless of gender, gender identity, sexual orientation, disability, race, ethnicity, age, religion or economic status. Our [code of conduct](/conf/2025/code-of-conduct) outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.
 
-We offer diversity and have considered a broad range of both onsite resources and emergency resources as well as a health & safety policy.
+We have a broad range of both onsite resources and emergency resources, as well as a health & safety policy.
 
 If you have ideas on how we can create a more inclusive event, please do not hesitate to let us know. Contact Emily Ruf, Event Director, at [eruf@linuxfoundation.org](mailto:eruf@linuxfoundation.org).
 
diff --git a/src/app/conf/2025/schedule/[id]/format-description.tsx b/src/app/conf/2025/schedule/[id]/format-description.tsx
new file mode 100644
index 0000000000..a7bea3d5c2
--- /dev/null
+++ b/src/app/conf/2025/schedule/[id]/format-description.tsx
@@ -0,0 +1,35 @@
+import React from "react"
+
+const URL_REGEX = /https?:\/\/[^\s]+/g
+
+export function formatDescription(text: string): React.ReactNode {
+  const res: React.ReactNode[] = []
+
+  let lastIndex = 0
+  let match: RegExpExecArray | null
+
+  while ((match = URL_REGEX.exec(text)) !== null) {
+    if (match.index > lastIndex) {
+      res.push(text.slice(lastIndex, match.index))
+    }
+
+    res.push(
+      <a
+        href={match[0]}
+        target="_blank"
+        rel="noopener noreferrer"
+        className="typography-link"
+      >
+        {match[0].replace(/^https?:\/\//, "")}
+      </a>,
+    )
+
+    lastIndex = match.index + match[0].length
+  }
+
+  if (lastIndex < text.length) {
+    res.push(text.slice(lastIndex))
+  }
+
+  return <>{res}</>
+}
diff --git a/src/app/conf/2025/schedule/[id]/opengraph-image.tsx b/src/app/conf/2025/schedule/[id]/opengraph-image.tsx
new file mode 100644
index 0000000000..9b16215fd3
--- /dev/null
+++ b/src/app/conf/2025/schedule/[id]/opengraph-image.tsx
@@ -0,0 +1,46 @@
+import { ImageResponse } from "next/og"
+
+import { loadFontsForOG } from "@/app/fonts/og/load-fonts-for-og"
+
+import { schedule } from "../../_data"
+import { SessionOpengraphImage } from "../../components/og-images/session-opengraph-image"
+
+export const contentType = "image/png"
+export const size = {
+  width: 1200,
+  height: 630,
+}
+
+export function generateStaticParams() {
+  return schedule.filter(s => s.id).map(s => ({ id: s.id }))
+}
+
+export default async function SessionOGImage({
+  params,
+}: {
+  params: { id: string }
+}) {
+  const decodedId = decodeURIComponent(params.id)
+  const session = schedule.find(s => s.id === decodedId)
+
+  if (!session) {
+    throw new Error(`Speaker not found: ${decodedId}`)
+  }
+
+  const fonts = loadFontsForOG()
+
+  return new ImageResponse(
+    (
+      <SessionOpengraphImage
+        session={session}
+        date="September 8-10"
+        year="2025"
+        location="Amsterdam, Netherlands"
+      />
+    ),
+    {
+      ...size,
+      fonts: await fonts,
+    },
+  )
+}
diff --git a/src/app/conf/2025/schedule/[id]/page.tsx b/src/app/conf/2025/schedule/[id]/page.tsx
new file mode 100644
index 0000000000..c64649d3c6
--- /dev/null
+++ b/src/app/conf/2025/schedule/[id]/page.tsx
@@ -0,0 +1,263 @@
+import React from "react"
+import { notFound } from "next/navigation"
+import { Metadata } from "next"
+import clsx from "clsx"
+
+import { metadata as layoutMetadata } from "@/app/conf/2023/layout"
+
+import { speakers, schedule } from "../../_data"
+import { ScheduleSession } from "../../../2023/types"
+
+import { findVideo, SessionVideo } from "./session-video"
+import { NavbarPlaceholder } from "../../components/navbar"
+import { BackLink } from "../_components/back-link"
+import { getEventTitle, HERO_MARQUEE_ITEMS } from "../../utils"
+import { PinIcon } from "@/app/conf/_design-system/pixelarticons/pin-icon"
+import { CalendarIcon } from "@/app/conf/_design-system/pixelarticons/calendar-icon"
+import { SpeakerCard } from "../../components/speaker-card"
+import { Anchor } from "@/app/conf/_design-system/anchor"
+import { MarqueeRows } from "../../components/marquee-rows"
+import { GET_TICKETS_LINK } from "../../links"
+import { CtaCardSection } from "../../components/cta-card-section"
+import { Button } from "@/app/conf/_design-system/button"
+import { SessionTags } from "../../components/session-tags"
+import { formatDescription } from "./format-description"
+import { formatBlockTime } from "../_components/format-block-time"
+
+type SessionProps = { params: { id: string } }
+
+export function generateMetadata({ params }: SessionProps): Metadata {
+  const event = schedule.find(s => s.id === params.id)
+
+  if (!event) {
+    throw new Error(`Session "${params.id}" not found`)
+  }
+
+  const keywords = [
+    event.event_type,
+    event.audience,
+    event.event_subtype,
+    ...(event.speakers || []).map(s => s.name),
+  ].filter(Boolean)
+
+  return {
+    title: event.name,
+    description: event.description,
+    keywords: [...layoutMetadata.keywords, ...keywords],
+  }
+}
+
+export function generateStaticParams() {
+  return schedule.filter(s => s.id).map(s => ({ id: s.id }))
+}
+
+export default function SessionPage({ params }: SessionProps) {
+  const session = schedule.find(s => s.id === params.id)
+  if (!session) {
+    notFound()
+  }
+
+  session.speakers = (session.speakers || []).map(speaker => {
+    const s = speakers.find(s => s.username === speaker.username)
+    if (!s) {
+      throw new Error(
+        `Speaker "${speaker.username}" not found for "${session.name}"`,
+      )
+    }
+    return s
+  })
+
+  const eventTitle = getEventTitle(
+    session,
+    session.speakers!.map(s => s.name),
+  )
+
+  const video = findVideo(session, eventTitle)
+
+  return (
+    <>
+      <NavbarPlaceholder className="top-0 bg-neu-50 before:bg-neu-50/40 dark:bg-neu-0 dark:before:bg-blk/30" />
+      <main className="gql-all-anchors-focusable gql-conf-navbar-strip text-neu-900 before:bg-neu-50/40 before:dark:bg-blk/30">
+        <div className="bg-neu-50 dark:bg-neu-0">
+          <div className="gql-conf-container">
+            <div className="gql-conf-section !py-0 max-xs:px-0">
+              <div className="border-neu-200 pt-8 dark:border-neu-100 xs:border-x 2xl:pt-16">
+                <SessionHeader
+                  event={session}
+                  eventTitle={eventTitle}
+                  year="2025"
+                  className={clsx(
+                    "px-2 sm:px-3",
+                    video && "mx-auto max-w-[1088px]",
+                  )}
+                />
+                {video ? (
+                  <SessionVideo video={video} className="mt-6" />
+                ) : (
+                  <Hr className="mt-10 2xl:mt-16" />
+                )}
+
+                {session.description && (
+                  <>
+                    <SessionDescription session={session} />
+                    <Hr />
+                  </>
+                )}
+
+                <h3 className="typography-h2 my-8 max-w-[408px] px-2 sm:px-3 lg:my-16">
+                  Session speakers
+                </h3>
+                <SessionSpeakers
+                  session={session}
+                  className="-mx-px -mb-px last:xl:pb-24"
+                />
+
+                {!!session.files?.length && (
+                  <>
+                    <Hr />
+
+                    <h3 className="typography-h2 my-8 px-2 sm:px-3 lg:my-16">
+                      Session resources
+                    </h3>
+                    <section>
+                      {session.files?.map(({ path }) => (
+                        <iframe
+                          key={path}
+                          src={path}
+                          className="aspect-video size-full"
+                        />
+                      ))}
+                    </section>
+                  </>
+                )}
+              </div>
+            </div>
+          </div>
+        </div>
+
+        <div className="border-t border-neu-200 bg-neu-0 py-8 dark:border-neu-100 xl:py-16">
+          <div className="gql-conf-container">
+            <CtaCardSection
+              title="Get your ticket"
+              description="Join three transformative days of expert insights and innovation to shape the next decade of APIs!"
+            >
+              <Button variant="primary" href={GET_TICKETS_LINK}>
+                Get tickets
+              </Button>
+            </CtaCardSection>
+            <div className="py-8">
+              <MarqueeRows variant="secondary" items={HERO_MARQUEE_ITEMS} />
+            </div>
+          </div>
+        </div>
+      </main>
+    </>
+  )
+}
+
+function SessionHeader({
+  event,
+  eventTitle,
+  year,
+  className,
+}: {
+  event: ScheduleSession
+  eventTitle: string | null
+  year: number | `${number}`
+  className?: string
+}) {
+  const speakers = event.speakers || []
+
+  return (
+    <header className={className}>
+      <BackLink year="2025" kind="schedule" />
+      <p
+        className={clsx(
+          "mt-8 text-neu-700",
+          speakers.length >= 4 ? "typography-body-lg" : "typography-h3",
+        )}
+      >
+        {speakers.map((s, i) => (
+          <React.Fragment key={s.username}>
+            <Anchor
+              href={`/conf/${year}/speakers/${s.username}`}
+              className="decoration-neu-500 hover:underline dark:decoration-neu-100"
+            >
+              {s.name}
+            </Anchor>
+            {i !== speakers.length - 1 && <span>, </span>}
+          </React.Fragment>
+        ))}
+      </p>
+      <h1 className="typography-h2 mb-6 mt-3">{eventTitle}</h1>
+      <div className="flex flex-wrap items-center justify-between gap-2">
+        <div className="typography-body-md flex flex-col gap-2 md:flex-row md:gap-6">
+          <div className="flex items-center gap-2">
+            <CalendarIcon className="size-5 text-sec-darker dark:text-sec-light/90 sm:size-6" />
+            <time dateTime={event.event_start}>
+              {new Date(event.event_start).toLocaleString("en-US", {
+                day: "numeric",
+                month: "long",
+              })}
+              {", "}
+              {formatBlockTime(
+                event.event_start,
+                event.event_end ? new Date(event.event_end) : undefined,
+              )}
+            </time>
+          </div>
+          <div className="flex items-center gap-2">
+            <PinIcon className="size-5 text-sec-darker dark:text-sec-light/90 sm:size-6" />
+            <span>{event.venue}</span>
+          </div>
+        </div>
+        <SessionTags session={event} />
+      </div>
+    </header>
+  )
+}
+
+function SessionSpeakers({
+  session: event,
+  className,
+}: {
+  session: ScheduleSession
+  className?: string
+}) {
+  return (
+    <div
+      className={clsx(
+        "grid lg:grid-cols-2 lg:gap-5 max-lg:[&>*:not(:last-child)]:border-b-0",
+        className,
+      )}
+    >
+      {event.speakers?.map(speaker => (
+        <SpeakerCard key={speaker.username} speaker={speaker} year="2025" />
+      ))}
+    </div>
+  )
+}
+
+function Hr({ className }: { className?: string }) {
+  return (
+    <hr
+      className={clsx(
+        "ml-[-50vw] w-[200vw] border-neu-200 dark:border-neu-100",
+        className,
+      )}
+    />
+  )
+}
+
+function SessionDescription({ session }: { session: ScheduleSession }) {
+  const formattedDescription = formatDescription(session.description || "")
+
+  return (
+    <div className="mt-8 flex gap-4 px-2 pb-8 max-lg:flex-col sm:px-3 lg:mt-16 lg:gap-8 xl:pb-16">
+      <h3 className="typography-h2 min-w-[320px]">Session description</h3>
+      <p className="typography-body-lg whitespace-pre-wrap">
+        {formattedDescription}
+      </p>
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/schedule/[id]/session-video.tsx b/src/app/conf/2025/schedule/[id]/session-video.tsx
new file mode 100644
index 0000000000..957a33f1a8
--- /dev/null
+++ b/src/app/conf/2025/schedule/[id]/session-video.tsx
@@ -0,0 +1,51 @@
+import clsx from "clsx"
+import { findBestMatch } from "string-similarity"
+
+import { ScheduleSession } from "@/app/conf/2023/types"
+
+import { videos } from "../../_videos"
+
+export interface SessionVideoProps {
+  video: {
+    id: string
+    title: string
+  }
+  className?: string
+}
+
+export function SessionVideo({ video, className }: SessionVideoProps) {
+  return (
+    <iframe
+      className={clsx("mx-auto aspect-video w-full", className)}
+      src={`https://youtube.com/embed/${video.id}`}
+      title={video.title}
+      allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
+      allowFullScreen
+    />
+  )
+}
+
+export function findVideo(event: ScheduleSession, eventTitle: string) {
+  if (videos.length === 0) {
+    return null
+  }
+
+  const result = findBestMatch(
+    `${eventTitle} ${event.speakers!.map(e => e.name).join(" ")}`,
+    videos.map(e => e.title),
+  )
+
+  if (result.ratings[result.bestMatchIndex].rating < 0.17) {
+    return null
+  }
+
+  const recordingTitle = result.bestMatch
+
+  const video = videos.find(e => e.title === recordingTitle.target)
+
+  if (!video) {
+    throw new Error(`Video "${recordingTitle.target}" not found`)
+  }
+
+  return video
+}
diff --git a/src/app/conf/2025/schedule/_components/back-link.tsx b/src/app/conf/2025/schedule/_components/back-link.tsx
new file mode 100644
index 0000000000..fcab5af534
--- /dev/null
+++ b/src/app/conf/2025/schedule/_components/back-link.tsx
@@ -0,0 +1,27 @@
+import NextLink from "next/link"
+
+import ArrowDownIcon from "@/app/conf/_design-system/pixelarticons/arrow-down.svg?svgr"
+
+export function BackLink({
+  year,
+  kind,
+}: {
+  year: `20${number}`
+  kind: "speakers" | "sessions" | "schedule"
+}) {
+  return (
+    <NextLink
+      href={`/conf/${year}/${kind}`}
+      className="group typography-menu -m-2 inline-flex cursor-pointer items-center gap-2 p-2 text-sec-darker transition-all [text-box:trim-both_cap_alphabetic] hover:underline hover:underline-offset-4 dark:text-neu-700"
+    >
+      <div className="[--arrow-left-x:-1px] group-hover:animate-arrow-left group-focus:animate-arrow-left">
+        <ArrowDownIcon className="inline-block size-4 translate-y-[-.5px] rotate-90" />
+      </div>
+      Back to {capitalize(kind)}
+    </NextLink>
+  )
+}
+
+function capitalize(str: string) {
+  return str.substring(0, 1).toUpperCase() + str.substring(1).toLowerCase()
+}
diff --git a/src/app/conf/2025/schedule/_components/filters.tsx b/src/app/conf/2025/schedule/_components/filters.tsx
new file mode 100644
index 0000000000..c187890b06
--- /dev/null
+++ b/src/app/conf/2025/schedule/_components/filters.tsx
@@ -0,0 +1,285 @@
+import clsx from "clsx"
+import { useState } from "react"
+import {
+  Combobox,
+  ComboboxInput,
+  ComboboxOption,
+  ComboboxOptions,
+  ComboboxButton,
+  Label,
+} from "@headlessui/react"
+
+import { Tag } from "@/app/conf/_design-system/tag"
+import { Button } from "@/app/conf/_design-system/button"
+
+import CloseIcon from "@/app/conf/_design-system/pixelarticons/close.svg?svgr"
+import CaretDownIcon from "@/app/conf/_design-system/pixelarticons/caret-down.svg?svgr"
+import { eventsColors } from "../../utils"
+import { ScheduleSession } from "@/app/conf/_api/sched-types"
+
+export interface FilterCategoryConfig {
+  property: keyof ScheduleSession
+  label: string
+  options: string[]
+  enabledOptions?: Set<string> | null
+}
+
+export const FilterCategoryConfig = {
+  fromFields: (
+    fields: Partial<Record<keyof ScheduleSession, string /* label */>>,
+    scheduleData: ScheduleSession[],
+  ) => {
+    return Object.entries(fields).map(
+      ([field, label]): FilterCategoryConfig => ({
+        property: field as keyof ScheduleSession,
+        label,
+        options: Array.from(
+          new Set(
+            scheduleData.map(
+              session => session[field as keyof ScheduleSession],
+            ),
+          ),
+        ).filter((x): x is string => !!x && typeof x === "string"),
+      }),
+    )
+  },
+}
+
+export type CategoryName = keyof ScheduleSession
+
+export interface FilterStates extends Partial<Record<CategoryName, string[]>> {}
+export const FilterStates = {
+  initial: (fields: Array<keyof ScheduleSession>) =>
+    Object.fromEntries(fields.map(field => [field, []])),
+}
+
+type FiltersProps = {
+  categories: FilterCategoryConfig[]
+  filterState: Record<string, string[]>
+  enabledOptions: Record<string, Set<string> | null>
+  onFilterChange: (category: string, newSelectedOptions: string[]) => void
+}
+
+export function Filters({
+  categories,
+  filterState,
+  enabledOptions,
+  onFilterChange,
+}: FiltersProps) {
+  return (
+    <div className="flex flex-wrap justify-stretch gap-x-2 gap-y-4 pb-10">
+      {categories.map(category => (
+        <FiltersCombobox
+          key={category.property}
+          label={category.label}
+          options={category.options}
+          enabledOptions={enabledOptions[category.property]}
+          value={filterState[category.property] || []}
+          onChange={newSelectedOptions => {
+            onFilterChange(category.property, newSelectedOptions)
+          }}
+          placeholder={`Any ${category.label.toLowerCase()}`}
+          className="flex-1"
+        />
+      ))}
+    </div>
+  )
+}
+
+export function ResetFiltersButton({
+  onReset,
+  className,
+  filters,
+}: {
+  filters: Record<string, string[]>
+  onReset: () => void
+  className?: string
+}) {
+  const hasFilters = Object.values(filters).flat().length > 0
+
+  return (
+    <Button
+      variant="tertiary"
+      title="Reset filters"
+      onClick={onReset}
+      disabled={!hasFilters}
+      className={clsx(
+        "h-fit items-center gap-x-2 bg-neu-100 !p-2 text-neu-700 transition-opacity hover:bg-neu-200/80 hover:text-neu-900 disabled:opacity-0",
+        className,
+      )}
+    >
+      Clear filters
+      <CloseIcon className="inline-block size-4" />
+    </Button>
+  )
+}
+
+interface FiltersComboboxProps {
+  label: string
+  options: string[]
+  enabledOptions: Set<string> | null
+  value: string[]
+  onChange: (newSelectedOptions: string[]) => void
+  placeholder: string
+  className?: string
+}
+function FiltersCombobox({
+  label,
+  options,
+  enabledOptions,
+  value,
+  onChange,
+  placeholder,
+  className,
+}: FiltersComboboxProps) {
+  const [query, setQuery] = useState("")
+
+  const filteredOptions =
+    query === ""
+      ? options
+      : options.filter(option =>
+          option.toLowerCase().includes(query.toLowerCase()),
+        )
+
+  return (
+    <Combobox immediate multiple value={value} onChange={onChange}>
+      <div className={clsx("flex flex-col", className)}>
+        {label && (
+          <Label className="typography-menu mb-1 block font-mono font-medium uppercase text-neu-900">
+            {label}
+          </Label>
+        )}
+        <label className="relative w-full border border-neu-500 bg-neu-0 p-2 focus-within:outline-none focus-within:ring focus-within:ring-neu-300 dark:border-neu-200 dark:focus-within:ring-neu-200">
+          <ComboboxInput
+            value={query}
+            onChange={e => setQuery(e.target.value)}
+            className={clsx(
+              "typography-body-sm bg-transparent leading-none text-neu-800 !outline-offset-0 [text-box:trim-both_cap_alphabetic] max-lg:typography-body-md placeholder:text-neu-600 focus:outline-none",
+            )}
+            placeholder={placeholder}
+            autoComplete="true"
+          />
+          <ComboboxButton
+            className={clsx(
+              "absolute inset-y-0 right-0 flex items-center px-2 focus:outline-none",
+            )}
+          >
+            <CaretDownIcon
+              className="ui-open:rotate-180 size-5 text-neu-400 transition-transform duration-150 group-hover:text-neu-500"
+              aria-hidden="true"
+            />
+          </ComboboxButton>
+          {value.length > 0 && (
+            <div className="inset-y-0 left-0 z-[1] mt-1 flex items-center overflow-x-auto pr-8">
+              <div className="flex flex-wrap items-center gap-1">
+                {value.map(item => (
+                  <Tag
+                    key={item}
+                    color={eventsColors[item] || "hsl(var(--color-neu-400))"}
+                  >
+                    {item}
+                  </Tag>
+                ))}
+              </div>
+            </div>
+          )}
+        </label>
+
+        <div className="relative">
+          <ComboboxOptions
+            className={clsx(
+              "absolute z-10 -mt-px max-h-60 w-full overflow-auto border border-neu-500 bg-neu-0 p-1 text-base",
+            )}
+          >
+            {filteredOptions.map(option => (
+              <ComboboxOption
+                key={option}
+                value={option}
+                disabled={enabledOptions ? !enabledOptions.has(option) : false}
+              >
+                {({ active, selected }) => (
+                  <FilterComboboxOption
+                    active={active}
+                    selected={selected}
+                    option={option}
+                  />
+                )}
+              </ComboboxOption>
+            ))}
+          </ComboboxOptions>
+        </div>
+      </div>
+    </Combobox>
+  )
+}
+
+interface CheckboxIconProps extends React.SVGProps<SVGSVGElement> {
+  checked: boolean
+}
+function CheckboxIcon({ checked, ...rest }: CheckboxIconProps) {
+  return (
+    <svg
+      xmlns="http://www.w3.org/2000/svg"
+      width="20"
+      height="20"
+      viewBox="0 0 20 20"
+      fill="currentColor"
+      {...rest}
+    >
+      {!checked ? (
+        <>
+          <path
+            fillRule="evenodd"
+            clipRule="evenodd"
+            d="M2.5 2.5H4.16667H15.8333H17.5V17.5H15.8333H4.16667H2.5V2.5ZM15.8333 15.8333V4.16667H4.16667V15.8333H15.8333Z"
+          />
+        </>
+      ) : (
+        <g className="[&>path]:fill-neu-0">
+          <rect x="2" y="3" width="15" height="15" />
+          <path d="M6 10.3333H7.66667V12H6V10.3333Z" />
+          <path d="M7.66667 12H9.33333V13.6667H7.66667V12Z" />
+          <path d="M9.33333 10.3333H11V12H9.33333V10.3333Z" />
+          <path d="M11 8.66667H12.6667V10.3333H11V8.66667Z" />
+          <path d="M12.6667 7H14.3333V8.66667H12.6667V7Z" />
+        </g>
+      )}
+    </svg>
+  )
+}
+
+function FilterComboboxOption({
+  active,
+  selected,
+  option,
+}: {
+  active: boolean
+  selected: boolean
+  option: string
+}) {
+  return (
+    <div
+      className={clsx(
+        "typography-body-sm relative flex cursor-default select-none items-center p-1 font-sans",
+        active && "bg-neu-100 dark:bg-neu-50",
+        "[[data-disabled]_&]:line-through [[data-disabled]_&]:opacity-40",
+      )}
+    >
+      <CheckboxIcon
+        className={clsx("size-5 shrink-0", active && "text-neu-700")}
+        checked={selected}
+      />
+      <div className="min-w-0 flex-1 overflow-hidden pl-1 [container-type:inline-size]">
+        <span
+          // eslint-disable-next-line tailwindcss/no-contradicting-classname
+          className={clsx(
+            "relative block w-fit min-w-full whitespace-nowrap pt-px transition-all [--delta-x:calc(-100%+100cqi)]",
+            active && "animate-show-overflow",
+          )}
+        >
+          {option}
+        </span>
+      </div>
+    </div>
+  )
+}
diff --git a/src/app/conf/2025/schedule/_components/format-block-time.tsx b/src/app/conf/2025/schedule/_components/format-block-time.tsx
new file mode 100644
index 0000000000..135278e43e
--- /dev/null
+++ b/src/app/conf/2025/schedule/_components/format-block-time.tsx
@@ -0,0 +1,13 @@
+import { parseISO } from "date-fns"
+
+const timeFormat = new Intl.DateTimeFormat(undefined, {
+  hour: "2-digit",
+  minute: "2-digit",
+})
+export const formatBlockTime = (start: string, end?: Date) => {
+  const startDate = parseISO(start)
+  if (end) {
+    return timeFormat.formatRange(startDate, end).replace("AM –", "–")
+  }
+  return timeFormat.format(startDate)
+}
diff --git a/src/app/conf/2025/schedule/_components/schedule-list.tsx b/src/app/conf/2025/schedule/_components/schedule-list.tsx
new file mode 100644
index 0000000000..24aacce712
--- /dev/null
+++ b/src/app/conf/2025/schedule/_components/schedule-list.tsx
@@ -0,0 +1,298 @@
+"use client"
+
+import { format, parseISO, compareAsc } from "date-fns"
+import { ReactElement, useMemo, useState } from "react"
+
+import { ScheduleSession } from "@/app/conf/_api/sched-types"
+import {
+  ConcurrentSessions,
+  ScheduleSessionsByDay,
+} from "@/app/conf/_components/schedule/session-list"
+
+import { ScheduleSessionCard } from "./schedule-session-card"
+import {
+  FilterCategoryConfig,
+  Filters,
+  FilterStates,
+  ResetFiltersButton,
+} from "./filters"
+import { formatBlockTime } from "./format-block-time"
+
+export interface FiltersConfig
+  extends Partial<
+    Record<keyof ScheduleSession /* key */, string /* label */>
+  > {}
+
+function getSessionsByDay(
+  scheduleData: ScheduleSession[],
+  filterStates: FilterStates,
+) {
+  const filteredSortedSchedule = (scheduleData || []).sort((a, b) =>
+    compareAsc(new Date(a.event_start), new Date(b.event_start)),
+  )
+
+  const states = Object.entries<FilterStates[keyof FilterStates]>(filterStates)
+  const concurrentSessions: ConcurrentSessions = {}
+
+  filteredSortedSchedule.forEach(session => {
+    for (const [property, filterState] of states) {
+      if (
+        filterState &&
+        filterState.length > 0 &&
+        !filterState.includes(
+          session[property as keyof ScheduleSession] as string,
+        )
+      ) {
+        return
+      }
+    }
+
+    ;(concurrentSessions[session.event_start] ||= []).push(session)
+  })
+
+  const sessionsByDay: ScheduleSessionsByDay = {}
+  Object.entries(concurrentSessions).forEach(([date, sessions]) => {
+    const day = date.split(" ")[0]
+    if (!sessionsByDay[day]) {
+      sessionsByDay[day] = {}
+    }
+    sessionsByDay[day] = {
+      ...sessionsByDay[day],
+      [date]: sessions.sort((a, b) =>
+        (a?.venue ?? "").localeCompare(b?.venue ?? ""),
+      ),
+    }
+  })
+
+  return {
+    sessionsByDay,
+    enabledOptions: Object.fromEntries(
+      Object.keys(filterStates).map(currentField => {
+        // Apply filters from ALL OTHER fields, not this one
+        const otherFilters = Object.entries(filterStates).filter(
+          ([field]) => field !== currentField,
+        )
+
+        const filteredData = scheduleData.filter(session => {
+          // Check if session passes all OTHER filters
+          for (const [property, filterState] of otherFilters) {
+            const filters = filterState as string[]
+            if (
+              filters &&
+              filters.length > 0 &&
+              !filters.includes(
+                session[property as keyof ScheduleSession] as string,
+              )
+            ) {
+              return false
+            }
+          }
+          return true
+        })
+
+        const enabledOptionsForField = new Set(
+          filteredData
+            .map(session => session[currentField as keyof ScheduleSession])
+            .filter((x): x is string => !!x && typeof x === "string"),
+        )
+
+        return [currentField, enabledOptionsForField]
+      }),
+    ),
+  }
+}
+
+export interface ScheduleListProps {
+  showFilter?: boolean
+  scheduleData: ScheduleSession[]
+  year: `202${number}`
+  eventsColors: Record<string, string>
+  filterFields: FiltersConfig
+}
+
+export function ScheduleList({
+  showFilter = true,
+  scheduleData,
+  year,
+  eventsColors,
+  filterFields,
+}: ScheduleListProps): ReactElement {
+  const [filtersState, setFiltersState] = useState<FilterStates>(() =>
+    FilterStates.initial(
+      Object.keys(filterFields) as (keyof ScheduleSession)[],
+    ),
+  )
+
+  const { sessionsByDay: filteredSessions, enabledOptions } = useMemo(
+    () => getSessionsByDay(scheduleData, filtersState),
+    [scheduleData, filtersState],
+  )
+
+  const filterCategories: FilterCategoryConfig[] = useMemo(
+    () => FilterCategoryConfig.fromFields(filterFields, scheduleData),
+    [filterFields, scheduleData],
+  )
+
+  return (
+    <>
+      <div className="flex justify-between gap-1 max-lg:flex-col">
+        <BookmarkOnSched year={year} />
+        <ResetFiltersButton
+          filters={filtersState}
+          onReset={() =>
+            setFiltersState(
+              FilterStates.initial(
+                Object.keys(filterFields) as (keyof ScheduleSession)[],
+              ),
+            )
+          }
+          className="max-lg:mb-4 max-lg:w-fit max-lg:self-end"
+        />
+      </div>
+      {showFilter && (
+        <Filters
+          categories={filterCategories}
+          filterState={filtersState}
+          enabledOptions={enabledOptions}
+          onFilterChange={(category, newSelectedOptions) => {
+            setFiltersState(prev => ({
+              ...prev,
+              [category]: newSelectedOptions,
+            }))
+          }}
+        />
+      )}
+      {Object.entries(filteredSessions).length === 0 ? (
+        <div className="typography-body-sm">
+          <h3 className="mb-5">No sessions found</h3>
+        </div>
+      ) : (
+        <>
+          <div className="mb-4 flex space-x-4">
+            {Object.keys(filteredSessions).map((date, index) => (
+              <a
+                href={`#day-${index + 1}`}
+                key={date}
+                className="typography-link"
+              >
+                Day {index + 1}
+              </a>
+            ))}
+          </div>
+          {Object.entries(filteredSessions).map(
+            ([date, concurrentSessionsGroup], index) => (
+              <div
+                key={date}
+                className="typography-body-sm bg-neu-200 pb-px dark:bg-neu-50"
+              >
+                <h3
+                  className="bg-neu-50 py-4 dark:bg-neu-0"
+                  id={`day-${index + 1}`}
+                >
+                  {format(parseISO(date), "EEEE, MMMM d")}
+                </h3>
+                {Object.entries(concurrentSessionsGroup).map(
+                  ([sessionDate, sessions], i, blocks) => {
+                    const blockEnd = new Date(
+                      Math.max(
+                        ...sessions.map(session =>
+                          new Date(session.event_end).getTime(),
+                        ),
+                      ),
+                    )
+
+                    const nextBlock = blocks[i + 1]
+                    const nextBlockStart = nextBlock?.[0]
+                      ? new Date(nextBlock[0])
+                      : undefined
+
+                    const isBreak =
+                      sessions[0]?.event_type
+                        ?.toLowerCase()
+                        .includes("break") ||
+                      blocks[i + 1]?.[1]?.[0]?.event_type
+                        ?.toLowerCase()
+                        .includes("break")
+                    const hasDashedBorder =
+                      blockEnd &&
+                      blockEnd.getTime() === nextBlockStart?.getTime() &&
+                      !isBreak
+
+                    return (
+                      <div
+                        key={`concurrent sessions on ${sessionDate}`}
+                        className="relative lg:mt-px [&_div:has(a:hover)]:z-[1]"
+                      >
+                        <div className="mr-px flex flex-col max-lg:ml-px lg:flex-row">
+                          <div className="relative border-neu-50 bg-neu-50 dark:bg-neu-0 max-lg:-mx-px max-lg:my-px max-lg:border-x lg:mr-px">
+                            <span className="typography-body-sm mt-3 inline-block w-28 whitespace-nowrap pb-0.5 pl-4 lg:mr-6 lg:pb-4 lg:pl-0">
+                              {formatBlockTime(sessionDate, blockEnd)}
+                            </span>
+                          </div>
+                          <div className="relative flex w-full flex-col items-end gap-px lg:flex-row lg:items-start">
+                            {sessions.map(session => (
+                              <ScheduleSessionCard
+                                key={session.id}
+                                session={session}
+                                year={year}
+                                eventsColors={eventsColors}
+                                blockEnd={blockEnd}
+                              />
+                            ))}
+                          </div>
+                        </div>
+                        {hasDashedBorder && (
+                          <svg
+                            className="absolute -bottom-px left-0 h-px w-full text-neu-50"
+                            viewBox="0 0 100 1"
+                            preserveAspectRatio="none"
+                          >
+                            <line
+                              x1="0"
+                              y1="0.5"
+                              x2="100"
+                              y2="0.5"
+                              stroke="currentColor"
+                              strokeWidth="1"
+                              strokeDasharray="4,4"
+                              strokeDashoffset="4"
+                              vectorEffect="non-scaling-stroke"
+                            />
+                          </svg>
+                        )}
+                      </div>
+                    )
+                  },
+                )}
+              </div>
+            ),
+          )}
+        </>
+      )}
+    </>
+  )
+}
+
+function BookmarkOnSched({ year }: { year: `202${number}` }) {
+  return (
+    <a
+      href={`https://graphqlconf${year}.sched.com`}
+      target="_blank"
+      rel="noreferrer"
+      className="typography-link mb-8 block w-fit decoration-neu-400 max-lg:hidden"
+    >
+      Bookmark sessions & plan your days on Sched
+      <svg
+        fill="none"
+        xmlns="http://www.w3.org/2000/svg"
+        viewBox="0 0 24 24"
+        className="m-1 mb-2 inline-block size-4"
+      >
+        <path
+          d="M21 11V3h-8v2h4v2h-2v2h-2v2h-2v2H9v2h2v-2h2v-2h2V9h2V7h2v4h2zM11 5H3v16h16v-8h-2v6H5V7h6V5z"
+          fill="currentColor"
+        />
+      </svg>
+    </a>
+  )
+}
diff --git a/src/app/conf/2025/schedule/_components/schedule-session-card.tsx b/src/app/conf/2025/schedule/_components/schedule-session-card.tsx
new file mode 100644
index 0000000000..4416196a73
--- /dev/null
+++ b/src/app/conf/2025/schedule/_components/schedule-session-card.tsx
@@ -0,0 +1,232 @@
+import React, { Fragment } from "react"
+import { ics, google, outlook, CalendarEvent } from "calendar-link"
+import { clsx } from "clsx"
+import {
+  Menu,
+  MenuButton,
+  MenuItem,
+  MenuItems,
+  Transition,
+} from "@headlessui/react"
+
+import { SchedSpeaker, ScheduleSession } from "@/app/conf/_api/sched-types"
+import { Anchor } from "@/app/conf/_design-system/anchor"
+import { Tag } from "@/app/conf/_design-system/tag"
+
+import { PinIcon } from "@/app/conf/_design-system/pixelarticons/pin-icon"
+import ClockIcon from "@/app/conf/_design-system/pixelarticons/clock.svg?svgr"
+
+import { getEventTitle } from "../../utils"
+import { CalendarIcon } from "@/app/conf/_design-system/pixelarticons/calendar-icon"
+
+function isString(x: unknown): x is string {
+  return Object.prototype.toString.call(x) === "[object String]"
+}
+
+export function ScheduleSessionCard({
+  session,
+  year,
+  eventsColors,
+  blockEnd,
+}: {
+  session: ScheduleSession
+  year: `202${number}`
+  eventsColors: Record<string, string>
+  blockEnd: Date
+}) {
+  let eventType = session.event_type
+
+  const speakers = session.speakers
+    ? isString(session.speakers)
+      ? (session.speakers as string)
+          .split(",")
+          .map(name => ({ name, username: "" }))
+      : (session.speakers as SchedSpeaker[])
+    : []
+
+  const eventTitle = getEventTitle(
+    session,
+    speakers.map(s => s.name),
+  )
+
+  if (eventType === eventTitle) eventType = ""
+
+  const eventColor = eventsColors[session.event_type]
+
+  let blockTimeFraction = 1
+  if (blockEnd.getTime() !== new Date(session.event_end).getTime()) {
+    blockTimeFraction =
+      (new Date(session.event_end).getTime() -
+        new Date(session.event_start).getTime()) /
+      (blockEnd.getTime() - new Date(session.event_start).getTime())
+  }
+
+  return session.event_type === "Breaks" ? (
+    <div className="flex size-full items-center bg-neu-0 px-4 py-2 font-normal">
+      {eventTitle}
+    </div>
+  ) : (
+    <div
+      // eslint-disable-next-line tailwindcss/no-contradicting-classname
+      className={clsx(
+        "[--bg:hsl(var(--color-neu-0))] [&:has(>a:hover)]:[--bg:hsl(var(--color-neu-0)/.9)] dark:[&:has(>a:hover)]:[--bg:hsl(var(--color-neu-0)/.8)]",
+        "group relative size-full p-4 font-normal no-underline ring-neu-400 focus-visible:z-[1] dark:ring-neu-100 [&:has(>a:hover)]:ring-1",
+        blockTimeFraction < 1 && "[--bg:hsl(var(--color-neu-0)/50)]",
+      )}
+      style={
+        {
+          "--time": `${blockTimeFraction * 100}%`,
+          background:
+            blockTimeFraction < 1
+              ? `linear-gradient(to bottom, var(--bg), var(--bg) var(--time), hsl(var(--color-neu-0)/.8) var(--time), hsl(var(--color-neu-0)/.8))`
+              : "var(--bg)",
+        } as {}
+      }
+    >
+      <Anchor
+        id={`session-${session.id}`}
+        href={`/conf/${year}/schedule/${session.id}?name=${session.name}`}
+        className="absolute inset-0 z-[1] ring-inset ring-neu-400 hover:ring-1 dark:ring-neu-100"
+        aria-label={`Read more about "${eventTitle}" by ${speakers
+          .map(s => s.name)
+          .join(", ")}`}
+      />
+      <span className="flex h-full flex-col justify-start">
+        {eventType && (
+          <Tag
+            className="mb-3"
+            color={eventColor || "hsl(var(--color-neu-300))"}
+          >
+            {eventType}
+          </Tag>
+        )}
+        <span className="flex h-full flex-col justify-between gap-y-2">
+          <span className="typography-body-md">{eventTitle}</span>
+          <span className="flex flex-col">
+            {(speakers?.length || 0) > 0 && (
+              <span className="typography-body-sm">
+                {speakers.map((s, i) => (
+                  <React.Fragment key={s.username || s.name}>
+                    {s.username ? (
+                      <Anchor
+                        href={`/conf/${year}/speakers/${s.username}`}
+                        className="relative z-[2] decoration-neu-600 hover:underline dark:decoration-neu-200"
+                      >
+                        {s.name}
+                      </Anchor>
+                    ) : (
+                      s.name
+                    )}
+                    {i !== speakers.length - 1 && <span>, </span>}
+                  </React.Fragment>
+                ))}
+              </span>
+            )}
+            <span className="mt-4 flex items-center gap-2 xl:mt-6">
+              <span className="typography-body-xs flex items-center gap-0.5">
+                <PinIcon className="size-4 text-pri-base" />
+                {session.venue}
+              </span>
+              {blockTimeFraction < 1 && (
+                <span className="typography-body-xs flex items-center gap-0.5">
+                  <ClockIcon className="size-4 text-pri-base" />
+                  {Math.round(
+                    (new Date(session.event_end).getTime() -
+                      new Date(session.event_start).getTime()) /
+                      (1000 * 60),
+                  )}{" "}
+                  min
+                </span>
+              )}
+              <AddToCalendarLink
+                eventTitle={eventTitle}
+                session={session}
+                speakers={session.speakers || []}
+                className="ml-auto"
+              />
+            </span>
+          </span>
+        </span>
+      </span>
+    </div>
+  )
+}
+
+function AddToCalendarLink({
+  eventTitle,
+  session,
+  speakers,
+  className,
+}: {
+  eventTitle: string
+  session: ScheduleSession
+  speakers: SchedSpeaker[]
+  className?: string
+}) {
+  const calendarEvent: CalendarEvent = {
+    title: eventTitle,
+    start: session.event_start,
+    end: session.event_end,
+    description: session.description,
+    location: session.venue,
+    organizer: {
+      name: `GraphQLConf ${new Date().getFullYear()}`,
+      email: "graphql_events@linuxfoundation.org",
+    },
+    guests: speakers.map(s => s.name),
+  }
+
+  const calendars = {
+    ICS: ics,
+    Google: google,
+    Outlook: outlook,
+  }
+
+  return (
+    <Menu
+      as="div"
+      className={clsx("relative z-[2] inline-block text-left", className)}
+    >
+      <div>
+        <MenuButton
+          className={clsx(
+            "inline-flex w-full items-center justify-center gap-0.5 p-1",
+            "ring-neu-400 hover:bg-neu-50/50 hover:ring-1 focus:outline-none focus:ring-1 dark:ring-neu-100 [&[aria-expanded=true]]:ring-2",
+          )}
+        >
+          <CalendarIcon className="size-4 shrink-0 text-pri-base" />
+          <span className="typography-body-xs">Add to calendar</span>
+        </MenuButton>
+      </div>
+      <Transition
+        as={Fragment}
+        enter="transition ease-out duration-100"
+        enterFrom="transform opacity-0 scale-95"
+        enterTo="transform opacity-100 scale-100"
+        leave="transition ease-in duration-75"
+        leaveFrom="transform opacity-100 scale-100"
+        leaveTo="transform opacity-0 scale-95"
+      >
+        <MenuItems
+          anchor="bottom end"
+          className="mt-2 w-40 origin-top-right border border-neu-400 bg-neu-0 focus:outline-none"
+        >
+          <div className="p-1">
+            {Object.entries(calendars).map(([name, calendar]) => (
+              <MenuItem key={name}>
+                <a
+                  href={calendar(calendarEvent)}
+                  target="_blank"
+                  rel="noopener noreferrer"
+                  className="group typography-body-xs flex w-full items-center px-2 py-1 text-neu-800 [&[data-active]]:bg-neu-100 [&[data-active]]:text-neu-900 dark:[&[data-active]]:bg-neu-50"
+                >
+                  {name}
+                </a>
+              </MenuItem>
+            ))}
+          </div>
+        </MenuItems>
+      </Transition>
+    </Menu>
+  )
+}
diff --git a/src/app/conf/2025/schedule/opengraph-image.tsx b/src/app/conf/2025/schedule/opengraph-image.tsx
new file mode 100644
index 0000000000..2dc7b26c9a
--- /dev/null
+++ b/src/app/conf/2025/schedule/opengraph-image.tsx
@@ -0,0 +1,10 @@
+import { SimpleOpengraphImage } from "../components/og-images/simple-opengraph-image"
+export {
+  generateStaticParams,
+  contentType,
+  size,
+} from "../components/og-images/simple-opengraph-image"
+
+export default SimpleOpengraphImage.bind(null, {
+  pageTitle: "Schedule",
+})
diff --git a/src/app/conf/2025/schedule/page.tsx b/src/app/conf/2025/schedule/page.tsx
new file mode 100644
index 0000000000..3afa0d26d6
--- /dev/null
+++ b/src/app/conf/2025/schedule/page.tsx
@@ -0,0 +1,63 @@
+import { Metadata } from "next"
+
+import { schedule } from "../_data"
+import { ScheduleList, FiltersConfig } from "./_components/schedule-list"
+import { eventsColors, HERO_MARQUEE_ITEMS } from "../utils"
+import { Button } from "../../_design-system/button"
+import { GET_TICKETS_LINK } from "../links"
+import { Hero } from "../components/hero"
+import { CtaCardSection } from "../components/cta-card-section"
+import { MarqueeRows } from "../components/marquee-rows"
+import { FAQ } from "../faq"
+
+const year = "2025"
+
+const FILTERS: FiltersConfig = {
+  event_type: "Session Format",
+  event_subtype: "Talk Category",
+  audience: "Audience",
+}
+
+export const metadata: Metadata = {
+  title: "Schedule",
+}
+
+export default function SchedulePage() {
+  return (
+    <main className="gql-all-anchors-focusable bg-neu-50 dark:bg-neu-0">
+      <Hero pageName="Schedule" year={year}>
+        <div className="mt-[18px] flex gap-4">
+          <Button href={GET_TICKETS_LINK}>Get your tickets</Button>
+          <Button variant="tertiary" href={`/conf/${year}/speakers`}>
+            See the speakers
+          </Button>
+        </div>
+      </Hero>
+      <div className="gql-conf-container gql-conf-section 2xl:!px-24">
+        <ScheduleList
+          eventsColors={eventsColors}
+          year={year}
+          scheduleData={schedule}
+          filterFields={FILTERS}
+        />
+      </div>
+      <div className="gql-conf-navbar-strip border-t border-neu-200 bg-neu-0 py-8 text-neu-900 before:bg-white/40 dark:border-neu-100 before:dark:bg-blk/30 xl:py-16">
+        <div className="gql-conf-container">
+          <FAQ />
+
+          <CtaCardSection
+            title="Get your ticket"
+            description="Join three transformative days of expert insights and innovation to shape the next decade of APIs!"
+          >
+            <Button variant="primary" href={GET_TICKETS_LINK}>
+              Get tickets
+            </Button>
+          </CtaCardSection>
+          <div className="py-8">
+            <MarqueeRows variant="secondary" items={HERO_MARQUEE_ITEMS} />
+          </div>
+        </div>
+      </div>
+    </main>
+  )
+}
diff --git a/src/app/conf/2025/speakers/[id]/long-session-card.tsx b/src/app/conf/2025/speakers/[id]/long-session-card.tsx
new file mode 100644
index 0000000000..6b046b9da2
--- /dev/null
+++ b/src/app/conf/2025/speakers/[id]/long-session-card.tsx
@@ -0,0 +1,231 @@
+import { clsx } from "clsx"
+import { CalendarEvent, google, ics, outlook } from "calendar-link"
+
+import { SchedSpeaker, ScheduleSession } from "@/app/conf/2023/types"
+import { Button } from "@/app/conf/_design-system/button"
+import { Anchor } from "@/app/conf/_design-system/anchor"
+import { CalendarIcon } from "@/app/conf/_design-system/pixelarticons/calendar-icon"
+import { PinIcon } from "@/app/conf/_design-system/pixelarticons/pin-icon"
+import ClockIcon from "@/app/conf/_design-system/pixelarticons/clock.svg?svgr"
+import PlusIcon from "@/app/conf/_design-system/pixelarticons/plus.svg?svgr"
+import PlayIcon from "@/app/conf/_design-system/pixelarticons/play.svg?svgr"
+import { findVideo } from "../../schedule/[id]/session-video"
+import { getEventTitle } from "../../utils"
+import React, { Fragment } from "react"
+import { SessionTags } from "../../components/session-tags"
+import { Menu, MenuItem, MenuItems, Transition } from "@headlessui/react"
+import { MenuButton } from "@headlessui/react"
+
+export interface LongSessionCardProps
+  extends React.HTMLAttributes<HTMLDivElement> {
+  session: ScheduleSession
+  eventColors?: Record<string, string>
+}
+
+export function LongSessionCard({
+  session,
+  className,
+  ...props
+}: LongSessionCardProps) {
+  const eventStart = new Date(session.event_start)
+
+  const formattedDate = eventStart.toLocaleDateString("en-US", {
+    day: "numeric",
+    month: "long",
+  })
+
+  const year = eventStart.getFullYear()
+
+  const formattedTime = eventStart.toLocaleTimeString("en-US", {
+    hour: "2-digit",
+    minute: "2-digit",
+    hour12: false,
+  })
+
+  const eventTitle = getEventTitle(
+    session,
+    session.speakers?.map(s => s.name) || [],
+  )
+  const video = findVideo(session, eventTitle)
+
+  const eventDurationMs =
+    new Date(session.event_end).getTime() -
+    new Date(session.event_start).getTime()
+
+  const speakers = session.speakers || []
+
+  return (
+    <div
+      className={clsx(
+        "group relative flex flex-col justify-between border border-neu-200 bg-neu-0 dark:border-neu-100",
+        className,
+      )}
+      {...props}
+    >
+      <Anchor
+        href={`/conf/${year}/schedule/${session.id}?name=${session.name}`}
+        className="absolute inset-0 z-[1] ring-inset ring-neu-400 hover:bg-sec-base/[.035] hover:ring-1 dark:ring-neu-100"
+        aria-label={`Read more about "${eventTitle}" by ${session.speakers?.[0]?.name || "Speaker"}`}
+      />
+
+      <div className="flex flex-col gap-6 p-4 lg:p-6">
+        <div className="flex items-start justify-between gap-6">
+          <SessionTags session={session} />
+          {year !== new Date().getFullYear() && (
+            <div className="flex items-center gap-2 border border-neu-400 bg-neu-100 px-2 py-1 dark:border-neu-100 dark:bg-neu-50">
+              <span className="typography-menu text-neu-900">{year}</span>
+            </div>
+          )}
+        </div>
+
+        <div className="flex flex-col gap-4">
+          <div className="min-h-[32px]">
+            <h3 className="typography-body-lg text-neu-900 2xl:text-2xl">
+              {eventTitle}
+            </h3>
+          </div>
+          <div className="flex items-center justify-between gap-2">
+            {(speakers?.length || 0) > 0 && (
+              <span className="typography-body-sm">
+                {speakers.map((s, i) => (
+                  <React.Fragment key={s.username || s.name}>
+                    {s.username ? (
+                      <Anchor
+                        href={`/conf/${year}/speakers/${s.username}`}
+                        className="relative z-[2] decoration-neu-600 hover:underline dark:decoration-neu-200"
+                      >
+                        {s.name}
+                      </Anchor>
+                    ) : (
+                      s.name
+                    )}
+                    {i !== speakers.length - 1 && <span>, </span>}
+                  </React.Fragment>
+                ))}
+              </span>
+            )}
+            {video && (
+              // ideally, we'd display the duration of the video, not the projected duration of the talk
+              <div className="flex shrink-0 items-center gap-0.5">
+                <ClockIcon className="size-3" />
+                <span className="typography-body-xs text-neu-800">
+                  {Math.round(eventDurationMs / (1000 * 60))} min
+                </span>
+              </div>
+            )}
+          </div>
+        </div>
+      </div>
+
+      {video ? (
+        <footer className="p-4 pt-0 lg:px-6 lg:pb-6">
+          <Button
+            href={`https://youtube.com/embed/${video.id}`}
+            variant="primary"
+            className="relative z-[2] w-full"
+          >
+            Watch
+            <PlayIcon className="size-6" />
+          </Button>
+        </footer>
+      ) : (
+        <footer className="flex items-center border-t border-neu-200 text-neu-800 dark:border-neu-100">
+          <div className="flex flex-1 items-center gap-2 border-r border-neu-200 p-4 dark:border-neu-100 lg:gap-4 lg:p-6 xl:gap-6">
+            <div className="flex items-center gap-0.5 whitespace-pre">
+              <CalendarIcon className="size-4 shrink-0 -translate-y-px text-sec-dark" />
+              <span className="typography-body-xs">{formattedDate}</span>
+            </div>
+            <div className="flex items-center gap-0.5">
+              <ClockIcon className="size-4 shrink-0 text-sec-dark" />
+              <span className="typography-body-xs">{formattedTime}</span>
+            </div>
+            <div className="flex items-center gap-0.5">
+              <PinIcon className="size-4 shrink-0 text-sec-dark" />
+              <span className="typography-body-xs">{session.venue}</span>
+            </div>
+          </div>
+          {year === new Date().getFullYear() && (
+            <AddToCalendarLink
+              eventTitle={eventTitle}
+              session={session}
+              speakers={speakers}
+            />
+          )}
+        </footer>
+      )}
+    </div>
+  )
+}
+
+function AddToCalendarLink({
+  eventTitle,
+  session,
+  speakers,
+  className,
+}: {
+  eventTitle: string
+  session: ScheduleSession
+  speakers: SchedSpeaker[]
+  className?: string
+}) {
+  const calendarEvent: CalendarEvent = {
+    title: eventTitle,
+    start: session.event_start,
+    end: session.event_end,
+    description: session.description,
+    location: session.venue,
+    organizer: {
+      name: `GraphQLConf ${new Date().getFullYear()}`,
+      email: "graphql_events@linuxfoundation.org",
+    },
+    guests: speakers.map(s => s.name),
+  }
+
+  const calendars = {
+    ICS: ics,
+    Google: google,
+    Outlook: outlook,
+  }
+
+  return (
+    <Menu as="div" className={clsx("relative z-[2] flex h-full", className)}>
+      <MenuButton
+        className={clsx(
+          "relative z-[2] flex size-full h-full flex-row items-center justify-center gap-0.5 p-4 text-neu-800 ring-inset ring-neu-400 hover:bg-sec-base/[.035] hover:ring-1 focus:outline-none focus:ring-1 dark:ring-neu-100 lg:px-6 [&[aria-expanded=true]]:ring-1",
+        )}
+      >
+        <PlusIcon className="size-4 shrink-0 text-sec-dark" />
+        <span className="typography-body-xs">Add to calendar</span>
+      </MenuButton>
+      <Transition
+        as={Fragment}
+        enter="transition ease-out duration-100"
+        enterFrom="transform opacity-0 scale-95"
+        enterTo="transform opacity-100 scale-100"
+        leave="transition ease-in duration-75"
+        leaveFrom="transform opacity-100 scale-100"
+        leaveTo="transform opacity-0 scale-95"
+      >
+        <MenuItems
+          anchor="bottom end"
+          className="mt-2 w-40 origin-top-right border border-neu-400 bg-neu-0 focus:outline-none"
+        >
+          <div className="p-1">
+            {Object.entries(calendars).map(([name, calendar]) => (
+              <MenuItem key={name}>
+                <a
+                  href={calendar(calendarEvent)}
+                  target="_blank"
+                  rel="noopener noreferrer"
+                  className="group typography-body-sm flex w-full items-center p-3 text-neu-800 [&[data-active]]:bg-neu-100 [&[data-active]]:text-neu-900 dark:[&[data-active]]:bg-neu-50"
+                >
+                  {name}
+                </a>
+              </MenuItem>
+            ))}
+          </div>
+        </MenuItems>
+      </Transition>
+    </Menu>
+  )
+}
diff --git a/src/app/conf/2025/speakers/[id]/opengraph-image.tsx b/src/app/conf/2025/speakers/[id]/opengraph-image.tsx
new file mode 100644
index 0000000000..185dd16930
--- /dev/null
+++ b/src/app/conf/2025/speakers/[id]/opengraph-image.tsx
@@ -0,0 +1,46 @@
+import { ImageResponse } from "next/og"
+
+import { loadFontsForOG } from "@/app/fonts/og/load-fonts-for-og"
+
+import { speakers } from "../../_data"
+import { SpeakerOpengraphImage } from "../../components/og-images/speaker-opengraph-image"
+
+export const contentType = "image/png"
+export const size = {
+  width: 1200,
+  height: 630,
+}
+
+export function generateStaticParams() {
+  return speakers.map(s => ({ id: s.username }))
+}
+
+export default async function SpeakerOGImage({
+  params,
+}: {
+  params: { id: string }
+}) {
+  const decodedId = decodeURIComponent(params.id)
+  const speaker = speakers.find(s => s.username === decodedId)
+
+  if (!speaker) {
+    throw new Error(`Speaker not found: ${decodedId}`)
+  }
+
+  const fonts = loadFontsForOG()
+
+  return new ImageResponse(
+    (
+      <SpeakerOpengraphImage
+        speaker={speaker}
+        date="September 8-10"
+        year="2025"
+        location="Amsterdam, Netherlands"
+      />
+    ),
+    {
+      ...size,
+      fonts: await fonts,
+    },
+  )
+}
diff --git a/src/app/conf/2025/speakers/[id]/page.tsx b/src/app/conf/2025/speakers/[id]/page.tsx
new file mode 100644
index 0000000000..780483fb69
--- /dev/null
+++ b/src/app/conf/2025/speakers/[id]/page.tsx
@@ -0,0 +1,211 @@
+import { Metadata } from "next"
+import React from "react"
+
+import { previousEditionSessions, speakers, speakerSessions } from "../../_data"
+import { metadata as layoutMetadata } from "../../layout"
+
+import { HERO_MARQUEE_ITEMS } from "../../utils"
+import { BackLink } from "../../schedule/_components/back-link"
+import { NavbarPlaceholder } from "../../components/navbar"
+import { CtaCardSection } from "../../components/cta-card-section"
+import clsx from "clsx"
+import { SchedSpeaker, ScheduleSession } from "@/app/conf/2023/types"
+import { Button } from "@/app/conf/_design-system/button"
+import { MarqueeRows } from "../../components/marquee-rows"
+import { GET_TICKETS_LINK } from "../../links"
+import { SpeakerTags } from "../../components/speaker-tags"
+import { SpeakerLinks } from "../../components/speaker-links"
+import { LongSessionCard } from "./long-session-card"
+import Image from "next-image-export-optimizer"
+import { formatDescription } from "../../schedule/[id]/format-description"
+
+type SpeakerProps = { params: { id: string } }
+
+export function generateMetadata({ params }: SpeakerProps): Metadata {
+  const decodedId = decodeURIComponent(params.id)
+  const speaker = speakers.find(s => s.username === decodedId)
+
+  if (!speaker) {
+    throw new Error(`Speaker "${decodedId}" not found for details page`)
+  }
+
+  const keywords = [speaker.name, speaker.company, speaker.position].filter(
+    Boolean,
+  ) as string[]
+
+  return {
+    title: speaker.name,
+    description: speaker.about,
+    keywords: [...layoutMetadata.keywords, ...keywords],
+  }
+}
+
+export function generateStaticParams() {
+  return speakers.map(s => ({ id: s.username }))
+}
+
+export default function SpeakerPage({ params }: SpeakerProps) {
+  const speaker = speakers.find(s => s.username === params.id)
+
+  if (!speaker) {
+    throw new Error(`Speaker "${params.id}" not found for details page`)
+  }
+
+  const currentYearSessions = speakerSessions.get(speaker.username) || []
+  const previousSessions = previousEditionSessions.get(speaker.username) || []
+
+  return (
+    <>
+      <NavbarPlaceholder className="top-0 bg-neu-50 before:bg-neu-50/40 dark:bg-neu-0 dark:before:bg-blk/30" />
+      <main className="gql-all-anchors-focusable gql-conf-navbar-strip text-neu-900 before:bg-neu-50/40 before:dark:bg-blk/30">
+        <div className="bg-neu-50 dark:bg-neu-0">
+          <div className="gql-conf-container">
+            <div className="gql-conf-section !py-0 max-xs:px-0">
+              <div className="border-neu-200 dark:border-neu-100 xs:border-x">
+                <SpeakerHeader
+                  speaker={speaker}
+                  year="2025"
+                  className="border-b border-neu-200 dark:border-neu-100"
+                />
+
+                <div className="flex justify-end">
+                  <SpeakerLinks
+                    size="lg"
+                    speaker={speaker}
+                    className="!border-r-0 !border-t-0"
+                  />
+                </div>
+
+                {speaker.about && (
+                  <p className="typography-body-lg mx-auto box-content max-w-[800px] px-4 py-8 lg:px-8 lg:py-16 xl:px-24 xl:pb-24 xl:text-[32px]">
+                    {formatDescription(speaker.about)}
+                  </p>
+                )}
+
+                {currentYearSessions.length > 0 && (
+                  <>
+                    <Hr />
+                    <h3 className="typography-h2 my-8 px-2 sm:px-3 lg:my-16">
+                      2025 Sessions
+                    </h3>
+                    <SpeakerSessions
+                      sessions={currentYearSessions}
+                      className="-mx-px -mb-px"
+                    />
+                  </>
+                )}
+
+                {previousSessions.length > 0 && (
+                  <>
+                    <Hr />
+                    <h3 className="typography-h2 my-8 px-2 sm:px-3 lg:my-16">
+                      Sessions from previous editions
+                    </h3>
+                    <SpeakerSessions
+                      sessions={previousSessions}
+                      className="-mx-px -mb-px"
+                    />
+                  </>
+                )}
+              </div>
+            </div>
+          </div>
+        </div>
+
+        <div className="border-t border-neu-200 bg-neu-0 py-8 dark:border-neu-100 xl:py-16">
+          <div className="gql-conf-container">
+            <CtaCardSection
+              title="Get your ticket"
+              description="Join three transformative days of expert insights and innovation to shape the next decade of APIs!"
+            >
+              <Button variant="primary" href={GET_TICKETS_LINK}>
+                Get tickets
+              </Button>
+            </CtaCardSection>
+            <div className="py-8">
+              <MarqueeRows variant="secondary" items={HERO_MARQUEE_ITEMS} />
+            </div>
+          </div>
+        </div>
+      </main>
+    </>
+  )
+}
+
+function SpeakerHeader({
+  speaker,
+  year,
+  className,
+}: {
+  speaker: SchedSpeaker
+  year: `20${number}`
+  className?: string
+}) {
+  return (
+    <header
+      className={clsx("flex justify-between gap-4 max-md:flex-col", className)}
+    >
+      <div className="pl-2 pt-8 sm:pl-3 2xl:pl-24 2xl:pr-16 2xl:pt-16">
+        <BackLink year={year} kind="schedule" />
+        <p className="typography-body-lg mt-4 text-sec-darker lg:typography-h3 lg:mt-20">
+          Meet the speaker
+        </p>
+        <h1 className="typography-h1 lg:mt-2">{speaker.name}</h1>
+        <div className="typography-body-lg mt-8 flex flex-wrap items-center gap-x-8 gap-y-2 lg:mt-12 xl:mt-16 2xl:mt-20">
+          {[speaker.position, speaker.company === "-" ? "" : speaker.company]
+            .filter(Boolean)
+            .join(", ")}
+          <SpeakerTags
+            speaker={speaker}
+            className="flex-nowrap"
+            showEventType={false}
+          />
+        </div>
+      </div>
+      {speaker.avatar && (
+        <div className="relative overflow-hidden">
+          <div className="absolute inset-0 z-[1] bg-[hsl(79_81%_83.5%)] opacity-90 mix-blend-multiply" />
+          <Image
+            src={speaker.avatar}
+            alt=""
+            width={464}
+            height={464}
+            className="aspect-square size-[464px] object-cover saturate-[0.1] transition-transform max-lg:w-full"
+          />
+        </div>
+      )}
+    </header>
+  )
+}
+
+function SpeakerSessions({
+  sessions,
+  className,
+}: {
+  sessions: ScheduleSession[]
+  className?: string
+}) {
+  return (
+    <div
+      className={clsx(
+        "grid lg:grid-cols-2 lg:gap-5 max-lg:[&>*:not(:last-child)]:border-b-0",
+        className,
+      )}
+    >
+      {sessions.map(session => (
+        <LongSessionCard key={session.id} session={session} />
+      ))}
+    </div>
+  )
+}
+
+function Hr({ className }: { className?: string }) {
+  return (
+    <hr
+      className={clsx(
+        "ml-[-50vw] w-[200vw] border-neu-200 dark:border-neu-100",
+        className,
+      )}
+    />
+  )
+}
diff --git a/src/app/conf/2025/speakers/opengraph-image.tsx b/src/app/conf/2025/speakers/opengraph-image.tsx
new file mode 100644
index 0000000000..435889efe5
--- /dev/null
+++ b/src/app/conf/2025/speakers/opengraph-image.tsx
@@ -0,0 +1,10 @@
+import { SimpleOpengraphImage } from "../components/og-images/simple-opengraph-image"
+export {
+  generateStaticParams,
+  contentType,
+  size,
+} from "../components/og-images/simple-opengraph-image"
+
+export default SimpleOpengraphImage.bind(null, {
+  pageTitle: "Speakers",
+})
diff --git a/src/app/conf/2025/speakers/page.tsx b/src/app/conf/2025/speakers/page.tsx
new file mode 100644
index 0000000000..c28c921119
--- /dev/null
+++ b/src/app/conf/2025/speakers/page.tsx
@@ -0,0 +1,59 @@
+import { Metadata } from "next"
+import { speakers } from "../_data"
+import { Hero } from "../components/hero"
+import { Button } from "../../_design-system/button"
+import { GET_TICKETS_LINK } from "../links"
+import { SpeakerCard } from "../components/speaker-card"
+import { CtaCardSection } from "../components/cta-card-section"
+import { HERO_MARQUEE_ITEMS } from "../utils"
+import { MarqueeRows } from "../components/marquee-rows"
+import { FAQ } from "../faq"
+
+export const metadata: Metadata = {
+  title: "Speakers",
+}
+
+export default function Page() {
+  const year = "2025"
+
+  return (
+    <main className="gql-all-anchors-focusable bg-neu-50 dark:bg-neu-0">
+      <Hero pageName="Speakers" year={year}>
+        <div className="mt-[18px] flex gap-4">
+          <Button href={GET_TICKETS_LINK}>Get your tickets</Button>
+          <Button variant="tertiary" href={`/conf/${year}/schedule`}>
+            See the schedule
+          </Button>
+        </div>
+      </Hero>
+
+      {/* <NavbarPlaceholder className="top-0 bg-neu-50 before:bg-white/40 dark:bg-neu-0 dark:before:bg-blk/30" /> */}
+      {/* <main className="gql-all-anchors-focusable gql-conf-navbar-strip text-neu-900 before:bg-white/40 before:dark:bg-blk/30"> */}
+      <div className="gql-conf-container gql-conf-section">
+        <div className="grid lg:grid-cols-2 lg:gap-5 max-lg:[&>:not(:first-child)]:border-t-0">
+          {speakers.map(speaker => (
+            <SpeakerCard key={speaker.username} speaker={speaker} year="2025" />
+          ))}
+        </div>
+      </div>
+
+      <div className="gql-conf-navbar-strip border-t border-neu-200 bg-neu-0 py-8 text-neu-900 before:bg-white/40 dark:border-neu-100 before:dark:bg-blk/30 xl:py-16">
+        <div className="gql-conf-container">
+          <FAQ />
+
+          <CtaCardSection
+            title="Get your ticket"
+            description="Join three transformative days of expert insights and innovation to shape the next decade of APIs!"
+          >
+            <Button variant="primary" href={GET_TICKETS_LINK}>
+              Get tickets
+            </Button>
+          </CtaCardSection>
+          <div className="py-8">
+            <MarqueeRows variant="secondary" items={HERO_MARQUEE_ITEMS} />
+          </div>
+        </div>
+      </div>
+    </main>
+  )
+}
diff --git a/src/app/conf/2025/sponsorship.tsx b/src/app/conf/2025/sponsorship.tsx
deleted file mode 100644
index 720e40e735..0000000000
--- a/src/app/conf/2025/sponsorship.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import { InfoGrid } from "../_components/info-grid"
-
-export function Sponsor() {
-  return (
-    <section id="sponsors">
-      <InfoGrid
-        title="Why Sponsor?"
-        subtitle="Connect with the global GraphQL community and showcase your brand to industry leaders and decision-makers."
-        listItems={[
-          {
-            title: "Brand Visibility",
-            description:
-              "Showcase your brand to thousands of GraphQL enthusiasts and decision-makers.",
-          },
-
-          {
-            title: "Lead Generation",
-            description:
-              "Connect with potential customers and partners in the GraphQL ecosystem.",
-          },
-          {
-            title: "Thought Leadership",
-            description:
-              "Position your company as a leader in the GraphQL space.",
-          },
-          {
-            title: "Talent Acquisition",
-            description:
-              "Meet and recruit top GraphQL developers and engineers.",
-          },
-          {
-            title: "Product Feedback",
-            description: "Gather valuable feedback from the GraphQL community.",
-          },
-          {
-            title: "Community Impact",
-            description: "Support and shape the future of GraphQL technology.",
-          },
-        ]}
-      />
-
-      <div className="mt-8 flex justify-center">
-        <a
-          href="https://events.linuxfoundation.org/sponsor-GraphQLConf-25?utm_source=graphql_conf_2025&utm_medium=website&utm_campaign=sponsor_section"
-          target="_blank"
-          rel="noreferrer"
-          className="bg-primary/85 px-20 py-4 text-center text-3xl font-semibold transition-colors hover:bg-primary/100 md:px-28"
-        >
-          Download Prospectus
-        </a>
-      </div>
-    </section>
-  )
-}
diff --git a/src/app/conf/2025/utils.ts b/src/app/conf/2025/utils.ts
new file mode 100644
index 0000000000..0b01f9692b
--- /dev/null
+++ b/src/app/conf/2025/utils.ts
@@ -0,0 +1,62 @@
+import { ScheduleSession } from "../2023/types"
+
+export const eventsColors: Record<string, string> = {
+  Breaks: "#7DAA5E",
+  "Keynote Sessions": "#7e66cc",
+  "Lightning Talks": "#1a5b77",
+  "Session Presentations": "#5c2e75",
+  Workshops: "#4b5fc0",
+  Unconference: "#7e66cc",
+  "API Platform": "#4e6e82",
+  Backend: "#36C1A0",
+  "Breaks & Special Events": "#7DAA5E",
+  "Defies Categorization": "#894545",
+  "Developer Experience": "#6fc9af",
+  "Federation and Composite Schemas": "#cbc749",
+  "GraphQL Clients": "#ca78fc",
+  "GraphQL in Production": "#e4981f",
+  "GraphQL Security": "#CC6BB0",
+  "GraphQL Spec": "#6B73CC",
+  Scaling: "#8D8D8D",
+  Frontend: "violet",
+  Documentation: "salmon",
+  "Schema Evolution": "thistle",
+  Security: "cornflowerblue",
+  "Case studies": "#894545",
+  "Federation and distributed systems": "#FC8251",
+}
+
+// We always display tags so thse would duplicate the same word.
+const prefixes = ["Keynote: ", "Unconference: "]
+
+export function getEventTitle(
+  event: Pick<ScheduleSession, "name">,
+  speakers: string[],
+): string {
+  let { name } = event
+
+  prefixes.forEach(prefix => {
+    if (name.startsWith(prefix)) {
+      name = name.slice(prefix.length)
+    }
+  })
+
+  if (!speakers) {
+    return name
+  }
+
+  speakers.forEach(speaker => {
+    const speakerInTitle = name.indexOf(`- ${speaker.replace("ı", "i")}`)
+    if (speakerInTitle > -1) {
+      name = name.slice(0, speakerInTitle)
+    }
+  })
+
+  return name
+}
+
+export const HERO_MARQUEE_ITEMS = [
+  ["COMMUNITY", "DEVELOPER EXPERIENCE", "APIs", "TOOLS & LIBRARIES"],
+  ["OPEN SOURCE", "FEDERATION", "ECOSYSTEMS", "TRACING & OBSERVABILITY"],
+  ["BEST PRACTICES", "WORKSHOPS", "SCHEMAS", "SECURITY"],
+]
diff --git a/src/app/conf/2025/venue.tsx b/src/app/conf/2025/venue.tsx
deleted file mode 100644
index cbffc86db0..0000000000
--- a/src/app/conf/2025/venue.tsx
+++ /dev/null
@@ -1,119 +0,0 @@
-import {
-  BusFront,
-  ExternalLink,
-  SquareParking,
-  TicketsPlane,
-} from "lucide-react"
-import Link from "next/link"
-
-const HOTELS = [
-  {
-    name: "Mövenpick Hotel Amsterdam City Centre",
-    link: "https://movenpick.accor.com/en/europe/netherlands/amsterdam/hotel-amsterdam.html?utm_source=google&utm_medium=local&utm_campaign=hotel-MHR-Amsterdam-city-center&y_source=1_MTUzNjI2OTgtNzE1LWxvY2F0aW9uLndlYnNpdGU%3D",
-    description: `Piet Heinkade 11\n1019 BR Amsterdam, Netherlands\nPhone: <a class="hover:text-primary underline" href="tel:+31 20 519 1200">+31 20 519 1200</a>`,
-  },
-  {
-    name: "Inntel Hotels Amsterdam Landmark",
-    link: "https://www.inntelhotelsamsterdamlandmark.nl/",
-    description: `VOC-kade 600\n1018 LG Amsterdam, Netherlands\n Phone: <a class="hover:text-primary underline" href="tel:+31 20 227 2550">+31 20 227 2550</a>`,
-  },
-  {
-    name: "DoubleTree by Hilton Amsterdam Central Station",
-    link: "https://www.hilton.com/en/hotels/amscsdi-doubletree-amsterdam-centraal-station/?SEO_id=GMB-EMEA-DI-AMSCSDI",
-    description: `Oosterdoksstraat 4 \n1011 DK Amsterdam, Netherlands\nPhone: <a class="hover:text-primary underline" href="tel:+31 20 530 0800">+31 20 530 0800</a>`,
-  },
-]
-
-const HOW_TO_GET_TO_VENUE = [
-  {
-    title: "Public Transportation",
-    description:
-      'Take tram 26 from Amsterdam Central Station to the "Rietlandpark" stop. The venue is a 5-minute walk from there.',
-    icon: <BusFront size={20} />,
-  },
-  {
-    title: "Airport Information",
-    description:
-      "Amsterdam Airport Schiphol is about 20 km from the venue. Take a direct train to Amsterdam Central Station, then follow the public transportation instructions.",
-    icon: <TicketsPlane size={20} />,
-  },
-  {
-    title: "Parking at venue",
-    description: `Limited parking is available at the venue. We recommend using public transportation when possible. Learn more about parking at <a class="hover:text-primary underline" href="https://dezwijger.nl/about-us-en/contact" target="_blank">Pakhuis de Zwijger</a>. If you require an accessible parking spot, park at Vriesseveem 4 or Withoedenveem 16 where you can park if you have a Disability Parking Card.`,
-    icon: <SquareParking size={20} />,
-  },
-]
-
-export function Venue() {
-  return (
-    <section>
-      <h1 className="mb-4 text-5xl font-bold">Venue</h1>
-      <div className="grid grid-cols-1 gap-10 md:grid-cols-2">
-        <div className="flex flex-col gap-2">
-          <h2 className="text-3xl">Conference</h2>
-          <address className="not-italic">
-            <strong>
-              <Link
-                className="underline hover:text-primary"
-                target="_blank"
-                href="https://dezwijger.nl/"
-              >
-                Pakhuis De Zwijger
-              </Link>
-            </strong>
-            <br /> Piet Heinkade 179, 1019 HC <br />
-            Amsterdam, Netherlands
-          </address>
-          <div className="flex flex-col gap-2">
-            <h3 className="mt-4 text-xl font-semibold">
-              How to get to the venue?
-            </h3>
-            {HOW_TO_GET_TO_VENUE.map(({ title, description, icon }) => (
-              <div key={title}>
-                <div className="flex flex-row items-center gap-4">
-                  {icon}
-                  <h5 className="text-lg">{title}</h5>
-                </div>
-                <p
-                  className="ml-9 max-w-96"
-                  dangerouslySetInnerHTML={{
-                    __html: description,
-                  }}
-                />
-              </div>
-            ))}
-          </div>
-        </div>
-
-        <div>
-          <h2 className="text-3xl">Hotel Information</h2>
-          <p className="mt-2">
-            The Linux Foundation has not contracted rooms at these properties
-            and cannot guarantee rates or availability.
-          </p>
-          <div className="mt-10 flex flex-col gap-4">
-            {HOTELS.map(hotel => (
-              <address className="not-italic" key={hotel.name}>
-                <strong>
-                  <a
-                    className="flex items-center gap-1 hover:underline"
-                    target="_blank"
-                    rel="noreferrer"
-                    href={hotel.link}
-                  >
-                    {hotel.name}
-                    <ExternalLink size={14} />
-                  </a>
-                </strong>
-                <span
-                  className="whitespace-pre-wrap"
-                  dangerouslySetInnerHTML={{ __html: hotel.description }}
-                />
-              </address>
-            ))}
-          </div>
-        </div>
-      </div>
-    </section>
-  )
-}
diff --git a/src/app/conf/_api/sched-client.tsx b/src/app/conf/_api/sched-client.tsx
new file mode 100644
index 0000000000..68d7d1daa6
--- /dev/null
+++ b/src/app/conf/_api/sched-client.tsx
@@ -0,0 +1,238 @@
+import { stripHtml } from "string-strip-html"
+
+import { SchedSpeaker, ScheduleSession } from "./sched-types"
+
+/**
+ * Sched's API has a rate limit of 30 requests per minute.
+ */
+let rateLimitResetAt: number | null = null
+
+type RequestURL = string
+type RequestPending = Promise<unknown>
+type RequestSuccess = "ok"
+type RequestError = Error
+
+const requestsRetried = new Map<
+  RequestURL,
+  RequestPending | RequestSuccess | RequestError
+>()
+
+export type RequestContext = {
+  apiUrl: string
+  token: string
+}
+
+export async function fetchSchedData(
+  ctx: RequestContext,
+  path: string,
+  searchParams: Record<string, string> = {},
+): Promise<object> {
+  const url = new URL(ctx.apiUrl + path)
+  const search = new URLSearchParams(searchParams)
+  search.set("api_key", ctx.token)
+  search.set("format", "json")
+  url.search = search.toString()
+
+  try {
+    if (rateLimitResetAt && Date.now() < rateLimitResetAt) {
+      const wait = rateLimitResetAt - Date.now()
+      await new Promise(resolve => setTimeout(resolve, wait))
+    }
+
+    const response = await fetch(url, {
+      method: "POST",
+      headers: {
+        "Content-Type": "application/json",
+        "User-Agent": "GraphQL Conf / GraphQL Foundation",
+      },
+      cache: "force-cache",
+    })
+
+    // Take note that this is feasible only because
+    // we're currently only using this API at build time.
+    if (response.status === 429) {
+      let wait = 60_000
+      const xRateLimitResetAt = response.headers.get("x-rate-limit-reset-at")
+      if (xRateLimitResetAt) {
+        rateLimitResetAt = Number(xRateLimitResetAt) * 1000
+        console.warn(
+          `Rate limit reset at ${new Date(rateLimitResetAt).toISOString()}`,
+        )
+        wait = rateLimitResetAt - Date.now()
+      }
+
+      const later = Promise.withResolvers<object>()
+      requestsRetried.set(url.toString(), later.promise)
+      const queueSize = requestsRetried.size
+
+      console.warn(
+        `Rate limit exceeded, retrying in ${Math.round(wait / 1000)}s: ${url} (queue size: ${queueSize})`,
+      )
+
+      const size = Object.entries(requestsRetried).filter(
+        ([_, status]) => status instanceof Promise,
+      ).length
+
+      console.warn(`${size} requests retrying...`)
+
+      setTimeout(
+        () =>
+          later.resolve(
+            fetchSchedData(ctx, path, searchParams).then(data => {
+              rateLimitResetAt = null
+              requestsRetried.set(url.toString(), "ok")
+              return data
+            }),
+          ),
+        wait,
+      )
+
+      return later.promise
+    }
+
+    const data = await response.json()
+    return data
+  } catch (e) {
+    const error = e instanceof Error ? e : new Error(String(e))
+    requestsRetried.set(url.toString(), error)
+
+    throw new Error(
+      `Error fetching data from ${url}: ${(error as Error).message || (error as Error).toString()}`,
+    )
+  }
+}
+
+export async function getSchedule(
+  ctx: RequestContext,
+): Promise<ScheduleSession[]> {
+  const sessions = (await fetchSchedData(
+    ctx,
+    "/session/export",
+  )) as ScheduleSession[]
+
+  const result = sessions
+    .filter(session => session.active === "Y")
+    .map(session => {
+      const { description } = session
+
+      // This field is sometimes sent as a string, sometimes as a number,
+      // so it creates noise in our diffs, but we don't use it anyway.
+      delete (session as Record<string, unknown>)["event_type_sort"]
+
+      // If Sched form includes just event type or event subtype and its a phrase separated by a dash,
+      // we split it into two fields.
+
+      let event_type = session.event_type || ""
+      let event_subtype = session.event_subtype || ""
+
+      if (!event_type && event_subtype.includes(" - ")) {
+        ;[event_type, event_subtype] = event_subtype.split(" - ")
+      } else if (!event_subtype && event_type.includes(" - ")) {
+        ;[event_type, event_subtype] = event_type.split(" - ")
+      }
+
+      return {
+        ...session,
+        event_type,
+        event_subtype,
+        description: preprocessDescription(description),
+      }
+    })
+
+  return result
+}
+
+const SPEAKER_FIELDS =
+  "username,company,position,name,about,location,url,avatar,role,socialurls"
+
+// We receive this fields despite the fact we don't ask for them.
+const SPEAKER_IGNORED_FIELDS = ["plusones", "tickets"]
+
+export async function getSpeakers(
+  ctx: RequestContext,
+): Promise<SchedSpeaker[]> {
+  const users = (await fetchSchedData(ctx, "/user/list", {
+    fields: SPEAKER_FIELDS,
+  })) as SchedSpeaker[]
+
+  const result = users
+    .filter(speaker => speaker.role?.includes("speaker"))
+    .map(shapeSpeaker)
+    .sort((a, b) => {
+      if (a.avatar && !b.avatar) return -1
+      if (!a.avatar && b.avatar) return 1
+      return 0
+    })
+
+  return result
+}
+
+/**
+ * `/user/list` is insufficient, as it does not return `socialurls` nor any other custom fields
+ */
+export async function getSpeakerDetails(
+  ctx: RequestContext,
+  username: string,
+): Promise<SchedSpeaker> {
+  const data = await fetchSchedData(ctx, "/user/get", {
+    by: "username",
+    term: username,
+    fields: SPEAKER_FIELDS,
+  })
+
+  return shapeSpeaker(data as SchedSpeaker)
+}
+
+function preprocessDescription(description: string | undefined | null): string {
+  let res = description || ""
+
+  // we respect manual line breaks
+  res = res.replace(/<br\s*\/?>/g, "\n")
+
+  // respecting <li> and <a> tags doesn't make sense, because speakers don't use them consistently
+  // we'll improve how the descriptions look later down the tree in the session details page
+  return stripHtml(res).result
+}
+
+function shapeSpeaker(user: SchedSpeaker): SchedSpeaker {
+  const res: SchedSpeaker = {
+    ...user,
+    _years: user._years || [],
+    socialurls: user.socialurls || [],
+    about: preprocessDescription(user.about),
+  }
+
+  for (const field of SPEAKER_IGNORED_FIELDS) {
+    delete res[field as keyof typeof res]
+  }
+  delete res.role
+
+  if (res.avatar?.startsWith("http://")) {
+    res.avatar = res.avatar.slice(5)
+  }
+
+  return res
+}
+
+/**
+ * Merges speaker data from API with existing local data,
+ * preserving important local fields when API returns empty values.
+ */
+export function mergeSpeaker(
+  oldSpeaker: SchedSpeaker,
+  newSpeaker: SchedSpeaker,
+): SchedSpeaker {
+  return {
+    ...oldSpeaker,
+    ...newSpeaker,
+    socialurls: newSpeaker.socialurls?.length
+      ? newSpeaker.socialurls
+      : oldSpeaker.socialurls,
+    ["_years"]: [
+      ...new Set([
+        ...(oldSpeaker["_years"] || []),
+        ...(newSpeaker["_years"] || []),
+      ]),
+    ].sort(),
+  }
+}
diff --git a/src/app/conf/_api/sched-data.tsx b/src/app/conf/_api/sched-data.tsx
new file mode 100644
index 0000000000..4ec0d7abc7
--- /dev/null
+++ b/src/app/conf/_api/sched-data.tsx
@@ -0,0 +1,42 @@
+import { ConferenceYear, SchedSpeaker } from "./sched-types"
+import { mergeSpeaker } from "./sched-client"
+
+const speakersData = require("../../../../scripts/sync-sched/speakers.json")
+const allSpeakers: SchedSpeaker[] = speakersData.speakers
+const equalitySets: string[][] = speakersData.equal || []
+
+export function readSpeakers(year: ConferenceYear): SchedSpeaker[] {
+  const speakersThisYear = allSpeakers.filter(speaker =>
+    speaker._years.includes(year),
+  )
+
+  const speakersWithDuplicates = new Set(equalitySets.flat())
+
+  const res = speakersThisYear.map(speaker => {
+    if (speakersWithDuplicates.has(speaker.username)) {
+      return (
+        equalitySets
+          .find(set => set.includes(speaker.username))! // we will definitely find, because we checked .has above
+          .map(username => allSpeakers.find(s => s.username === username))
+          .filter(x => !!x)
+          // we prefer the data from the most recent years
+          .sort((a, b) => Math.max(...a._years) - Math.max(...b._years))
+          // and the `year` of the conference we're fetching data for
+          .concat([speaker])
+          .reduce(mergeSpeaker)
+      )
+    }
+    return speaker
+  })
+
+  return (
+    res
+      .sort((a, b) => a.name.localeCompare(b.name))
+      // show speakers without avatars last
+      .sort((a, b) => {
+        if (a.avatar && !b.avatar) return -1
+        if (!a.avatar && b.avatar) return 1
+        return 0
+      })
+  )
+}
diff --git a/src/app/conf/_api/sched-types.ts b/src/app/conf/_api/sched-types.ts
new file mode 100644
index 0000000000..85cccd988c
--- /dev/null
+++ b/src/app/conf/_api/sched-types.ts
@@ -0,0 +1,38 @@
+export type ScheduleSession = {
+  id: string
+  active: "Y" | "N"
+  audience: string
+  description: string
+  event_end: string
+  event_start: string
+  event_subtype: string
+  event_type: string
+  name: string
+  venue: string
+  /**
+   * This can actually be audience too.
+   */
+  company: string
+  speakers?: SchedSpeaker[]
+  files?: { name: string; path: string }[]
+}
+
+export type SchedSpeaker = {
+  username: string
+  name: string
+  about: string
+  company?: string
+  position?: string
+  avatar?: string
+  url?: string
+  role?: string
+  location?: string
+  /* merged on conflict */
+  socialurls: { service: string; url: string }[]
+  /* unix timestamp, ignored when diffing */
+  ["~syncedDetailsAt"]?: number
+  /* added on export, merged on conflict */
+  _years: ConferenceYear[]
+}
+
+export type ConferenceYear = 2025 | 2024 | 2023
diff --git a/src/app/conf/_components/button.tsx b/src/app/conf/_components/button.tsx
index 097d59d5c1..87dde8edb4 100644
--- a/src/app/conf/_components/button.tsx
+++ b/src/app/conf/_components/button.tsx
@@ -19,7 +19,7 @@ export function Button({
   return disabled ? (
     <span
       className={clsx(
-        "inline-flex w-fit cursor-default whitespace-nowrap rounded border-0 px-6 py-2 text-center text-sm no-underline transition ease-in-out sm:text-base",
+        "inline-flex w-fit cursor-default whitespace-nowrap rounded border-0 px-6 py-2 text-center text-sm no-underline subpixel-antialiased transition ease-in-out sm:text-base",
         "bg-gray-400 font-medium text-white",
         className,
       )}
diff --git a/src/app/conf/_components/info-grid.tsx b/src/app/conf/_components/info-grid.tsx
index 2483cffc4a..ed9cb8b51f 100644
--- a/src/app/conf/_components/info-grid.tsx
+++ b/src/app/conf/_components/info-grid.tsx
@@ -14,24 +14,19 @@ export const InfoGrid: React.FC<InfoGridProps> = ({
   id,
 }) => (
   <section id={id}>
-    <h1 className="mb-4 text-5xl font-bold text-white">{title}</h1>
-    <p className="mb-8 text-lg font-normal text-white">{subtitle}</p>
-
-    {/* Horizontal Scrollable Grid */}
+    <h1 className="typography-h2 mb-4">{title}</h1>
+    <p className="typography-body-lg xl:mb-4">{subtitle}</p>
     <div
       style={{
         scrollSnapType: "x mandatory",
       }}
-      className="scroll-snap-x flex snap-mandatory gap-6 overflow-x-auto lg:grid lg:grid-cols-3 lg:overflow-visible"
+      className="-mx-4 flex gap-6 overflow-x-auto p-4 lg:grid lg:grid-cols-3 lg:overflow-visible"
     >
       {listItems.map(({ title, description }, index) => (
-        <div
-          key={index}
-          className="lg-w[80%] w-[70%] flex-shrink-0 snap-start border border-primary p-6 text-white shadow-lg lg:w-full lg:max-w-sm"
-        >
-          <h2 className="mb-2 text-2xl font-bold">{title}</h2>
+        <div key={index} className="min-w-64 border border-neu-400 p-3">
+          <h2 className="typography-body-lg mb-2">{title}</h2>
           <p
-            className="text-base [&>a]:underline [&>a]:hover:text-primary"
+            className="typography-body-md [&_a]:typography-link"
             dangerouslySetInnerHTML={{ __html: description }}
           ></p>
         </div>
diff --git a/src/app/conf/_components/schedule/filters.tsx b/src/app/conf/_components/schedule/filters.tsx
index ad2199af86..31f926d1b6 100644
--- a/src/app/conf/_components/schedule/filters.tsx
+++ b/src/app/conf/_components/schedule/filters.tsx
@@ -27,6 +27,7 @@ export function Filters({
       )}
       <Menu as="div" className="relative inline-block text-left">
         <Transition
+          as="div"
           enter="transition ease-out duration-100"
           enterFrom="transform opacity-0 scale-95"
           enterTo="transform opacity-100 scale-100"
diff --git a/src/app/conf/_components/schedule/schedule-list.tsx b/src/app/conf/_components/schedule/schedule-list.tsx
index 05e6d9e61a..dec44b844c 100644
--- a/src/app/conf/_components/schedule/schedule-list.tsx
+++ b/src/app/conf/_components/schedule/schedule-list.tsx
@@ -2,11 +2,12 @@
 
 import { format, parseISO, compareAsc } from "date-fns"
 import { ReactElement, useEffect, useState } from "react"
+
+import { SchedSpeaker, ScheduleSession } from "@/app/conf/_api/sched-types"
 import { getEventTitle } from "@/app/conf/2023/utils"
+
 import { Filters } from "./filters"
-import { SchedSpeaker } from "../../2023/types"
 import {
-  ScheduleSession,
   CategoryName,
   ConcurrentSessions,
   ScheduleSessionsByDay,
@@ -171,7 +172,13 @@ export function ScheduleList({
                       <div className="mb-4 flex flex-col lg:flex-row">
                         <div className="relative">
                           <span className="mb-5 mt-3 inline-block w-20 whitespace-nowrap text-gray-500 lg:mr-7 lg:mt-0 lg:w-28">
-                            {format(parseISO(sessionDate), "hh:mmaaaa 'PDT'")}
+                            {parseISO(sessionDate).toLocaleTimeString(
+                              undefined,
+                              {
+                                hour: "2-digit",
+                                minute: "2-digit",
+                              },
+                            )}
                           </span>
                           <div className="absolute right-3 top-0 hidden h-full w-0.5 bg-gray-200 lg:block" />
                         </div>
@@ -185,10 +192,9 @@ export function ScheduleList({
 
                             const speakers = session.speakers
                             const formattedSpeakers = isString(speakers || [])
-                              ? (speakers as string)?.split(",")
+                              ? (speakers as unknown as string)?.split(",")
                               : (speakers as SchedSpeaker[])?.map(e => e.name)
                             const eventTitle = getEventTitle(
-                              // @ts-expect-error fixme
                               session,
                               formattedSpeakers,
                             )
diff --git a/src/app/conf/_components/schedule/session-list.tsx b/src/app/conf/_components/schedule/session-list.tsx
index b3d4c1067f..16799bc2ae 100644
--- a/src/app/conf/_components/schedule/session-list.tsx
+++ b/src/app/conf/_components/schedule/session-list.tsx
@@ -3,24 +3,10 @@
 import { compareAsc } from "date-fns"
 import { ComponentProps, ReactElement, useEffect, useState } from "react"
 import { Filters } from "./filters"
-import { SchedSpeaker } from "../../2023/types"
+import { SchedSpeaker, ScheduleSession } from "../../2023/types"
 import { clsx } from "clsx"
 import NextLink from "next/link"
 
-export interface ScheduleSession {
-  id: string
-  audience: string
-  description: string
-  event_end: string
-  event_start: string
-  event_subtype: string
-  event_type: string
-  name: string
-  venue?: string
-  speakers?: SchedSpeaker[] | string
-  files?: { name: string; path: string }[]
-}
-
 export interface ConcurrentSessions {
   [date: string]: ScheduleSession[]
 }
diff --git a/src/app/conf/_components/server-component-markdown.tsx b/src/app/conf/_components/server-component-markdown.tsx
new file mode 100644
index 0000000000..7b4111bd99
--- /dev/null
+++ b/src/app/conf/_components/server-component-markdown.tsx
@@ -0,0 +1,89 @@
+import "server-only"
+
+// @ts-expect-error - we already have it in transitive deps and I want to avoid having a duplicate
+import { compile, run } from "@mdx-js/mdx"
+import * as runtime from "react/jsx-runtime"
+import { Root, Element } from "hast"
+import { visit } from "unist-util-visit"
+import { toString } from "hast-util-to-string"
+import Slugger from "github-slugger"
+
+/**
+ * Nextra's builtin MDX support requires jumping out to a Client component
+ * (and creating new file) and we don't really need that for everything.
+ *
+ * Sometimes we want to grab some markdown without all the remark and rehype
+ * plugins configured by Nextra.
+ */
+export async function ServerComponentMarkdown({
+  markdown,
+  extractToc = false,
+  render = ({ mdx }) => mdx({}),
+}: {
+  markdown: string
+  extractToc?: boolean
+  render?: (props: {
+    mdx: ({
+      components,
+    }: {
+      components?: MdxComponents
+    }) => React.AwaitedReactNode
+    data: { toc: TableOfContents }
+  }) => React.AwaitedReactNode
+}) {
+  try {
+    const rehypePlugins = extractToc ? [rehypeExtractTableOfContents] : []
+
+    const vfile = await compile(markdown, {
+      outputFormat: "function-body",
+      remarkPlugins: [],
+      rehypePlugins,
+      recmaPlugins: [],
+    })
+
+    const { default: mdx } = await run(vfile, {
+      ...runtime,
+      baseUrl: import.meta.url,
+    })
+
+    return render({ data: vfile.data, mdx })
+  } catch (error) {
+    console.error(error)
+    if (process.env.NODE_ENV === "production") throw error
+    return (
+      <div>{error instanceof Error ? error.message : "Error loading MDX"}</div>
+    )
+  }
+}
+
+type TableOfContents = Array<{ value: string; id: string; depth: number }>
+type MdxComponents = Record<string, React.ComponentType>
+
+/**
+ * Nextra has a built-in plugin like this, but it also steals the heading contents
+ * as is tightly coupled with other Nextra features.
+ */
+function rehypeExtractTableOfContents() {
+  const slugger = new Slugger()
+
+  return function (tree: Root, file: any) {
+    const toc: TableOfContents = []
+
+    visit(tree, "element", (node: Element) => {
+      if (node.tagName && /^h[1-6]$/.test(node.tagName)) {
+        const depth = parseInt(node.tagName.charAt(1), 10)
+        const value = toString(node)
+        const slug = slugger.slug(value)
+
+        node.properties ||= node.properties || {}
+        // add id to the heading element if it's not already set
+        node.properties.id ||= slug
+
+        toc.push({ value, id: slug, depth })
+      }
+    })
+
+    file.data = file.data || {}
+    file.data.toc = toc
+  }
+}
diff --git a/src/app/conf/_components/social-icons.tsx b/src/app/conf/_components/social-icons.tsx
index 4ad7494b40..db65b94e61 100644
--- a/src/app/conf/_components/social-icons.tsx
+++ b/src/app/conf/_components/social-icons.tsx
@@ -6,15 +6,25 @@ import {
   YouTubeIcon,
   FacebookIcon,
 } from "@/icons"
+import clsx from "clsx"
 
 const anchorProps = {
   target: "_blank",
   rel: "noreferrer",
 }
 
-export function SocialIcons() {
+export function SocialIcons({
+  className,
+  ...rest
+}: React.HTMLAttributes<HTMLDivElement>) {
   return (
-    <div className="flex items-center gap-5 *:outline-none *:transition-colors hover:*:text-primary focus:*:text-primary focus:*:ring focus:*:ring-primary [&_svg]:h-5">
+    <div
+      className={clsx(
+        "flex items-center gap-1 *:p-2 *:outline-none *:transition-colors hover:*:text-primary focus:*:text-primary focus:*:ring focus:*:ring-primary [&_svg]:h-5",
+        className,
+      )}
+      {...rest}
+    >
       <a href="https://github.com/graphql" {...anchorProps}>
         <GitHubIcon />
       </a>
diff --git a/src/app/conf/_components/speakers/social-media.tsx b/src/app/conf/_components/speakers/social-media.tsx
index 2c1dda28cc..631ffc5b48 100644
--- a/src/app/conf/_components/speakers/social-media.tsx
+++ b/src/app/conf/_components/speakers/social-media.tsx
@@ -1,17 +1,27 @@
-import { TwitterIcon, FacebookIcon, LinkedInIcon, InstagramIcon } from "@/icons"
+import {
+  TwitterIcon,
+  FacebookIcon,
+  LinkedInIcon,
+  InstagramIcon,
+  GlobeIcon,
+} from "@/icons"
+import clsx from "clsx"
 
 export type SocialMediaIconServiceType =
   | "twitter"
   | "linkedin"
   | "facebook"
   | "instagram"
+  | "website"
 
 export const SocialMediaIcon = ({
   service,
+  className,
 }: {
   service: SocialMediaIconServiceType
+  className?: string
 }) => {
-  const classes = "h-7 hover:text-primary transition-colors"
+  const classes = clsx("h-7 hover:text-primary transition-colors", className)
 
   switch (service) {
     case "twitter":
@@ -22,6 +32,8 @@ export const SocialMediaIcon = ({
       return <FacebookIcon className={classes} />
     case "instagram":
       return <InstagramIcon className={classes} />
+    case "website":
+      return <GlobeIcon className={classes} />
     default:
       throw new Error(`Can't found social icon for "${service}" service.`)
   }
diff --git a/src/app/conf/_components/speakers/speaker.tsx b/src/app/conf/_components/speakers/speaker.tsx
index 457ccaad10..1c267e151b 100644
--- a/src/app/conf/_components/speakers/speaker.tsx
+++ b/src/app/conf/_components/speakers/speaker.tsx
@@ -1,7 +1,12 @@
-import { Avatar } from "./avatar"
-import { SocialMediaIcon, SocialMediaIconServiceType } from "./social-media"
-import { SchedSpeaker } from "@/app/conf/2023/types"
 import NextLink from "next/link"
+import { ConferenceYear, SchedSpeaker } from "@/app/conf/_api/sched-types"
+
+import { SocialMediaIcon, SocialMediaIconServiceType } from "./social-media"
+import { Avatar } from "./avatar"
+
+export interface SpeakerProps extends SchedSpeaker {
+  year: ConferenceYear
+}
 
 export function Speaker({
   name,
@@ -11,7 +16,7 @@ export function Speaker({
   username,
   socialurls,
   year,
-}: SchedSpeaker) {
+}: SpeakerProps) {
   return (
     <div className="flex flex-col items-center">
       <NextLink href={`/conf/${year}/speakers/${username}`} className="group">
diff --git a/src/app/conf/_design-system/README.md b/src/app/conf/_design-system/README.md
new file mode 100644
index 0000000000..5e2a979477
--- /dev/null
+++ b/src/app/conf/_design-system/README.md
@@ -0,0 +1 @@
+UI from 2025's designs
diff --git a/src/app/conf/_design-system/accordion.tsx b/src/app/conf/_design-system/accordion.tsx
new file mode 100644
index 0000000000..c914281222
--- /dev/null
+++ b/src/app/conf/_design-system/accordion.tsx
@@ -0,0 +1,69 @@
+"use client"
+
+import clsx from "clsx"
+
+import ArrowDown from "@/app/conf/_design-system/pixelarticons/arrow-down.svg?svgr"
+import ExternalLink from "@/app/conf/_design-system/pixelarticons/external-link.svg?svgr"
+
+import { Anchor } from "./anchor"
+
+export interface AccordionItem {
+  title: string
+  description: React.ReactNode
+  link?: string
+}
+
+export interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
+  items: AccordionItem[]
+  multiple?: boolean
+}
+
+export function Accordion({
+  items,
+  multiple = false,
+  className,
+  ...rest
+}: AccordionProps) {
+  return (
+    <div className={clsx("grow space-y-4", className)} {...rest}>
+      {items.map((item, index) => (
+        <details
+          open={index === 0}
+          key={index}
+          className="group/q w-full border border-sec-darker @container dark:border-sec-dark"
+          onClick={event => {
+            if (!multiple) {
+              const allDetails =
+                event.currentTarget.parentElement?.querySelectorAll("details")
+              if (allDetails) {
+                allDetails.forEach(details => {
+                  if (details !== event.currentTarget) {
+                    details.open = false
+                  }
+                })
+              }
+            }
+          }}
+        >
+          <summary className="flex cursor-pointer list-none items-center justify-between gap-2 border-sec-darker p-2 px-3 focus:outline-none group-open/q:border-b dark:border-sec-dark [&::-webkit-details-marker]:hidden">
+            <span className="typography-body-lg select-none">{item.title}</span>
+            <ArrowDown className="size-10 shrink-0 text-sec-darker group-open/q:rotate-180" />
+          </summary>
+          <div className="flex items-start p-3">
+            <div className="typography-body-md text-pretty">
+              {item.description}
+            </div>
+            {item.link && (
+              <Anchor
+                href={item.link}
+                className="ml-auto p-2 hover:bg-neu-800/10"
+              >
+                <ExternalLink className="size-6" />
+              </Anchor>
+            )}
+          </div>
+        </details>
+      ))}
+    </div>
+  )
+}
diff --git a/src/app/conf/_design-system/anchor.tsx b/src/app/conf/_design-system/anchor.tsx
new file mode 100644
index 0000000000..72c5635b83
--- /dev/null
+++ b/src/app/conf/_design-system/anchor.tsx
@@ -0,0 +1,42 @@
+import { ForwardedRef, forwardRef, ReactElement } from "react"
+import NextLink from "next/link"
+import type { LinkProps as NextLinkProps } from "next/link"
+
+// eslint-disable-next-line @typescript-eslint/no-namespace
+export declare namespace AnchorProps {
+  interface IntrinsicAnchorProps
+    extends React.DetailedHTMLProps<
+      React.AnchorHTMLAttributes<HTMLAnchorElement>,
+      HTMLAnchorElement
+    > {
+    href: `#${string}` | `http${string}`
+  }
+
+  interface InternalAnchorProps extends NextLinkProps {}
+}
+
+export type AnchorProps =
+  | AnchorProps.IntrinsicAnchorProps
+  | AnchorProps.InternalAnchorProps
+
+export const Anchor = forwardRef(function Anchor(
+  props: AnchorProps,
+  ref: ForwardedRef<HTMLAnchorElement>,
+) {
+  return isInternal(props) ? (
+    <NextLink {...props} ref={ref} />
+  ) : (
+    <a ref={ref} rel="noopener noreferrer" target="_blank" {...props} />
+  )
+}) as (props: AnchorProps) => ReactElement
+
+function isInternal(
+  props: AnchorProps,
+): props is AnchorProps.InternalAnchorProps {
+  return (
+    typeof props.href === "object" ||
+    (typeof props.href === "string" &&
+      !props.href.startsWith("http") &&
+      !props.href.startsWith("#"))
+  )
+}
diff --git a/src/app/conf/_design-system/button.tsx b/src/app/conf/_design-system/button.tsx
new file mode 100644
index 0000000000..7d86d2d490
--- /dev/null
+++ b/src/app/conf/_design-system/button.tsx
@@ -0,0 +1,100 @@
+import { clsx } from "clsx"
+import { Anchor } from "./anchor"
+
+type Size = "md" | "lg"
+type Variant = "primary" | "secondary" | "tertiary"
+
+// eslint-disable-next-line @typescript-eslint/no-namespace
+export declare namespace ButtonProps {
+  export interface BaseProps {
+    size?: Size
+    variant?: Variant
+  }
+
+  export interface AnchorProps
+    extends BaseProps,
+      React.DetailedHTMLProps<
+        React.AnchorHTMLAttributes<HTMLAnchorElement>,
+        HTMLAnchorElement
+      > {
+    href: string
+    as?: never
+    className?: string
+    disabled?: boolean
+  }
+
+  export interface ButtonProps
+    extends BaseProps,
+      React.DetailedHTMLProps<
+        React.ButtonHTMLAttributes<HTMLButtonElement>,
+        HTMLButtonElement
+      > {
+    href?: never
+    as?: never
+    className?: string
+    disabled?: boolean
+    type?: "button" | "submit" | "reset"
+    onClick?: React.MouseEventHandler<HTMLButtonElement>
+  }
+
+  /**
+   * Use inside `<summary>` or as visual part of bigger interactive element.
+   * Prefer `a` and `button` Buttons otherwise.
+   */
+  export interface NonInteractiveProps
+    extends BaseProps,
+      React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement> {
+    href?: never
+    as: "span" | "div"
+    className?: string
+  }
+}
+
+export type ButtonProps =
+  | ButtonProps.AnchorProps
+  | ButtonProps.ButtonProps
+  | ButtonProps.NonInteractiveProps
+
+export function Button(props: ButtonProps) {
+  const className = clsx(
+    "relative flex items-center justify-center gap-2.5 font-normal text-base/none text-neu-0 bg-neu-900 hover:bg-neu-800 active:bg-neu-700 font-sans h-14 px-8 data-[size=md]:h-12 data-[variant=secondary]:bg-neu-100 data-[variant=secondary]:text-neu-900 data-[variant=secondary]:hover:bg-neu-200/75 data-[variant=secondary]:active:bg-neu-200/90 data-[variant=tertiary]:bg-neu-100 data-[variant=tertiary]:text-neu-900 data-[variant=tertiary]:hover:bg-neu-200 data-[variant=tertiary]:active:bg-neu-300 gql-focus-visible [aria-disabled]:bg-neu-800 aria-disabled:pointer-events-none dark:data-[variant=tertiary]:bg-neu-900/10 dark:data-[variant=tertiary]:text-neu-900 dark:data-[variant=tertiary]:hover:bg-neu-900/[.125] dark:data-[variant=tertiary]:active:bg-neu-800/20 dark:data-[variant=tertiary]:ring-1 dark:data-[variant=tertiary]:ring-inset dark:data-[variant=tertiary]:ring-neu-900/20",
+    props.className,
+  )
+
+  const styleAttrs = { "data-size": props.size, "data-variant": props.variant }
+
+  if ("href" in props && typeof props.href === "string") {
+    const { className: _1, size: _2, disabled, children, ...rest } = props
+
+    if (disabled) (rest as { href?: string }).href = undefined
+
+    return (
+      <Anchor
+        className={className}
+        aria-disabled={disabled}
+        {...styleAttrs}
+        {...rest}
+      >
+        {children}
+      </Anchor>
+    )
+  }
+
+  if (props.as) {
+    const { className: _1, size: _2, children, as, ...rest } = props
+    const Root = as as "span" // we don't need HTMLDivElement type
+    return (
+      <Root className={className} {...styleAttrs} {...rest}>
+        {children}
+      </Root>
+    )
+  }
+
+  const { className: _1, size: _2, children, ...rest } = props
+
+  return (
+    <button className={className} {...styleAttrs} {...rest}>
+      {children}
+    </button>
+  )
+}
diff --git a/src/app/conf/_design-system/marquee.tsx b/src/app/conf/_design-system/marquee.tsx
new file mode 100644
index 0000000000..ab1b9b8e11
--- /dev/null
+++ b/src/app/conf/_design-system/marquee.tsx
@@ -0,0 +1,187 @@
+"use client"
+
+import { clsx } from "clsx"
+import { useMotionValue, animate, motion, useReducedMotion } from "motion/react"
+import { useState, useEffect, Fragment, useId } from "react"
+import useMeasure from "react-use-measure"
+
+export interface MarqueeProps extends React.HTMLAttributes<HTMLElement> {
+  children: React.ReactNode
+  gap?: number
+  speed?: number
+  speedOnHover?: number
+  direction?: "horizontal" | "vertical"
+  reverse?: boolean
+  className?: string
+  drag?: boolean
+  separator?: React.ReactNode
+}
+
+export function Marquee({
+  children,
+  gap = 16,
+  speed = 100,
+  speedOnHover,
+  direction = "horizontal",
+  reverse = false,
+  className,
+  drag = false,
+  separator,
+  ...rest
+}: MarqueeProps) {
+  const shouldReduceMotion = useReducedMotion()
+  const [currentSpeed, setCurrentSpeed] = useState(speed)
+  const [ref, { width, height }] = useMeasure()
+
+  // ensure the marquees don't start in the same place.
+  const initialShiftPx = useSomeValue() * -64
+
+  const translation = useMotionValue(initialShiftPx)
+  const [isTransitioning, setIsTransitioning] = useState(false)
+  const [key, setKey] = useState(0)
+
+  useEffect(() => {
+    if (shouldReduceMotion) {
+      setCurrentSpeed(0)
+      return
+    }
+
+    let controls
+    const size = direction === "horizontal" ? width : height
+    const contentSize = size + gap
+    const from = reverse ? 0 : -contentSize / 2
+    const to = reverse ? -contentSize / 2 : 0
+
+    const distanceToTravel = Math.abs(to - from)
+    const duration = distanceToTravel / currentSpeed
+
+    if (isTransitioning) {
+      const remainingDistance = Math.abs(translation.get() - to)
+      const transitionDuration = remainingDistance / currentSpeed
+
+      controls = animate(translation, [translation.get(), to], {
+        ease: "linear",
+        duration: transitionDuration,
+        onComplete: () => {
+          setIsTransitioning(false)
+          setKey(prevKey => prevKey + 1)
+        },
+      })
+    } else {
+      controls = animate(translation, [from, to], {
+        ease: "linear",
+        duration: duration,
+        repeat: Infinity,
+        repeatType: "loop",
+        repeatDelay: 0,
+        onRepeat: () => {
+          translation.set(from)
+        },
+      })
+    }
+
+    return controls?.stop
+  }, [
+    key,
+    translation,
+    currentSpeed,
+    width,
+    height,
+    gap,
+    isTransitioning,
+    direction,
+    reverse,
+    shouldReduceMotion,
+  ])
+
+  const hoverProps =
+    speedOnHover != null
+      ? {
+          onHoverStart: () => {
+            setIsTransitioning(true)
+            setCurrentSpeed(speedOnHover)
+          },
+          onHoverEnd: () => {
+            setIsTransitioning(true)
+            setCurrentSpeed(speed)
+          },
+          onPointerUp: (_event: React.PointerEvent<HTMLElement>) => {
+            if (window.matchMedia("(hover: none)").matches) {
+              setIsTransitioning(true)
+              setCurrentSpeed(speed)
+            }
+          },
+        }
+      : {}
+
+  const dragProps = drag
+    ? {
+        drag: direction === "horizontal" ? ("x" as const) : ("y" as const),
+        onPointerDown: () => {
+          document.documentElement.style.setProperty(
+            "--cursor-grabbing",
+            "grabbing",
+          )
+        },
+        onPointerUp: (_event: React.PointerEvent<HTMLElement>) => {
+          document.documentElement.style.cursor = "initial"
+          document.documentElement.style.removeProperty("--cursor-grabbing")
+        },
+        onDragEnd: () => {
+          setIsTransitioning(true)
+          setCurrentSpeed(speed)
+        },
+        dragConstraints:
+          direction === "horizontal"
+            ? {
+                right: 0,
+                // window.innerWidth won't be stale because resizing the window triggers useMeasure
+                left:
+                  typeof window !== "undefined"
+                    ? window.innerWidth - width
+                    : undefined,
+              }
+            : {},
+      }
+    : {}
+
+  const multiples = 2
+
+  return (
+    <div className={clsx("overflow-hidden", className)} {...rest}>
+      <motion.div
+        className="flex w-max"
+        style={{
+          ...(direction === "horizontal"
+            ? { x: translation }
+            : { y: translation }),
+          gap: `${gap}px`,
+          flexDirection: direction === "horizontal" ? "row" : "column",
+          alignItems: "center",
+        }}
+        ref={ref}
+        {...dragProps}
+        {...hoverProps}
+        onPointerUp={event => {
+          dragProps.onPointerUp?.(event)
+          hoverProps.onPointerUp?.(event)
+        }}
+      >
+        {Array.from({ length: multiples }).map((_, i) => (
+          <Fragment key={i}>
+            {children}
+            {i < multiples - 1 && separator}
+          </Fragment>
+        ))}
+      </motion.div>
+    </div>
+  )
+}
+
+function useSomeValue() {
+  const id = useId()
+  const num =
+    id.split("").reduce((acc, char) => acc + char.charCodeAt(0), 0) - 950
+
+  return Math.abs(Math.sin(num))
+}
diff --git a/src/app/conf/_design-system/pixelarticons/arrow-down.svg b/src/app/conf/_design-system/pixelarticons/arrow-down.svg
new file mode 100644
index 0000000000..bc9157f91b
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/arrow-down.svg
@@ -0,0 +1,13 @@
+<svg
+  xmlns="http://www.w3.org/2000/svg"
+  width="40"
+  height="40"
+  viewBox="0 0 40 40"
+  fill="currentColor"
+>
+  <path
+    fill-rule="evenodd"
+    clip-rule="evenodd"
+    d="M18.3333 6.6665H21.6666V26.6665H25V29.9998H21.6666V33.3332H18.3333V29.9998H15V26.6665H18.3333V6.6665ZM11.6666 23.3332V26.6665H15V23.3332H11.6666ZM11.6666 23.3332V19.9998H8.33331V23.3332H11.6666ZM28.3333 23.3332V26.6665H25V23.3332H28.3333ZM28.3333 23.3332L28.3333 19.9998H31.6666V23.3332H28.3333Z"
+  />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/calendar-icon.tsx b/src/app/conf/_design-system/pixelarticons/calendar-icon.tsx
new file mode 100644
index 0000000000..f6815b3b3c
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/calendar-icon.tsx
@@ -0,0 +1,15 @@
+import { SVGProps } from "react"
+
+export function CalendarIcon(props: SVGProps<SVGSVGElement>) {
+  return (
+    <svg
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="currentColor"
+      {...props}
+    >
+      <path d="M15 2h2v2h4v18H3V4h4V2h2v2h6V2zM5 8h14V6H5v2zm0 2v10h14V10H5z" />
+    </svg>
+  )
+}
diff --git a/src/app/conf/_design-system/pixelarticons/caret-down.svg b/src/app/conf/_design-system/pixelarticons/caret-down.svg
new file mode 100644
index 0000000000..428cdbbaaf
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/caret-down.svg
@@ -0,0 +1,14 @@
+<svg
+  xmlns="http://www.w3.org/2000/svg"
+  width="25"
+  height="24"
+  viewBox="0 0 25 24"
+  fill="none"
+>
+  <path
+    fill-rule="evenodd"
+    clip-rule="evenodd"
+    d="M7.66669 8H5.66669V10H7.66669V12H9.66669V14H11.6667V16H13.6667V14H15.6667V12H17.6667V10H19.6667V8H17.6667V10H15.6667V12H13.6667V14H11.6667V12H9.66669V10H7.66669V8Z"
+    fill="#A0A88A"
+  />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/chevron-right.tsx b/src/app/conf/_design-system/pixelarticons/chevron-right.tsx
new file mode 100644
index 0000000000..698c7d5917
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/chevron-right.tsx
@@ -0,0 +1,17 @@
+export function ChevronRight(props: React.SVGProps<SVGSVGElement>) {
+  return (
+    <svg
+      width="16"
+      height="16"
+      viewBox="0 0 16 16"
+      fill="currentColor"
+      {...props}
+    >
+      <path
+        fillRule="evenodd"
+        clipRule="evenodd"
+        d="M6.66666 13.3332H5.33333V2.6665H6.66666V3.99984H7.99999V5.99984H9.33333V7.33317H10.6667V8.6665H9.33333V9.99984H7.99999V11.9998H6.66666V13.3332Z"
+      />
+    </svg>
+  )
+}
diff --git a/src/app/conf/_design-system/pixelarticons/clock.svg b/src/app/conf/_design-system/pixelarticons/clock.svg
new file mode 100644
index 0000000000..bfc82287a8
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/clock.svg
@@ -0,0 +1,11 @@
+<svg
+  xmlns="http://www.w3.org/2000/svg"
+  width="16"
+  height="16"
+  viewBox="0 0 16 16"
+  fill="currentColor"
+>
+  <path
+    d="M12.667 14H3.33301V12.667H12.667V14ZM3.33301 12.667H2V3.33301H3.33301V12.667ZM14 12.667H12.667V3.33301H14V12.667ZM8.66699 8.66699H11.333V10H7.33301V4.66699H8.66699V8.66699ZM12.667 3.33301H3.33301V2H12.667V3.33301Z"
+  />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/close.svg b/src/app/conf/_design-system/pixelarticons/close.svg
new file mode 100644
index 0000000000..c11e70ca27
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/close.svg
@@ -0,0 +1,5 @@
+<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+  <path
+    d="M5 5h2v2H5V5zm4 4H7V7h2v2zm2 2H9V9h2v2zm2 0h-2v2H9v2H7v2H5v2h2v-2h2v-2h2v-2h2v2h2v2h2v2h2v-2h-2v-2h-2v-2h-2v-2zm2-2v2h-2V9h2zm2-2v2h-2V7h2zm0 0V5h2v2h-2z"
+  />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/code.svg b/src/app/conf/_design-system/pixelarticons/code.svg
new file mode 100644
index 0000000000..70d68d1694
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/code.svg
@@ -0,0 +1,16 @@
+<svg width="40" height="40" viewBox="0 0 40 40" fill="currentColor">
+  <path d="M13.332 8.33326H16.6654V11.6666H13.332V8.33326Z" />
+  <path d="M9.9987 11.6666H13.332V14.9999H9.9987V11.6666Z" />
+  <path d="M6.66536 14.9999H9.9987V18.3333H6.66536V14.9999Z" />
+  <path d="M3.33203 18.3333H6.66536V21.6666H3.33203V18.3333Z" />
+  <path d="M6.66536 21.6666H9.9987V24.9999H6.66536V21.6666Z" />
+  <path d="M9.9987 24.9999H13.332V28.3333H9.9987V24.9999Z" />
+  <path d="M13.332 28.3333H16.6654V31.6666H13.332V28.3333Z" />
+  <path d="M26.6654 8.33326H23.332V11.6666H26.6654V8.33326Z" />
+  <path d="M29.9987 11.6666H26.6654V14.9999H29.9987V11.6666Z" />
+  <path d="M33.332 14.9999H29.9987V18.3333H33.332V14.9999Z" />
+  <path d="M36.6654 18.3333H33.332V21.6666H36.6654V18.3333Z" />
+  <path d="M33.332 21.6666H29.9987V24.9999H33.332V21.6666Z" />
+  <path d="M29.9987 24.9999H26.6654V28.3333H29.9987V24.9999Z" />
+  <path d="M26.6654 28.3333H23.332V31.6666H26.6654V28.3333Z" />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/external-link.svg b/src/app/conf/_design-system/pixelarticons/external-link.svg
new file mode 100644
index 0000000000..f049b87933
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/external-link.svg
@@ -0,0 +1,5 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
+  <path
+    d="M11 7H5V19H17V13H19V21H3V5H11V7ZM11 15H9V13H11V15ZM13 13H11V11H13V13ZM15 11H13V9H15V11ZM21 11H19V7H17V5H13V3H21V11ZM17 9H15V7H17V9Z"
+  />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/menu.svg b/src/app/conf/_design-system/pixelarticons/menu.svg
new file mode 100644
index 0000000000..c87a5135c7
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/menu.svg
@@ -0,0 +1,3 @@
+<svg fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+  <path d="M4 6h16v2H4V6zm0 5h16v2H4v-2zm16 5H4v2h16v-2z" />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/pin-icon.tsx b/src/app/conf/_design-system/pixelarticons/pin-icon.tsx
new file mode 100644
index 0000000000..8ff6d25a24
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/pin-icon.tsx
@@ -0,0 +1,15 @@
+import { SVGProps } from "react"
+
+export function PinIcon(props: SVGProps<SVGSVGElement>) {
+  return (
+    <svg
+      width="24"
+      height="24"
+      viewBox="0 0 24 24"
+      fill="currentColor"
+      {...props}
+    >
+      <path d="M7 2h10v2H7V2zM5 6V4h2v2H5zm0 8H3V6h2v8zm2 2H5v-2h2v2zm2 2H7v-2h2v2zm2 2H9v-2h2v2zm2 0v2h-2v-2h2zm2-2v2h-2v-2h2zm2-2v2h-2v-2h2zm2-2v2h-2v-2h2zm0-8h2v8h-2V6zm0 0V4h-2v2h2zm-5 2h-4v4h4V8z" />
+    </svg>
+  )
+}
diff --git a/src/app/conf/_design-system/pixelarticons/play.svg b/src/app/conf/_design-system/pixelarticons/play.svg
new file mode 100644
index 0000000000..ae782c30e1
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/play.svg
@@ -0,0 +1,7 @@
+<svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor">
+  <path
+    fill-rule="evenodd"
+    clip-rule="evenodd"
+    d="M5 10H4V2H5V3H6V4.5H7V5.5H8V6.5H7V7.5H6V9H5V10Z"
+  />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/plus.svg b/src/app/conf/_design-system/pixelarticons/plus.svg
new file mode 100644
index 0000000000..a15b9ccd30
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/plus.svg
@@ -0,0 +1,7 @@
+<svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor">
+  <path
+    fill-rule="evenodd"
+    clip-rule="evenodd"
+    d="M6 2h1v3h3v1H7v3H6V6H3V5h3V2z"
+  />
+</svg>
diff --git a/src/app/conf/_design-system/pixelarticons/reload.svg b/src/app/conf/_design-system/pixelarticons/reload.svg
new file mode 100644
index 0000000000..093be3fc7c
--- /dev/null
+++ b/src/app/conf/_design-system/pixelarticons/reload.svg
@@ -0,0 +1,7 @@
+<svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor">
+  <path
+    fill-rule="evenodd"
+    clip-rule="evenodd"
+    d="M8 1H7V2H8V3H2V4H1V6.5H2V4H8V5H7V6H8V5H9V4H10V3H9V2H8V1ZM3 10H4V11H5V10H4V9H10V8H11V5.5H10V8H4V7H5V6H4V7H3V8H2V9H3V10Z"
+  />
+</svg>
diff --git a/src/app/conf/_design-system/social-icon.tsx b/src/app/conf/_design-system/social-icon.tsx
new file mode 100644
index 0000000000..1cd3c83ea9
--- /dev/null
+++ b/src/app/conf/_design-system/social-icon.tsx
@@ -0,0 +1,67 @@
+import {
+  TwitterIcon,
+  FacebookIcon,
+  LinkedInFilledIcon,
+  InstagramIcon,
+  GlobeIcon,
+} from "@/icons"
+
+export type SocialIconType =
+  | "twitter"
+  | "linkedin"
+  | "facebook"
+  | "instagram"
+  | "website"
+
+export const SocialIconType = {
+  /**
+   * We need to keep this array to show social icons in a
+   * consistent order in speaker cards even if they come
+   * from an external source.
+   */
+  all: [
+    "linkedin",
+    "twitter",
+    "instagram",
+    "facebook",
+    "website",
+  ] satisfies SocialIconType[],
+}
+
+export interface SocialIconProps extends React.SVGProps<SVGSVGElement> {
+  type: SocialIconType | (string & {})
+}
+
+export const SocialIcon = ({ type, ...rest }: SocialIconProps) => {
+  switch (type.toLowerCase()) {
+    case "twitter":
+      return <TwitterIcon {...rest} />
+    case "linkedin":
+      return <LinkedInFilledIcon {...rest} />
+    case "facebook":
+      return <FacebookIcon {...rest} />
+    case "instagram":
+      return <InstagramIcon {...rest} />
+    case "website":
+      return <GlobeIcon {...rest} />
+    default:
+      throw new Error(`Can't found social icon for "${type}".`)
+  }
+}
+
+export function urlForUser(type: SocialIconType, handleOrWebsite: string) {
+  switch (type) {
+    case "twitter":
+      return `https://x.com/${handleOrWebsite}`
+    case "linkedin":
+      return `https://www.linkedin.com/in/${handleOrWebsite}`
+    case "instagram":
+      return `https://www.instagram.com/${handleOrWebsite}`
+    case "facebook":
+      return `https://www.facebook.com/${handleOrWebsite}`
+    case "website":
+      return handleOrWebsite
+    default:
+      throw new Error(`Can't found social icon for "${type}".`)
+  }
+}
diff --git a/src/app/conf/_design-system/stripes-decoration.tsx b/src/app/conf/_design-system/stripes-decoration.tsx
new file mode 100644
index 0000000000..8d03825612
--- /dev/null
+++ b/src/app/conf/_design-system/stripes-decoration.tsx
@@ -0,0 +1,44 @@
+import clsx from "clsx"
+
+const maskEven =
+  "repeating-linear-gradient(to right, transparent, transparent var(--stripe-width), black var(--stripe-width), black calc(var(--stripe-width) * 2))"
+
+const maskOdd =
+  "repeating-linear-gradient(to right, black, black var(--stripe-width), transparent var(--stripe-width), transparent calc(var(--stripe-width) * 2))"
+
+export interface StripesDecorationProps {
+  evenClassName?: string
+  oddClassName?: string
+  stripeWidth?: string
+}
+
+export function StripesDecoration({
+  stripeWidth = "12px",
+  evenClassName,
+  oddClassName,
+}: StripesDecorationProps) {
+  return (
+    <>
+      {evenClassName && (
+        <div
+          className={clsx("absolute inset-0", evenClassName)}
+          style={{
+            ...({ "--stripe-width": stripeWidth } as React.CSSProperties),
+            maskImage: maskEven,
+            WebkitMaskImage: maskEven,
+          }}
+        />
+      )}
+      {oddClassName && (
+        <div
+          className={clsx("absolute inset-0", oddClassName)}
+          style={{
+            ...({ "--stripe-width": stripeWidth } as React.CSSProperties),
+            maskImage: maskOdd,
+            WebkitMaskImage: maskOdd,
+          }}
+        />
+      )}
+    </>
+  )
+}
diff --git a/src/app/conf/_design-system/tag.tsx b/src/app/conf/_design-system/tag.tsx
new file mode 100644
index 0000000000..9dbdacb35a
--- /dev/null
+++ b/src/app/conf/_design-system/tag.tsx
@@ -0,0 +1,27 @@
+import clsx from "clsx"
+
+export interface TagProps extends React.HTMLAttributes<HTMLSpanElement> {
+  color: string
+}
+export function Tag({ color, children, style, className, ...rest }: TagProps) {
+  return (
+    <span
+      className={clsx(
+        "relative self-start whitespace-nowrap border px-2 py-1 font-mono text-xs/none uppercase dark:opacity-[96.5%]",
+        className,
+      )}
+      style={{ borderColor: color, ...style }}
+      {...rest}
+    >
+      <span
+        className="absolute inset-0 opacity-20"
+        style={{
+          backgroundColor: color,
+        }}
+      />
+      <span className="relative flex items-center justify-center gap-2">
+        {children}
+      </span>
+    </span>
+  )
+}
diff --git a/src/app/env.d.ts b/src/app/env.d.ts
index f83eac487c..9692f82cd7 100644
--- a/src/app/env.d.ts
+++ b/src/app/env.d.ts
@@ -6,3 +6,13 @@ declare module "*.mdx" {
   export default ReactComponent
   export const getStaticPaths: GetStaticPaths
 }
+
+declare module "*.svg?svgr" {
+  const content: React.FC<React.SVGProps<SVGElement>>
+  export default content
+}
+
+declare module "*.mdx?raw" {
+  const content: string
+  export default content
+}
diff --git a/src/app/fonts/CommitMono-VariableFont.woff2 b/src/app/fonts/CommitMono-VariableFont.woff2
new file mode 100644
index 0000000000..f9ac1ee498
Binary files /dev/null and b/src/app/fonts/CommitMono-VariableFont.woff2 differ
diff --git a/src/app/fonts/HostGrotesk-Italic-VariableFont_wght.woff2 b/src/app/fonts/HostGrotesk-Italic-VariableFont_wght.woff2
new file mode 100644
index 0000000000..32f2878065
Binary files /dev/null and b/src/app/fonts/HostGrotesk-Italic-VariableFont_wght.woff2 differ
diff --git a/src/app/fonts/HostGrotesk-VariableFont_wght.woff2 b/src/app/fonts/HostGrotesk-VariableFont_wght.woff2
new file mode 100644
index 0000000000..a07056dc7d
Binary files /dev/null and b/src/app/fonts/HostGrotesk-VariableFont_wght.woff2 differ
diff --git a/src/app/fonts/index.tsx b/src/app/fonts/index.tsx
new file mode 100644
index 0000000000..7293ad719f
--- /dev/null
+++ b/src/app/fonts/index.tsx
@@ -0,0 +1,30 @@
+import localFont from "next/font/local"
+
+export const hostGrotesk = localFont({
+  src: [
+    { path: "./HostGrotesk-VariableFont_wght.woff2" },
+    { path: "./HostGrotesk-Italic-VariableFont_wght.woff2", style: "italic" },
+  ],
+  weight: "300 800",
+})
+
+export const commitMono = localFont({
+  src: "./CommitMono-VariableFont.woff2",
+  weight: "200 700",
+  declarations: [
+    {
+      prop: "font-feature-settings",
+      value: "'ss01' on, 'ss02' on, 'ss04' on, 'ss05' on, 'cv08' on",
+    },
+  ],
+})
+
+const newFontsStyles = /* css */ `
+html {
+  --font-sans: ${hostGrotesk.style.fontFamily};
+  --font-mono: ${commitMono.style.fontFamily};
+}`
+
+export const NewFontsStyleTag = () => {
+  return <style dangerouslySetInnerHTML={{ __html: newFontsStyles }} />
+}
diff --git a/src/app/fonts/og/CommitMono-400-Regular.ttf b/src/app/fonts/og/CommitMono-400-Regular.ttf
new file mode 100644
index 0000000000..a8896f365a
Binary files /dev/null and b/src/app/fonts/og/CommitMono-400-Regular.ttf differ
diff --git a/src/app/fonts/og/HostGrotesk-Regular.ttf b/src/app/fonts/og/HostGrotesk-Regular.ttf
new file mode 100644
index 0000000000..0a59cfa22c
Binary files /dev/null and b/src/app/fonts/og/HostGrotesk-Regular.ttf differ
diff --git a/src/app/fonts/og/load-fonts-for-og.ts b/src/app/fonts/og/load-fonts-for-og.ts
new file mode 100644
index 0000000000..9fbdee9fd1
--- /dev/null
+++ b/src/app/fonts/og/load-fonts-for-og.ts
@@ -0,0 +1,29 @@
+import type { ImageResponse } from "next/og"
+
+import { readFile } from "node:fs/promises"
+import { resolve } from "node:path"
+
+type FontOptions = NonNullable<
+  NonNullable<ConstructorParameters<typeof ImageResponse>[1]>["fonts"]
+>[number]
+
+/**
+ * Fonts used in Open Graph images must be .ttf or .woff due to a limitation in opentype.js.
+ * @see https://github.com/vercel/satori/discussions/157.
+ * Variable fonts are flaky and inconsistent with `@vercel/og`.
+ * @see https://github.com/vercel/satori/issues/320
+ */
+export async function loadFontsForOG(): Promise<FontOptions[]> {
+  const cwd = process.cwd()
+  const dirname = "src/app/fonts/og"
+  return [
+    {
+      data: await readFile(resolve(cwd, dirname, "HostGrotesk-Regular.ttf")),
+      name: "Host Grotesk",
+    },
+    {
+      data: await readFile(resolve(cwd, dirname, "CommitMono-400-Regular.ttf")),
+      name: "Commit Mono",
+    },
+  ]
+}
diff --git a/src/app/fonts/old-fonts.tsx b/src/app/fonts/old-fonts.tsx
new file mode 100644
index 0000000000..e1dd37b937
--- /dev/null
+++ b/src/app/fonts/old-fonts.tsx
@@ -0,0 +1,14 @@
+import { Roboto_Flex } from "next/font/google"
+
+export const robotoFlex = Roboto_Flex({
+  subsets: ["latin"],
+})
+
+const oldFontsStyles = /* css */ `
+html {
+  --font-sans: ${robotoFlex.style.fontFamily};
+}`
+
+export const OldFontsStyleTag = () => {
+  return <style dangerouslySetInnerHTML={{ __html: oldFontsStyles }} />
+}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 574cde150d..15d63115b0 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,13 +1,8 @@
 import { ReactElement, ReactNode } from "react"
 import { Metadata } from "next"
-import { Roboto_Flex } from "next/font/google"
 import GoogleAnalytics from "@/app/ga"
 import "../globals.css"
 
-const font = Roboto_Flex({
-  subsets: ["latin"],
-})
-
 export const metadata: Metadata = {
   twitter: {
     site: "@graphql",
@@ -28,7 +23,12 @@ export default function RootLayout({
   children: ReactNode
 }): ReactElement {
   return (
-    <html lang="en" className={`scroll-smooth ${font.className}`}>
+    <html
+      lang="en"
+      className="scroll-smooth"
+      // ThemeProvider adds a `light`/`dark` class
+      suppressHydrationWarning
+    >
       <head>
         <style>{`html { scroll-padding-top: 5rem }`}</style>
       </head>
diff --git a/src/code/language-support/javascript/server/apollo-server.md b/src/code/language-support/javascript/server/apollo-server.md
index d88aa3ef09..ac951b7f41 100644
--- a/src/code/language-support/javascript/server/apollo-server.md
+++ b/src/code/language-support/javascript/server/apollo-server.md
@@ -17,17 +17,18 @@ Then run `node server.js` with this code in `server.js`:
 ```js
 import { ApolloServer } from "@apollo/server"
 import { startStandaloneServer } from "@apollo/server/standalone"
-import { buildSchema } from "graphql"
 
-const schema = buildSchema(`
-   type Query {
-      hello: String
-   }
-`)
+// The GraphQL schema
+const typeDefs = `#graphql
+  type Query {
+    hello: String
+  }
+`
 
+// A map of functions which return data for the schema.
 const resolvers = {
   Query: {
-    hello: () => "Hello World!",
+    hello: () => "world",
   },
 }
 
@@ -37,7 +38,6 @@ const server = new ApolloServer({
 })
 
 const { url } = await startStandaloneServer(server)
-
 console.log(`🚀 Server ready at ${url}`)
 ```
 
diff --git a/src/code/language-support/php/server/graphql-attribute-schema.md b/src/code/language-support/php/server/graphql-attribute-schema.md
new file mode 100644
index 0000000000..f07fe4cfc1
--- /dev/null
+++ b/src/code/language-support/php/server/graphql-attribute-schema.md
@@ -0,0 +1,111 @@
+---
+name: graphql-attribute-schema
+description: Easily build your GraphQL schema for webonyx/graphql-php using PHP attributes instead of large configuration arrays.
+url: https://jerowork.github.io/graphql-attribute-schema
+github: jerowork/graphql-attribute-schema
+---
+
+Easily build your GraphQL schema for `webonyx/graphql-php` using PHP attributes instead of large configuration arrays.
+
+A simple example:
+
+```php
+use Jerowork\GraphqlAttributeSchema\Attribute\Enum;
+use Jerowork\GraphqlAttributeSchema\Attribute\Field;
+use Jerowork\GraphqlAttributeSchema\Attribute\InputType;
+use Jerowork\GraphqlAttributeSchema\Attribute\Mutation;
+use Jerowork\GraphqlAttributeSchema\Attribute\Query;
+use Jerowork\GraphqlAttributeSchema\Attribute\Type;
+
+final readonly class CreateUserMutation
+{
+    #[Mutation]
+    public function createUser(CreateUserInputType $input): User
+    {
+        // Business logic to create a user
+    }
+}
+
+final readonly class UserQuery
+{
+    #[Query(description: 'Get a user')]
+    public function user(int $userid): User
+    {
+        // Fetch and return user data
+    }
+}
+
+#[InputType]
+final readonly class CreateUserInputType
+{
+    public function __construct(
+        #[Field]
+        public int $userId,
+        #[Field]
+        public string $name,
+        #[Field(name: 'phoneNumber')]
+        public ?string $phone,
+    ) {}
+}
+
+#[Type]
+final readonly class User
+{
+    // Define fields as class properties
+    public function __construct(
+        #[Field]
+        public int $userId,
+        #[Field]
+        public string $name,
+        public ?string $phone,
+        #[Field(description: 'The status of the user')]
+        public UserStatusType $status,
+    ) {}
+
+    // Define fields with methods for additional logic
+    #[Field]
+    public function getPhoneNumber(): string
+    {
+        return sprintf('+31%s', $this->phone);
+    }
+}
+
+#[Enum(description: 'The status of the user')]
+enum UserStatusType: string
+{
+    case Created = 'CREATED';
+    case Removed = 'REMOVED';
+}
+```
+
+This will result in the following GraphQL schema:
+
+```graphql
+type Mutation {
+  createUser(input: CreateUserInput!): User!
+}
+
+type Query {
+  user(userId: Int!): User!
+}
+
+input CreateUserInput {
+  userId: Int!
+  name: String!
+  phoneNumber: String
+}
+
+type User {
+  userId: Int!
+  name: String!
+  status: UserStatus!
+  phoneNumber: String
+}
+
+enum UserStatus {
+  CREATED
+  REMOVED
+}
+```
+
+Available attributes: `Mutation`, `Query`, `Type`, `InterfaceType`, `InputType`, `Enum`, `EnumValue`, `Field`, `Arg`, `Autowire`, `Scalar`, `Cursor`
diff --git a/src/code/services/grafbase.md b/src/code/services/grafbase.md
index 78dd9406ea..2444f91ad7 100644
--- a/src/code/services/grafbase.md
+++ b/src/code/services/grafbase.md
@@ -1,5 +1,5 @@
 ---
 name: Grafbase
-description: GraphQL backends made easy. Build your backend declaratively using a schema-first approach. Accelerate development and reduce boilerplate code by leveraging powerful directives and scalars.
+description: Grafbase provides secure self-hosted deployment options for GraphQL Federation, unmatched query speed, advanced governance, and unified data access for reliable, enterprise-grade API management. Learn more about scaling GraphQL Federation with [Grafbase](https://grafbase.com).
 url: https://grafbase.com
 ---
diff --git a/src/code/tools/hive/gateways-supergraphs/hive.md b/src/code/tools/hive/gateways-supergraphs/hive.md
index 467c6d4f92..af42b94f1e 100644
--- a/src/code/tools/hive/gateways-supergraphs/hive.md
+++ b/src/code/tools/hive/gateways-supergraphs/hive.md
@@ -4,3 +4,9 @@ description: Hive Gateway can act as a GraphQL federation gateway or a proxy for
 url: https://the-guild.dev/graphql/hive
 github: graphql-hive/gateway
 ---
+
+[Hive Gateway](https://the-guild.dev/graphql/hive/docs/gateway) is a fully open-source, MIT-licensed GraphQL router that can act as a [GraphQL Federation](https://the-guild.dev/graphql/hive/federation) gateway, a subgraph or a proxy gateway for any GraphQL API service.
+
+Hive Gateway provides a flexible, open-source solution tailored to meet the needs of modern GraphQL architectures.
+
+It supports deployment as a [standalone binary](https://the-guild.dev/graphql/hive/docs/gateway#starting-the-gateway), a [Docker image](https://the-guild.dev/graphql/hive/docs/gateway/deployment/docker), or a [JavaScript package](https://the-guild.dev/graphql/hive/docs/gateway#installation), making it compatible with environments such as [Node.js](https://the-guild.dev/graphql/hive/docs/gateway/deployment/runtimes/nodejs), [Bun](https://the-guild.dev/graphql/hive/docs/gateway/deployment/runtimes/bun), [Deno](https://the-guild.dev/graphql/hive/docs/gateway/deployment/runtimes/deno), [Google Cloud Functions](https://the-guild.dev/graphql/hive/docs/gateway/deployment/serverless/google-cloud-platform), [Azure Functions](https://the-guild.dev/graphql/hive/docs/gateway/deployment/serverless/azure-functions), [AWS Lambda](https://the-guild.dev/graphql/hive/docs/gateway/deployment/serverless/aws-lambda), or [Cloudflare Workers](https://the-guild.dev/graphql/hive/docs/gateway/deployment/serverless/cloudflare-workers).
diff --git a/src/components/index-page/powerful-tools.tsx b/src/components/index-page/powerful-tools.tsx
index 4c679c8993..f56f703ee4 100644
--- a/src/components/index-page/powerful-tools.tsx
+++ b/src/components/index-page/powerful-tools.tsx
@@ -9,6 +9,7 @@ export function PowerFulTools() {
           your editor, highlight potential issues before sending a query, and
           take advantage of improved code intelligence. GraphQL makes it easy to
           build powerful tools like{" "}
+          {/* eslint-disable-next-line react/jsx-no-target-blank */}
           <a
             href="https://github.com/graphql/graphiql"
             target="_blank"
diff --git a/src/get-github-info.ts b/src/get-github-info.ts
index f52e6c53e2..48cf01e237 100644
--- a/src/get-github-info.ts
+++ b/src/get-github-info.ts
@@ -8,7 +8,6 @@ async function main() {
 
   const githubStats: Record<string, unknown> = {}
 
-  // @ts-expect-error
   for (const [index, filePath] of filePaths.entries()) {
     const content = await fs.readFile(filePath, "utf8")
     const { data } = grayMatter(content)
diff --git a/src/github-stats.json b/src/github-stats.json
index 71fa63ef3e..9e26dfeeb6 100644
--- a/src/github-stats.json
+++ b/src/github-stats.json
@@ -1,1274 +1 @@
-{
-  "altair-graphql/altair": {
-    "hasCommitsInLast3Months": false,
-    "stars": 4981,
-    "formattedStars": "5k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-02T23:05:31Z",
-    "formattedLastRelease": "3 weeks ago"
-  },
-  "apache/apisix": {
-    "hasCommitsInLast3Months": false,
-    "stars": 13572,
-    "formattedStars": "14k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-25T10:09:53Z",
-    "formattedLastRelease": "2 days ago"
-  },
-  "apollographql/apollo-studio-community": {
-    "hasCommitsInLast3Months": false,
-    "stars": 247,
-    "formattedStars": "247",
-    "license": "Unknown",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "ChilliCream/hotchocolate": {
-    "hasCommitsInLast3Months": false,
-    "stars": 4852,
-    "formattedStars": "5k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-26T20:29:04Z",
-    "formattedLastRelease": "20 hours ago"
-  },
-  "dgraph-io/dgraph": {
-    "hasCommitsInLast3Months": false,
-    "stars": 20002,
-    "formattedStars": "20k",
-    "license": "Other",
-    "lastRelease": "2023-08-17T19:57:12Z",
-    "formattedLastRelease": "7 months ago"
-  },
-  "yahoo/elide": {
-    "hasCommitsInLast3Months": false,
-    "stars": 984,
-    "formattedStars": "1k",
-    "license": "Other",
-    "lastRelease": "2024-03-23T17:37:05Z",
-    "formattedLastRelease": "3 days ago"
-  },
-  "graphapi-io/resources": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1,
-    "formattedStars": "1",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "hasura/graphql-engine": {
-    "hasCommitsInLast3Months": false,
-    "stars": 30748,
-    "formattedStars": "31k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-24T15:06:36Z",
-    "formattedLastRelease": "3 days ago"
-  },
-  "Kong/insomnia": {
-    "hasCommitsInLast3Months": false,
-    "stars": 32832,
-    "formattedStars": "33k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-27T13:34:31Z",
-    "formattedLastRelease": "3 hours ago"
-  },
-  "postmanlabs/postman-app-support": {
-    "hasCommitsInLast3Months": false,
-    "stars": 5729,
-    "formattedStars": "6k",
-    "license": "Unknown",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "prisma/prisma": {
-    "hasCommitsInLast3Months": false,
-    "stars": 36814,
-    "formattedStars": "37k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-12T14:56:01Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "stepzen-dev/examples": {
-    "hasCommitsInLast3Months": false,
-    "stars": 40,
-    "formattedStars": "40",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "TykTechnologies/tyk": {
-    "hasCommitsInLast3Months": false,
-    "stars": 9186,
-    "formattedStars": "9k",
-    "license": "Other",
-    "lastRelease": "2024-03-07T13:28:33Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "twinlogix/typetta": {
-    "hasCommitsInLast3Months": false,
-    "stars": 98,
-    "formattedStars": "98",
-    "license": "Apache License 2.0",
-    "lastRelease": "2023-10-16T07:50:50Z",
-    "formattedLastRelease": "5 months ago"
-  },
-  "webiny/webiny-js": {
-    "hasCommitsInLast3Months": false,
-    "stars": 7071,
-    "formattedStars": "7k",
-    "license": "Other",
-    "lastRelease": "2024-03-12T13:07:17Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "ballerina-platform/module-ballerina-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 144,
-    "formattedStars": "144",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-02-21T06:14:48Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "graphql-dotnet/graphql-client": {
-    "hasCommitsInLast3Months": false,
-    "stars": 598,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-20T13:07:11Z",
-    "formattedLastRelease": "1 week ago"
-  },
-  "bkniffler/graphql-net-client": {
-    "hasCommitsInLast3Months": false,
-    "stars": 94,
-    "formattedStars": "94",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "sahb1239/SAHB.GraphQLClient": {
-    "hasCommitsInLast3Months": false,
-    "stars": 43,
-    "formattedStars": "43",
-    "license": "MIT License",
-    "lastRelease": "2020-05-17T10:50:58Z",
-    "formattedLastRelease": "3 years ago"
-  },
-  "byme8/ZeroQL": {
-    "hasCommitsInLast3Months": false,
-    "stars": 238,
-    "formattedStars": "238",
-    "license": "MIT License",
-    "lastRelease": "2024-02-19T19:05:47Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "EntityGraphQL/EntityGraphQL": {
-    "hasCommitsInLast3Months": false,
-    "stars": 376,
-    "formattedStars": "376",
-    "license": "MIT License",
-    "lastRelease": "2024-03-19T16:00:01Z",
-    "formattedLastRelease": "1 week ago"
-  },
-  "graphql-dotnet/graphql-dotnet": {
-    "hasCommitsInLast3Months": false,
-    "stars": 5726,
-    "formattedStars": "6k",
-    "license": "MIT License",
-    "lastRelease": "2024-02-06T15:23:47Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "chkimes/graphql-net": {
-    "hasCommitsInLast3Months": false,
-    "stars": 889,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "rivantsov/ngraphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 37,
-    "formattedStars": "37",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "graphql/libgraphqlparser": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1055,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2017-10-16T21:47:42Z",
-    "formattedLastRelease": "6 years ago"
-  },
-  "oliyh/re-graph": {
-    "hasCommitsInLast3Months": false,
-    "stars": 455,
-    "formattedStars": "455",
-    "license": "Unknown",
-    "lastRelease": "2022-07-20T09:24:02Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "alumbra/alumbra": {
-    "hasCommitsInLast3Months": false,
-    "stars": 148,
-    "formattedStars": "148",
-    "license": "MIT License",
-    "lastRelease": "2017-06-12T12:14:25Z",
-    "formattedLastRelease": "6 years ago"
-  },
-  "tendant/graphql-clj": {
-    "hasCommitsInLast3Months": false,
-    "stars": 282,
-    "formattedStars": "282",
-    "license": "Eclipse Public License 1.0",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "walmartlabs/lacinia": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1798,
-    "formattedStars": "2k",
-    "license": "Other",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "burner/graphqld": {
-    "hasCommitsInLast3Months": false,
-    "stars": 34,
-    "formattedStars": "34",
-    "license": "GNU Lesser General Public License v3.0",
-    "lastRelease": "2023-12-15T16:28:51Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "annkissam/common_graphql_client": {
-    "hasCommitsInLast3Months": false,
-    "stars": 43,
-    "formattedStars": "43",
-    "license": "MIT License",
-    "lastRelease": "2020-05-05T16:48:50Z",
-    "formattedLastRelease": "3 years ago"
-  },
-  "uesteibar/neuron": {
-    "hasCommitsInLast3Months": false,
-    "stars": 322,
-    "formattedStars": "322",
-    "license": "Other",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "absinthe-graphql/absinthe": {
-    "hasCommitsInLast3Months": false,
-    "stars": 4211,
-    "formattedStars": "4k",
-    "license": "Other",
-    "lastRelease": "2021-09-28T21:41:45Z",
-    "formattedLastRelease": "2 years ago"
-  },
-  "graphql-elixir/graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 859,
-    "formattedStars": "1k",
-    "license": "Other",
-    "lastRelease": "2016-09-09T04:49:46Z",
-    "formattedLastRelease": "7 years ago"
-  },
-  "dillonkearns/elm-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 775,
-    "formattedStars": "1k",
-    "license": "BSD 3-Clause \"New\" or \"Revised\" License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "jlouis/graphql-erlang": {
-    "hasCommitsInLast3Months": false,
-    "stars": 314,
-    "formattedStars": "314",
-    "license": "Other",
-    "lastRelease": "2018-06-22T12:35:43Z",
-    "formattedLastRelease": "5 years ago"
-  },
-  "gql-dart/ferry": {
-    "hasCommitsInLast3Months": false,
-    "stars": 575,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "zino-app/graphql-flutter": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3212,
-    "formattedStars": "3k",
-    "license": "MIT License",
-    "lastRelease": "2023-12-28T21:29:30Z",
-    "formattedLastRelease": "2 months ago"
-  },
-  "Khan/genqlient": {
-    "hasCommitsInLast3Months": false,
-    "stars": 970,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-05T07:00:55Z",
-    "formattedLastRelease": "3 weeks ago"
-  },
-  "hasura/go-graphql-client": {
-    "hasCommitsInLast3Months": false,
-    "stars": 366,
-    "formattedStars": "366",
-    "license": "MIT License",
-    "lastRelease": "2024-03-04T16:49:07Z",
-    "formattedLastRelease": "3 weeks ago"
-  },
-  "shurcooL/graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 684,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "machinebox/graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 919,
-    "formattedStars": "1k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2018-05-31T14:28:32Z",
-    "formattedLastRelease": "5 years ago"
-  },
-  "99designs/gqlgen": {
-    "hasCommitsInLast3Months": false,
-    "stars": 9560,
-    "formattedStars": "10k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-11T23:13:45Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "andrewwphillips/eggql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 32,
-    "formattedStars": "32",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "appointy/jaal": {
-    "hasCommitsInLast3Months": false,
-    "stars": 76,
-    "formattedStars": "76",
-    "license": "MIT License",
-    "lastRelease": "2020-04-18T08:53:19Z",
-    "formattedLastRelease": "3 years ago"
-  },
-  "graph-gophers/graphql-go": {
-    "hasCommitsInLast3Months": false,
-    "stars": 4588,
-    "formattedStars": "5k",
-    "license": "BSD 2-Clause \"Simplified\" License",
-    "lastRelease": "2022-12-19T10:05:46Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "graphql-go/graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 9677,
-    "formattedStars": "10k",
-    "license": "MIT License",
-    "lastRelease": "2023-04-10T18:20:23Z",
-    "formattedLastRelease": "11 months ago"
-  },
-  "graphql-go/relay": {
-    "hasCommitsInLast3Months": false,
-    "stars": 422,
-    "formattedStars": "422",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "samsarahq/thunder": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1588,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "wundergraph/graphql-go-tools": {
-    "hasCommitsInLast3Months": false,
-    "stars": 628,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2023-10-12T13:16:31Z",
-    "formattedLastRelease": "5 months ago"
-  },
-  "dosco/graphjin": {
-    "hasCommitsInLast3Months": false,
-    "stars": 2828,
-    "formattedStars": "3k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2023-12-14T23:23:03Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "grails/gorm-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 80,
-    "formattedStars": "80",
-    "license": "Apache License 2.0",
-    "lastRelease": "2023-12-08T10:48:05Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "grooviter/gql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 47,
-    "formattedStars": "47",
-    "license": "Apache License 2.0",
-    "lastRelease": "2022-12-07T00:50:33Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "morpheusgraphql/morpheus-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 400,
-    "formattedStars": "400",
-    "license": "MIT License",
-    "lastRelease": "2023-04-27T20:20:22Z",
-    "formattedLastRelease": "11 months ago"
-  },
-  "jasonsychau/graphql-w-persistent": {
-    "hasCommitsInLast3Months": false,
-    "stars": 10,
-    "formattedStars": "10",
-    "license": "Unknown",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "higherkindness/mu-haskell": {
-    "hasCommitsInLast3Months": false,
-    "stars": 325,
-    "formattedStars": "325",
-    "license": "Apache License 2.0",
-    "lastRelease": "2021-01-11T11:19:38Z",
-    "formattedLastRelease": "3 years ago"
-  },
-  "apollographql/apollo-kotlin": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3655,
-    "formattedStars": "4k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-20T17:46:54Z",
-    "formattedLastRelease": "6 days ago"
-  },
-  "ExpediaGroup/graphql-kotlin": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1709,
-    "formattedStars": "2k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-01-25T02:45:25Z",
-    "formattedLastRelease": "2 months ago"
-  },
-  "americanexpress/nodes": {
-    "hasCommitsInLast3Months": false,
-    "stars": 305,
-    "formattedStars": "305",
-    "license": "Apache License 2.0",
-    "lastRelease": "2019-07-13T22:47:01Z",
-    "formattedLastRelease": "4 years ago"
-  },
-  "graphql-java-generator/graphql-gradle-plugin-project": {
-    "hasCommitsInLast3Months": false,
-    "stars": 51,
-    "formattedStars": "51",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "graphql-calculator/graphql-calculator": {
-    "hasCommitsInLast3Months": false,
-    "stars": 104,
-    "formattedStars": "104",
-    "license": "Apache License 2.0",
-    "lastRelease": "2021-09-03T01:56:25Z",
-    "formattedLastRelease": "2 years ago"
-  },
-  "graphql-java-kickstart/graphql-spring-boot": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1502,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "2023-12-07T11:07:47Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "graphql-java/graphql-java": {
-    "hasCommitsInLast3Months": false,
-    "stars": 6020,
-    "formattedStars": "6k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-26T05:23:07Z",
-    "formattedLastRelease": "1 day ago"
-  },
-  "babyfish-ct/jimmer": {
-    "hasCommitsInLast3Months": false,
-    "stars": 615,
-    "formattedStars": "1k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-24T23:34:18Z",
-    "formattedLastRelease": "2 days ago"
-  },
-  "aPureBase/KGraphQL": {
-    "hasCommitsInLast3Months": false,
-    "stars": 292,
-    "formattedStars": "292",
-    "license": "MIT License",
-    "lastRelease": "2023-01-27T10:09:55Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "eclipse/microprofile-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 94,
-    "formattedStars": "94",
-    "license": "Apache License 2.0",
-    "lastRelease": "2022-03-21T18:26:51Z",
-    "formattedLastRelease": "2 years ago"
-  },
-  "netflix/dgs-framework": {
-    "hasCommitsInLast3Months": false,
-    "stars": 2962,
-    "formattedStars": "3k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-19T16:41:26Z",
-    "formattedLastRelease": "1 week ago"
-  },
-  "spring-projects/spring-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1479,
-    "formattedStars": "1k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-02-21T10:11:39Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "neomatrixcode/Diana.jl": {
-    "hasCommitsInLast3Months": false,
-    "stars": 112,
-    "formattedStars": "112",
-    "license": "MIT License",
-    "lastRelease": "2022-08-16T03:22:22Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "DeloitteDigitalAPAC/GraphQLClient.jl": {
-    "hasCommitsInLast3Months": false,
-    "stars": 46,
-    "formattedStars": "46",
-    "license": "Other",
-    "lastRelease": "2022-10-26T16:48:16Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "apollographql/apollo-client": {
-    "hasCommitsInLast3Months": false,
-    "stars": 19177,
-    "formattedStars": "19k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-22T19:44:35Z",
-    "formattedLastRelease": "4 days ago"
-  },
-  "aws-amplify/amplify-js": {
-    "hasCommitsInLast3Months": false,
-    "stars": 9359,
-    "formattedStars": "9k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-26T13:44:09Z",
-    "formattedLastRelease": "1 day ago"
-  },
-  "Houfeng/gq-loader": {
-    "hasCommitsInLast3Months": false,
-    "stars": 59,
-    "formattedStars": "59",
-    "license": "Unknown",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "grafoojs/grafoo": {
-    "hasCommitsInLast3Months": false,
-    "stars": 274,
-    "formattedStars": "274",
-    "license": "MIT License",
-    "lastRelease": "2018-06-20T15:21:00Z",
-    "formattedLastRelease": "5 years ago"
-  },
-  "badbatch/graphql-box": {
-    "hasCommitsInLast3Months": false,
-    "stars": 23,
-    "formattedStars": "23",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "nearform/graphql-hooks": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1866,
-    "formattedStars": "2k",
-    "license": "Other",
-    "lastRelease": "2024-01-19T16:50:14Z",
-    "formattedLastRelease": "2 months ago"
-  },
-  "graphql/graphql-http": {
-    "hasCommitsInLast3Months": false,
-    "stars": 274,
-    "formattedStars": "274",
-    "license": "MIT License",
-    "lastRelease": "2023-08-28T14:50:20Z",
-    "formattedLastRelease": "6 months ago"
-  },
-  "jasonkuhrt/graphql-request": {
-    "hasCommitsInLast3Months": false,
-    "stars": 5623,
-    "formattedStars": "6k",
-    "license": "MIT License",
-    "lastRelease": "2020-05-29T13:00:56Z",
-    "formattedLastRelease": "3 years ago"
-  },
-  "enisdenjo/graphql-sse": {
-    "hasCommitsInLast3Months": false,
-    "stars": 365,
-    "formattedStars": "365",
-    "license": "MIT License",
-    "lastRelease": "2023-12-20T12:22:07Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "babyfish-ct/graphql-ts-client": {
-    "hasCommitsInLast3Months": false,
-    "stars": 142,
-    "formattedStars": "142",
-    "license": "MIT License",
-    "lastRelease": "2023-12-14T03:06:21Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "enisdenjo/graphql-ws": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1642,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "2024-02-12T17:57:24Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "hasura/graphqurl": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3300,
-    "formattedStars": "3k",
-    "license": "Apache License 2.0",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "kadirahq/lokka": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1531,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "choojs/nanographql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 422,
-    "formattedStars": "422",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "facebook/relay": {
-    "hasCommitsInLast3Months": false,
-    "stars": 18149,
-    "formattedStars": "18k",
-    "license": "MIT License",
-    "lastRelease": "2024-01-23T16:49:06Z",
-    "formattedLastRelease": "2 months ago"
-  },
-  "FormidableLabs/urql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 8450,
-    "formattedStars": "8k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-27T12:10:54Z",
-    "formattedLastRelease": "5 hours ago"
-  },
-  "apollographql/apollo-server": {
-    "hasCommitsInLast3Months": false,
-    "stars": 13638,
-    "formattedStars": "14k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-22T19:40:52Z",
-    "formattedLastRelease": "4 days ago"
-  },
-  "graphql/graphql-js": {
-    "hasCommitsInLast3Months": false,
-    "stars": 19896,
-    "formattedStars": "20k",
-    "license": "MIT License",
-    "lastRelease": "2023-09-19T07:27:40Z",
-    "formattedLastRelease": "6 months ago"
-  },
-  "dotansimha/graphql-yoga": {
-    "hasCommitsInLast3Months": false,
-    "stars": 7974,
-    "formattedStars": "8k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-13T14:22:21Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "mercurius-js/mercurius": {
-    "hasCommitsInLast3Months": false,
-    "stars": 2294,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-19T10:55:16Z",
-    "formattedLastRelease": "1 week ago"
-  },
-  "networkimprov/brangr": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1,
-    "formattedStars": "1",
-    "license": "Mozilla Public License 2.0",
-    "lastRelease": "2023-06-02T09:20:18Z",
-    "formattedLastRelease": "9 months ago"
-  },
-  "hayes/giraphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 2211,
-    "formattedStars": "2k",
-    "license": "ISC License",
-    "lastRelease": "2024-03-05T19:54:00Z",
-    "formattedLastRelease": "3 weeks ago"
-  },
-  "graphql/graphiql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 15615,
-    "formattedStars": "16k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-01T18:28:05Z",
-    "formattedLastRelease": "3 weeks ago"
-  },
-  "Urigo/graphql-cli": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1983,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "2020-10-07T12:54:45Z",
-    "formattedLastRelease": "3 years ago"
-  },
-  "dotansimha/graphql-code-generator": {
-    "hasCommitsInLast3Months": false,
-    "stars": 10596,
-    "formattedStars": "11k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-27T11:16:28Z",
-    "formattedLastRelease": "6 hours ago"
-  },
-  "kamilkisiela/graphql-config": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1144,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2023-10-08T22:16:50Z",
-    "formattedLastRelease": "5 months ago"
-  },
-  "dimaMachina/graphql-eslint/": {
-    "hasCommitsInLast3Months": false,
-    "stars": 756,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2023-08-29T17:53:28Z",
-    "formattedLastRelease": "6 months ago"
-  },
-  "kamilkisiela/graphql-inspector": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1600,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "2023-11-29T13:09:10Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "graphql/graphql-language-service": {
-    "hasCommitsInLast3Months": false,
-    "stars": 421,
-    "formattedStars": "421",
-    "license": "Unknown",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "n1ru4l/graphql-live-query": {
-    "hasCommitsInLast3Months": false,
-    "stars": 433,
-    "formattedStars": "433",
-    "license": "MIT License",
-    "lastRelease": "2022-07-29T09:27:53Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "Urigo/graphql-mesh": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3149,
-    "formattedStars": "3k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-27T12:45:28Z",
-    "formattedLastRelease": "4 hours ago"
-  },
-  "maticzav/graphql-middleware": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1128,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2023-07-07T16:38:02Z",
-    "formattedLastRelease": "8 months ago"
-  },
-  "Urigo/graphql-modules": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1286,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2023-11-03T08:01:19Z",
-    "formattedLastRelease": "4 months ago"
-  },
-  "Urigo/graphql-scalars": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1830,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-18T14:47:27Z",
-    "formattedLastRelease": "1 week ago"
-  },
-  "maticzav/graphql-shield": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3507,
-    "formattedStars": "4k",
-    "license": "MIT License",
-    "lastRelease": "2022-11-22T19:08:37Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "ardatan/graphql-tools": {
-    "hasCommitsInLast3Months": false,
-    "stars": 5272,
-    "formattedStars": "5k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-23T13:50:38Z",
-    "formattedLastRelease": "4 days ago"
-  },
-  "anvilco/graphql-introspection-tools": {
-    "hasCommitsInLast3Months": false,
-    "stars": 30,
-    "formattedStars": "30",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "graphile/postgraphile": {
-    "hasCommitsInLast3Months": false,
-    "stars": 12384,
-    "formattedStars": "12k",
-    "license": "Other",
-    "lastRelease": "2023-10-05T16:27:00Z",
-    "formattedLastRelease": "5 months ago"
-  },
-  "Urigo/SOFA": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1041,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2023-12-27T11:00:49Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "anvilco/spectaql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1031,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "andreas/ocaml-graphql-server": {
-    "hasCommitsInLast3Months": false,
-    "stars": 623,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2022-07-08T16:26:45Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "graphql-perl/graphql-perl": {
-    "hasCommitsInLast3Months": false,
-    "stars": 70,
-    "formattedStars": "70",
-    "license": "Unknown",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "api-platform/api-platform": {
-    "hasCommitsInLast3Months": false,
-    "stars": 8264,
-    "formattedStars": "8k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-26T07:56:13Z",
-    "formattedLastRelease": "1 day ago"
-  },
-  "GatoGraphQL/GatoGraphQL": {
-    "hasCommitsInLast3Months": false,
-    "stars": 349,
-    "formattedStars": "349",
-    "license": "GNU General Public License v2.0",
-    "lastRelease": "2024-03-27T06:49:09Z",
-    "formattedLastRelease": "10 hours ago"
-  },
-  "infinityloop-dev/graphpinator": {
-    "hasCommitsInLast3Months": false,
-    "stars": 39,
-    "formattedStars": "39",
-    "license": "MIT License",
-    "lastRelease": "2023-11-13T10:08:26Z",
-    "formattedLastRelease": "4 months ago"
-  },
-  "webonyx/graphql-php": {
-    "hasCommitsInLast3Months": false,
-    "stars": 4598,
-    "formattedStars": "5k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-11T10:21:35Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "ivome/graphql-relay-php": {
-    "hasCommitsInLast3Months": false,
-    "stars": 271,
-    "formattedStars": "271",
-    "license": "BSD 3-Clause \"New\" or \"Revised\" License",
-    "lastRelease": "2021-04-24T19:40:30Z",
-    "formattedLastRelease": "2 years ago"
-  },
-  "overblog/GraphQLBundle": {
-    "hasCommitsInLast3Months": false,
-    "stars": 776,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-11T08:38:27Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "thecodingmachine/graphqlite": {
-    "hasCommitsInLast3Months": false,
-    "stars": 551,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-20T05:52:53Z",
-    "formattedLastRelease": "1 week ago"
-  },
-  "nuwave/lighthouse": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3308,
-    "formattedStars": "3k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-11T10:30:48Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "railt/railt": {
-    "hasCommitsInLast3Months": false,
-    "stars": 360,
-    "formattedStars": "360",
-    "license": "MIT License",
-    "lastRelease": "2019-03-01T15:20:44Z",
-    "formattedLastRelease": "5 years ago"
-  },
-  "kepawni/serge": {
-    "hasCommitsInLast3Months": false,
-    "stars": 5,
-    "formattedStars": "5",
-    "license": "GNU General Public License v3.0",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "leocavalcante/siler": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1120,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2021-01-27T19:41:57Z",
-    "formattedLastRelease": "3 years ago"
-  },
-  "wp-graphql/wp-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3592,
-    "formattedStars": "4k",
-    "license": "GNU General Public License v3.0",
-    "lastRelease": "2024-03-14T22:13:00Z",
-    "formattedLastRelease": "1 week ago"
-  },
-  "mirumee/ariadne-codegen": {
-    "hasCommitsInLast3Months": false,
-    "stars": 195,
-    "formattedStars": "195",
-    "license": "BSD 3-Clause \"New\" or \"Revised\" License",
-    "lastRelease": "2024-03-04T15:58:27Z",
-    "formattedLastRelease": "3 weeks ago"
-  },
-  "graphql-python/gql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1449,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2024-02-08T22:50:50Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "denisart/graphql-query": {
-    "hasCommitsInLast3Months": false,
-    "stars": 45,
-    "formattedStars": "45",
-    "license": "MIT License",
-    "lastRelease": "2024-02-19T13:45:58Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "prisma-labs/python-graphql-client": {
-    "hasCommitsInLast3Months": false,
-    "stars": 155,
-    "formattedStars": "155",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "qlient-org/python-qlient": {
-    "hasCommitsInLast3Months": false,
-    "stars": 45,
-    "formattedStars": "45",
-    "license": "MIT License",
-    "lastRelease": "2022-07-29T16:10:08Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "profusion/sgqlc": {
-    "hasCommitsInLast3Months": false,
-    "stars": 492,
-    "formattedStars": "492",
-    "license": "ISC License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "mirumee/ariadne": {
-    "hasCommitsInLast3Months": false,
-    "stars": 2130,
-    "formattedStars": "2k",
-    "license": "BSD 3-Clause \"New\" or \"Revised\" License",
-    "lastRelease": "2024-03-18T10:27:12Z",
-    "formattedLastRelease": "1 week ago"
-  },
-  "yefeza/django-graphbox": {
-    "hasCommitsInLast3Months": false,
-    "stars": 9,
-    "formattedStars": "9",
-    "license": "MIT License",
-    "lastRelease": "2024-03-23T21:41:41Z",
-    "formattedLastRelease": "3 days ago"
-  },
-  "graphql-python/graphene": {
-    "hasCommitsInLast3Months": false,
-    "stars": 7953,
-    "formattedStars": "8k",
-    "license": "MIT License",
-    "lastRelease": "2023-07-26T06:47:55Z",
-    "formattedLastRelease": "8 months ago"
-  },
-  "strawberry-graphql/strawberry": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3721,
-    "formattedStars": "4k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-27T13:04:35Z",
-    "formattedLastRelease": "4 hours ago"
-  },
-  "tartiflette/tartiflette": {
-    "hasCommitsInLast3Months": false,
-    "stars": 852,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2021-11-15T11:05:03Z",
-    "formattedLastRelease": "2 years ago"
-  },
-  "ropensci/ghql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 141,
-    "formattedStars": "141",
-    "license": "Other",
-    "lastRelease": "2020-02-24T18:15:36Z",
-    "formattedLastRelease": "4 years ago"
-  },
-  "ohler55/agoo": {
-    "hasCommitsInLast3Months": false,
-    "stars": 882,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "rmosolgo/graphql-ruby": {
-    "hasCommitsInLast3Months": false,
-    "stars": 5323,
-    "formattedStars": "5k",
-    "license": "MIT License",
-    "lastRelease": "2021-02-12T12:11:53Z",
-    "formattedLastRelease": "3 years ago"
-  },
-  "virtualshield/rails-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 165,
-    "formattedStars": "165",
-    "license": "MIT License",
-    "lastRelease": "2024-02-03T08:44:59Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "obmarg/cynic": {
-    "hasCommitsInLast3Months": false,
-    "stars": 335,
-    "formattedStars": "335",
-    "license": "Mozilla Public License 2.0",
-    "lastRelease": "2024-03-25T15:31:57Z",
-    "formattedLastRelease": "2 days ago"
-  },
-  "arthurkhlghatyan/gql-client-rs": {
-    "hasCommitsInLast3Months": false,
-    "stars": 47,
-    "formattedStars": "47",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "async-graphql/async-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3196,
-    "formattedStars": "3k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2022-11-28T06:30:57Z",
-    "formattedLastRelease": "1 year ago"
-  },
-  "graphql-rust/juniper": {
-    "hasCommitsInLast3Months": false,
-    "stars": 5513,
-    "formattedStars": "6k",
-    "license": "Other",
-    "lastRelease": "2024-03-20T20:40:22Z",
-    "formattedLastRelease": "6 days ago"
-  },
-  "ghostdogpr/caliban": {
-    "hasCommitsInLast3Months": false,
-    "stars": 930,
-    "formattedStars": "1k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-03T01:02:04Z",
-    "formattedLastRelease": "3 weeks ago"
-  },
-  "sangria-graphql/sangria": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1963,
-    "formattedStars": "2k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-02-01T10:01:14Z",
-    "formattedLastRelease": "1 month ago"
-  },
-  "apollographql/apollo-ios": {
-    "hasCommitsInLast3Months": false,
-    "stars": 3814,
-    "formattedStars": "4k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-22T20:36:20Z",
-    "formattedLastRelease": "4 days ago"
-  },
-  "nerdsupremacist/Graphaello": {
-    "hasCommitsInLast3Months": false,
-    "stars": 494,
-    "formattedStars": "494",
-    "license": "MIT License",
-    "lastRelease": "2021-12-19T22:21:30Z",
-    "formattedLastRelease": "2 years ago"
-  },
-  "funcompany/graphql-ios": {
-    "hasCommitsInLast3Months": false,
-    "stars": 62,
-    "formattedStars": "62",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "relatedcode/GraphQLite": {
-    "hasCommitsInLast3Months": false,
-    "stars": 5,
-    "formattedStars": "5",
-    "license": "MIT License",
-    "lastRelease": "2023-09-25T08:40:36Z",
-    "formattedLastRelease": "6 months ago"
-  },
-  "maticzav/swift-graphql": {
-    "hasCommitsInLast3Months": false,
-    "stars": 588,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2024-01-14T13:56:07Z",
-    "formattedLastRelease": "2 months ago"
-  },
-  "GraphQLSwift/Graphiti": {
-    "hasCommitsInLast3Months": false,
-    "stars": 522,
-    "formattedStars": "1k",
-    "license": "MIT License",
-    "lastRelease": "2023-11-15T02:54:16Z",
-    "formattedLastRelease": "4 months ago"
-  },
-  "nerdsupremacist/GraphZahl": {
-    "hasCommitsInLast3Months": false,
-    "stars": 143,
-    "formattedStars": "143",
-    "license": "MIT License",
-    "lastRelease": "2021-05-17T12:51:10Z",
-    "formattedLastRelease": "2 years ago"
-  },
-  "eerimoq/gqt": {
-    "hasCommitsInLast3Months": false,
-    "stars": 455,
-    "formattedStars": "455",
-    "license": "MIT License",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "Escape-Technologies/graphql-armor": {
-    "hasCommitsInLast3Months": false,
-    "stars": 455,
-    "formattedStars": "455",
-    "license": "MIT License",
-    "lastRelease": "2023-12-20T13:32:16Z",
-    "formattedLastRelease": "3 months ago"
-  },
-  "microcks/microcks": {
-    "hasCommitsInLast3Months": false,
-    "stars": 1158,
-    "formattedStars": "1k",
-    "license": "Apache License 2.0",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "schemathesis/schemathesis": {
-    "hasCommitsInLast3Months": false,
-    "stars": 2058,
-    "formattedStars": "2k",
-    "license": "MIT License",
-    "lastRelease": "2024-03-21T22:25:47Z",
-    "formattedLastRelease": "5 days ago"
-  },
-  "glideapps/quicktype": {
-    "hasCommitsInLast3Months": false,
-    "stars": 11378,
-    "formattedStars": "11k",
-    "license": "Apache License 2.0",
-    "lastRelease": "",
-    "formattedLastRelease": ""
-  },
-  "wundergraph/wundergraph": {
-    "hasCommitsInLast3Months": false,
-    "stars": 2152,
-    "formattedStars": "2k",
-    "license": "Apache License 2.0",
-    "lastRelease": "2024-03-08T09:27:40Z",
-    "formattedLastRelease": "2 weeks ago"
-  },
-  "ldebruijn/graphql-protect": {
-    "hasCommitsInLast3Months": true,
-    "stars": 24,
-    "formattedStars": "24",
-    "license": "MIT",
-    "lastRelease": "2024-08-28T11:28:00Z",
-    "formattedLastRelease": "2 weeks ago"
-  }
-}
+{}
\ No newline at end of file
diff --git a/src/globals.css b/src/globals.css
index fbaf495fe1..ac04ce6d8d 100644
--- a/src/globals.css
+++ b/src/globals.css
@@ -17,7 +17,8 @@
 }
 
 .conf-hero {
-  background: linear-gradient(
+  background:
+    linear-gradient(
       360deg,
       #0e031c 10.63%,
       #0e031c 10.65%,
@@ -148,7 +149,7 @@ div[id^="headlessui-menu-items"] {
 }
 
 ::selection {
-  @apply bg-primary/50 dark:bg-primary;
+  @apply bg-primary/50 dark:bg-primary/50;
 }
 
 @media (prefers-color-scheme: dark) {
@@ -228,7 +229,8 @@ div[id^="headlessui-menu-items"] {
 }
 
 .code-page {
-  background: linear-gradient(
+  background:
+    linear-gradient(
       303.75deg,
       rgba(124, 124, 124, 0.2) 0.8%,
       rgba(124, 124, 124, 0) 74.17%
@@ -237,7 +239,8 @@ div[id^="headlessui-menu-items"] {
 }
 
 .dark .code-page {
-  background: linear-gradient(
+  background:
+    linear-gradient(
       303.75deg,
       rgba(124, 124, 124, 0.2) 0.8%,
       rgba(124, 124, 124, 0) 74.17%
@@ -246,7 +249,8 @@ div[id^="headlessui-menu-items"] {
 }
 
 .dark .blog-page {
-  background: linear-gradient(
+  background:
+    linear-gradient(
       250.93deg,
       rgba(115, 119, 125, 0.1),
       rgba(115, 119, 125, 0)
@@ -255,7 +259,8 @@ div[id^="headlessui-menu-items"] {
 }
 
 .blog-page {
-  background: linear-gradient(
+  background:
+    linear-gradient(
       231.79deg,
       rgba(225, 0, 152, 0.4) -23.67%,
       rgba(225, 0, 152, 0) 25.9%
@@ -388,7 +393,8 @@ div[id^="headlessui-menu-items"] {
 }
 
 .index-bg {
-  background: linear-gradient(
+  background:
+    linear-gradient(
       303.75deg,
       rgba(124, 124, 124, 0.2) 0.8%,
       rgba(124, 124, 124, 0) 74.17%
@@ -396,7 +402,8 @@ div[id^="headlessui-menu-items"] {
     linear-gradient(0deg, #f8f8f8, #f8f8f8);
 
   .dark & {
-    background: linear-gradient(0deg, #111, #111),
+    background:
+      linear-gradient(0deg, #111, #111),
       linear-gradient(
         303.75deg,
         rgba(124, 124, 124, 0.2) 0.8%,
@@ -503,3 +510,30 @@ div[id^="headlessui-menu-items"] {
   @apply text-xl;
   @apply dark:border-neutral-700/80;
 }
+
+.gql-focus-visible,
+.gql-all-anchors-focusable a {
+  @apply focus-visible:outline focus-visible:outline-[3px] focus-visible:outline-offset-[5px] focus-visible:outline-neu-900;
+}
+
+.gql-conf-container {
+  @apply mx-auto w-full max-w-[120rem];
+}
+
+.gql-conf-section {
+  @apply px-4 py-8 lg:px-12 xl:gap-x-24 xl:px-24 3xl:px-[240px];
+}
+
+.gql-conf-navbar-strip {
+  @apply relative [contain:paint] before:sticky before:top-0 before:z-[9] before:-mt-[var(--navbar-h)] before:block before:h-[var(--navbar-h)] before:w-full before:content-[''];
+}
+
+:root {
+  --navbar-h: 70px;
+}
+
+/* without this Headless UI breaks sticky navbar */
+html:has([role="listbox"][data-open]),
+html:has([role="menu"][data-open]) {
+  overflow: visible !important;
+}
diff --git a/src/icons/index.ts b/src/icons/index.ts
index ed5efecd61..d423b9ef11 100644
--- a/src/icons/index.ts
+++ b/src/icons/index.ts
@@ -10,6 +10,7 @@ export { default as StackOverflowIcon } from "./stackoverflow.svg"
 export { default as StarIcon } from "./star.svg"
 export { default as TwitterIcon } from "./twitter.svg"
 export { default as LinkedInIcon } from "./linkedin.svg"
+export { default as LinkedInFilledIcon } from "./linkedin-filled.svg"
 export { default as YouTubeIcon } from "./youtube.svg"
 export { default as FacebookIcon } from "./facebook.svg"
 export { default as Facebook2Icon } from "./facebook2.svg"
diff --git a/src/icons/linkedin-filled.svg b/src/icons/linkedin-filled.svg
new file mode 100644
index 0000000000..594cf9b76a
--- /dev/null
+++ b/src/icons/linkedin-filled.svg
@@ -0,0 +1,11 @@
+<svg
+  width="20"
+  height="20"
+  viewBox="2 2 20 20"
+  fill="currentColor"
+  xmlns="http://www.w3.org/2000/svg"
+>
+  <path
+    d="M19 3C19.5304 3 20.0391 3.21071 20.4142 3.58579C20.7893 3.96086 21 4.46957 21 5V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H19ZM18.5 18.5V13.2C18.5 12.3354 18.1565 11.5062 17.5452 10.8948C16.9338 10.2835 16.1046 9.94 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17C14.6813 12.17 15.0374 12.3175 15.2999 12.5801C15.5625 12.8426 15.71 13.1987 15.71 13.57V18.5H18.5ZM6.88 8.56C7.32556 8.56 7.75288 8.383 8.06794 8.06794C8.383 7.75288 8.56 7.32556 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19C6.43178 5.19 6.00193 5.36805 5.68499 5.68499C5.36805 6.00193 5.19 6.43178 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56ZM8.27 18.5V10.13H5.5V18.5H8.27Z"
+  />
+</svg>
diff --git a/src/pages/blog/2025-02-05-welcome-tsc-members-2025.md b/src/pages/blog/2025-02-05-welcome-tsc-members-2025.md
new file mode 100644
index 0000000000..13e9536c47
--- /dev/null
+++ b/src/pages/blog/2025-02-05-welcome-tsc-members-2025.md
@@ -0,0 +1,36 @@
+---
+title: "Welcoming New TSC Members"
+tags: ["foundation"]
+date: 2025-02-05
+byline: Lee Byron
+---
+
+The GraphQL Technical Steering Committee is the body responsible for the technical oversight of all our open source projects and management of our open source community. Every year we vote on self-nominees to rotate up to half of TSC members, and we've just concluded the most recent vote.
+
+### Our new TSC elections...
+
+I’m excited to share that we have elected two new members to the GraphQL Technical Steering Committee (TSC), [Martin Bonnin](https://github.com/martinbonnin) and [Pascal Senn](https://github.com/PascalSenn), technical leads at Apollo and ChilliCream respectively. They have been consistent contributors to the GraphQL open source project over the last few years and I'm thrilled to have their help in and commitment to guiding and advancing the GraphQL technical project and broader ecosystem.
+
+In addition, we also re-elected three existing members, [Kewei Qu](https://github.com/Keweiqu) a technical lead at Meta working on the original GraphQL deployment, [Rob Richard](https://github.com/robrichard) an engineer at 1stDibs and the lead of the Streaming GraphQL project, and [Uri Goldshtein](https://github.com/urigo) founder of The Guild. These all join our existing [TSC members](https://github.com/orgs/graphql/teams/tsc/members).
+
+### Open working groups and the role of the TSC
+
+GraphQL is an open project. All are welcome to join our [working group](https://github.com/graphql/graphql-wg/) meetings, champion proposals for project-wide improvements, or contribute directly across our open source projects.
+
+It has been critical to keep access to these working groups open, but it does mean a rotating cast of contributors over time. The primary role of the TSC is to provide continuity as the stewards of this group and our processes, and co-owners of our technical projects.
+
+While the TSC is a closed group, our focus is always on strengthening the work that happens in our open Working Group meetings—that is where technical work moves forward.
+
+### Our processes
+
+To learn more about the TSC and how we work, check out these resources:
+
+- **[2025 TSC Elections](https://github.com/graphql/graphql-wg/issues/1612)** — we use Github issues for most things across the Working Group and TSC, and this one tracked the TSC election itself. Anyone could self-nominate via a Google Form, and we held a vote via OpaVote.
+- **[TSC Charter](https://github.com/graphql/graphql-wg/blob/main/GraphQL-TSC.md)** — this lists out in detail how the TSC is governed, which contains more detail about when and how we take votes, and what we're accountable for.
+- **[GraphQL Working Group](https://github.com/graphql/graphql-wg/)** — this is where we organize meetings and contribution across the Working Group, where you'll find past and upcoming agendas and can join an upcoming meeting simply by adding yourself to the next agenda file in a PR.
+
+I'm beyond lucky to get to work with such a talented group of volunteers both directly on the TSC and across the GraphQL community.
+
+Welcome, Martin and Pascal!
+
+— Lee
diff --git a/src/pages/blog/2025-02-11-how-to-write-a-successful-conference-proposal.mdx b/src/pages/blog/2025-02-11-how-to-write-a-successful-conference-proposal.mdx
new file mode 100644
index 0000000000..960b23b35e
--- /dev/null
+++ b/src/pages/blog/2025-02-11-how-to-write-a-successful-conference-proposal.mdx
@@ -0,0 +1,140 @@
+---
+title: "How to write a successful conference proposal"
+tags: ["blog"]
+date: 2025-02-11
+byline: Donna Zhou
+---
+
+By the end of this blog, you'll know:
+
+* how to write a conference proposal, and
+* how to maximise your chance of getting selected to speak
+
+Speaking at a conference is a goal you can achieve now. You don't have to wait until you've "made it" as a principal engineer.
+
+I'm going to share with you what I've learned from speaking at the [GraphQL Conference](https://graphql.org/conf/2023/sessions/81daf0dd0b26efdc784ba0a530e54a68/) and how I maximised my chances of getting selected. I'm going to share the full text of my successful conference proposal so you can see how achievable this is. I will also share advice from [Benjie](https://github.com/benjie), a GraphQL Conference proposal reviewer and member of the Technical Steering Committee.
+
+By this end of this blog, you will have the skills and confidence to write your own successful conference proposal.
+
+## Why you should speak at a conference
+Speaking at conferences is a great way to share knowledge and a fantastic opportunity to meet and learn from your peers. The GraphQL Conference is a fantastic way to connect with the community in person.
+
+Although it is not the primary motivation, speaking at a conference helps you stand out as an engineer. It demonstrates that you are an expert on the topic.
+
+## You are already enough
+Many developers want to speak at a conference, yet I'm sure the next thought most people have is "but I'm not senior or good enough to do that!"
+
+You don't need to wait until you are a big deal principal engineer to give a conference talk. At any stage of your career, you have valuable information to share. I'm sure you have already achieved something worth sharing in a conference talk.
+
+In this blog I will explain how to take the experiences you already have, and present it as a winning conference proposal. **You are already enough!**
+
+## Selecting conference talk ideas
+You will maximise your chance of getting selected if you choose a topic **that more engineers are interested in**.
+
+Before I became a software engineer, I was a stand-up comedian. When making jokes is your job, you need a systematic way to generate many ideas (jokes) and test them with audiences. You can use the same approach for selecting conference topic ideas.
+
+### Generating talk ideas
+Comedians have to generate new ideas (jokes) all the time. Demanding jobs such as Saturday Night Live require new scripts every week. It's part of the job, so quickly generating ideas is the first skill they teach you at comedy school.
+
+Here's what I learned at The Second City (the comedy school where Tina Fey, Stephen Colbert, and Steve Carell studied). To generate heaps of ideas, get a blank piece of paper (or digital equivalent) and start writing down ideas **without judging them or editing them.** I suggest setting a short timer to timebox the activity, for example 10 minutes.
+
+The most important point about this exercise is not pre-judging yourself. Humans are not good at multi-threading. If you're busy judging your ideas, you don't have enough brain power to be creative. Give yourself the permission to come up with crappy ideas. This is only an exercise and nobody is going to see what you write down.
+
+You can also use prompts to help you think of talk ideas:
+* What have I worked on in the last 12 months (or longer)?
+* Where have I been spending my time over the past year?
+* What are the technologies that I'm interested in?
+* What have I been reading about?
+
+After the timer is up and you have your ideas, then you can look through and start selecting your most promising ideas. Remember, only start judging after finishing writing down all the ideas.
+
+### Testing talk ideas
+It's useful to think about the conference proposal selection process from the perspective of a conference organiser. I interviewed Benjie, part of the team organising the GraphQL Conference and Technical Steering Committee, for his advice. He told me, the most important thing he looked for was **interesting topics and unique perspectives**. The most important factor in getting accepted to speak at a conference is having an idea that resonates.
+
+So how do you know if your idea is interesting? An effective way to assess your talk ideas is to test them with colleagues. If your idea resonates with them, you've probably found an idea that many developers want to learn about.
+
+Test your conference ideas where it's appropriate. Perhaps a team demo, brown bags, meetups, writing an internal blog, or simply talking to colleagues. What grabs their attention? Which conversation topics come up again and again?
+
+### Narrowing down the list
+To maximise your chances of getting selected, you should only submit your most promising talk ideas.
+
+Try and rank your remaining conference talk ideas with these prompts (you'll see why in the next section):
+* Which of these ideas resonated most with colleagues?
+* Which of these ideas do I have the most expertise in?
+* Which of these ideas am I most proud of, or most excited by?
+
+I usually only have one or two proposals at a time, which I submit to many conferences. You might have more ideas, but try and keep your list short. Be efficient with your time and only submit the ideas you are sure about.
+
+## Writing the proposal
+Here are my top tips, including suggestions from Benjie.
+
+After explaining these tips, in the next section I'll share the full text of my GraphQL Conference proposal, so you can see how achievable this is.
+
+### Get straight to the point
+A conference organiser needs to understand what your proposal is about within the first few seconds of reading your proposal. Get straight to the point about what you are going to share.
+
+Conference organisers don't have time to call you and ask for clarification, so you must make sure what you write is very clear. Ask colleagues and friends to review your proposal for clarity.
+
+### A proposal is like a movie trailer
+You'll see below, a proposal is very short. You'll usually be given a small word limit.
+
+You only have enough room to explain the main idea of your talk. You don't have enough room to explain all the points you will present in the talk. This is like a movie trailer. Show just enough excitement to grab a person's interest, but don't give the full story away. If they want to know all the details, they'll have to accept your talk first!
+
+The proposal never contains slides nor speech content. You write slides and the speech after being accepted, so don't worry about having this ready beforehand.
+
+### Explain why you're the best person to give the talk
+Demonstrate your credentials and why you're the best person to give this talk. Explain why you are knowledgeable about the topic.
+
+Benjie said he was looking for **unique perspectives**. Demonstrate why you're uniquely qualified to deliver this talk.
+
+A conference organiser might not know who you are. Explaining your credentials is essential so the organiser trusts you to deliver on your talk proposal.
+
+### Emphasis community connections (optional)
+If you have participated in the community, write about how you've contributed to the community. Similar to the previous point, a conference organiser doesn't know anything about most applicants. If the organisers have seen or interacted with you already, they will have more trust in you.
+
+I've been involved in the GraphQL community as a maintainer of GraphQL Java and contributed to the specification. The conference organisers trusted me to deliver the talk because they could see I was already contributing to the community.
+
+### Save your work
+Save your proposal, so you can recycle the proposal for other conferences. It also means you're protected in case a website loses your work.
+
+## My GraphQL Conference proposal in full
+This was the conference proposal that got accepted for the GraphQL Conference in 2023. See how I used the tips above in the additional notes below.
+
+> **Title:** How to make your first open source contribution (1)
+> 
+> **Description:**
+> Have you always wanted to make an open source contribution, but not sure where to start? (2)
+> 
+> Getting started with open source is much easier than it seems.
+> 
+> A year ago, I started regularly contributing to GraphQL Java and the GraphQL Scalars project. I caught the open source bug and made it a habit, and now I'm a maintainer of GraphQL Java (3). It has been an incredible learning experience, and it has been very rewarding to meet the engineers using the library all over the world.
+> 
+> But it wasn't always an open source fairytale! Many years ago I tried to contribute to another project, and it was a total failure. I didn't have a great experience and it put me off open source for a long time. In this talk, I want to explain what I did differently to succeed this time around (4).
+> 
+> **Speaker bio:**
+> I am a maintainer of GraphQL Java and software engineer at Atlassian (5). I've published a book, GraphQL with Java and Spring, all about the official Spring for GraphQL integration and the GraphQL Java library.
+
+Notice my proposal was very short, but it was also very clear. A tip: when you ask colleagues to review your proposal, don't ask them "was it clear?" because they'll probably say "yes" to be polite. If you want more accurate feedback, instead ask them to explain the proposal back to you.
+
+Additional commentary on my proposal
+1. Straight to the point in the title: My talk is going to be about how a beginner can make their first open source contribution. I would avoid puns, jokes, and pop culture references in the title because they might not make sense to a reviewer and can detract from your message.
+2. Why this talk is interesting: this is a common question many engineers have.
+3. Emphasise your credentials to build trust, and emphasise community connections.
+4. Why this talk is interesting: I didn't always succeed. I initially failed miserably, but made changes and then became a maintainer. Note that I don't actually explain any steps for how to make an open source contribution in this short proposal. I deliberately stopped short of explaining so you'll only find out if you accept my conference talk! Remember, this is like a movie trailer. Show just enough excitement to grab a person's interest, but don't give the story away.
+5. Explaining my credentials, why I'm uniquely qualified to give this talk. I also mentioned where I work and the book so it's easier to verify my credentials.
+
+## Dealing with rejection
+Rejection sucks, particularly after putting in so much effort to write a proposal. Even great talk proposals can still be rejected. Perhaps the conference organisers were looking for different topics, or there was some other factor you can't control.
+
+This is why I want to prepare you upfront, you will be applying to many conferences. If you keep trying, you will eventually get accepted. You can reuse most of your talk proposal for other conferences, so your effort is not wasted. You should only spend a few minutes on each subsequent application.
+
+If it helps, I tried to reframe my disappointment of getting rejected. Instead, I tried to make a game out of collecting rejections. My goal was to collect 100 conference rejections, because I knew every submission was improving my chances. Although I was rejected from quite a few conferences, I didn't achieve my "goal" of 100 rejections.
+
+When a rejection happens, it's worth remembering your reasons for wanting to speak at a conference, which I wrote about at the top of this page. I promise the payoff is worth the uncomfortable feeling of getting rejected. Don't give up.
+
+While I encourage you to continue trying, each rejection also gives you the opportunity to assess if there is anything you can do better next time. In my experience, conference organisers are usually too busy to deliver detailed feedback. You could instead ask a colleague or friend for help. Try to ask colleagues who have already spoken at conferences, as they've already achieved what you're aiming for.
+
+## Apply for GraphQLConf 2025
+In this page we walked through every thing you need to know for writing a successful conference proposal.
+
+You already have what it takes. I encourage you to apply to speak at GraphQLConf 2025! The call for proposals is open, [apply now!](https://sessionize.com/graphqlconf-2025).
diff --git a/src/pages/blog/2025-04-02-seeking-graphql-subject-matter-experts/Comparison_Method.gif b/src/pages/blog/2025-04-02-seeking-graphql-subject-matter-experts/Comparison_Method.gif
new file mode 100644
index 0000000000..f86362d7ed
Binary files /dev/null and b/src/pages/blog/2025-04-02-seeking-graphql-subject-matter-experts/Comparison_Method.gif differ
diff --git a/src/pages/blog/2025-04-02-seeking-graphql-subject-matter-experts/index.mdx b/src/pages/blog/2025-04-02-seeking-graphql-subject-matter-experts/index.mdx
new file mode 100644
index 0000000000..38c369dae1
--- /dev/null
+++ b/src/pages/blog/2025-04-02-seeking-graphql-subject-matter-experts/index.mdx
@@ -0,0 +1,72 @@
+---
+title: "Seeking GraphQL Subject Matter Experts"
+tags: ["blog"]
+date: 2025-04-02
+byline: Jem Gillam
+---
+## Help shape GraphQLConf's schedule!
+
+The GraphQLConf Programme Committee is looking for GraphQL Subject Matter Experts to help shape the talk schedule for this year's GraphQLConf in Amsterdam. As a volunteer in this role, you’ll spend time during the week of 19th-25th May 2025 comparing talk submissions within your area of expertise, contributing to the creation of an engaging, informative, and impactful agenda.
+
+![An example of using the comparison method in Sessionize](./Comparison_Method.gif)
+
+<p className="text-center">An example of using the comparison method in Sessionize</p>
+
+Ideal candidates are experienced GraphQL professionals with deep technical insight, industry awareness, and a passion for high-quality impartial content. We're particularly keen on hearing from open source contributors and maintainers of leading GraphQL clients, servers, tooling and implementations as well as consumers of GraphQL APIs. Your input will directly influence the conference experience, ensuring attendees get a mix of cutting-edge topics, practical insights, and exciting discussions.
+
+If you fit one or more of these categories, apply today!
+
+* Engineers and leaders behind large GraphQL service providers
+* Industry experts with knowledge of GraphQL observability, telemetry and tracing
+* GraphQL working group members (including all subcommittees)
+* Maintainers and contributors to open source GraphQL projects
+* Lead developers for large multi-faceted GraphQL deployments
+* Polyglot practitioners with a broad knowledge base across different ways of developing and deploying GraphQL
+* GraphQL security experts
+
+<div className="mt-8 flex justify-center">
+  <a
+    href="https://forms.gle/2ELscDLhMS7kf3x8A"
+    target="_blank"
+    rel="noreferrer"
+    className="bg-primary/85 px-20 py-4 text-center text-3xl font-semibold transition-colors hover:bg-primary/100 md:px-28"
+  >
+    Apply Now
+  </a>
+</div>
+
+## Timeline
+
+**27th April: Call for Subject Matter Experts closes**  
+4th May: Call for Speakers closes  
+5th - 16th May: You’ll be contacted to onboard you to our Sessionize system  
+**19th - 25th May: This is your week! You help to review the talk submissions**  
+26th May - 8th June: Program committee build the schedule, guided heavily by your ratings  
+11th June: Schedule published  
+8th - 10th September: GraphQL Conference in Amsterdam   
+
+## The Talk Selection Process
+
+There are three groups involved in the talk selection process: 
+
+* The Technical Steering Committee (TSC)
+* The new Subject Matter Experts initiative (SMEs) ← This is YOU!
+* The Program Committee
+
+After the submission period ends, the TSC will have a short period of time to assess the viability of proposed talks and discount any which fall short of the selection criteria: talks which are vendor pitches or off-topic will be rejected at this early stage. The TSC will then have a week to use a star rating system to rate the talks based on their quality and originality, as well as their importance to the GraphQL ecosystem. 
+
+In parallel, the SMEs will be given a selection of the talk proposals based on their subject matter areas. They will rate the talks using a comparison method, where groups of three talks are compared to each other. This will help identify which talks are the strongest fit for the conference based on subject relevance, originality, and potential audience engagement.
+
+
+After these two rating methods, each talk will have two scores: a star rating from the TSC based on conference fit, and a rating from the SMEs reflecting subject content. The Program Committee will then start with the most highly rated talks and work to produce the schedule. Whilst the aim is to produce a schedule reflecting the TSC and SME ratings, the Program Committee will also act as a curator: making sure there is a good balance of talks from across different industries and affiliations, as well as looking at speaker diversity in terms of demographics and a balance between experienced and new speakers. 
+
+<div className="mt-8 flex justify-center">
+  <a
+    href="https://forms.gle/2ELscDLhMS7kf3x8A"
+    target="_blank"
+    rel="noreferrer"
+    className="primary bg-primary/85 px-20 py-4 text-center text-3xl font-semibold transition-colors hover:bg-primary/100 md:px-28"
+  >
+    Apply to be an SME
+  </a>
+</div>
diff --git a/src/pages/blog/2025-04-18-governing-board-recap.md b/src/pages/blog/2025-04-18-governing-board-recap.md
new file mode 100644
index 0000000000..e1929e4c4a
--- /dev/null
+++ b/src/pages/blog/2025-04-18-governing-board-recap.md
@@ -0,0 +1,22 @@
+---
+title: March 2025 GraphQL Foundation Board Meeting Recap
+tags: ["blog"]
+date: 2025-04-18
+byline: GraphQL Governing Board
+---
+
+_Note: The GraphQL Foundation Governing Board will be authoring monthly blog post summaries of their meetings. This is the first approved post, with more to come!_
+
+GraphQL Foundation’s Governing Board gathered on March 20 for a productive meeting focused on transparency, community growth, and continued technical progress. One key highlight was the board’s support for hosting **biannual public “Town Hall”–style meetings**, inspired by the first such meeting at GraphQLConf 2024. These events—one of which will be held during GraphQLConf 2025 in September—aim to bring more visibility to the Foundation’s work and encourage community participation and input.
+
+On the technical front, the **Technical Steering Committee (TSC)** shared updates on nullability, upcoming changes to graphql-js, and ongoing work on the incremental delivery specification. The team also encouraged feedback from Board Members and the community on behalf of GraphQL over HTTP.
+
+The new [**Community Working Group**](https://github.com/graphql/community-wg), under the TSC, reported strong early engagement, including work on a refreshed GraphQL.org landing page and an open, async collaboration model based on GitHub issues.
+
+The **Marketing & Content Committee** reported that efforts are underway to produce a series of case studies and better support industry-specific adoption stories. The team is also exploring more tailored messaging and additional social media campaigns to promote the conference, Local initiatives, and GraphQL-related news.
+
+Preparations for GraphQLConf 2025 in Amsterdam are well underway. The CFP has seen increased submissions compared to last year, and new voting tools will enable more inclusive talk selection. Ticket sales are tracking to plan, and the Foundation is actively seeking additional sponsors to support the event.
+
+Finally, the **Budget Committee** presented a draft of a new membership pitch deck designed to better communicate the impact and benefits of joining the GraphQL Foundation. The committee is continuing to refine this deck and will solicit ongoing feedback on the messaging.
+
+Stay tuned for more updates as we continue working together to support the GraphQL ecosystem and community. If your organization is interested in sponsoring GraphQL Conf or contributing a case study, we’d love to hear from you!
diff --git a/src/pages/blog/2025-05-15-governing-board-recap.md b/src/pages/blog/2025-05-15-governing-board-recap.md
new file mode 100644
index 0000000000..13ce7ac04d
--- /dev/null
+++ b/src/pages/blog/2025-05-15-governing-board-recap.md
@@ -0,0 +1,28 @@
+---
+title: 📣 April 2025 GraphQL Foundation Board Meeting Recap
+tags: ["blog"]
+date: 2025-05-15
+byline: GraphQL Governing Board
+---
+
+The GraphQL Foundation Governing Board met April 17 to discuss ongoing community efforts, technical progress, and upcoming events—read on for the highlights:
+
+### **🖥️ Website Redesign Underway**
+
+The first version of the new GraphQL.org design is live for community feedback on [GitHub](https://github.com/graphql/community-wg/issues/21#issuecomment-2766734209)! Championed by The Guild, the new site focuses on communicating GraphQL’s value to different types of users. Check it out on GitHub and [Figma](http://figma.com/proto/aPUvZDSxJfYDJtPd7GF2sB/GraphQL.org?page-id=10%3A13019&node-id=649-3367&viewport=-2607%2C336%2C0.13&t=eZKIRpRkrWRATgQb-9&scaling=scale-down&content-scaling=fixed&starting-point-node-id=649%3A3367&show-proto-sidebar=1)—your feedback is welcome.
+
+### **🌍 Planning GraphQL All-Hands**
+
+We had fabulous input and a great turn out for our first public board meeting, which was held at GraphQLConf 2024. We’re building on that idea with a plan to host twice-a-year **GraphQL All-Hands** sessions. These gatherings will celebrate progress, share strategic updates, and foster open discussion. The next one will take place at [GraphQLConf 2025](https://graphql.org/conf/2025/) this fall!
+
+### **📊 Community Survey Discussion**
+
+Several Board and community members are exploring a user survey to help shape technical priorities, improve documentation, and inform event content. The Board discussed options to help the effort start small and release iteratively—stay tuned!
+
+### **💸 Budget & Membership**
+
+We're exploring aligning our fiscal planning with GraphQLConf to better match our annual rhythm. We also celebrated progress on new community grants! 🎉
+
+### **🎤 GraphQLConf 2025**
+
+We’re expanding community involvement in the CFP process by becoming a **Subject Matter Expert**—we’re looking for volunteers to help rank talks for the conference program. Also, we're proud to support an [ALS charity swim team](https://graphql.org/blog/graphql-stream-team/) happening before the conference. The CFP closed **May 12**.
diff --git a/src/pages/blog/2025-05-31-graphiql-4/index.mdx b/src/pages/blog/2025-05-31-graphiql-4/index.mdx
new file mode 100644
index 0000000000..ed8fd77d7f
--- /dev/null
+++ b/src/pages/blog/2025-05-31-graphiql-4/index.mdx
@@ -0,0 +1,100 @@
+---
+title: GraphiQL 4.1 is Released
+tags: [announcements, grants]
+date: 2025-05-31
+byline: Dimitri Postolov
+---
+
+import { Callout } from "nextra/components"
+
+I'm thrilled to announce the release of **GraphiQL 4.1**! 🎉
+
+Thanks to funding from the **GraphQL Foundation**, I'm working on migrating
+GraphiQL to the Monaco code editor — a long-awaited update that's been on our
+roadmap for years.
+
+> In fact, the [original issue](https://github.com/graphql/graphiql/issues/2326)
+> was opened over **three years ago**!
+
+## Roadmap
+
+Migrating to the Monaco editor is a major milestone, and to ensure a smooth
+transition for everyone, I've broken it down into several incremental releases:
+
+### GraphiQL 3.9
+
+- Switched build system from Webpack to Vite
+- Compiled the codebase using the new
+  [React Compiler](https://react.dev/learn/react-compiler)
+
+### GraphiQL 4
+
+- Dropped support for React 16/17
+- Added support for React 19
+- Introduced a refreshed tabs UI
+- New ESM-based CDN example
+- Deprecated the legacy UMD CDN build
+
+### GraphiQL 4.1 _(This release)_
+
+- Standalone Doc Explorer plugin
+- Standalone History plugin
+- Migrated state management from React context to
+  [zustand](https://zustand-demo.pmnd.rs)
+
+### GraphiQL 5 _(Coming Soon)_
+
+- Migration from Codemirror to
+  [Monaco Editor](https://github.com/microsoft/monaco-editor)
+- Replacing `codemirror-graphql` with
+  [`monaco-graphql`](https://github.com/graphql/graphiql/tree/main/packages/monaco-graphql)
+- Support for comments in **Variables** and **Headers** editors
+- New examples: **GraphiQL x Vite** and **GraphiQL x Next.js**
+
+<Callout type="info">
+  For the full roadmap, check out the [tracking issue on
+  GitHub](https://github.com/graphql/graphiql/issues/3874).
+</Callout>
+
+## What's New
+
+GraphiQL 4 serves as a gateway to the upcoming GraphiQL 5, which will be powered
+by the Monaco editor, the same editor used in VSCode. Upgrading to GraphiQL 4 is
+an essential step if you're already using React 19.
+
+We've extracted **Doc Explorer** and **History** into standalone plugins,
+allowing full customization of GraphiQL's built-in plugins in the **GraphiQL
+5**.
+
+Under the hood, we've replaced React context with zustand, making the internal
+state management simpler and more maintainable, and enabling faster iteration on
+new features.
+
+### Time to Say Goodbye to UMD Builds!
+
+With React 19,
+[UMD builds have been removed](https://react.dev/blog/2024/04/25/react-19-upgrade-guide#umd-builds-removed).
+The React team now recommends using ESM-based CDNs like
+[esm.sh](https://esm.sh).
+
+We've updated the
+[CDN example](https://github.com/graphql/graphiql/tree/main/examples/graphiql-cdn)
+to show how to use GraphiQL with [esm.sh](https://esm.sh).
+
+### How to Update
+
+Follow the step-by-step guide in our
+[GraphiQL 4 migration documentation](https://github.com/graphql/graphiql/blob/main/docs/migration/graphiql-4.0.0.md).
+
+## What's Next?
+
+The development of **GraphiQL 5** is almost complete! You can checkout the last
+[Live Preview](https://deploy-preview-3234--graphiql-test.netlify.app).
+
+The official release is just around the corner — arriving later **this June**!
+
+## Stay Connected
+
+Follow me, **Dima Machina**, on [𝕏](https://x.com/dimaMachina_) and
+[GitHub](https://github.com/dimaMachina) to stay up to date with the latest
+updates!
diff --git a/src/pages/blog/2025-06-20-graphql-js-org.md b/src/pages/blog/2025-06-20-graphql-js-org.md
new file mode 100644
index 0000000000..e322a7ad38
--- /dev/null
+++ b/src/pages/blog/2025-06-20-graphql-js-org.md
@@ -0,0 +1,39 @@
+---
+title: 🆕 Announcing graphql-js.org!
+tags: ["blog"]
+date: 2025-06-20
+byline: GraphQL-js Maintainers
+---
+
+Dear Community,
+
+We're excited to share a milestone in the GraphQL-JS journey, one that puts our community at the center of everything we do.
+
+For years, GraphQL-JS documentation lived under the broader graphql.org umbrella at `/graphql-js`. While this made sense back then, we want to serve y'all better, we want upgrade guides and everything graphql-js specific to live in one easy to navigate place.
+
+We're thrilled to announce that GraphQL-JS has moved to its dedicated home at [**graphql-js.org**](https://www.graphql-js.org).
+
+This isn't simply a change of address, it's a commitment to the community that has made GraphQL-JS what it is today. This new home represents the first step in a larger mission: giving you the comprehensive documentation, clear upgrade paths, and responsive support that a project of this scale deserves.
+
+What This Means for You
+
+- **Easier discovery**: No more hunting through nested documentation structures
+- **Focused experience**: Everything GraphQL-JS related in one dedicated space
+- **Better navigation**: Documentation organized around your workflow, not our internal structure
+
+Coming soon:
+
+- **Comprehensive upgrade guides**: Clear, step-by-step paths between major versions, GraphQL V17 will be our first attempt at this
+- **Enhanced reference documentation**: Every API documented with real-world examples
+
+## An Inflection Point
+
+We see this move as an inflection point, a moment where we recommit to being the reference implementation the community deserves. GraphQL-JS isn't just code; it's the foundation that teams around the world build upon. Whether you're implementing a new GraphQL server, debugging a complex schema, or upgrading between major versions, you deserve documentation and tooling that makes your job easier, not harder.
+
+This is our promise: we're not just maintaining GraphQL-JS, we're investing in its future and yours.
+
+---
+
+_The GraphQL-JS Maintainers_
+
+_Questions or feedback about the new site? We'd love to hear from you in our [GitHub discussions](https://github.com/graphql/graphql-js/discussions) or on the [GraphQL community Discord](https://discord.graphql.org) in channel `#graphql-js`._
diff --git a/src/pages/blog/2025-06-26-docs-updates.md b/src/pages/blog/2025-06-26-docs-updates.md
new file mode 100644
index 0000000000..eeb5a26c1d
--- /dev/null
+++ b/src/pages/blog/2025-06-26-docs-updates.md
@@ -0,0 +1,49 @@
+---
+title: "GraphQL.js Docs Updates, April - May 2025"
+tags: ["grants"]
+date: 2025-06-26
+byline: Sarah Sanders
+---
+
+> The GraphQL Foundation offers [Community Grants](https://graphql.org/foundation/community-grant/) to help incentivize key
+> technical and community initiatives. As part of the grant, applicants commit to write a blog post report describing their
+> work and its impact on the GraphQL community. The following report was written by grant recipient Sarah Sanders in June
+> 2025, summarizing the documentation updates she contributed to the GraphQL.js reference guides during her project.
+
+## About the project
+
+The [GraphQL.js](https://github.com/graphql/graphql-js) library is the reference implementation of the GraphQL specification
+in JavaScript, and it's widely used both directly and indirectly by many GraphQL tools and servers. While the implementation
+itself is robust and actively maintained, the supporting documentation had room to grow—especially when it came to helping
+developers understand _how_ GraphQL.js reflects the spec and _how_ to use its APIs in real projects.
+
+With that in mind, I applied for a GraphQL Foundation Community Grant to work on improving the GraphQL.js documentation.
+My goal was to make the guides more approachable for newcomers, more accurate for advanced users, and more aligned with the
+specification for everyone.
+
+## What I worked on
+
+This project involved a full audit of the existing GraphQL.js guides, followed by targeted updates to improve clarity,
+structure, and completeness. I focused on areas that were either under-documented or potentially confusing, and worked to
+ensure the guides explained not just _what_ GraphQL.js does, but _why_ and _how_ it does it.
+
+Some key improvements include:
+
+- Clearer explanations of schema construction and how types are defined in GraphQL.js
+- Improved guidance on how execution and validation flow maps to the spec
+- Expanded sections on custom scalars and other advanced patterns
+- New guides on testing and production-readiness
+
+All updates are live on the [GraphQL.js docs site](https://www.graphql-js.org/docs/).
+
+## What's next
+
+I hope these updates help more developers learn and use GraphQL.js effectively, and serve as a foundation for future improvements
+to the reference documentation. There’s still more we can do and I’d love to see others in the community build on this work.
+
+This project was a rewarding chance to contribute meaningfully to the GraphQL ecosystem, and I’m thankful to the maintainers
+who reviewed, discussed, and supported the updates throughout the process. If you’re considering a documentation or
+community contribution, I encourage you to explore the [GraphQL Foundation’s Community Grant Program](https://graphql.org/foundation/community-grant/). It’s a great way to go deep, give back, and help others along the way.
+
+Feel free to reach out if you’re thinking about submitting a proposal. I’m happy to share what I learned! You can
+reach me via [GitHub](https://github.com/sarahxsanders) or [LinkedIn](https://www.linkedin.com/in/sarah-s-42913121a/).
diff --git a/src/pages/blog/2025-06-27-governing-board-recap.md b/src/pages/blog/2025-06-27-governing-board-recap.md
new file mode 100644
index 0000000000..ca288cf82e
--- /dev/null
+++ b/src/pages/blog/2025-06-27-governing-board-recap.md
@@ -0,0 +1,37 @@
+---
+title: 📣 May 2025 GraphQL Foundation Board Meeting Recap
+tags: ["blog"]
+date: 2025-06-27
+byline: GraphQL Governing Board
+---
+
+# 📣 GraphQL Foundation May 2025 Board Meeting Recap
+
+The GraphQL Foundation Governing Board met for its monthly board meeting on May 15 to share updates across community, technical, and operational committee initiatives. Here's a quick look at what was covered:
+
+## 🌐 Community & Website Updates
+
+Work continues on the redesign of [graphql.org](https://graphql.org), led by the Community Working Group. The new site will feature refreshed messaging, community-focused sections, and improved support for case studies. Community input is welcome via GitHub and monthly working group meetings. It’s looking great!
+
+## 📅 GraphQL Conf 2025 Planning
+
+Preparations for GraphQLConf 2025 are fully underway! The Call for Proposals has closed, and submissions are under review with support from 16 subject matter experts from the community and the TSC. Sponsorships are coming in from members like **Apollo**, **Grafbase**, and **Meta**, and attendance targets are on track. Two new local GraphQL meetup groups have launched in India, and discussions about a potential ambassador program are in development.
+
+## 💸 Budget & Strategy
+
+The Foundation is considering shifting its fiscal planning to align with the conference, which would simplify planning and help center GraphQLConf as a key milestone each year. Grant-funded projects are progressing well, including improvements to GraphiQL and documentation.
+
+## 🔧 Technical Progress
+
+The Technical Steering Committee (TSC) shared updates on several fronts:
+
+- A release candidate for the new **GraphQL over HTTP specification** is nearly ready.
+- Key proposals like **Input Unions** and updated **deprecation rules** have been accepted into the spec.
+- Legacy versions of **graphql-js** have been formally deprecated, with a new versioning policy now in place.
+- A new **OpenTelemetry Working Group** has launched to improve observability support for GraphQL.
+
+## 📣 Get Involved
+
+The Foundation is looking for help organizing the conference schedule, gathering community case studies, and contributing to ongoing spec work. If you're interested in supporting the ecosystem, now’s a great time to jump in!
+
+Stay tuned for more updates at [graphql.org](https://graphql.org) and follow us for the latest on GraphQLConf 2025.
diff --git a/src/pages/blog/2025-07-03-graphql-supercharging-ai.mdx b/src/pages/blog/2025-07-03-graphql-supercharging-ai.mdx
new file mode 100644
index 0000000000..fb8040f143
--- /dev/null
+++ b/src/pages/blog/2025-07-03-graphql-supercharging-ai.mdx
@@ -0,0 +1,50 @@
+---
+title: "GraphQL: Supercharging AI"
+tags: ["blog"]
+date: 2025-07-03
+byline: Stephen Spalding
+---
+
+In 2015, when GraphQL was first introduced, it solved a very human problem: helping developers query exactly the data they needed, no more and no less. It introduced a contract between client and server that was typed, introspectable, and composable, quickly reshaping the way we think about APIs.
+
+Nearly a decade later, that same contract is proving essential for a very different kind of client: **intelligent systems**.
+
+As large language models (LLMs) and agentic software grow more capable, a new challenge has emerged. These systems don’t just need access to raw data; they need **structured context** they can understand, explore, and act upon. And once again, GraphQL is rising to meet that need.
+
+## **Intelligent Systems Need Structured Interfaces**
+
+LLMs and agentic architectures are powerful, but they’re inherently limited by the quality and structure of the context they receive. Whether summarizing customer data, retrieving internal documentation, or executing multi-step plans, they rely on **clear, machine-navigable interfaces** to understand their environment.
+
+Traditional APIs like REST or RPC weren’t built for that. They expose data, but not semantics. They support integration, but not discovery.
+
+GraphQL offers a better fit:
+
+* **A self-describing schema**, so agents can explore what's possible  
+* **Strong typing**, so models can reason about inputs and outputs  
+* **Composability**, enabling flexible, targeted access to data and functionality
+
+These aren’t just developer conveniences. They are enablers of intelligent interaction.
+
+## **MCP ❤️ GraphQL**
+
+The **Model Context Protocol (MCP)** is a new standard for giving LLMs and agents access to structured, machine-readable context. It defines how tools and APIs describe their capabilities in a consistent way, so models can plan, query, and act more intelligently.
+
+**GraphQL is a natural fit.** With strong typing, clear semantics, and introspectable schemas, GraphQL addresses many of MCP’s core challenges out of the box. By making APIs self-describing and composable, GraphQL transforms static interfaces into dynamic environments that intelligent systems can understand and use effectively.
+
+## **The Evolution of APIs in the AI Era**
+
+This reflects a broader shift from human-centered APIs to **machine-navigable protocols**. In this transition, GraphQL plays a unique role:
+
+* It provides a shared contract between developers and intelligent systems  
+* It makes capabilities explicit, enabling dynamic interactions without hardcoding  
+* It supports tooling, validation, and composability at scale
+
+These strengths, once used to streamline frontend and backend development, are now foundational for AI-native systems that must reason about the world in real time.
+
+## **From Developer Tools to Intelligent Systems**
+
+GraphQL’s original mission was to help developers “describe the data they want, and get exactly that.” Today, the “developers” might be autonomous agents, orchestration layers, or LLMs writing queries on the fly.
+
+We’re entering an era where APIs aren’t just for connecting systems; they’re for teaching models how to interact with them. That means APIs must be **introspectable, type-safe, and composable**—the very things GraphQL has offered from the beginning.
+
+In the age of AI, **structure matters**. And GraphQL delivers **structure**, **composability**, and **introspection** like nothing else. If you’re building AI-native apps, it’s time to stop thinking of GraphQL as just a frontend tool—and start seeing it as **the API protocol for intelligent systems**.
diff --git a/src/pages/blog/2025-07-17-graphiql-5/custom-rules-example.png b/src/pages/blog/2025-07-17-graphiql-5/custom-rules-example.png
new file mode 100644
index 0000000000..509773222e
Binary files /dev/null and b/src/pages/blog/2025-07-17-graphiql-5/custom-rules-example.png differ
diff --git a/src/pages/blog/2025-07-17-graphiql-5/index.mdx b/src/pages/blog/2025-07-17-graphiql-5/index.mdx
new file mode 100644
index 0000000000..e080613c77
--- /dev/null
+++ b/src/pages/blog/2025-07-17-graphiql-5/index.mdx
@@ -0,0 +1,238 @@
+---
+title: GraphiQL 5 Released; Press F1!
+tags: [announcements, grants]
+date: 2025-07-17
+byline: Dimitri Postolov
+---
+
+import { Callout } from "nextra/components"
+
+> The GraphQL Foundation offers [Community Grants](/foundation/community-grant)
+> to help incentivize key technical and community initiatives. As part of the
+> grant, applicants commit to write a blog post report describing their work and
+> its impact on the GraphQL community. The following report was written by grant
+> recipient Dimitri Postolov in June 2025, having completed his project to
+> release Monaco support in GraphiQL. The effort to add Monaco support to
+> GraphiQL was
+> [started over five years ago](https://github.com/graphql/graphiql/issues/1445)
+> and we are beyond excited to see it finally reach fruition!
+
+<figure className="mt-6">
+  <video autoPlay muted loop playsInline style={{ maxWidth: '100%', borderRadius: '0.5rem' }}>
+    <source src="/videos/graphiql5.webm" type="video/webm" />
+    Your browser does not support the video tag.
+  </video>
+  {/* prettier-ignore */}
+  <figcaption className="mt-2 text-center">[GraphiQL 5 with Monaco Editor](https://graphql.org/swapi-graphql/)</figcaption>
+</figure>
+
+This post marks the completion of **8 weeks** of work on my GraphiQL grant,
+sponsored by the **GraphQL Foundation**.
+
+I'm thrilled to announce the release of the all-new **GraphiQL 5**, powered by
+the latest version of the [Monaco editor][monaco-editor]! 🎉
+
+I also added support for comments in the **Variables** and **Headers** editors.
+This release is a major step forward.
+
+> [The original issue for integrating the Monaco editor](https://github.com/graphql/graphiql/issues/2326)
+> was opened over **3 years ago**.<br/> And the
+> [issue requesting comments support in the Variables editor](https://github.com/graphql/graphiql/issues/780)
+> was opened over **6 years ago**!
+
+As a primary maintainer of the GraphiQL IDE, I previously led the releases of
+GraphiQL 3 and [GraphiQL 4](/blog/2025-05-31-graphiql-4). This new version marks
+another exciting milestone in the evolution of the project.
+
+## What's New
+
+### Monaco Editor Migration
+
+GraphiQL 5 now uses [Monaco editor][monaco-editor] as default editor, the same
+editor used in [VSCode](https://code.visualstudio.com).
+
+Monaco editor runs heavy language features (like syntax analysis, linting, and
+IntelliSense) in
+[Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers),
+keeping the UI smooth and responsive.
+
+You can now delight your users with identical behavior to Visual Studio Code,
+meaning intelligent autocompletion, hover tooltips, go to definition, find
+references. I've also added
+[`monaco-graphql`](https://github.com/graphql/graphiql/tree/main/packages/monaco-graphql)
+integration in **Query** and **Variables** editor.
+
+<Callout type="info">
+  Clicking on a reference in the Query editor now works by holding `Cmd` on
+  macOS or `Ctrl` on Windows/Linux.
+</Callout>
+
+As in VSCode, you can press F1 to see the available commands including features
+such as multiple cursors!
+
+### Support for Comments in Variables and Headers Editors
+
+Thanks to the migration to Monaco Editor, another long-awaited feature has been
+implemented. The **Variables** and **Headers** editors now support comments and
+use the **JSONC** language internally.
+
+In the **Variables** and **Headers** payloads, all comments are automatically
+stripped before the request is executed — the content in the editors **remains
+unchanged**.
+
+### UMD Builds Are Removed
+
+Previously in GraphiQL 4 UMD builds were marked as deprecated, in GraphiQL 5
+they were removed completely.
+
+We suggest using ESM-based CDNs like [esm.sh][esm.sh] to import GraphiQL in your
+projects.
+
+I updated [GraphiQL CDN example][graphiql-cdn] to show how to use GraphiQL with
+[esm.sh][esm.sh] including how to import and setup workers.
+
+### Examples Update
+
+**GraphiQL with Parcel** and **GraphiQL with Create React App** examples were
+removed.
+
+In addition to updated [GraphiQL CDN example][graphiql-cdn], I've added 2 new
+examples
+[GraphiQL with Vite](https://github.com/graphql/graphiql/tree/main/examples/graphiql-vite)
+and
+[GraphiQL with Next.js and App Router](https://github.com/graphql/graphiql/tree/main/examples/graphiql-nextjs).
+
+### Customizable Default Plugins
+
+GraphiQL 5 lets you take full control over the UI by allowing complete
+customization of its plugins.
+
+#### Removing All Default Plugins
+
+To remove all default plugins (currently **Doc Explorer** and **History**), set
+`referencePlugin={null}` and pass an empty array to the `plugins` prop:
+
+```jsx
+import { GraphiQL } from "graphiql"
+
+const myPlugins = []
+
+function App() {
+  return (
+    <GraphiQL
+      referencePlugin={null} // Removes Doc Explorer plugin
+      plugins={myPlugins} // Removes History plugin
+    />
+  )
+}
+```
+
+<Callout type="info">
+  If you're using a custom Doc Explorer, pass it to the `referencePlugin` prop —
+  **not** the `plugins` array. It will be automatically included and always
+  rendered first.
+</Callout>
+
+#### Adding Plugins While Keeping Defaults
+
+If you're adding custom plugins (e.g. the **Explorer** plugin) and want to keep
+the **History** plugin, you must explicitly include it in the `plugins` array:
+
+```jsx
+import { GraphiQL, HISTORY_PLUGIN } from "graphiql"
+import { explorerPlugin } from "@graphiql/plugin-explorer"
+
+const myPlugins = [HISTORY_PLUGIN, explorerPlugin()]
+
+function App() {
+  return <GraphiQL plugins={myPlugins} />
+}
+```
+
+### Removed Props
+
+- `readOnly`
+- `keyMap` - to use Vim or Emacs keybindings in Monaco, you can use community
+  plugins such as [Monaco Vim](https://github.com/brijeshb42/monaco-vim) or
+  [Monaco Emacs](https://github.com/aioutecism/monaco-emacs)
+- `validationRules` - use custom GraphQL worker, see
+  [Monaco GraphQL docs](https://github.com/graphql/graphiql/tree/main/packages/monaco-graphql#custom-webworker-for-passing-non-static-config-to-worker)
+
+  <figure className="mt-6">
+    {/* prettier-ignore */}
+    <>![Example of custom GraphQL validation rules](./custom-rules-example.png)</>
+    {/* prettier-ignore */}
+    <figcaption className="mt-2 text-center">Example of custom GraphQL validation rules</figcaption>
+  </figure>
+
+### Additional Changes
+
+The shortcut to focus on the Doc Explorer search input is now `Cmd/Ctrl+Alt+K`
+instead of the previous `Cmd/Ctrl+K`. This was changed because monaco-editor has
+a built-in `Cmd/Ctrl+K` command.
+
+## How to Update
+
+Update `graphiql` using your favorite package manager:
+
+```sh npm2yarn
+npm i graphiql@latest
+```
+
+### Setup Monaco Workers
+
+You need to set up Monaco workers in your project:
+
+- For **Vite** projects you must import:
+
+  ```js
+  import "graphiql/setup-workers/vite"
+  ```
+
+  <Callout type="info">
+    See [Vite
+    example](https://github.com/graphql/graphiql/blob/main/examples/graphiql-vite/src/App.jsx).
+  </Callout>
+
+- For Webpack projects such as **Next.js** you must import:
+
+  ```js
+  import "graphiql/setup-workers/webpack"
+  ```
+
+  <Callout type="info">
+    See [Next.js
+    example](https://github.com/graphql/graphiql/blob/main/examples/graphiql-nextjs/src/app/page.tsx).
+  </Callout>
+
+- For ESM-based CDN usages, you must use
+  [`?worker` query](https://esm.sh/#web-worker) to load the module as a web
+  worker:
+
+  ```js /?worker/
+  import createJSONWorker from "https://esm.sh/monaco-editor/esm/vs/language/json/json.worker.js?worker"
+  import createGraphQLWorker from "https://esm.sh/monaco-graphql/esm/graphql.worker.js?worker"
+  import createEditorWorker from "https://esm.sh/monaco-editor/esm/vs/editor/editor.worker.js?worker"
+
+  globalThis.MonacoEnvironment = {
+    getWorker(_workerId, label) {
+      switch (label) {
+        case "json":
+          return createJSONWorker()
+        case "graphql":
+          return createGraphQLWorker()
+      }
+      return createEditorWorker()
+    }
+  }
+  ```
+
+  <Callout type="info">
+    See [CDN
+    example](https://github.com/graphql/graphiql/blob/main/examples/graphiql-cdn/index.html).
+  </Callout>
+
+[monaco-editor]: https://github.com/microsoft/monaco-editor
+[graphiql-cdn]:
+  https://github.com/graphql/graphiql/blob/main/examples/graphiql-cdn/index.html
+[esm.sh]: https://esm.sh
diff --git a/src/pages/blog/_meta.tsx b/src/pages/blog/_meta.tsx
index 3ef582e54b..1ab5fb35c7 100644
--- a/src/pages/blog/_meta.tsx
+++ b/src/pages/blog/_meta.tsx
@@ -4,6 +4,7 @@ import NextLink from "next/link"
 export default {
   // only for blog posts inside folders we need to specify breadcrumb title
   "2024-06-11-announcing-new-graphql-website": "Announcing New GraphQL Website",
+  "2025-07-17-graphiql-5": "GraphiQL 5 Release; Press F1!",
   "*": {
     display: "hidden",
     theme: {
diff --git a/src/pages/blog/graphql-stream-team.mdx b/src/pages/blog/graphql-stream-team.mdx
new file mode 100644
index 0000000000..f95e10e502
--- /dev/null
+++ b/src/pages/blog/graphql-stream-team.mdx
@@ -0,0 +1,35 @@
+---
+title: Join the GraphQL Stream Team at GraphQLConf 2025!
+tags: ["blog"]
+date: 2025-04-29
+byline: GraphQLConf Programming Committee
+---
+
+We're excited to announce that this year, alongside GraphQLConf 2025 in Amsterdam, we’re diving into something a little different. This is your once in a lifetime opportunity to swim in the Amsterdam canals and craft some fin-tastic puns. We've created a team to participate in the [Amsterdam City Swim](https://www.amsterdamcityswim.nl/), and we’d love for you to join the [GraphQL Stream Team](https://www.amsterdamcityswim.nl/teams/graphql-stream-team) on Sunday, September 7th!
+
+**Why We're Swimming**
+
+The Amsterdam City Swim isn’t just a unique athletic event—it’s a powerful fundraiser supporting research into ALS (amyotrophic lateral sclerosis), a devastating neurological disease that still has no cure. Every stroke we take helps raise money and awareness, and contributes to the ongoing fight against ALS.
+
+As developers, technologists, and open source enthusiasts, we often work together to solve complex problems. Now, we’re channeling that same energy into something beyond our everyday work—supporting a cause that impacts lives around the world. Our goal is to raise €2,500.
+
+**Who Can Join?**
+
+Anyone is welcome, even if you aren’t able to attend GraphQLConf! All you need is a swimsuit/wetsuit and goggles. Whether you're a seasoned swimmer or just in it for the adventure, we want you. **There are two different distance options - 750m + 2.25 km.**
+
+**Not a Fish?**
+
+We love a fan club! We’ll arrange a meetup spot for spectators and a post-swim soiree.
+
+**Ready to Take the Plunge?**
+
+* Sign up for our team: [GraphQLConf Stream Team](https://www.amsterdamcityswim.nl/teams/graphql-stream-team)
+* Make a [donation](https://www.amsterdamcityswim.nl/teams/graphql-stream-team/donate)
+* Spread the word: Invite your colleagues, friends, and family
+* Pack your swim gear for Amsterdam!
+
+**Let’s Make a Splash**
+
+GraphQLConf 2025 is already shaping up to be an unforgettable event. Let’s make it even more meaningful by showing what our community can do when we come together for a good cause.
+
+Are you in? We welcome you with open fins!
diff --git a/src/pages/community/foundation/_meta.tsx b/src/pages/community/foundation/_meta.tsx
index 5dbf604869..175c3a5b77 100644
--- a/src/pages/community/foundation/_meta.tsx
+++ b/src/pages/community/foundation/_meta.tsx
@@ -4,7 +4,10 @@ export default {
   "graphql-conf": "GraphQL Conf",
   "community-grant": "",
   contact: "Contact Us",
-  "annual-reports": "",
+  "annual-reports": {
+    title: "Annual Reports",
+    display: "hidden",
+  },
   members: "Foundation Members",
   landscape: {
     title: (
diff --git a/src/pages/community/foundation/community-grant.mdx b/src/pages/community/foundation/community-grant.mdx
index 5bb17964de..a233a9f885 100644
--- a/src/pages/community/foundation/community-grant.mdx
+++ b/src/pages/community/foundation/community-grant.mdx
@@ -18,9 +18,9 @@ upon funding that is received as membership dues for the GraphQL Foundation.
 This is one way in which the GraphQL Foundation directly supports the ongoing
 health of the GraphQL developer ecosystem.
 
-We encourage you to be creative in your grant application, and
-propose tasks that are straightforward to articulate, achievable in three
-months, and bounded in scope.
+We encourage you to be creative in your grant application, and propose tasks
+that are straightforward to articulate, achievable in three months, and bounded
+in scope.
 
 Examples include:
 
@@ -33,18 +33,17 @@ Examples include:
 - Other user experience improvement ideas for the [graphql.org][] website and/or
   [github.com/graphql][]
 
-We are not funding work on projects outside https://github.com/graphql/ at this time.
+We are not funding work on projects outside https://github.com/graphql/ at this
+time.
 
 ## How to apply
 
-The GraphQL Community Grant Program [accepts applications at any
-time][application-form], and evaluates all undecided applications at least twice
-per year. All applications will be closed after an evaluation cycle has
-completed. Applicants may re-apply at any point.
-
 To apply, please complete the [GraphQL Community Grant Program
 application][application-form].
 
+The GraphQL Community Grant Program accepts applications at any time. Applicants
+can only have one active grant at a time, but may re-apply at any time.
+
 ## FAQs
 
 ### Do I need to be developing the specification or code to apply?
@@ -65,14 +64,13 @@ The grant amount offered will depend on our available funding and the number of
 approved grants per cycle. Individual grants are expected to be between $1,000
 and $10,000 USD. When you apply you can select what size of grant you feel would
 be appropriate, but if approved you may be offered a different amount and it
-will be up to you if you wish to proceed or not.
+will be your choice whether to proceed.
 
 ### When can I expect to receive a response about my application?
 
-We will review applications at least twice per year, on our about the end of May
-and on or about the end of November. However, we will endeavor to review
-applications as they come in and you will receive a response within 2 months of
-review.
+We will review applications at least twice per year; however, we endeavor to
+review applications as they come in and you will receive a response within 2
+months of review.
 
 ### How often can I apply?
 
@@ -81,9 +79,10 @@ frequently as you like.
 
 ### Who is eligible?
 
-Any individual working in the GraphQL developer community who can receive a
-payment from a US-based organization. Please note that this program is not
-work-for-hire, and this is not an employment arrangement.
+Any individual working in the GraphQL developer community who can legally
+receive a payment from a US-based organization, including meeting any local tax
+or legal requirements. Please note that this program is not work-for-hire, and
+this is not an employment arrangement.
 
 _Only individuals are eligible to receive funding._
 
@@ -104,9 +103,49 @@ directly improves the GraphQL Foundation projects.
 ### Do I have to sign anything?
 
 Yes, if your proposal is selected you will need to sign the GraphQL Grantee
-Agreement ([preview][agreement-preview] in order to receive the funding). It is
+Agreement ([preview][agreement-preview]) in order to receive the funding. It is
 your responsibility to read and understand the contents of the agreement.
 
+### What currencies are grants awarded in?
+
+All grants are awarded in United States Dollars (USD), so they should be
+requested in USD. The amount specified in the grant agreement is fixed in USD
+and will not be adjusted for currency fluctuations, conversion rates, or any
+other exchange-related considerations. Recipients are responsible for any
+associated currency conversion or banking fees.
+
+### When are grant funds disbursed?
+
+Grants are typically disbursed in full upon successful completion of the agreed
+deliverables. However, in select cases, individuals with a demonstrated history
+of substantial contributions to GraphQL Foundation projects may be eligible to
+receive a small portion of the grant amount as an advance. Any such advance is
+entirely at the discretion of the GraphQL Foundation and must be agreed upon in
+writing prior to the commencement of the grant work. The remainder will be
+disbursed only upon successful completion of the agreed deliverables.
+
+### How does the review process work?
+
+After submission, the GraphQL TSC's appointed grants representative is notified
+and typically reviews the application within two working weeks. If the grant is
+clearly out of scope, it will be declined with an explanation. If more
+information is needed, it will be requested. Otherwise, the application proceeds
+to the full TSC for review, discussion, and voting.
+
+The TSC aims to provide feedback within a further 2–3 working weeks, though this
+may take longer depending on availability or complexity. If it takes longer than
+3 weeks, the applicant will be informed.
+
+At the end of the review process, one of three outcomes is likely:
+
+1.  The application is accepted, and next steps (contract, invoicing, etc.) are
+    initiated.
+2.  Changes are requested (e.g. revised scope or funding).
+3.  The application is declined, typically with guidance for resubmission.
+
+Note: Timelines are best-effort and may shift due to holidays, travel, or other
+factors.
+
 ## More information
 
 If you have questions, please contact [operations@graphql.org][].
@@ -116,4 +155,5 @@ If you have questions, please contact [operations@graphql.org][].
 [github.com/graphql]: https://github.com/graphql
 [operations@graphql.org]: mailto:operations@graphql.org
 [agreement-preview]: https://grantee-agreement-preview.graphql.org
-[application-form]: https://docs.google.com/forms/d/e/1FAIpQLSciopqGoQE2hBhxsb5E6dq12VrD221Zv4dsGWa1nQM35FT1nA/viewform?usp=sf_link
+[application-form]:
+  https://docs.google.com/forms/d/e/1FAIpQLSciopqGoQE2hBhxsb5E6dq12VrD221Zv4dsGWa1nQM35FT1nA/viewform?usp=sf_link
diff --git a/src/pages/community/foundation/graphql-conf.mdx b/src/pages/community/foundation/graphql-conf.mdx
index 18c935ad33..6cebb00239 100644
--- a/src/pages/community/foundation/graphql-conf.mdx
+++ b/src/pages/community/foundation/graphql-conf.mdx
@@ -16,7 +16,7 @@ and help produce an incredible event by [sponsoring us](/conf/2025).
 
 ## 2024
 
-- [Recorded Sessions](/conf/2024/sessions)
+- [Recorded Sessions](/conf/2024/schedule)
 - [Gallery](/conf/2024/gallery)
 - [Blog](/blog/2024-10-08-graphql-conf-2024-wrap/)
 
diff --git a/src/pages/community/foundation/local-initiative.mdx b/src/pages/community/foundation/local-initiative.mdx
index 7eb9410a7b..fd479d983e 100644
--- a/src/pages/community/foundation/local-initiative.mdx
+++ b/src/pages/community/foundation/local-initiative.mdx
@@ -63,6 +63,38 @@ shall not be referred to as "official", but are still encouraged to follow the
 guidelines that are applicable (in particular, the Code of Conduct and Brand
 Guidelines must still be honoured).
 
+### Local identity
+
+Locals are encouraged to use the name of their area in their Local name and identity.
+The area chosen to be in the Local name should be meaningfully "local." It should
+be culturally identified as a "local area," and at its largest should be a region that you
+can reasonably commute within by public or private transport for an evening event. Often
+this is a city, but we appreciate that's an imperfect simplification.
+
+<div className="dos">
+ - GraphQL San Francisco
+</div>
+<div className="donts">
+ - GraphQL California
+</div>
+
+If a brand or company wishes to be featured in the Local's identity, it must take secondary
+precedence after the local area name and GraphQL:
+
+<div className="grid md:grid-cols-2 md:gap-5">
+<div className="dos">
+ - London GraphQL sponsored by Acme
+ - London GraphQL hosted by Acme and Brand X
+ - <strong>London GraphQL</strong><br />sponsored by Acme
+- <strong>London GraphQL</strong><br />hosted by Acme and Brand X
+</div>
+<div className="donts">
+ - Acme GraphQL
+ - Acme presents London GraphQL
+ - London GraphQL<br />presented by <strong>Acme</strong>
+</div>
+</div>
+
 ## Support
 
 Each approved Local is entitled to request the following support for each
diff --git a/src/pages/community/foundation/members.mdx b/src/pages/community/foundation/members.mdx
index 7351aaad27..84de1e800d 100644
--- a/src/pages/community/foundation/members.mdx
+++ b/src/pages/community/foundation/members.mdx
@@ -16,6 +16,6 @@ or [complete a membership application](https://join.graphql.org).
 
 <IframeResizer
   className="w-full mt-6"
-  src="https://landscape.graphql.org/card-mode?category=graph-ql-foundation-member&grouping=category&embed=yes&style=borderless"
-  heightCalculationMethod="lowestElement"
+  src="https://graphql.landscape2.io/embed/embed.html?base-path=&classify=category&key=graphql-foundation-member&headers=false&category-header=false&category-in-subcategory=false&title-uppercase=false&title-alignment=left&title-font-family=sans-serif&title-font-size=13&style=clean&bg-color=%2348264b&fg-color=%23ffffff&item-modal=false&item-name=false&size=xl&items-alignment=left&iframe-resizer=true"
+  heightCalculationMethodeightCalculationMethod="max"
 />
diff --git a/src/pages/graphql-js/authentication-and-express-middleware.mdx b/src/pages/graphql-js/authentication-and-express-middleware.mdx
index 617eb0fa05..0f3cd9df6d 100644
--- a/src/pages/graphql-js/authentication-and-express-middleware.mdx
+++ b/src/pages/graphql-js/authentication-and-express-middleware.mdx
@@ -10,41 +10,41 @@ To use middleware with a GraphQL resolver, just use the middleware like you woul
 For example, let's say we wanted our server to log the IP address of every request, and we also want to write an API that returns the IP address of the caller. We can do the former with middleware, and the latter by accessing the `request` object in a resolver. Here's server code that implements this:
 
 ```js
-var express = require("express")
-var { createHandler } = require("graphql-http/lib/use/express")
-var { buildSchema } = require("graphql")
+import express from "express";
+import { createHandler } from "graphql-http/lib/use/express";
+import { buildSchema } from "graphql";
 
-var schema = buildSchema(`
+const schema = buildSchema(`
   type Query {
     ip: String
   }
-`)
+`);
 
 function loggingMiddleware(req, res, next) {
-  console.log("ip:", req.ip)
-  next()
+  console.log("ip:", req.ip);
+  next();
 }
 
-var root = {
+const root = {
   ip(args, context) {
-    return context.ip
+    return context.ip;
   },
-}
+};
 
-var app = express()
-app.use(loggingMiddleware)
+const app = express();
+app.use(loggingMiddleware);
 app.all(
   "/graphql",
   createHandler({
-    schema: schema,
+    schema,
     rootValue: root,
-    context: req => ({
+    context: (req) => ({
       ip: req.raw.ip,
     }),
   })
-)
-app.listen(4000)
-console.log("Running a GraphQL API server at localhost:4000/graphql")
+);
+app.listen(4000);
+console.log("Running a GraphQL API server at localhost:4000/graphql");
 ```
 
 In a REST API, authentication is often handled with a header, that contains an auth token which proves what user is making this request. Express middleware processes these headers and puts authentication data on the Express `request` object. Some middleware modules that handle authentication like this are [Passport](http://passportjs.org/), [express-jwt](https://github.com/auth0/express-jwt), and [express-session](https://github.com/expressjs/session). Each of these modules works with `graphql-http`.
diff --git a/src/pages/graphql-js/basic-types.mdx b/src/pages/graphql-js/basic-types.mdx
index 37339d0f9c..e28f487721 100644
--- a/src/pages/graphql-js/basic-types.mdx
+++ b/src/pages/graphql-js/basic-types.mdx
@@ -13,42 +13,42 @@ To use a list type, surround the type in square brackets, so `[Int]` is a list o
 Each of these types maps straightforwardly to JavaScript, so you can just return plain old JavaScript objects in APIs that return these types. Here's an example that shows how to use some of these basic types:
 
 ```js
-var express = require("express")
-var { createHandler } = require("graphql-http/lib/use/express")
-var { buildSchema } = require("graphql")
+import express from "express";
+import { createHandler } from "graphql-http/lib/use/express";
+import { buildSchema } from "graphql";
 
 // Construct a schema, using GraphQL schema language
-var schema = buildSchema(`
+const schema = buildSchema(`
   type Query {
     quoteOfTheDay: String
     random: Float!
     rollThreeDice: [Int]
   }
-`)
+`);
 
 // The root provides a resolver function for each API endpoint
-var root = {
+const root = {
   quoteOfTheDay() {
-    return Math.random() < 0.5 ? "Take it easy" : "Salvation lies within"
+    return Math.random() < 0.5 ? "Take it easy" : "Salvation lies within";
   },
   random() {
-    return Math.random()
+    return Math.random();
   },
   rollThreeDice() {
-    return [1, 2, 3].map(_ => 1 + Math.floor(Math.random() * 6))
+    return [1, 2, 3].map(() => 1 + Math.floor(Math.random() * 6));
   },
-}
+};
 
-var app = express()
+const app = express();
 app.all(
   "/graphql",
   createHandler({
-    schema: schema,
+    schema,
     rootValue: root,
   })
-)
-app.listen(4000)
-console.log("Running a GraphQL API server at localhost:4000/graphql")
+);
+app.listen(4000);
+console.log("Running a GraphQL API server at localhost:4000/graphql");
 ```
 
 If you run this code with `node server.js` and browse to http://localhost:4000/graphql you can try out these APIs.
diff --git a/src/pages/graphql-js/constructing-types.mdx b/src/pages/graphql-js/constructing-types.mdx
index 1352adfbc9..5ffdcb1425 100644
--- a/src/pages/graphql-js/constructing-types.mdx
+++ b/src/pages/graphql-js/constructing-types.mdx
@@ -9,11 +9,11 @@ When you are using the `GraphQLSchema` constructor to create a schema, instead o
 For example, let's say we are building a simple API that lets you fetch user data for a few hardcoded users based on an id. Using `buildSchema` we could write a server with:
 
 ```js
-var express = require("express")
-var { createHandler } = require("graphql-http/lib/use/express")
-var { buildSchema } = require("graphql")
+import express from "express";
+import { createHandler } from "graphql-http/lib/use/express";
+import { buildSchema } from "graphql";
 
-var schema = buildSchema(`
+const schema = buildSchema(`
   type User {
     id: String
     name: String
@@ -22,10 +22,10 @@ var schema = buildSchema(`
   type Query {
     user(id: String): User
   }
-`)
+`);
 
 // Maps id to User object
-var fakeDatabase = {
+const fakeDatabase = {
   a: {
     id: "a",
     name: "alice",
@@ -34,35 +34,39 @@ var fakeDatabase = {
     id: "b",
     name: "bob",
   },
-}
+};
 
-var root = {
+const root = {
   user({ id }) {
-    return fakeDatabase[id]
+    return fakeDatabase[id];
   },
-}
+};
 
-var app = express()
+const app = express();
 app.all(
   "/graphql",
   createHandler({
-    schema: schema,
+    schema,
     rootValue: root,
   })
-)
-app.listen(4000)
-console.log("Running a GraphQL API server at localhost:4000/graphql")
+);
+app.listen(4000);
+console.log("Running a GraphQL API server at localhost:4000/graphql");
 ```
 
 We can implement this same API without using GraphQL schema language:
 
 ```js
-var express = require("express")
-var { createHandler } = require("graphql-http/lib/use/express")
-var graphql = require("graphql")
+import express from "express";
+import { createHandler } from "graphql-http/lib/use/express";
+import {
+  GraphQLObjectType,
+  GraphQLString,
+  GraphQLSchema,
+} from "graphql";
 
 // Maps id to User object
-var fakeDatabase = {
+const fakeDatabase = {
   a: {
     id: "a",
     name: "alice",
@@ -71,45 +75,45 @@ var fakeDatabase = {
     id: "b",
     name: "bob",
   },
-}
+};
 
 // Define the User type
-var userType = new graphql.GraphQLObjectType({
+const userType = new GraphQLObjectType({
   name: "User",
   fields: {
-    id: { type: graphql.GraphQLString },
-    name: { type: graphql.GraphQLString },
+    id: { type: GraphQLString },
+    name: { type: GraphQLString },
   },
-})
+});
 
 // Define the Query type
-var queryType = new graphql.GraphQLObjectType({
+const queryType = new GraphQLObjectType({
   name: "Query",
   fields: {
     user: {
       type: userType,
       // `args` describes the arguments that the `user` query accepts
       args: {
-        id: { type: graphql.GraphQLString },
+        id: { type: GraphQLString },
       },
       resolve: (_, { id }) => {
-        return fakeDatabase[id]
+        return fakeDatabase[id];
       },
     },
   },
-})
+});
 
-var schema = new graphql.GraphQLSchema({ query: queryType })
+const schema = new GraphQLSchema({ query: queryType });
 
-var app = express()
+const app = express();
 app.all(
   "/graphql",
   createHandler({
-    schema: schema,
+    schema,
   })
-)
-app.listen(4000)
-console.log("Running a GraphQL API server at localhost:4000/graphql")
+);
+app.listen(4000);
+console.log("Running a GraphQL API server at localhost:4000/graphql");
 ```
 
 When we use this method of creating the API, the root level resolvers are implemented on the `Query` and `Mutation` types rather than on a `root` object.
diff --git a/src/pages/graphql-js/graphql-clients.mdx b/src/pages/graphql-js/graphql-clients.mdx
index b97162a037..7da0e87570 100644
--- a/src/pages/graphql-js/graphql-clients.mdx
+++ b/src/pages/graphql-js/graphql-clients.mdx
@@ -32,8 +32,13 @@ fetch("/graphql", {
   },
   body: JSON.stringify({ query: "{ hello }" }),
 })
-  .then(r => r.json())
-  .then(data => console.log("data returned:", data))
+  .then(response => response.json())
+  .then(data => {
+    console.log("Data returned:", data);
+  })
+  .catch(error => {
+    console.error("Request failed:", error);
+  });
 ```
 
 You should see the data returned, logged in the console:
@@ -55,11 +60,14 @@ type Query {
 You could access this from JavaScript with the code:
 
 ```js
-var dice = 3
-var sides = 6
-var query = /* GraphQL */`query RollDice($dice: Int!, $sides: Int) {
-  rollDice(numDice: $dice, numSides: $sides)
-}`
+const dice = 3;
+const sides = 6;
+
+const query = /* GraphQL */ `
+  query RollDice($dice: Int!, $sides: Int) {
+    rollDice(numDice: $dice, numSides: $sides)
+  }
+`;
 
 fetch("/graphql", {
   method: "POST",
@@ -72,8 +80,13 @@ fetch("/graphql", {
     variables: { dice, sides },
   }),
 })
-  .then(r => r.json())
-  .then(data => console.log("data returned:", data))
+  .then(response => response.json())
+  .then(data => {
+    console.log("Data returned:", data);
+  })
+  .catch(error => {
+    console.error("Request failed:", error);
+  });
 ```
 
 Using this syntax for variables is a good idea because it automatically prevents bugs due to escaping, and it makes it easier to monitor your server.
diff --git a/src/pages/graphql-js/language.mdx b/src/pages/graphql-js/language.mdx
index b1bb642e1d..6c1cd010af 100644
--- a/src/pages/graphql-js/language.mdx
+++ b/src/pages/graphql-js/language.mdx
@@ -198,7 +198,9 @@ a new version of the AST with the changes applied will be returned from the
 visit function.
 
 ```js
-var editedAST = visit(ast, {
+import { visit } from "graphql";
+
+const editedAST = visit(ast, {
   enter(node, key, parent, path, ancestors) {
     // @return
     //   undefined: no action
@@ -215,7 +217,7 @@ var editedAST = visit(ast, {
     //   null: delete this node
     //   any value: replace this node with the returned value
   },
-})
+});
 ```
 
 Alternatively to providing enter() and leave() functions, a visitor can
@@ -227,10 +229,10 @@ visitor API:
 
 ```js
 visit(ast, {
-  Kind(node) {
-    // enter the "Kind" node
+  Field(node) {
+    console.log("Visiting a Field node:", node.name.value);
   },
-})
+});
 ```
 
 2. Named visitors that trigger upon entering and leaving a node of
@@ -238,15 +240,15 @@ visit(ast, {
 
 ```js
 visit(ast, {
-  Kind: {
+  Field: {
     enter(node) {
-      // enter the "Kind" node
+      console.log("Entering Field:", node.name.value);
     },
     leave(node) {
-      // leave the "Kind" node
-    }
-  }
-})
+      console.log("Leaving Field:", node.name.value);
+    },
+  },
+});
 ```
 
 3. Generic visitors that trigger upon entering and leaving any node.
@@ -254,12 +256,12 @@ visit(ast, {
 ```js
 visit(ast, {
   enter(node) {
-    // enter any node
+    console.log("Entering", node.kind);
   },
   leave(node) {
-    // leave any node
+    console.log("Leaving", node.kind);
   },
-})
+});
 ```
 
 4. Parallel visitors for entering and leaving nodes of a specific kind.
@@ -267,16 +269,16 @@ visit(ast, {
 ```js
 visit(ast, {
   enter: {
-    Kind(node) {
-      // enter the "Kind" node
+    Name(node) {
+      console.log("Entering a Name node:", node.value);
     },
   },
   leave: {
-    Kind(node) {
-      // leave the "Kind" node
+    Name(node) {
+      console.log("Leaving a Name node:", node.value);
     },
   },
-})
+});
 ```
 
 ### `BREAK`
diff --git a/src/pages/graphql-js/mutations-and-input-types.mdx b/src/pages/graphql-js/mutations-and-input-types.mdx
index 2b61c733bf..7a366e83a8 100644
--- a/src/pages/graphql-js/mutations-and-input-types.mdx
+++ b/src/pages/graphql-js/mutations-and-input-types.mdx
@@ -21,16 +21,17 @@ It's often convenient to have a mutation that maps to a database create or updat
 Both mutations and queries can be handled by root resolvers, so the root that implements this schema can simply be:
 
 ```js
-var fakeDatabase = {}
-var root = {
+const fakeDatabase = {};
+
+const root = {
   setMessage({ message }) {
-    fakeDatabase.message = message
-    return message
+    fakeDatabase.message = message;
+    return message;
   },
   getMessage() {
-    return fakeDatabase.message
+    return fakeDatabase.message;
   },
-}
+};
 ```
 
 You don't need anything more than this to implement mutations. But in many cases, you will find a number of different mutations that all accept the same input parameters. A common example is that creating an object in a database and updating an object in a database often take the same parameters. To make your schema simpler, you can use “input types” for this, by using the `input` keyword instead of the `type` keyword.
@@ -68,12 +69,13 @@ Naming input types with `Input` on the end is a useful convention, because you w
 Here's some runnable code that implements this schema, keeping the data in memory:
 
 ```js
-var express = require("express")
-var { createHandler } = require("graphql-http/lib/use/express")
-var { buildSchema } = require("graphql")
+import express from "express";
+import { createHandler } from "graphql-http/lib/use/express";
+import { buildSchema } from "graphql";
+import { randomBytes } from "crypto";
 
-// Construct a schema, using GraphQL schema language
-var schema = buildSchema(/* GraphQL */`
+// Construct a schema using GraphQL schema language
+const schema = buildSchema(/* GraphQL */ `
   input MessageInput {
     content: String
     author: String
@@ -93,55 +95,52 @@ var schema = buildSchema(/* GraphQL */`
     createMessage(input: MessageInput): Message
     updateMessage(id: ID!, input: MessageInput): Message
   }
-`)
+`);
 
 // If Message had any complex fields, we'd put them on this object.
 class Message {
   constructor(id, { content, author }) {
-    this.id = id
-    this.content = content
-    this.author = author
+    this.id = id;
+    this.content = content;
+    this.author = author;
   }
 }
 
-// Maps username to content
-var fakeDatabase = {}
+// Fake in-memory database
+const fakeDatabase = {};
 
-var root = {
+const root = {
   getMessage({ id }) {
     if (!fakeDatabase[id]) {
-      throw new Error("no message exists with id " + id)
+      throw new Error("No message exists with id " + id);
     }
-    return new Message(id, fakeDatabase[id])
+    return new Message(id, fakeDatabase[id]);
   },
   createMessage({ input }) {
-    // Create a random id for our "database".
-    var id = require("crypto").randomBytes(10).toString("hex")
-
-    fakeDatabase[id] = input
-    return new Message(id, input)
+    const id = randomBytes(10).toString("hex");
+    fakeDatabase[id] = input;
+    return new Message(id, input);
   },
   updateMessage({ id, input }) {
     if (!fakeDatabase[id]) {
-      throw new Error("no message exists with id " + id)
+      throw new Error("No message exists with id " + id);
     }
-    // This replaces all old data, but some apps might want partial update.
-    fakeDatabase[id] = input
-    return new Message(id, input)
+    fakeDatabase[id] = input;
+    return new Message(id, input);
   },
-}
+};
 
-var app = express()
+const app = express();
 app.all(
   "/graphql",
   createHandler({
-    schema: schema,
+    schema,
     rootValue: root,
   })
-)
+);
 app.listen(4000, () => {
-  console.log("Running a GraphQL API server at localhost:4000/graphql")
-})
+  console.log("Running a GraphQL API server at localhost:4000/graphql");
+});
 ```
 
 To call a mutation, you must use the keyword `mutation` before your GraphQL query. To pass an input type, provide the data written as if it's a JSON object. For example, with the server defined above, you can create a new message and return the `id` of the new message with this operation:
@@ -160,13 +159,16 @@ mutation {
 You can use variables to simplify mutation client logic just like you can with queries. For example, some JavaScript code that calls the server to execute this mutation is:
 
 ```js
-var author = "andy"
-var content = "hope is a good thing"
-var query = /* GraphQL */`mutation CreateMessage($input: MessageInput) {
-  createMessage(input: $input) {
-    id
+const author = "andy";
+const content = "hope is a good thing";
+
+const query = /* GraphQL */ `
+  mutation CreateMessage($input: MessageInput) {
+    createMessage(input: $input) {
+      id
+    }
   }
-}`
+`;
 
 fetch("/graphql", {
   method: "POST",
@@ -184,8 +186,13 @@ fetch("/graphql", {
     },
   }),
 })
-  .then(r => r.json())
-  .then(data => console.log("data returned:", data))
+  .then(response => response.json())
+  .then(data => {
+    console.log("Data returned:", data);
+  })
+  .catch(error => {
+    console.error("Request failed:", error);
+  });
 ```
 
 One particular type of mutation is operations that change users, like signing up a new user. While you can implement this using GraphQL mutations, you can reuse many existing libraries if you learn about [GraphQL with authentication and Express middleware](/graphql-js/authentication-and-express-middleware/).
diff --git a/src/pages/graphql-js/object-types.mdx b/src/pages/graphql-js/object-types.mdx
index e54439ea91..b568e2f99d 100644
--- a/src/pages/graphql-js/object-types.mdx
+++ b/src/pages/graphql-js/object-types.mdx
@@ -29,27 +29,27 @@ Instead of a root-level resolver for the `RandomDie` type, we can instead use an
 ```js
 class RandomDie {
   constructor(numSides) {
-    this.numSides = numSides
+    this.numSides = numSides;
   }
 
   rollOnce() {
-    return 1 + Math.floor(Math.random() * this.numSides)
+    return 1 + Math.floor(Math.random() * this.numSides);
   }
 
   roll({ numRolls }) {
-    var output = []
-    for (var i = 0; i < numRolls; i++) {
-      output.push(this.rollOnce())
+    const output = [];
+    for (let i = 0; i < numRolls; i++) {
+      output.push(this.rollOnce());
     }
-    return output
+    return output;
   }
 }
 
-var root = {
+const root = {
   getDie({ numSides }) {
-    return new RandomDie(numSides || 6)
+    return new RandomDie(numSides || 6);
   },
-}
+};
 ```
 
 For fields that don't use any arguments, you can use either properties on the object or instance methods. So for the example code above, both `numSides` and `rollOnce` can actually be used to implement GraphQL fields, so that code also implements the schema of:
@@ -69,12 +69,12 @@ type Query {
 Putting this all together, here is some sample code that runs a server with this GraphQL API:
 
 ```js
-var express = require("express")
-var { createHandler } = require("graphql-http/lib/use/express")
-var { buildSchema } = require("graphql")
+import express from "express";
+import { createHandler } from "graphql-http/lib/use/express";
+import { buildSchema } from "graphql";
 
 // Construct a schema, using GraphQL schema language
-var schema = buildSchema(/* GraphQL */`
+const schema = buildSchema(/* GraphQL */ `
   type RandomDie {
     numSides: Int!
     rollOnce: Int!
@@ -84,44 +84,45 @@ var schema = buildSchema(/* GraphQL */`
   type Query {
     getDie(numSides: Int): RandomDie
   }
-`)
+`);
 
 // This class implements the RandomDie GraphQL type
 class RandomDie {
   constructor(numSides) {
-    this.numSides = numSides
+    this.numSides = numSides;
   }
 
   rollOnce() {
-    return 1 + Math.floor(Math.random() * this.numSides)
+    return 1 + Math.floor(Math.random() * this.numSides);
   }
 
   roll({ numRolls }) {
-    var output = []
-    for (var i = 0; i < numRolls; i++) {
-      output.push(this.rollOnce())
+    const output = [];
+    for (let i = 0; i < numRolls; i++) {
+      output.push(this.rollOnce());
     }
-    return output
+    return output;
   }
 }
 
 // The root provides the top-level API endpoints
-var root = {
+const root = {
   getDie({ numSides }) {
-    return new RandomDie(numSides || 6)
+    return new RandomDie(numSides || 6);
   },
-}
+};
 
-var app = express()
+const app = express();
 app.all(
   "/graphql",
   createHandler({
-    schema: schema,
+    schema,
     rootValue: root,
   })
-)
-app.listen(4000)
-console.log("Running a GraphQL API server at localhost:4000/graphql")
+);
+app.listen(4000, () => {
+  console.log("Running a GraphQL API server at localhost:4000/graphql");
+});
 ```
 
 When you issue a GraphQL query against an API that returns object types, you can call multiple methods on the object at once by nesting the GraphQL field names. For example, if you wanted to call both `rollOnce` to roll a die once, and `roll` to roll a die three times, you could do it with this query:
diff --git a/src/pages/graphql-js/passing-arguments.mdx b/src/pages/graphql-js/passing-arguments.mdx
index 4878410b0c..0fd38b4fa1 100644
--- a/src/pages/graphql-js/passing-arguments.mdx
+++ b/src/pages/graphql-js/passing-arguments.mdx
@@ -53,38 +53,40 @@ If you're familiar with destructuring, this is a bit nicer because the line of c
 The entire code for a server that hosts this `rollDice` API is:
 
 ```js
-var express = require("express")
-var { createHandler } = require("graphql-http/lib/use/express")
-var { buildSchema } = require("graphql")
+import express from "express";
+import { createHandler } from "graphql-http/lib/use/express";
+import { buildSchema } from "graphql";
 
-// Construct a schema, using GraphQL schema language
-var schema = buildSchema(/* GraphQL */`
+// Construct a schema using GraphQL schema language
+const schema = buildSchema(/* GraphQL */ `
   type Query {
     rollDice(numDice: Int!, numSides: Int): [Int]
   }
-`)
+`);
 
 // The root provides a resolver function for each API endpoint
-var root = {
+const root = {
   rollDice({ numDice, numSides }) {
-    var output = []
-    for (var i = 0; i < numDice; i++) {
-      output.push(1 + Math.floor(Math.random() * (numSides || 6)))
+    const output = [];
+    const sides = numSides || 6;
+    for (let i = 0; i < numDice; i++) {
+      output.push(1 + Math.floor(Math.random() * sides));
     }
-    return output
+    return output;
   },
-}
+};
 
-var app = express()
+const app = express();
 app.all(
   "/graphql",
   createHandler({
-    schema: schema,
+    schema,
     rootValue: root,
   })
-)
-app.listen(4000)
-console.log("Running a GraphQL API server at localhost:4000/graphql")
+);
+app.listen(4000, () => {
+  console.log("Running a GraphQL API server at localhost:4000/graphql");
+});
 ```
 
 When you call this API, you have to pass each argument by name. So for the server above, you could issue this GraphQL query to roll three six-sided dice:
@@ -102,11 +104,14 @@ When you're passing arguments in code, it's generally better to avoid constructi
 For example, some JavaScript code that calls our server above is:
 
 ```js
-var dice = 3
-var sides = 6
-var query = /* GraphQL */`query RollDice($dice: Int!, $sides: Int) {
-  rollDice(numDice: $dice, numSides: $sides)
-}`
+const dice = 3;
+const sides = 6;
+
+const query = /* GraphQL */ `
+  query RollDice($dice: Int!, $sides: Int) {
+    rollDice(numDice: $dice, numSides: $sides)
+  }
+`;
 
 fetch("/graphql", {
   method: "POST",
@@ -119,8 +124,13 @@ fetch("/graphql", {
     variables: { dice, sides },
   }),
 })
-  .then(r => r.json())
-  .then(data => console.log("data returned:", data))
+  .then(response => response.json())
+  .then(data => {
+    console.log("Data returned:", data);
+  })
+  .catch(error => {
+    console.error("Request failed:", error);
+  });
 ```
 
 Using `$dice` and `$sides` as variables in GraphQL means we don't have to worry about escaping on the client side.
diff --git a/src/pages/graphql-js/running-an-express-graphql-server.mdx b/src/pages/graphql-js/running-an-express-graphql-server.mdx
index c73b403198..6789f42b51 100644
--- a/src/pages/graphql-js/running-an-express-graphql-server.mdx
+++ b/src/pages/graphql-js/running-an-express-graphql-server.mdx
@@ -12,38 +12,39 @@ npm install express graphql-http graphql --save
 Let's modify our “hello world” example so that it's an API server rather than a script that runs a single query. We can use the 'express' module to run a webserver, and instead of executing a query directly with the `graphql` function, we can use the `graphql-http` library to mount a GraphQL API server on the “/graphql” HTTP endpoint:
 
 ```js
-var express = require("express")
-var { createHandler } = require("graphql-http/lib/use/express")
-var { buildSchema } = require("graphql")
+import express from "express";
+import { createHandler } from "graphql-http/lib/use/express";
+import { buildSchema } from "graphql";
 
-// Construct a schema, using GraphQL schema language
-var schema = buildSchema(`
+// Construct a schema using GraphQL schema language
+const schema = buildSchema(`
   type Query {
     hello: String
   }
-`)
+`);
 
 // The root provides a resolver function for each API endpoint
-var root = {
+const root = {
   hello() {
-    return "Hello world!"
+    return "Hello world!";
   },
-}
+};
 
-var app = express()
+const app = express();
 
-// Create and use the GraphQL handler.
+// Create and use the GraphQL handler
 app.all(
   "/graphql",
   createHandler({
-    schema: schema,
+    schema,
     rootValue: root,
   })
-)
+);
 
-// Start the server at port
-app.listen(4000)
-console.log("Running a GraphQL API server at http://localhost:4000/graphql")
+// Start the server at port 4000
+app.listen(4000, () => {
+  console.log("Running a GraphQL API server at http://localhost:4000/graphql");
+});
 ```
 
 You can run this GraphQL server with:
@@ -52,6 +53,8 @@ You can run this GraphQL server with:
 node server.js
 ```
 
+At this point you will have a running GraphQL API; but you can't just visit it in your web browser to use it - you need a GraphQL client to issue GraphQL queries to the API. Let's take a look at how to add the GraphiQL (GraphQL with an `i` in the middle) integrated development environment to your server.
+
 ## Using GraphiQL
 
 [GraphiQL](https://github.com/graphql/graphiql) is GraphQL's IDE; a great way of querying and exploring your GraphQL API.
@@ -59,13 +62,13 @@ One easy way to add it to your server is via the MIT-licensed [ruru](https://git
 To do so, install the `ruru` module with `npm install --save ruru` and then add the following to your `server.js` file, then restart the `node server.js` command:
 
 ```js
-var { ruruHTML } = require("ruru/server")
+import { ruruHTML } from "ruru/server";
 
-// Serve the GraphiQL IDE.
+// Serve the GraphiQL IDE
 app.get("/", (_req, res) => {
-  res.type("html")
-  res.end(ruruHTML({ endpoint: "/graphql" }))
-})
+  res.type("html");
+  res.end(ruruHTML({ endpoint: "/graphql" }));
+});
 ```
 
 If you navigate to [http://localhost:4000](http://localhost:4000), you should see an interface that lets you enter queries;
diff --git a/src/pages/graphql-js/type.mdx b/src/pages/graphql-js/type.mdx
index d3cc9619ad..186879e460 100644
--- a/src/pages/graphql-js/type.mdx
+++ b/src/pages/graphql-js/type.mdx
@@ -125,9 +125,11 @@ validator and executor.
 #### Example
 
 ```js
-var MyAppSchema = new GraphQLSchema({
+import { GraphQLSchema } from "graphql";
+
+const MyAppSchema = new GraphQLSchema({
   query: MyAppQueryRootType,
-  mutation: MyAppMutationRootType
+  mutation: MyAppMutationRootType,
 });
 ```
 
@@ -156,21 +158,23 @@ functions used to ensure validity.
 #### Example
 
 ```js
-var OddType = new GraphQLScalarType({
+import { GraphQLScalarType, Kind } from "graphql";
+
+function oddValue(value) {
+  return value % 2 === 1 ? value : null;
+}
+
+const OddType = new GraphQLScalarType({
   name: "Odd",
   serialize: oddValue,
   parseValue: oddValue,
   parseLiteral(ast) {
     if (ast.kind === Kind.INT) {
-      return oddValue(parseInt(ast.value, 10))
+      return oddValue(parseInt(ast.value, 10));
     }
-    return null
-  }
-})
-
-function oddValue(value) {
-  return value % 2 === 1 ? value : null
-}
+    return null;
+  },
+});
 ```
 
 ### GraphQLObjectType
@@ -251,7 +255,9 @@ that value can always be referenced with `this`.
 #### Examples
 
 ```js
-var AddressType = new GraphQLObjectType({
+import { GraphQLObjectType, GraphQLString, GraphQLInt } from "graphql";
+
+const AddressType = new GraphQLObjectType({
   name: "Address",
   fields: {
     street: { type: GraphQLString },
@@ -259,19 +265,19 @@ var AddressType = new GraphQLObjectType({
     formatted: {
       type: GraphQLString,
       resolve(obj) {
-        return obj.number + " " + obj.street
-      }
-    }
-  }
-})
+        return `${obj.number} ${obj.street}`;
+      },
+    },
+  },
+});
 
-var PersonType = new GraphQLObjectType({
+const PersonType = new GraphQLObjectType({
   name: "Person",
   fields: () => ({
     name: { type: GraphQLString },
-    bestFriend: { type: PersonType }
-  })
-})
+    bestFriend: { type: PersonType },
+  }),
+});
 ```
 
 ### GraphQLInterfaceType
@@ -297,12 +303,14 @@ when the field is resolved.
 #### Example
 
 ```js
-var EntityType = new GraphQLInterfaceType({
+import { GraphQLInterfaceType, GraphQLString } from "graphql";
+
+const EntityType = new GraphQLInterfaceType({
   name: "Entity",
   fields: {
-    name: { type: GraphQLString }
-  }
-})
+    name: { type: GraphQLString },
+  },
+});
 ```
 
 ### GraphQLUnionType
@@ -329,18 +337,21 @@ to determine which type is actually used when the field is resolved.
 ### Example
 
 ```js
-var PetType = new GraphQLUnionType({
+import { GraphQLUnionType } from "graphql";
+
+const PetType = new GraphQLUnionType({
   name: "Pet",
   types: [DogType, CatType],
   resolveType(value) {
     if (value instanceof Dog) {
-      return DogType
+      return DogType;
     }
     if (value instanceof Cat) {
-      return CatType
+      return CatType;
     }
+    return null;
   },
-})
+});
 ```
 
 ### GraphQLEnumType
@@ -384,14 +395,16 @@ will be used as its internal value.
 #### Example
 
 ```js
-var RGBType = new GraphQLEnumType({
+import { GraphQLEnumType } from "graphql";
+
+const RGBType = new GraphQLEnumType({
   name: "RGB",
   values: {
     RED: { value: 0 },
     GREEN: { value: 1 },
     BLUE: { value: 2 },
   },
-})
+});
 ```
 
 ### GraphQLInputObjectType
@@ -439,14 +452,20 @@ Using `NonNull` will ensure that a value must be provided by the query
 #### Example
 
 ```js
-var GeoPoint = new GraphQLInputObjectType({
+import {
+  GraphQLInputObjectType,
+  GraphQLNonNull,
+  GraphQLFloat,
+} from "graphql";
+
+const GeoPoint = new GraphQLInputObjectType({
   name: "GeoPoint",
   fields: {
     lat: { type: new GraphQLNonNull(GraphQLFloat) },
     lon: { type: new GraphQLNonNull(GraphQLFloat) },
     alt: { type: GraphQLFloat, defaultValue: 0 },
   },
-})
+});
 ```
 
 ### GraphQLList
@@ -464,13 +483,15 @@ an object type.
 #### Example
 
 ```js
-var PersonType = new GraphQLObjectType({
+import { GraphQLObjectType, GraphQLList } from "graphql";
+
+const PersonType = new GraphQLObjectType({
   name: "Person",
   fields: () => ({
     parents: { type: new GraphQLList(PersonType) },
     children: { type: new GraphQLList(PersonType) },
   }),
-})
+});
 ```
 
 ### GraphQLNonNull
@@ -490,12 +511,18 @@ usually the id field of a database row will never be null.
 #### Example
 
 ```js
-var RowType = new GraphQLObjectType({
+import {
+  GraphQLObjectType,
+  GraphQLNonNull,
+  GraphQLString,
+} from "graphql";
+
+const RowType = new GraphQLObjectType({
   name: "Row",
   fields: () => ({
-    id: { type: new GraphQLNonNull(String) },
+    id: { type: new GraphQLNonNull(GraphQLString) },
   }),
-})
+});
 ```
 
 ## Predicates
diff --git a/src/pages/graphql-js/utilities.mdx b/src/pages/graphql-js/utilities.mdx
index ed8f5cb229..f55c9d9216 100644
--- a/src/pages/graphql-js/utilities.mdx
+++ b/src/pages/graphql-js/utilities.mdx
@@ -96,7 +96,7 @@ var { introspectionQuery } = require("graphql") // CommonJS
 ### introspectionQuery
 
 ```js
-var introspectionQuery: string
+const introspectionQuery = `...`; // a GraphQL introspection query string
 ```
 
 A GraphQL query that queries a server's introspection system for enough
diff --git a/src/pages/learn/_meta.ts b/src/pages/learn/_meta.ts
index ded3ef9830..f5c7a1887b 100644
--- a/src/pages/learn/_meta.ts
+++ b/src/pages/learn/_meta.ts
@@ -27,4 +27,9 @@ export default {
   performance: "",
   security: "",
   federation: "",
+  "-- 3": {
+    type: "separator",
+    title: "GraphQL over HTTP",
+  },
+  "debug-errors": "Common GraphQL over HTTP Errors",
 }
diff --git a/src/pages/learn/authorization.mdx b/src/pages/learn/authorization.mdx
index da91da0089..8ca5e0b6ec 100644
--- a/src/pages/learn/authorization.mdx
+++ b/src/pages/learn/authorization.mdx
@@ -25,38 +25,39 @@ If a post's body should only be visible to the user who authored it, then we wil
 
 ```js
 function Post_body(obj, args, context, info) {
-  // return the post body only if the user is the post's author
-  if (context.user && (context.user.id === obj.authorId)) {
-    return obj.body
+  // Return the post body only if the user is the post's author
+  if (context.user && context.user.id === obj.authorId) {
+    return obj.body;
   }
-  return null
+  return null;
 }
 ```
 
-Notice that we define "author owns a post" by checking whether the post's `authorId` field equals the current user’s `id`. Can you spot the problem? We would need to duplicate this code for each entry point into the service. Then if the authorization logic is not kept perfectly in sync, users could see different data depending on which API they use. Yikes! We can avoid that by having a [single source of truth](/learn/thinking-in-graphs/#business-logic-layer) for authorization, instead of putting it the GraphQL layer.
+Notice that we define "author owns a post" by checking whether the post's `authorId` field equals the current user’s `id`. Can you spot the problem? We would need to duplicate this code for each entry point into the service. Then if the authorization logic is not kept perfectly in sync, users could see different data depending on which API they use. Yikes! We can avoid that by having a [single source of truth](/learn/thinking-in-graphs/#business-logic-layer) for authorization, instead of putting it in the GraphQL layer.
 
 Defining authorization logic inside the resolver is fine when learning GraphQL or prototyping. However, for a production codebase, delegate authorization logic to the business logic layer. Here’s an example of how authorization of the `Post` type's fields could be implemented separately:
 
 ```js
-// authorization logic lives inside `postRepository`
+// Authorization logic lives inside `postRepository`
 export const postRepository = {
   getBody({ user, post }) {
-    if (user?.id && (user.id === post.authorId)) {
-      return post.body
-    }
-    return null
-  }
-}
+    const isAuthor = user?.id === post.authorId;
+    return isAuthor ? post.body : null;
+  },
+};
 ```
 
 The resolver function for the post's `body` field would then call a `postRepository` method instead of implementing the authorization logic directly:
 
 ```js
-import { postRepository } from 'postRepository'
-
-function Post_body(obj, args, context, info) {
-  // return the post body only if the user is the post's author
-  return postRepository.getBody({ user: context.user, post: obj })
+import { postRepository } from "postRepository";
+
+function resolvePostBody(obj, args, context, info) {
+  // Return the post body only if the user is the post's author
+  return postRepository.getBody({
+    user: context.user,
+    post: obj,
+  });
 }
 ```
 
diff --git a/src/pages/learn/best-practices.mdx b/src/pages/learn/best-practices.mdx
index 5c9b5527d4..7cf153a6af 100644
--- a/src/pages/learn/best-practices.mdx
+++ b/src/pages/learn/best-practices.mdx
@@ -53,5 +53,10 @@ The articles in this section should not be taken as gospel, and in some cases ma
       link: "/learn/security/",
       description: "Protect GraphQL APIs from malicious operations",
     },
+    {
+      title: "Common Errors",
+      link: "/learn/debug-errors/",
+      description: "Learn about common `graphql-http` errors and how to debug them.",
+    }
   ]}
 />
diff --git a/src/pages/learn/debug-errors.mdx b/src/pages/learn/debug-errors.mdx
new file mode 100644
index 0000000000..57014e0443
--- /dev/null
+++ b/src/pages/learn/debug-errors.mdx
@@ -0,0 +1,141 @@
+# Common HTTP Errors and How to Debug Them
+
+When building or consuming a GraphQL API over HTTP, it's common to run into
+errors, especially during development. Understanding how to recognize and resolve these issues
+can save you time and frustration.
+
+This guide outlines common HTTP and GraphQL errors, what they mean, and how to debug them 
+effectively. It follows the recommendations of the
+[GraphQL over HTTP spec (draft)](https://graphql.github.io/graphql-over-http/draft/),
+which standardizes how GraphQL works over HTTP, including request formats, status codes,
+and media types. Keep in mind that implementations may vary, so treat this as a general guide rather
+than a definitive reference.
+
+## `400 Bad Request`: Syntax or parse errors
+
+### What it means
+
+The server couldn't parse your request. Either the GraphQL query string is malformed,
+or the JSON body isn't valid. This is the primary error status recommended by the GraphQL over HTTP specification.
+
+### Common causes
+
+- JSON syntax errors
+- Sending a plain string without wrapping it in `{ "query": "..." }`
+- Using `Content-Type: application/graphql` without supporting it
+
+### How to debug
+
+- Validate your JSON body using a linter or formatter.
+- Make sure you're sending a `POST` request with a `Content-Type: application/json` header.
+- Check your GraphQL query for syntax errors. Use an IDE or linter to verify it.
+
+## `405 Method Not Allowed`: Wrong HTTP Method
+
+### What it means
+
+You're using an unsupported HTTP method. Most GraphQL servers require `POST` for mutations
+and may allow `GET` for queries.
+
+### Common causes
+
+- Sending a `PUT` or `DELETE` request instead of `POST` or `GET`
+- Sending a `GET` request for a mutation, or to a server that only supports `POST` requests
+
+### How to debug
+
+- Check your HTTP method. Mutations must use `POST`.
+- Make sure your server supports `GET` for queries.
+- Refer to the [GraphQL over HTTP spec](https://graphql.github.io/graphql-over-http/draft/) to 
+confirm method support.
+
+## `500 Internal Server Error`: Unexpected server failures
+
+### What it means
+
+Something went wrong on the server. 
+
+### Common causes
+
+- An unhandled exception in a resolver
+- Schema validation issues during server startup
+- Missing or misconfigured middleware
+
+### How to debug
+
+- Check server logs or stack traces.
+- Add error handling to resolvers.
+
+## GraphQL errors with `200 OK`
+
+### What it means
+
+The HTTP layer succeeded, but the GraphQL operation produced errors.
+
+### Common causes
+
+- Runtime errors during execution
+- Violating schema constraints (e.g. returning the wrong data type, or `null` in a non-nullable position)
+
+Older servers and clients (those not using
+`Content-Type: application/graphql-response+json`) may also use 200 OK in the case of
+complete request failure (no `data`). Common causes include:
+
+- Querying a field that doesn't exist
+- Passing incorrect arguments to a field
+- Omitting a selection set on a non-leaf field
+- Failure to specify the `operationName` when multiple operations exist in the request
+
+### How to debug
+
+Check the `errors` array in the response body. If the response includes a `data` property, then 
+your query document is likely valid and you most likely hit a runtime exception - perhaps due to
+invalid input, access denial, or a bug in server logic.
+
+If there's no `data` field, the request likely failed during validation. For example:
+
+```json
+{
+  "errors": [
+    {
+      "message": "Cannot query field \"foo\" on type \"Query\".",
+      "locations": [{ "line": 1, "column": 3 }]
+    }
+  ]
+}
+```
+
+Use introspection or an IDE to verify your query matches the schema.
+
+## Implementation-specific status codes
+
+Some GraphQL server implementations may use additional HTTP status codes that are not explicitly recommended 
+by the specification. These vary by implementation.
+
+- `415 Unsupported Media Type`: The server doesn't understand the request's `Content-Type`. This can occur
+when a GraphQL query is sent with `Content-Type: text/plain` or another unsupported type. 
+- `422 Unprocessable Entity`: Some implementations use this for GraphQL validation errors instead of `200` + errors array.
+
+These error codes are not recommended by the specification for most cases. Different GraphQL servers handle 
+validation errors differently. When in doubt, use error codes supported by the specification.
+
+## Understanding GraphQL response formats
+
+Traditionally, GraphQL servers have returned responses using the `application/json` media type.
+However, the [GraphQL over HTTP spec](https://graphql.github.io/graphql-over-http/draft/) recommends 
+that clients request (and servers respond with) a more specific type: `application/graphql-response+json`.
+
+This newer media type identifies the payload as a GraphQL response and helps clients
+distinguish it from other types of JSON, making the response safe to process even if
+it uses a non-2xx status code. A trusted proxy, gateway, or other intermediary
+might describe an error using JSON, but would never do so using `application/graphql-response+json`
+unless it was a valid GraphQL response.
+
+### What to know
+
+- Servers may respond with `application/graphql-response+json` or
+`application/json`.
+- Clients can request this media type using the `Accept` header: `Accept: application/graphql-response+json, application/json;q=0.9` (prefer the new media type over the old one, but accept both)
+- This content type is recommended, and support for it is growing.
+- If your client uses content negotiation, ensure your server can response with the appropriate
+type or fallback to `application/json`.
diff --git a/src/pages/learn/execution.mdx b/src/pages/learn/execution.mdx
index 5fca44a03a..6f3efa82c8 100644
--- a/src/pages/learn/execution.mdx
+++ b/src/pages/learn/execution.mdx
@@ -58,10 +58,8 @@ At the top level of every GraphQL server is an Object type that represents the p
 In this example, our `Query` type provides a field called `human` which accepts the argument `id`. The resolver function for this field likely accesses a database and then constructs and returns a `Human` type:
 
 ```js
-function Query_human(obj, args, context, info) {
-  return context.db.loadHumanByID(args.id).then(
-    userData => new Human(userData)
-  )
+function resolveHumanQuery(obj, args, context, info) {
+  return context.db.loadHumanByID(args.id).then(userData => new Human(userData));
 }
 ```
 
@@ -81,10 +79,8 @@ Note that while a query operation could technically write data to the underlying
 Let's take a closer look at what's happening in this resolver function:
 
 ```js
-function Query_human(obj, args, context, info) {
-  return context.db.loadHumanByID(args.id).then(
-    userData => new Human(userData)
-  )
+function resolveHuman(obj, args, context, info) {
+  return context.db.loadHumanByID(args.id).then(userData => new Human(userData));
 }
 ```
 
@@ -97,8 +93,8 @@ Notice that while the resolver function needs to be aware of Promises, the Graph
 Now that a `Human` object is available, GraphQL execution can continue with the fields requested for this type:
 
 ```js
-function Human_name(obj, args, context, info) {
-  return obj.name
+function resolveHumanName(obj, args, context, info) {
+  return obj.name;
 }
 ```
 
@@ -113,11 +109,11 @@ Many GraphQL libraries let you omit resolvers this simple, assuming that if a re
 While the `name` field is being resolved, the `appearsIn` and `starships` fields can be resolved concurrently. The `appearsIn` field could also have a trivial resolver, but let's take a closer look:
 
 ```js
-Human: {
+const Human = {
   appearsIn(obj) {
-    return obj.appearsIn // returns [ 4, 5, 6 ]
-  }
-}
+    return obj.appearsIn; // e.g. [4, 5, 6]
+  },
+};
 ```
 
 Notice that our type system claims `appearsIn` will return Enum types with known values, however, this function is returning numbers! Indeed if we look up at the result we'll see that the appropriate values for the Enum type are being returned. What's going on?
@@ -129,12 +125,12 @@ This is an example of _scalar coercion_. The type system knows what to expect an
 We've already seen some of what happens when a field returns a list of things with the `appearsIn` field above. It returned a [List type](/learn/schema/#lists) containing Enum type values, and since that's what the type system expected, each item in the list was coerced to the appropriate value. What happens when the `starships` field is resolved?
 
 ```js
-function Human_starships (obj, args, context, info) {
-  return obj.starshipIDs.map(
-    id => context.db.loadStarshipByID(id).then(
-      shipData => new Starship(shipData)
+function resolveHumanStarships(obj, args, context, info) {
+  return Promise.all(
+    obj.starshipIDs.map(id =>
+      context.db.loadStarshipByID(id).then(shipData => new Starship(shipData))
     )
-  )
+  );
 }
 ```
 
diff --git a/src/pages/learn/index.mdx b/src/pages/learn/index.mdx
index ac6ba9c291..ada9acfe38 100644
--- a/src/pages/learn/index.mdx
+++ b/src/pages/learn/index.mdx
@@ -25,14 +25,14 @@ type User {
 Along with functions for each field on each type:
 
 ```js
-// Provide data for the `me` field on the `Query` type
-function Query_me(query, args, context, info) {
-  return context.request.auth.user
+// Resolver for the `me` field on the `Query` type
+function resolveQueryMe(_parent, _args, context, _info) {
+  return context.request.auth.user;
 }
 
-// Provide data for the `name` field on the `User` type
-function User_name(user, args, context, info) {
-  return context.db.getUserFullName(user.id)
+// Resolver for the `name` field on the `User` type
+function resolveUserName(user, _args, context, _info) {
+  return context.db.getUserFullName(user.id);
 }
 ```
 
diff --git a/src/pages/learn/mutations.mdx b/src/pages/learn/mutations.mdx
index 641c83c2af..2119d567fd 100644
--- a/src/pages/learn/mutations.mdx
+++ b/src/pages/learn/mutations.mdx
@@ -41,7 +41,7 @@ Like queries, mutation fields are added to one of the [root operation types](htt
 
 Mutation fields can also accept arguments and you might notice that the `review` argument has an input type set to `ReviewInput`. This is known as [Input Object type](/learn/schema/#input-object-types), which allows us to pass in a structured object containing information the mutation can use instead of individual scalar values only.
 
-Also like just like queries, if the mutation field returns an Object type, then you specify a selection set of its fields in the operation:
+As with queries, if the mutation field returns an Object type then you must specify a selection set of its fields in the operation:
 
 ```graphql
 # { "graphiql": true, "variables": { "ep": "JEDI", "review": { "stars": 5, "commentary": "This is a great movie!" } } }
@@ -58,13 +58,13 @@ While the `createReview` field could be defined with any valid output type in th
 Recall that GraphQL is meant to work with your existing code and data, so the actual creation of the review is up to you when clients send this operation to the GraphQL server. A hypothetical function that writes the new review to a database during a `createReview` mutation might look like this:
 
 ```js
-Mutation: {
-  createReview(obj, args, context, info) {
+const Mutation = {
+  createReview(_obj, args, context, _info) {
     return context.db
       .createNewReview(args.episode, args.review)
-      .then((reviewData) => new Review(reviewData))
-  }
-}
+      .then(reviewData => new Review(reviewData));
+  },
+};
 ```
 
 You can learn more about how GraphQL provides data for fields on the [Execution page](/learn/execution).
diff --git a/src/pages/learn/queries.mdx b/src/pages/learn/queries.mdx
index b34e103c07..ce9c7ca617 100644
--- a/src/pages/learn/queries.mdx
+++ b/src/pages/learn/queries.mdx
@@ -55,7 +55,7 @@ If the only thing we could do was traverse objects and their fields, GraphQL wou
 
 ```graphql
 type Query {
-  droid(id: ID!): Droid
+  human(id: ID!): Human
 }
 ```
 
diff --git a/src/pages/learn/response.mdx b/src/pages/learn/response.mdx
index d93c1fb855..27f547f9d5 100644
--- a/src/pages/learn/response.mdx
+++ b/src/pages/learn/response.mdx
@@ -41,6 +41,7 @@ In addition to the `data` key, the GraphQL specification outlines how [errors](h
 
 Request errors typically occur because the client made a mistake. For example, there may be a _syntax error_ in the document, such as a missing bracket or the use of an unknown root operation type keyword:
 
+{/* <!-- snippet-ignore --> */}
 ```graphql
 # { "graphiql": true }
 operation { 
@@ -103,7 +104,7 @@ As with network calls to any type of API, network errors that are not specific t
 
 ## Extensions
 
-The final top-level key allowed by the GraphQL specification in a response is the `extentions` key. This key is reserved for GraphQL implementations to provide additional information about the response and though it must be an object if present, there are no other restrictions on what it may contain.
+The final top-level key allowed by the GraphQL specification in a response is the `extensions` key. This key is reserved for GraphQL implementations to provide additional information about the response and though it must be an object if present, there are no other restrictions on what it may contain.
 
 For example, some GraphQL servers may include telemetry data or information about rate limit consumption under this key. Note that what data is available in `extensions` and whether this data is available in production or development environments will depend entirely on the specific GraphQL implementation.
 
@@ -119,4 +120,4 @@ To recap what we've learned about GraphQL response formats:
 - When a field error occurs during execution, there will be a description of the issue in the `errors` key and there may be partial data included with the `data` key
 - GraphQL implementations may include additional arbitrary information about the response in the `extensions` key
 
-Now that you understand the different phases of a GraphQL request and how responses are provided to clients, head over to the [Introspection](/learn/introspection) page to learn about how a GraphQL server can query information about its own schema.
\ No newline at end of file
+Now that you understand the different phases of a GraphQL request and how responses are provided to clients, head over to the [Introspection](/learn/introspection) page to learn about how a GraphQL server can query information about its own schema.
diff --git a/src/pages/learn/schema.mdx b/src/pages/learn/schema.mdx
index c47a6bf9d7..6ad4d7e6d8 100644
--- a/src/pages/learn/schema.mdx
+++ b/src/pages/learn/schema.mdx
@@ -58,7 +58,7 @@ The language is readable, but let's go over it so that we can have a shared voca
 - `name` and `appearsIn` are [fields](#object-types-and-fields) on the `Character` type. That means that `name` and `appearsIn` are the only fields that can appear in any part of a GraphQL query that operates on the `Character` type.
 - `String` is one of the built-in [Scalar types](#scalar-types). These are types that resolve to a single scalar value and can't have sub-selections in the query. We'll go over Scalar types more later.
 - `String!` means that the field is a [Non-Null type](#non-null), meaning the GraphQL service promises to give you a value whenever you query this field. In SDL, we represent those with an exclamation mark.
-- `[Episode!]!` represents an [List type](#list) of `Episode` objects. When a List is Non-Null, you can always expect an array (with zero or more items) when you query the `appearsIn` field. In this case, since `Episode!` is also Non-Null within the list, you can always expect every item in the array to be an `Episode` object.
+- `[Episode!]!` represents a [List type](#list) of `Episode` objects. When a List is Non-Null, you can always expect an array (with zero or more items) when you query the `appearsIn` field. In this case, since `Episode!` is also Non-Null within the list, you can always expect every item in the array to be an `Episode` object.
 
 Now you know what a GraphQL Object type looks like and how to read the basics of SDL.
 
@@ -210,6 +210,7 @@ type Character {
 
 As we see above, the Non-Null and List modifiers can be combined. For example, you can have a List of Non-Null `String` types:
 
+{/* <!-- snippet-ignore --> */}
 ```graphql
 myField: [String!]
 ```
@@ -225,6 +226,7 @@ myField: ["a", null, "b"] // error
 
 Now, let's say we defined a Non-Null List of `String` types:
 
+{/* <!-- snippet-ignore --> */}
 ```graphql
 myField: [String]!
 ```
@@ -240,6 +242,7 @@ myField: ["a", null, "b"] // valid
 
 Lastly, you can also have a Non-Null List of Non-Null `String` types:
 
+{/* <!-- snippet-ignore --> */}
 ```graphql
 myField: [String!]!
 ```
@@ -413,7 +416,7 @@ Most of the examples we've covered on this page demonstrate how Object, Scalar,
 
 So far, we've only talked about using scalar values (like Enums or String types) as an input type for a field argument. However, you can also pass complex objects as arguments using an [Input Object type](https://spec.graphql.org/draft/#sec-Input-Objects), which is the last kind of named types in GraphQL that we'll explore.
 
-This is particularly valuable in the case of [mutations](/learn/queries/#mutations), where you might want to pass in a whole object to be created. In SDL, Input Object types look similar to regular Object types, but with the keyword `input` instead of `type`:
+This is particularly valuable in the case of [mutations](/learn/mutations/), where you might want to pass in a whole object to be created. In SDL, Input Object types look similar to regular Object types, but with the keyword `input` instead of `type`:
 
 ```graphql
 input ReviewInput {
diff --git a/src/pages/learn/serving-over-http.mdx b/src/pages/learn/serving-over-http.mdx
index 5ed1ff6d33..e606a4817b 100644
--- a/src/pages/learn/serving-over-http.mdx
+++ b/src/pages/learn/serving-over-http.mdx
@@ -31,7 +31,7 @@ GraphQL clients and servers should support JSON for serialization and may suppor
 If no encoding information is included with this header, then it will be assumed to be `utf-8`. However, the server may respond with an error if a client doesn't provide the `Accept` header with a request.
 
 <Callout type="info">
-The `application/graphql-response+json` is described in the draft GraphQL over HTTP specification. To ensure compatibility, if a client sends a request to a legacy GraphQL server before 1st January 2025, the `Accept` header should also include the `application/json` media type as follows: `application/graphql-response+json;charset=utf-8, application/json;charset=utf-8`
+The `application/graphql-response+json` is described in the draft GraphQL over HTTP specification. To ensure compatibility, if a client sends a request to a legacy GraphQL server before 1st January 2025, the `Accept` header should also include the `application/json` media type as follows: `application/graphql-response+json, application/json`
 </Callout>
 
 ### Methods
diff --git a/src/pages/tags/_meta.ts b/src/pages/tags/_meta.ts
index 53e82bb064..e8d60fca02 100644
--- a/src/pages/tags/_meta.ts
+++ b/src/pages/tags/_meta.ts
@@ -2,7 +2,10 @@ import { createCatchAllMeta } from "nextra/catch-all"
 import { getStaticPaths } from "./[slug].mdx"
 
 export default () => {
-  // @ts-expect-error -- fixme
+  // This is logging an error
+  // `Attempted import error: 'getStaticPaths' is not exported from './[slug].mdx'`
+  // but the pages work?
+  // @ts-ignore // the error appears only in build, not in text editors
   const { paths } = getStaticPaths() as unknown as {
     paths: { params: { slug: string } }[]
   }
diff --git a/src/pages/users.mdx b/src/pages/users.mdx
index d05affdcdb..f2756b7f34 100644
--- a/src/pages/users.mdx
+++ b/src/pages/users.mdx
@@ -10,7 +10,7 @@ Is your company using GraphQL?
 Please send a pull request to the [GraphQL Landscape](https://github.com/graphql/graphql-landscape) and follow [instructions](https://github.com/graphql/graphql-landscape#new-entries).
 
 <IframeResizer
-  className="w-full mt-6"
-  src="https://landscape.graphql.org/card-mode?category=graph-ql-foundation-member&grouping=category&embed=yes&style=borderless"
+  className="w-full mt-6 min-h-screen overflow-x-scroll"
+  src="https://landscape.graphql.org/?group=all&view-mode=grid&category=GraphQL+Foundation+Member&embed=yes&style=borderless"
   heightCalculationMethod="lowestElement"
 />
diff --git a/tailwind.config.ts b/tailwind.config.ts
index 6a71eba9d0..b33ded3675 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -1,6 +1,8 @@
+import { fontFamily } from "tailwindcss/defaultTheme"
 import type { Config } from "tailwindcss"
 import typography from "@tailwindcss/typography"
-
+import plugin from "tailwindcss/plugin"
+import containerQueries from "@tailwindcss/container-queries"
 const config: Config = {
   content: ["./src/**/*.{js,ts,jsx,tsx,mdx}", "./theme.config.tsx"],
   theme: {
@@ -9,10 +11,60 @@ const config: Config = {
       padding: "1rem",
     },
     extend: {
+      fontFamily: {
+        sans: [
+          `var(--font-sans, ${fontFamily.sans.slice(0, 3).join(", ")})`,
+          ...fontFamily.sans,
+        ],
+        mono: [
+          `var(--font-mono, ${fontFamily.mono.slice(0, 3).join(", ")})`,
+          ...fontFamily.mono,
+        ],
+      },
+      screens: {
+        xs: "394px",
+        "3xl": "1920px",
+      },
       colors: {
         primary: "#e10098",
         "conf-black": "#0e031c",
         black: "#1b1b1b",
+
+        // #region new design system colors
+        "pri-lighter": "hsl(var(--color-pri-lighter) / <alpha-value>)",
+        "pri-light": "hsl(var(--color-pri-light) / <alpha-value>)",
+        "pri-base": "hsl(var(--color-pri-base) / <alpha-value>)",
+        "pri-dark": "hsl(var(--color-pri-dark) / <alpha-value>)",
+        "pri-darker": "hsl(var(--color-pri-darker) / <alpha-value>)",
+
+        "sec-lighter": "hsl(var(--color-sec-lighter) / <alpha-value>)",
+        "sec-light": "hsl(var(--color-sec-light) / <alpha-value>)",
+        "sec-base": "hsl(var(--color-sec-base) / <alpha-value>)",
+        "sec-dark": "hsl(var(--color-sec-dark) / <alpha-value>)",
+        "sec-darker": "hsl(var(--color-sec-darker) / <alpha-value>)",
+
+        // We're using 3-letter color names to avoid conflicting
+        // with the old `neutral` color.
+        "neu-0": "hsl(var(--color-neu-0) / <alpha-value>)",
+        "neu-50": "hsl(var(--color-neu-50) / <alpha-value>)",
+        "neu-100": "hsl(var(--color-neu-100) / <alpha-value>)",
+        "neu-200": "hsl(var(--color-neu-200) / <alpha-value>)",
+        "neu-300": "hsl(var(--color-neu-300) / <alpha-value>)",
+        "neu-400": "hsl(var(--color-neu-400) / <alpha-value>)",
+        "neu-500": "hsl(var(--color-neu-500) / <alpha-value>)",
+        "neu-600": "hsl(var(--color-neu-600) / <alpha-value>)",
+        "neu-700": "hsl(var(--color-neu-700) / <alpha-value>)",
+        "neu-800": "hsl(var(--color-neu-800) / <alpha-value>)",
+        "neu-900": "hsl(var(--color-neu-900) / <alpha-value>)",
+
+        blk: "#000",
+
+        /**
+         * GraphQL Rhodamine as per the trademark guidelines
+         * https://www.graphql.org/brand/
+         */
+        rhodamine: "#e10098",
+        // #endregion new design system colors
       },
       backgroundImage: {
         "gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
@@ -22,17 +74,131 @@ const config: Config = {
       animation: {
         scroll:
           "scroll var(--animation-duration, 40s) var(--animation-direction, forwards) linear infinite",
+        "arrow-left":
+          "arrow-left var(--animation-duration, .75s) var(--animation-direction, forwards) ease infinite",
+        "show-overflow":
+          "show-overflow var(--animation-duration, 12s) var(--animation-delay, 1s) var(--animation-direction, forwards) ease infinite",
       },
       keyframes: {
         scroll: {
           to: {
-            transform: "translate(calc(-50% - .5rem))",
+            transform: "translate(calc(-50% - .25rem))",
+          },
+        },
+        "arrow-left": {
+          "0%, 100%": {
+            transform: "translateX(0)",
+          },
+          "50%": {
+            transform: "translateX(var(--arrow-left-x,-1.5px))",
+          },
+        },
+        "show-overflow": {
+          "0%, 100%": {
+            transform: "translateX(0)",
+          },
+          "25%, 75%": {
+            transform: "translateX(var(--delta-x))",
           },
         },
       },
     },
   },
-  plugins: [typography],
+  plugins: [
+    typography,
+    containerQueries,
+    plugin(({ addBase }) => {
+      // heading styles
+      addBase({
+        ".typography-d1, .typography-h1, .typography-h2, .typography-h3": {
+          lineHeight: "1.2",
+        },
+        ".typography-d1": {
+          fontSize: "48px",
+          "@screen lg": {
+            fontSize: "96px",
+          },
+        },
+        ".typography-h1": {
+          fontSize: "40px",
+          "@screen lg": {
+            fontSize: "72px",
+          },
+        },
+        ".typography-h2": {
+          fontSize: "32px",
+          "@screen md": {
+            fontSize: "48px",
+          },
+        },
+        ".typography-h3": {
+          fontSize: "24px",
+          "@screen md": {
+            fontSize: "32px",
+          },
+        },
+      })
+
+      // paragraph styles
+      addBase({
+        ".typography-body-lg, .typography-body-md, .typography-body-sm, .typography-body-xs":
+          {
+            lineHeight: "1.5",
+          },
+        ".typography-body-lg": {
+          fontSize: "16px",
+          "@screen md": {
+            fontSize: "20px",
+          },
+        },
+        ".typography-body-md": {
+          fontSize: "14px",
+          "@screen md": {
+            fontSize: "16px",
+          },
+        },
+        ".typography-body-sm": {
+          fontSize: "12px",
+          "@screen md": {
+            fontSize: "14px",
+          },
+        },
+        ".typography-body-xs": {
+          fontSize: "10px",
+          "@screen md": {
+            fontSize: "12px",
+          },
+        },
+      })
+
+      // other text styles
+      addBase({
+        ".typography-button, .typography-tagline": {
+          fontSize: "16px",
+          lineHeight: "1",
+        },
+        ".typography-tagline": {
+          textTransform: "uppercase",
+        },
+        ".typography-menu": {
+          fontFamily: "var(--font-mono)",
+          fontSize: "14px",
+          lineHeight: "1",
+          textTransform: "uppercase",
+        },
+      })
+
+      addBase({
+        ".typography-link": {
+          color: "theme('colors.neu-800')",
+          textDecoration: "underline",
+          "&:hover": {
+            textDecoration: "none",
+          },
+        },
+      })
+    }),
+  ],
   darkMode: ["class", 'html[class~="dark"]'],
 }
 export default config
diff --git a/tsconfig.json b/tsconfig.json
index 15907800de..8129519fd7 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,6 +1,6 @@
 {
   "compilerOptions": {
-    "target": "es5",
+    "target": "ES2024",
     "lib": ["dom", "dom.iterable", "esnext"],
     "allowJs": true,
     "skipLibCheck": true,
diff --git a/vercel.json b/vercel.json
index c9dcc98bc5..7b49cfd44c 100644
--- a/vercel.json
+++ b/vercel.json
@@ -52,7 +52,7 @@
     },
     {
       "source": "/graphql-js/:path*",
-      "destination": "https://graphql-js.org/:path*",
+      "destination": "https://graphql-js.org/docs/:path*",
       "permanent": true
     },
     {
@@ -490,6 +490,11 @@
       "destination": "/conf/2025/",
       "permanent": false
     },
+    {
+      "source": "/conf/2024/sessions",
+      "destination": "/conf/2024/schedule",
+      "permanent": true
+    },
     {
       "source": "/conf/2024/sessions/:path/",
       "destination": "/conf/2024/schedule/:path",
@@ -574,6 +579,11 @@
       "source": "/schedule/",
       "destination": "/conf/2024/schedule/",
       "permanent": false
+    },
+    {
+      "source": "/conf/2025/event-resources",
+      "destination": "https://sites.google.com/linuxfoundation.org/graphqlconf2025event-resources/event-resources",
+      "permanent": false
     }
   ]
 }
