From 8a62ee4d669a0232f16cec9ef3cb4b2e7584ffaa Mon Sep 17 00:00:00 2001 From: Jem Gillam <6413628+jemgillam@users.noreply.github.com> Date: Fri, 28 Aug 2026 18:35:28 +0100 Subject: [PATCH 1/5] Add locations --- src/components/ambassador-grid.tsx | 16 +- src/components/info-card/ambassador-data.tsx | 152 +++++++++++++++++++ 2 files changed, 167 insertions(+), 1 deletion(-) diff --git a/src/components/ambassador-grid.tsx b/src/components/ambassador-grid.tsx index e6304e7b8d..0f84d5bd81 100644 --- a/src/components/ambassador-grid.tsx +++ b/src/components/ambassador-grid.tsx @@ -5,7 +5,21 @@ function buildRows(ambassador: Ambassador): InfoCardRow[] { return [ { type: "label", - label: ambassador.label, + label: ( + <> + {ambassador.label} + {ambassador.location ? ( + + {ambassador.location.flag} + + ) : null} + + ), }, { type: "image", diff --git a/src/components/info-card/ambassador-data.tsx b/src/components/info-card/ambassador-data.tsx index 230b1634a9..86a511241f 100644 --- a/src/components/info-card/ambassador-data.tsx +++ b/src/components/info-card/ambassador-data.tsx @@ -23,6 +23,10 @@ export interface Ambassador { alt: string organization: string tags: AmbassadorTag[] + location?: { + name: string + flag: string + } } export const ambassadors202509: Ambassador[] = [ @@ -31,6 +35,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/aexol.png", alt: "Artur Czemiel", organization: "GraphQL Editor", + location: { + name: "Poland", + flag: "๐Ÿ‡ต๐Ÿ‡ฑ", + }, tags: [ { label: "Bluesky", @@ -54,6 +62,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "/img/ambassadors/donna-zhou.jpg", alt: "Donna Zhou", organization: "GraphQL Java", + location: { + name: "Australia", + flag: "๐Ÿ‡ฆ๐Ÿ‡บ", + }, tags: [ { label: "GitHub", @@ -72,6 +84,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/dotansimha.png", alt: "Dotan Simha", organization: "The Guild", + location: { + name: "Israel", + flag: "๐Ÿ‡ฎ๐Ÿ‡ฑ", + }, tags: [ { label: "GitHub", @@ -90,6 +106,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/eddeee888.png", alt: "Eddy Nguyen", organization: "Code Generator", + location: { + name: "Australia", + flag: "๐Ÿ‡ฆ๐Ÿ‡บ", + }, tags: [ { label: "GitHub", @@ -118,6 +138,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/erikwrede.png", alt: "Erik Wrede", organization: "Strawberry GraphQL", + location: { + name: "Germany", + flag: "๐Ÿ‡ฉ๐Ÿ‡ช", + }, tags: [ { label: "GitHub", @@ -136,6 +160,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "/img/ambassadors/itamar-kestenbaum.jpg", alt: "Itamar Kestenbaum", organization: "Meta Platforms", + location: { + name: "United States", + flag: "๐Ÿ‡บ๐Ÿ‡ธ", + }, tags: [ { label: "Facebook", @@ -159,6 +187,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "/img/ambassadors/jamie-barton.jpg", alt: "Jamie Barton", organization: "CartQL", + location: { + name: "United Kingdom", + flag: "๐Ÿ‡ฌ๐Ÿ‡ง", + }, tags: [ { label: "GitHub", @@ -187,6 +219,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "/img/ambassadors/jeff-auriemma.jpg", alt: "Jeff Auriemma", organization: "Apollo", + location: { + name: "United States", + flag: "๐Ÿ‡บ๐Ÿ‡ธ", + }, tags: [ { label: "Bluesky", @@ -215,6 +251,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/jemgillam.png", alt: "Jem Gillam", organization: "Graphile", + location: { + name: "United Kingdom", + flag: "๐Ÿ‡ฌ๐Ÿ‡ง", + }, tags: [ { label: "Bluesky", @@ -238,6 +278,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/captbaritone.png", alt: "Jordan Eldredge", organization: "Meta", + location: { + name: "United States", + flag: "๐Ÿ‡บ๐Ÿ‡ธ", + }, tags: [ { label: "GitHub", @@ -266,6 +310,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/jovidecroock.png", alt: "Jovi De Croock", organization: "GraphQL.js", + location: { + name: "Belgium", + flag: "๐Ÿ‡ง๐Ÿ‡ช", + }, tags: [ { label: "GitHub", @@ -294,6 +342,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/xuorig.png", alt: "Marc-Andre Giroux", organization: "Netflix", + location: { + name: "Canada", + flag: "๐Ÿ‡จ๐Ÿ‡ฆ", + }, tags: [ { label: "BlueSky", @@ -322,6 +374,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/michael-watson.png", alt: "Michael Watson", organization: "Independent", + location: { + name: "United States", + flag: "๐Ÿ‡บ๐Ÿ‡ธ", + }, tags: [ { label: "BlueSky", @@ -345,6 +401,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/patrick91.png", alt: "Patrick Arminio", organization: "Strawberry GraphQL", + location: { + name: "United Kingdom", + flag: "๐Ÿ‡ฌ๐Ÿ‡ง", + }, tags: [ { label: "BlueSky", @@ -368,6 +428,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/kitten.png", alt: "Phil Pluckthun", organization: "urql & gql.tada", + location: { + name: "United Kingdom", + flag: "๐Ÿ‡ฌ๐Ÿ‡ง", + }, tags: [ { label: "BlueSky", @@ -396,6 +460,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "/img/ambassadors/sarah-sanders.jpg", alt: "Sarah Sanders", organization: "PostHog", + location: { + name: "United States", + flag: "๐Ÿ‡บ๐Ÿ‡ธ", + }, tags: [ { label: "LinkedIn", @@ -409,6 +477,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/fotoetienne.png", alt: "Stephen Spalding", organization: "Netflix", + location: { + name: "United States", + flag: "๐Ÿ‡บ๐Ÿ‡ธ", + }, tags: [ { label: "GitHub", @@ -432,6 +504,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "https://github.com/tazsingh.png", alt: "Taz Singh", organization: "Guild", + location: { + name: "United Kingdom", + flag: "๐Ÿ‡ฌ๐Ÿ‡ง", + }, tags: [ { label: "GitHub", @@ -450,6 +526,10 @@ export const ambassadors202509: Ambassador[] = [ imageUrl: "/img/ambassadors/warren-day.jpeg", alt: "Warren Day", organization: "Overstacked", + location: { + name: "United Kingdom", + flag: "๐Ÿ‡ฌ๐Ÿ‡ง", + }, tags: [ { label: "LinkedIn", @@ -471,6 +551,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "https://github.com/vliegveld5.png", alt: "An Ngo", organization: "bol", + location: { + name: "Netherlands", + flag: "๐Ÿ‡ณ๐Ÿ‡ฑ", + }, tags: [ { label: "GitHub", @@ -489,6 +573,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "https://github.com/spyl94.png", alt: "Aurรฉlien David", organization: "Pennylane", + location: { + name: "France", + flag: "๐Ÿ‡ซ๐Ÿ‡ท", + }, tags: [ { label: "GitHub", @@ -512,6 +600,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "/img/ambassadors/chanda-raj-kumar.jpg", alt: "Chanda Raj Kumar", organization: "KL University Hyderabad", + location: { + name: "India", + flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", + }, tags: [ { label: "LinkedIn", @@ -525,6 +617,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "https://github.com/dariuszkuc.png", alt: "Derek Kuc", organization: "Apollo", + location: { + name: "United States", + flag: "๐Ÿ‡บ๐Ÿ‡ธ", + }, tags: [ { label: "Bluesky", @@ -553,6 +649,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "https://github.com/gilgardosh.png", alt: "Gil Gardosh", organization: "The Guild", + location: { + name: "Israel", + flag: "๐Ÿ‡ฎ๐Ÿ‡ฑ", + }, tags: [ { label: "GitHub", @@ -576,6 +676,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "/img/ambassadors/giuseppe-abrignani.jpg", alt: "Giuseppe Abrignani", organization: "Oranj Tech", + location: { + name: "Denmark", + flag: "๐Ÿ‡ฉ๐Ÿ‡ฐ", + }, tags: [ { label: "LinkedIn", @@ -589,6 +693,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "/img/ambassadors/jayant-acharya.jpg", alt: "Jayant Acharya", organization: "Techsophy", + location: { + name: "India", + flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", + }, tags: [ { label: "GitHub", @@ -607,6 +715,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: " https://github.com/n1ru4l.png", alt: "Laurin Quast", organization: "The Guild", + location: { + name: "Germany", + flag: "๐Ÿ‡ฉ๐Ÿ‡ช", + }, tags: [ { label: "GitHub", @@ -630,6 +742,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "https://github.com/phryneas.png", alt: "Lenz Weber-Tronic", organization: "Apollo", + location: { + name: "Germany", + flag: "๐Ÿ‡ฉ๐Ÿ‡ช", + }, tags: [ { label: "Bluesky", @@ -658,6 +774,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "https://github.com/riginoommen.png", alt: "Rigin Oommen", organization: "Red Hat", + location: { + name: "India", + flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", + }, tags: [ { label: "GitHub", @@ -676,6 +796,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "/img/ambassadors/sabrina-wasserman.jpg", alt: "Sabrina Wasserman", organization: "Facebook", + location: { + name: "United States", + flag: "๐Ÿ‡บ๐Ÿ‡ธ", + }, tags: [ { label: "GitHub", @@ -694,6 +818,10 @@ export const ambassadors202512: Ambassador[] = [ imageUrl: "https://github.com/EmrysMyrddin.png", alt: "Valentin Cocaud", organization: "Independent", + location: { + name: "France", + flag: "๐Ÿ‡ซ๐Ÿ‡ท", + }, tags: [ { label: "GitHub", @@ -715,6 +843,10 @@ export const ambassadors202603: Ambassador[] = [ imageUrl: "/img/ambassadors/akshat-sharma.jpg", alt: "Akshat Sharma", organization: "Deskree", + location: { + name: "India", + flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", + }, tags: [ { label: "LinkedIn", @@ -733,6 +865,10 @@ export const ambassadors202603: Ambassador[] = [ imageUrl: "/img/ambassadors/ayush-more.jpg", alt: "Ayush More", organization: "Independent", + location: { + name: "India", + flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", + }, tags: [ { label: "GitHub", @@ -756,6 +892,10 @@ export const ambassadors202603: Ambassador[] = [ imageUrl: "/img/ambassadors/emily-goodwin.jpg", alt: "Emily Goodwin", organization: "Independent", + location: { + name: "Canada", + flag: "๐Ÿ‡จ๐Ÿ‡ฆ", + }, tags: [ { label: "GitHub", @@ -774,6 +914,10 @@ export const ambassadors202603: Ambassador[] = [ imageUrl: "https://github.com/IvanGoncharov.png", alt: "Ivan Goncharov", organization: "APIs.guru", + location: { + name: "Ukraine", + flag: "๐Ÿ‡บ๐Ÿ‡ฆ", + }, tags: [ { label: "GitHub", @@ -795,6 +939,10 @@ export const ambassadors202606: Ambassador[] = [ imageUrl: "/img/ambassadors/christian-ernst.jpg", alt: "Christian Ernst", organization: "Booking.com", + location: { + name: "Netherlands", + flag: "๐Ÿ‡ณ๐Ÿ‡ฑ", + }, tags: [ { label: "LinkedIn", @@ -808,6 +956,10 @@ export const ambassadors202606: Ambassador[] = [ imageUrl: "/img/ambassadors/zeljko-kozina.jpg", alt: "ลฝeljko Kozina", organization: "Chronomill", + location: { + name: "Ireland", + flag: "๐Ÿ‡ฎ๐Ÿ‡ช", + }, tags: [ { label: "LinkedIn", From 6bfc80c7b6352f7c5ca0ae942be79897c0685aa8 Mon Sep 17 00:00:00 2001 From: Jem Gillam <6413628+jemgillam@users.noreply.github.com> Date: Fri, 28 Aug 2026 19:13:22 +0100 Subject: [PATCH 2/5] Add askMeAbout --- src/components/ambassador-grid.tsx | 24 +++++++++++++++----- src/components/info-card/ambassador-data.tsx | 2 ++ src/components/info-card/index.tsx | 2 +- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/components/ambassador-grid.tsx b/src/components/ambassador-grid.tsx index 0f84d5bd81..3e5964b9dc 100644 --- a/src/components/ambassador-grid.tsx +++ b/src/components/ambassador-grid.tsx @@ -13,7 +13,7 @@ function buildRows(ambassador: Ambassador): InfoCardRow[] { role="img" aria-label={ambassador.location.name} title={ambassador.location.name} - className="shrink-0 self-center text-xl" + className="shrink-0 self-start text-xl" > {ambassador.location.flag} @@ -26,10 +26,22 @@ function buildRows(ambassador: Ambassador): InfoCardRow[] { imageUrl: ambassador.imageUrl, alt: ambassador.alt, }, - { - type: "label", - label: ambassador.organization, - }, + ...(ambassador.askMeAbout + ? [ + { + type: "label" as const, + hideInConciseMode: true, + label: ( +
+ + Ask me about + + {ambassador.askMeAbout.join(", ")} +
+ ), + }, + ] + : []), { type: "label", hideInConciseMode: true, @@ -62,7 +74,7 @@ export function AmbassadorGrid({ concise?: boolean }) { return ( -
+
{ambassadors.map((ambassador, index) => ( From 2f3ee4e393aac398f9c6e397e008ed5ac80514a8 Mon Sep 17 00:00:00 2001 From: Jem Gillam <6413628+jemgillam@users.noreply.github.com> Date: Fri, 28 Aug 2026 19:17:40 +0100 Subject: [PATCH 3/5] Add Locals organiser info --- src/components/ambassador-grid.tsx | 24 ++++++++++++++++++++ src/components/info-card/ambassador-data.tsx | 12 ++++++++++ src/components/info-card/index.tsx | 8 ++++++- 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/components/ambassador-grid.tsx b/src/components/ambassador-grid.tsx index 3e5964b9dc..5053738264 100644 --- a/src/components/ambassador-grid.tsx +++ b/src/components/ambassador-grid.tsx @@ -26,6 +26,30 @@ function buildRows(ambassador: Ambassador): InfoCardRow[] { imageUrl: ambassador.imageUrl, alt: ambassador.alt, }, + ...(ambassador.organizes + ? [ + { + type: "label" as const, + hideInConciseMode: true, + className: "bg-pri-lightest text-pri-darker dark:text-pri-darker", + label: ( +
+ {ambassador.organizes.map(event => ( + + {event.name} organizer + + ))} +
+ ), + }, + ] + : []), ...(ambassador.askMeAbout ? [ { diff --git a/src/components/info-card/ambassador-data.tsx b/src/components/info-card/ambassador-data.tsx index dbb6d5ed1b..53788b6652 100644 --- a/src/components/info-card/ambassador-data.tsx +++ b/src/components/info-card/ambassador-data.tsx @@ -17,6 +17,11 @@ export interface AmbassadorTag { icon?: ReactNode } +export interface AmbassadorEvent { + name: string + url: string +} + export interface Ambassador { label: string imageUrl: string @@ -27,6 +32,7 @@ export interface Ambassador { name: string flag: string } + organizes?: AmbassadorEvent[] askMeAbout?: string[] } @@ -256,6 +262,12 @@ export const ambassadors202509: Ambassador[] = [ name: "United Kingdom", flag: "๐Ÿ‡ฌ๐Ÿ‡ง", }, + organizes: [ + { + name: "London GraphQL", + url: "https://guild.host/london-graphql", + }, + ], askMeAbout: ["GraphQL governance", "Open source sustainability"], tags: [ { diff --git a/src/components/info-card/index.tsx b/src/components/info-card/index.tsx index bf69322c82..9b9af398d5 100644 --- a/src/components/info-card/index.tsx +++ b/src/components/info-card/index.tsx @@ -5,6 +5,7 @@ export interface InfoCardLabelRow { type: "label" label: ReactNode hideInConciseMode?: boolean + className?: string } export interface InfoCardTitleRow { @@ -32,7 +33,12 @@ export function InfoCardRow({ row }: { row: InfoCardRow }) { switch (row.type) { case "label": { return ( -
+
{row.label}
) From 90facf11c073faa4dc3837caa05108b923bbb0ca Mon Sep 17 00:00:00 2001 From: Jem Gillam <6413628+jemgillam@users.noreply.github.com> Date: Sat, 29 Aug 2026 11:12:16 +0100 Subject: [PATCH 4/5] Add each Ambassadors focus --- src/components/info-card/ambassador-data.tsx | 42 +++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/components/info-card/ambassador-data.tsx b/src/components/info-card/ambassador-data.tsx index 53788b6652..e44b73d867 100644 --- a/src/components/info-card/ambassador-data.tsx +++ b/src/components/info-card/ambassador-data.tsx @@ -46,6 +46,7 @@ export const ambassadors202509: Ambassador[] = [ name: "Poland", flag: "๐Ÿ‡ต๐Ÿ‡ฑ", }, + askMeAbout: ["GraphQL Editor", "GraphQL Zeus", "schema design"], tags: [ { label: "Bluesky", @@ -73,6 +74,7 @@ export const ambassadors202509: Ambassador[] = [ name: "Australia", flag: "๐Ÿ‡ฆ๐Ÿ‡บ", }, + askMeAbout: ["GraphQL Java", "open source"], tags: [ { label: "GitHub", @@ -95,6 +97,7 @@ export const ambassadors202509: Ambassador[] = [ name: "Israel", flag: "๐Ÿ‡ฎ๐Ÿ‡ฑ", }, + askMeAbout: ["GraphQL Yoga", "federation"], tags: [ { label: "GitHub", @@ -117,6 +120,7 @@ export const ambassadors202509: Ambassador[] = [ name: "Australia", flag: "๐Ÿ‡ฆ๐Ÿ‡บ", }, + askMeAbout: ["GraphQL Code Generator", "type safety"], tags: [ { label: "GitHub", @@ -149,6 +153,7 @@ export const ambassadors202509: Ambassador[] = [ name: "Germany", flag: "๐Ÿ‡ฉ๐Ÿ‡ช", }, + askMeAbout: ["Python GraphQL", "Strawberry GraphQL", "GraphQL & AI"], tags: [ { label: "GitHub", @@ -171,6 +176,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United States", flag: "๐Ÿ‡บ๐Ÿ‡ธ", }, + askMeAbout: ["error handling", "GraphQL at scale", "nullability"], tags: [ { label: "Facebook", @@ -198,6 +204,11 @@ export const ambassadors202509: Ambassador[] = [ name: "United Kingdom", flag: "๐Ÿ‡ฌ๐Ÿ‡ง", }, + askMeAbout: [ + "developer tooling", + "GraphQL at the edge", + "GraphQL education", + ], tags: [ { label: "GitHub", @@ -230,6 +241,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United States", flag: "๐Ÿ‡บ๐Ÿ‡ธ", }, + askMeAbout: ["GraphQL clients", "GraphQL governance", "schema design"], tags: [ { label: "Bluesky", @@ -268,7 +280,7 @@ export const ambassadors202509: Ambassador[] = [ url: "https://guild.host/london-graphql", }, ], - askMeAbout: ["GraphQL governance", "Open source sustainability"], + askMeAbout: ["GraphQL governance", "open source"], tags: [ { label: "Bluesky", @@ -296,6 +308,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United States", flag: "๐Ÿ‡บ๐Ÿ‡ธ", }, + askMeAbout: ["Grats", "Relay", "nullability"], tags: [ { label: "GitHub", @@ -328,6 +341,7 @@ export const ambassadors202509: Ambassador[] = [ name: "Belgium", flag: "๐Ÿ‡ง๐Ÿ‡ช", }, + askMeAbout: ["gql.tada", "urql"], tags: [ { label: "GitHub", @@ -360,6 +374,7 @@ export const ambassadors202509: Ambassador[] = [ name: "Canada", flag: "๐Ÿ‡จ๐Ÿ‡ฆ", }, + askMeAbout: ["API architecture", "GraphQL at scale", "production GraphQL"], tags: [ { label: "BlueSky", @@ -392,6 +407,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United States", flag: "๐Ÿ‡บ๐Ÿ‡ธ", }, + askMeAbout: ["enterprise GraphQL", "GraphQL & AI", "schema design"], tags: [ { label: "BlueSky", @@ -419,6 +435,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United Kingdom", flag: "๐Ÿ‡ฌ๐Ÿ‡ง", }, + askMeAbout: ["Strawberry GraphQL", "code-first GraphQL, type safety"], tags: [ { label: "BlueSky", @@ -446,6 +463,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United Kingdom", flag: "๐Ÿ‡ฌ๐Ÿ‡ง", }, + askMeAbout: ["gql.tada", "urql"], tags: [ { label: "BlueSky", @@ -478,6 +496,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United States", flag: "๐Ÿ‡บ๐Ÿ‡ธ", }, + askMeAbout: ["developer experience", "GraphQL education"], tags: [ { label: "LinkedIn", @@ -495,6 +514,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United States", flag: "๐Ÿ‡บ๐Ÿ‡ธ", }, + askMeAbout: ["GraphQL & AI", "GraphQL at scale", "nullability"], tags: [ { label: "GitHub", @@ -522,6 +542,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United Kingdom", flag: "๐Ÿ‡ฌ๐Ÿ‡ง", }, + askMeAbout: ["community building", "production GraphQL"], tags: [ { label: "GitHub", @@ -544,6 +565,7 @@ export const ambassadors202509: Ambassador[] = [ name: "United Kingdom", flag: "๐Ÿ‡ฌ๐Ÿ‡ง", }, + askMeAbout: ["GraphQL Network Inspector", "debugging", "developer tooling"], tags: [ { label: "LinkedIn", @@ -569,6 +591,7 @@ export const ambassadors202512: Ambassador[] = [ name: "Netherlands", flag: "๐Ÿ‡ณ๐Ÿ‡ฑ", }, + askMeAbout: ["enterprise GraphQL", "federation", "GraphQL at scale"], tags: [ { label: "GitHub", @@ -591,6 +614,7 @@ export const ambassadors202512: Ambassador[] = [ name: "France", flag: "๐Ÿ‡ซ๐Ÿ‡ท", }, + askMeAbout: ["API migration", "GraphQL education", "public APIs"], tags: [ { label: "GitHub", @@ -618,6 +642,7 @@ export const ambassadors202512: Ambassador[] = [ name: "India", flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", }, + askMeAbout: ["GraphQL & AI", "GraphQL education"], tags: [ { label: "LinkedIn", @@ -635,6 +660,7 @@ export const ambassadors202512: Ambassador[] = [ name: "United States", flag: "๐Ÿ‡บ๐Ÿ‡ธ", }, + askMeAbout: ["Apollo Federation", "GraphQL testing"], tags: [ { label: "Bluesky", @@ -667,6 +693,7 @@ export const ambassadors202512: Ambassador[] = [ name: "Israel", flag: "๐Ÿ‡ฎ๐Ÿ‡ฑ", }, + askMeAbout: ["GraphQL Mesh", "API integration", "federation"], tags: [ { label: "GitHub", @@ -694,6 +721,7 @@ export const ambassadors202512: Ambassador[] = [ name: "Denmark", flag: "๐Ÿ‡ฉ๐Ÿ‡ฐ", }, + askMeAbout: ["data modelling", "GraphQL at scale", "schema tooling"], tags: [ { label: "LinkedIn", @@ -711,6 +739,7 @@ export const ambassadors202512: Ambassador[] = [ name: "India", flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", }, + askMeAbout: ["GraphQL education"], tags: [ { label: "GitHub", @@ -733,6 +762,7 @@ export const ambassadors202512: Ambassador[] = [ name: "Germany", flag: "๐Ÿ‡ฉ๐Ÿ‡ช", }, + askMeAbout: ["GraphQL Hive", "schema evolution"], tags: [ { label: "GitHub", @@ -760,6 +790,7 @@ export const ambassadors202512: Ambassador[] = [ name: "Germany", flag: "๐Ÿ‡ฉ๐Ÿ‡ช", }, + askMeAbout: ["Apollo Client", "GraphQL clients"], tags: [ { label: "Bluesky", @@ -792,6 +823,7 @@ export const ambassadors202512: Ambassador[] = [ name: "India", flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", }, + askMeAbout: ["API design", "developer experience", "schema evolution"], tags: [ { label: "GitHub", @@ -814,6 +846,7 @@ export const ambassadors202512: Ambassador[] = [ name: "United States", flag: "๐Ÿ‡บ๐Ÿ‡ธ", }, + askMeAbout: ["data consistency", "GraphQL clients", "pagination"], tags: [ { label: "GitHub", @@ -836,6 +869,7 @@ export const ambassadors202512: Ambassador[] = [ name: "France", flag: "๐Ÿ‡ซ๐Ÿ‡ท", }, + askMeAbout: ["GraphQL Gateway", "GraphQL Mesh", "GraphQL Yoga"], tags: [ { label: "GitHub", @@ -861,6 +895,7 @@ export const ambassadors202603: Ambassador[] = [ name: "India", flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", }, + askMeAbout: ["developer advocacy", "GraphQL & AI"], tags: [ { label: "LinkedIn", @@ -883,6 +918,7 @@ export const ambassadors202603: Ambassador[] = [ name: "India", flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", }, + askMeAbout: ["student outreach"], tags: [ { label: "GitHub", @@ -910,6 +946,7 @@ export const ambassadors202603: Ambassador[] = [ name: "Canada", flag: "๐Ÿ‡จ๐Ÿ‡ฆ", }, + askMeAbout: ["caching", "federation", "GraphQL tooling"], tags: [ { label: "GitHub", @@ -932,6 +969,7 @@ export const ambassadors202603: Ambassador[] = [ name: "Ukraine", flag: "๐Ÿ‡บ๐Ÿ‡ฆ", }, + askMeAbout: ["GraphQL Voyager", "GraphQL specification", "GraphQL tooling"], tags: [ { label: "GitHub", @@ -957,6 +995,7 @@ export const ambassadors202606: Ambassador[] = [ name: "Netherlands", flag: "๐Ÿ‡ณ๐Ÿ‡ฑ", }, + askMeAbout: ["enterprise GraphQL", "federation", "schema evolution"], tags: [ { label: "LinkedIn", @@ -974,6 +1013,7 @@ export const ambassadors202606: Ambassador[] = [ name: "Ireland", flag: "๐Ÿ‡ฎ๐Ÿ‡ช", }, + askMeAbout: ["Spring for GraphQL", "API design", "GraphQL & AI"], tags: [ { label: "LinkedIn", From d6924591a1a773afc1c3def56bc59a4bf99ba205 Mon Sep 17 00:00:00 2001 From: Jem Gillam <6413628+jemgillam@users.noreply.github.com> Date: Sat, 29 Aug 2026 12:13:20 +0100 Subject: [PATCH 5/5] Add events --- src/components/ambassador-grid.tsx | 2 +- src/components/info-card/ambassador-data.tsx | 42 ++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/components/ambassador-grid.tsx b/src/components/ambassador-grid.tsx index 5053738264..a89b2072bc 100644 --- a/src/components/ambassador-grid.tsx +++ b/src/components/ambassador-grid.tsx @@ -33,7 +33,7 @@ function buildRows(ambassador: Ambassador): InfoCardRow[] { hideInConciseMode: true, className: "bg-pri-lightest text-pri-darker dark:text-pri-darker", label: ( -
+
{ambassador.organizes.map(event => (