diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38d215bb86..b607837bec 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -185,3 +185,13 @@ To initiate the signature process please open a PR against this repo. The EasyCL You can find [detailed information here](https://github.com/graphql/graphql-wg/tree/main/membership). If you have issues, please email operations@graphql.org. If your company benefits from GraphQL and you would like to provide essential financial support for the systems and people that power our community, please also consider membership in the [GraphQL Foundation](https://foundation.graphql.org/join). + +## Linting + +To lint your code, run: + +``` +pnpm run format +``` + +And then check, commit and push the changes to your pull request. diff --git a/public/img/ambassadors/akshat-sharma.jpg b/public/img/ambassadors/akshat-sharma.jpg new file mode 100644 index 0000000000..2ea89ceeba Binary files /dev/null and b/public/img/ambassadors/akshat-sharma.jpg differ diff --git a/public/img/ambassadors/ayush-more.jpg b/public/img/ambassadors/ayush-more.jpg new file mode 100644 index 0000000000..42448a08fd Binary files /dev/null and b/public/img/ambassadors/ayush-more.jpg differ diff --git a/public/img/ambassadors/emily-goodwin.jpg b/public/img/ambassadors/emily-goodwin.jpg new file mode 100644 index 0000000000..7142cd2e59 Binary files /dev/null and b/public/img/ambassadors/emily-goodwin.jpg differ diff --git a/src/components/info-card/ambassador-data.tsx b/src/components/info-card/ambassador-data.tsx index 06aac04ead..467904dfb6 100644 --- a/src/components/info-card/ambassador-data.tsx +++ b/src/components/info-card/ambassador-data.tsx @@ -5,6 +5,7 @@ import { GitHubIcon, GlobeIcon, LinkedInIcon, + MediumIcon, ThreadsIcon, TwitterIcon, YouTube2Icon, @@ -320,7 +321,7 @@ export const ambassadors202509: Ambassador[] = [ label: "Michael Watson", imageUrl: "https://github.com/michael-watson.png", alt: "Michael Watson", - organization: "Apollo", + organization: "Independent", tags: [ { label: "BlueSky", @@ -697,7 +698,7 @@ export const ambassadors202512: Ambassador[] = [ label: "Valentin Cocaud", imageUrl: "https://github.com/EmrysMyrddin.png", alt: "Valentin Cocaud", - organization: "The Guild", + organization: "Independent", tags: [ { label: "GitHub", @@ -713,6 +714,88 @@ export const ambassadors202512: Ambassador[] = [ }, ] -export const ambassadors = [...ambassadors202509, ...ambassadors202512].sort( - (a, z) => a.label.localeCompare(z.label, "en-US"), -) +export const ambassadors202603: Ambassador[] = [ + { + label: "Akshat Sharma", + imageUrl: "/img/ambassadors/akshat-sharma.jpg", + alt: "Akshat Sharma", + organization: "Deskree", + tags: [ + { + label: "LinkedIn", + url: "https://www.linkedin.com/in/akshat-sharma11/ ", + icon: , + }, + { + label: "Medium", + url: "https://medium.com/@akshat111111", + icon: , + }, + ], + }, + { + label: "Ayush More", + imageUrl: "/img/ambassadors/ayush-more.jpg", + alt: "Ayush More", + organization: "Independent", + tags: [ + { + label: "GitHub", + url: "https://github.com/Ayushmore1214", + icon: , + }, + { + label: "LinkedIn", + url: "https://www.linkedin.com/in/ayush-more-3b4154341/", + icon: , + }, + { + label: "Website", + url: "https://heyyayush.hashnode.dev/", + icon: , + }, + ], + }, + { + label: "Emily Goodwin", + imageUrl: "/img/ambassadors/emily-goodwin.jpg", + alt: "Emily Goodwin", + organization: "Independent", + tags: [ + { + label: "GitHub", + url: "https://github.com/egoodwinx", + icon: , + }, + { + label: "LinkedIn", + url: "https://www.linkedin.com/in/emily-y-goodwin/", + icon: , + }, + ], + }, + { + label: "Ivan Goncharov", + imageUrl: "https://github.com/IvanGoncharov.png", + alt: "Ivan Goncharov", + organization: "APIs.guru", + tags: [ + { + label: "GitHub", + url: "https://github.com/IvanGoncharov", + icon: , + }, + { + label: "LinkedIn", + url: "https://www.linkedin.com/in/igoncharov/", + icon: , + }, + ], + }, +] + +export const ambassadors = [ + ...ambassadors202509, + ...ambassadors202512, + ...ambassadors202603, +].sort((a, z) => a.label.localeCompare(z.label, "en-US")) diff --git a/src/icons/index.ts b/src/icons/index.ts index 7a864e4254..aaed687191 100644 --- a/src/icons/index.ts +++ b/src/icons/index.ts @@ -44,3 +44,4 @@ export { default as BlueskyIcon } from "./bluesky.svg" export { default as Bluesky2Icon } from "./bluesky2.svg" export { default as FoundationTalksChannel } from "./talks-channel.svg" export { default as ThreadsIcon } from "./threads.svg" +export { default as MediumIcon } from "./medium.svg" diff --git a/src/icons/medium.svg b/src/icons/medium.svg new file mode 100644 index 0000000000..aa1f2c2b33 --- /dev/null +++ b/src/icons/medium.svg @@ -0,0 +1,6 @@ + + + diff --git a/src/pages/blog/2026-04-02-meet-the-spring-ambassador-cohort.mdx b/src/pages/blog/2026-04-02-meet-the-spring-ambassador-cohort.mdx new file mode 100644 index 0000000000..bd1b8cfad9 --- /dev/null +++ b/src/pages/blog/2026-04-02-meet-the-spring-ambassador-cohort.mdx @@ -0,0 +1,36 @@ +--- +title: "Meet the Spring 2026 Ambassador Cohort" +tags: ["announcements"] +date: 2026-04-02 +byline: Jem Gillam +featured: true +--- + +import { AmbassadorGrid } from "../../components/ambassador-grid" +import { ambassadors202603 } from "../../components/info-card/ambassador-data" + +The GraphQL Foundation is happy to announce the Spring cohort of GraphQL Ambassadors! Ambassadors represent a diverse range of geographies, backgrounds, and use cases — from maintainers of popular libraries and meetup organizers to educators writing guides and tutorials, and beyond. Join us in welcoming Akshat, Ayush, Emily and Ivan to the team! + +Ivan has been deeply involved in GraphQL since its early days, contributing extensively to graphql-js and the specification itself. He also authored the initial version of the GraphQL over HTTP specification, which formalises how GraphQL operations are transported over HTTP. Alongside this work, Ivan has been a regular speaker and advocate for GraphQL in the community. + +Emily represents the next generation of spec and tooling contributors. Through her work on large-scale GraphQL gateways and her role championing the [Field Extensions RFC](https://github.com/graphql/graphql-wg/blob/main/rfcs/FieldExtensions.md), she is helping evolve how GraphQL schemas can be extended and composed in real-world systems. She has also been sharing her insights through talks and contributions to ecosystem tooling, bringing a thoughtful perspective as she continues to grow within the community. + +Akshat brings a strong focus on practical GraphQL adoption - from performance and security best practices through to mentorship and community education - helping developers build robust APIs in real-world environments. Lastly, Ayush is exploring how GraphQL fits into the next generation of infrastructure, advocating for its role in orchestrating complex systems and inspiring more students and early-career engineers to get involved in the ecosystem. + +Together, this cohort reflects both the depth and the future of GraphQL: experienced voices who have helped shape the ecosystem, and new contributors who are expanding its reach into new domains and communities. + + + +## How to Get Involved + +- **Nominate an Ambassador.** Do you know someone doing incredible work with GraphQL? [Nominate them](https://forms.gle/hN7reX8aKQ6BqSJm7) (or [yourself](https://forms.gle/zRKVfcTPQ9kFn4Ps6))! + +- **Connect locally.** Attend [events and workshops](./community/events/) hosted by Ambassadors in your region. + +- **Share your story.** If you’re publishing, teaching, or building with GraphQL, we’d love to hear from you. + +## What’s Next + +The Ambassadors program is part of our broader effort to strengthen community engagement and education around GraphQL. Look forward to spotlights on our Ambassador team, upcoming blogs and speaking opportunities, and ways you can collaborate with these leaders. + +Together, we’re building not just technology, but a thriving, global GraphQL community.