1<!doctype html> 2 3<html lang="en"> 4 <head> 5 <meta charset="utf-8"> 6 <link rel="icon" type="image/x-icon" href="/2026/assets/images/icons/favicon.ico"> 7 <link rel="icon" type="image/svg+xml" sizes="16x16" href="/2026/assets/images/icons/favicon-grey-16x16.svg"> 8 <link rel="icon" type="image/svg+xml" sizes="32x32" href="/2026/assets/images/icons/favicon-grey-32x32.svg"> 9 <link rel="icon" type="image/svg+xml" sizes="96x96" href="/2026/assets/images/icons/favicon-grey-96x96.svg"> 10 <link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/2026/assets/images/icons/favicon-apple-touch-icon-180x180.png"> 11 <link rel="icon" type="image/png" sizes="192x192" href="/2026/assets/images/icons/favicon-android-chrome-192x192.png"> 12 <link rel="icon" type="image/png" sizes="512x512" href="/2026/assets/images/icons/favicon-android-chrome-512x512.png"> 13 <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes shrink-to-fit=no"> 14 <title>Google I/O 2026: Google Community Groups</title> 15 <meta name="description" content="Join a developer group near you for networking, events, and more."> 16 <meta property="og:image" content="https://io.google/2026/assets/images/io26-og-image.jpg"> 17 <meta property="og:image:type" content="image/jpeg"> 18 <meta property="og:image:width" content="1200"> 19 <meta property="og:image:height" content="630"> 20 <meta property="twitter:card" content="summary_large_image" /> 21 <meta property="twitter:url" content="https://io.google/2026" /> 22 <meta property="twitter:title" content="Google I/O 2026: Google Community Groups" /> 23 <meta name="twitter:image" content="https://io.google/2026/assets/images/io26-og-image.jpg"> 24 <meta name="google-site-verification" content="0n5iTxfslAFDffojbFy34dZWNuxJxE6BbrxMM-tGyEw" /> 25
25<script type="module" src="/2026/js/ssr-utils/lit-hydrate-support.js"></script>
25 26
26<script type="module" src="/2026/js/ssr-utils/is-land.js"></script>
26 27
27<script src="/2026/assets/js/developer_profiles_api_v0.2.8.js" defer></script>
27 28
28<script type="module" src="/2026/js/pages/global.js"></script>
28 29
29<script type="module">"use strict";(()=>{var d;function s(){var o;return d===void 0&&(d=!!(!((o=new DOMParser().parseFromString('<div><template shadowrootmode="open"></template></div>',"text/html",{includeShadowRoots:!0}).querySelector("div"))===null||o===void 0)&&o.shadowRoot)),d}var m=o=>o.parentElement===null,h=o=>o.tagName==="TEMPLATE",p=o=>o.nodeType===Node.ELEMENT_NODE;var i=o=>{var l;if(s())return;let r=[],e=o.firstElementChild;for(;e!==o&&e!==null;)if(h(e))r.push(e),e=e.content;else if(e.firstElementChild!==null)e=e.firstElementChild;else if(p(e)&&e.nextElementSibling!==null)e=e.nextElementSibling;else{let t;for(;e!==o&&e!==null;)if(m(e)){t=r.pop();let a=t.parentElement,n=t.getAttribute("shadowrootmode");if(e=t,n==="open"||n==="closed"){let f=t.hasAttribute("shadowrootdelegatesfocus");try{a.attachShadow({mode:n,delegatesFocus:f}).append(t.content)}catch{}}else t=void 0}else{let a=e.nextElementSibling;if(a!=null){e=a,t!==void 0&&t.parentElement.removeChild(t);break}let n=(l=e.parentElement)===null||l===void 0?void 0:l.nextElementSibling;if(n!=null){e=n,t!==void 0&&t.parentElement.removeChild(t);break}e=e.parentElement,t!==void 0&&(t.parentElement.removeChild(t),t=void 0)}}};HTMLTemplateElement.prototype.hasOwnProperty("shadowRoot")||i(document.body);document.body.removeAttribute("dsd-pending");})();</script>
29 30 31
31<script> 32 window.dataLayer = window.dataLayer || []; 33 function glueCookieNotificationBarLoaded() { 34 (function (w, d, s, l, i) { 35 w['dataLayer'] = w['dataLayer'] || []; 36 w['dataLayer'].push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); 37 const f = d.getElementsByTagName(s)[0], 38 j = d.createElement(s), 39 dl = l != 'dataLayer' ? '&l=' + l : ''; 40 j.async = true; 41 j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 42 if (f.parentNode) { 43 f.parentNode.insertBefore(j, f); 44 } 45 })(window, document, 'script', 'dataLayer', 'GTM-MNH554N'); 46 } 47 </script>
47 48 49 <noscript><style>body[dsd-pending] {display: block !important;}</style></noscript> 50 <link rel="preload" as="style" href="/2026/assets/css/global.css"> 51 <link rel="stylesheet" href="/2026/assets/css/global.css"> 52 <style> 53 .glue-cookie-notification-bar__accept,.glue-cookie-notification-bar__reject{font-size:1rem;line-height:1.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;border:1px solid transparent;border-radius:48px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;font-family:Google Sans,Arial,Helvetica,sans-serif;font-weight:500;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;letter-spacing:.5px;margin:8px 0;max-width:380px;min-height:48px;min-width:96px;overflow:hidden;padding:12px 24px 12px 24px;text-align:center;text-decoration:none;-webkit-transition:background-color .2s,box-shadow .2s,color .2s;transition:background-color .2s,box-shadow .2s,color .2s;vertical-align:middle}[lang=ar] .glue-cookie-notification-bar__accept,[lang=ar] .glue-cookie-notification-bar__reject{font-family:Google Sans,Google Sans Arabic,Arial,Helvetica,sans-serif}[lang=ja] .glue-cookie-notification-bar__accept,[lang=ja] .glue-cookie-notification-bar__reject{font-family:Google Sans,Google Sans Japanese,Noto Sans JP,Arial,Helvetica,sans-serif}[lang=ko] .glue-cookie-notification-bar__accept,[lang=ko] .glue-cookie-notification-bar__reject{font-family:Google Sans,Google Sans Korean,Noto Sans KR,Arial,Helvetica,sans-serif}[lang=zh-CN] .glue-cookie-notification-bar__accept,[lang=zh-CN] .glue-cookie-notification-bar__reject{font-family:Google Sans,Google Sans Simplified Chinese,Noto Sans SC,Arial,Helvetica,sans-serif}[lang=zh-TW] .glue-cookie-notification-bar__accept,[lang=zh-TW] .glue-cookie-notification-bar__reject{font-family:Google Sans,Google Sans Traditional Chinese,Noto Sans TC,Arial,Helvetica,sans-serif}@media (-ms-high-contrast:active),(forced-colors:active){.glue-cookie-notification-bar__accept,.glue-cookie-notification-bar__reject{-webkit-transition:none;transition:none}}.glue-cookie-notification-bar__accept:focus,.glue-cookie-notification-bar__reject:focus{outline:2px solid transparent;-webkit-transition:none;transition:none}.glue-cookie-notification-bar__accept,.glue-cookie-notification-bar__reject{background-color:#1a73e8;color:#fff}@media (-ms-high-contrast:active),(forced-colors:active){.glue-cookie-notification-bar__accept,.glue-cookie-notification-bar__reject{forced-color-adjust:none;background:buttonText;border-color:buttonFace;color:buttonFace}.glue-cookie-notification-bar__accept svg,.glue-cookie-notification-bar__reject svg{fill:buttonFace}}.glue-cookie-notification-bar__accept:visited,.glue-cookie-notification-bar__reject:visited{background-color:#1a73e8;color:#fff}@media (-ms-high-contrast:active),(forced-colors:active){.glue-cookie-notification-bar__accept:visited,.glue-cookie-notification-bar__reject:visited{forced-color-adjust:none;background:buttonText;border-color:buttonFace;color:buttonFace}.glue-cookie-notification-bar__accept:visited svg,.glue-cookie-notification-bar__reject:visited svg{fill:buttonFace}}.glue-cookie-notification-bar__accept:hover,.glue-cookie-notification-bar__reject:hover{box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);background-color:#185abc}@media (-ms-high-contrast:active),(forced-colors:active){.glue-cookie-notification-bar__accept:hover,.glue-cookie-notification-bar__reject:hover{forced-color-adjust:none;background:buttonFace;border-color:buttonText;color:buttonText}.glue-cookie-notification-bar__accept:hover svg,.glue-cookie-notification-bar__reject:hover svg{fill:buttonText}}.glue-cookie-notification-bar__accept:focus,.glue-cookie-notification-bar__reject:focus{background-color:#185abc;border-color:#fff;box-shadow:0 0 0 2px #185abc}@media (-ms-high-contrast:active),(forced-colors:active){.glue-cookie-notification-bar__accept:focus,.glue-cookie-notification-bar__reject:focus{forced-color-adjust:none;background:buttonFace;border-color:buttonText;color:buttonText;outline:2px solid highlight}.glue-cookie-notification-bar__accept:focus svg,.glue-cookie-notification-bar__reject:focus svg{fill:buttonText}}.glue-cookie-notification-bar__accept:active,.glue-cookie-notification-bar__reject:active{box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15);background-color:#185abc;border:1px solid transparent}@media (-ms-high-contrast:active),(forced-colors:active){.glue-cookie-notification-bar__accept:active,.glue-cookie-notification-bar__reject:active{forced-color-adjust:none;background:buttonFace;border-color:buttonText;color:buttonText}.glue-cookie-notification-bar__accept:active svg,.glue-cookie-notification-bar__reject:active svg{fill:buttonText}}.glue-cookie-notification-bar__more{background:transparent;border-radius:4px;
53color:#1a73e8;display:inline;overflow:hidden;text-decoration:underline;-webkit-transition:background-color .2s,color .2s;transition:background-color .2s,color .2s}.glue-cookie-notification-bar__more:active,.glue-cookie-notification-bar__more:focus,.glue-cookie-notification-bar__more:hover{color:#174ea6}.glue-cookie-notification-bar__more:visited{color:#681da8}.glue-cookie-notification-bar__more:active,.glue-cookie-notification-bar__more:focus,.glue-cookie-notification-bar__more:hover{cursor:pointer;outline:none}.glue-cookie-notification-bar__more:hover{background-color:rgba(26,115,232,.04)}.glue-cookie-notification-bar__more:focus{outline:2px solid transparent;background-color:rgba(26,115,232,.12);box-shadow:0 0 0 2px #1a73e8;z-index:1}.glue-cookie-notification-bar__more:active{background-color:rgba(26,115,232,.1);box-shadow:none;outline:2px auto Highlight;outline:5px auto -webkit-focus-ring-color}.glue-cookie-notification-bar__more img{border:0}.glue-cookie-notification-bar{box-shadow:0 2px 3px 0 rgba(60,64,67,.3),0 6px 10px 4px rgba(60,64,67,.15);background:#fff;bottom:0;-moz-box-sizing:border-box;box-sizing:border-box;display:grid;font-size:1rem;grid-gap:8px;grid-template-columns:auto auto;left:0;padding:8px;position:fixed;width:100%;z-index:1000}.glue-cookie-notification-bar[aria-hidden=true]{display:none}@media (min-width:600px){.glue-cookie-notification-bar{grid-template-columns:1fr auto;justify-items:flex-end}}@media (min-width:1024px){.glue-cookie-notification-bar{grid-template-columns:1fr auto auto}}@media (-ms-high-contrast:active),(forced-colors:active){.glue-cookie-notification-bar{border-top:1px solid transparent}}@media print{.glue-cookie-notification-bar{display:none}}.glue-cookie-notification-bar__text{font-family:Google Sans Text,Roboto,Arial,Helvetica,sans-serif;font-size:1.125em;line-height:1.5555555556;font-weight:400;letter-spacing:normal;align-self:center;color:#5f6368;grid-column:span 2;justify-self:flex-start;margin:0;padding:4px 12px}[lang=ar] .glue-cookie-notification-bar__text{font-family:Google Sans Text,Google Sans Arabic,Roboto,Arial,Helvetica,sans-serif}[lang=ja] .glue-cookie-notification-bar__text{font-family:Google Sans Text,Google Sans Japanese,Noto Sans JP,Roboto,Arial,Helvetica,sans-serif}[lang=ko] .glue-cookie-notification-bar__text{font-family:Google Sans Text,Google Sans Korean,Noto Sans KR,Roboto,Arial,Helvetica,sans-serif}[lang=zh-CN] .glue-cookie-notification-bar__text{font-family:Google Sans Text,Google Sans Simplified Chinese,Noto Sans SC,Roboto,Arial,Helvetica,sans-serif}[lang=zh-TW] .glue-cookie-notification-bar__text{font-family:Google Sans Text,Google Sans Traditional Chinese,Noto Sans TC,Roboto,Arial,Helvetica,sans-serif}@media (min-width:1024px){.glue-cookie-notification-bar__text{grid-column:span 1}}.glue-cookie-notification-bar__text,.glue-cookie-notification-bar__text *{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;text-rendering:auto}.glue-cookie-notification-bar__more{border-bottom:0;font-weight:inherit;letter-spacing:inherit}.glue-cookie-notification-bar__accept,.glue-cookie-notification-bar__reject{font-size:1em;cursor:pointer;margin:auto 0 0;max-width:unset}.glue-cookie-notification-bar__accept:last-child{grid-column:span 2}.glue-cookie-notification-bar-control[aria-hidden=true]{display:none}button.glue-cookie-notification-bar-control.glue-footer__link{-moz-appearance:none;-webkit-appearance:none;appearance:none;border:0;border-radius:4px;padding:0}@media (-ms-high-contrast:active),(forced-colors:active){button.glue-cookie-notification-bar-control.glue-footer__link{color:linkText}button.glue-cookie-notification-bar-control.glue-footer__link:focus{outline:2px solid transparent}}.glue-footer__global-links-list-item[aria-hidden=true],.h-c-footer__global-links-list-item[aria-hidden=true]{display:none} 54 </style> 55
55<script> 56 window.iodata = {}; 57 window.iodata.vars = {"WEB_PHASE":"phase4","OAUTH2_CLIENT_ID":"724256043927-qqf2lu66l75hjqeg5po2mopuprg9ee0e.apps.googleusercontent.com","OAUTH2_API_KEY":"AIzaSyC9IlQdWjbDHPruCQ8p2erAH1SwsAldZnQ","API_KEY":"AIzaSyC9IlQdWjbDHPruCQ8p2erAH1SwsAldZnQ","YOUTUBE_API_KEY":"AIzaSyC9IlQdWjbDHPruCQ8p2erAH1SwsAldZnQ","GOOGLE_ANALYTICS_KEY":"GTM-MNH554N","DEVPROFILES_ENDPOINT":"https://developers.googleapis.com","WEB_PATH_PREFIX":"2026","GOOGLE_KEYNOTE_ID":1,"DEVELOPER_KEYNOTE_ID":2,"PA_KEYNOTE_IDS":[3,4,5,7,8,9,11,12,16,18,23,24,25,17,18,19,20]}; 58 window.iodata.flags = {"svd_redirect":false,"sessions_available":true,"authentication":false,"registration":false,"routes":{"home":true,"about":true,"community":true,"register":true,"speakers":true,"explore":true,"auth":true,"codethecountdown":true,"sandbox":true,"global":true,"developer-keynote-recap":true},"analytics":true,"speakers_available":true,"topics_available":true,"post_drop":true,"wagtail_images_available":true,"home_content_block":"phase4.html","about_content_block":"phase4.html","community_content_block":"phase2.html","session_content_block":"phase3-5.html","speakers_content_block":"phase3-5.html","speaker_details_content_block":"phase3-4.html","explore_content_block":"phase4.html","alert_id":"phase_3_6_alert","active_keynote":null,"speaker_sensitive_override":false,"registration_redirect":true,"restrict_speakers":false,"home_use_backup":false,"home_use_backup_asl":false,"google_main_backup":false,"google_asl_backup":false,"developer_main_backup":false,"developer_asl_backup":false,"pa_keynote_backup":false,"external_js_path":false,"svd_gemini_feature":true,"hide_explore_nav":false,"hide_explore_page":false,"hide_speaker_details_page":true,"show_live_tag":false,"show_notification_banner":false,"show_schedule_nav":false,"show_puzzle_nav":true,"show_survey_banner":false,"show_llm_podcast_component":false}; 59 </script>
59 60 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 61 <link rel="preconnect" href="https://storage.googleapis.com"/> 62 <link rel="preconnect" href="https://apis.google.com"/> 63 <link 64 rel="preload" 65 as="style" 66 href="https://fonts.googleapis.com/icon?family=Google+Sans:400,500%7CGoogle+Sans+Display:400,500%7CGoogle+Sans+Text:400|Roboto:400,500|Roboto+Mono:400&display=swap" 67 /> 68 <link 69 rel="stylesheet" 70 href="https://fonts.googleapis.com/icon?family=Google+Sans:400,500%7CGoogle+Sans+Display:400,500%7CGoogle+Sans+Text:400|Roboto:400,500|Roboto+Mono:400&display=swap" 71 /> 72 </head> 73 <body dsd-pending > 74 75 <!-- Glue Cookie Notification Bar --> 76
76<script src="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.js" data-glue-cookie-notification-bar-category="2A" data-glue-cookie-notification-bar-site-id="io.google.com/2026"> </script>
76 77 <!-- End Glue Cookie Notification Bar --> 78 79 <div class="relative "> 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97<a href="#main-content" 98 class="sr-only focus:not-sr-only focus:absolute focus:left-1/2 focus:-translate-x-1/2 focus:top-12 focus:md:top-4 focus:cta-btn focus:cta-primary focus:shadow-cta-white focus:text-[16px] focus:py-[14px] focus:tracking-[0.2px] focus:px-6 focus:text-center z-10"> 99 Skip to main content 100</a> 101 102<header class="relative z-[11]"> 103 <nav class="mx-auto px-3 md:px-10" aria-label="Main"> 104 <div class="flex items-center w-full py-5 md:py-[16px]"> 105 <div class="flex items-center flex-1 text-md:hidden"> 106 <button 107 class="inline-flex justify-center items-center w-8 h-8 mr-3" 108 aria-label="Open website menu" 109 id="hamburger-button" 110 > 111 <img 112 src="/2026/assets/images/hamburger-dark.svg" 113 class="w-6 h-6 block" 114 alt="" 115 aria-hidden="true" 116 width="24" 117 height="24" 118 /> 119 </button> 120 121 <hamburger-menu></hamburger-menu> 122 123 <a href="/2026/" 124 class="flex items-center ml-0 md:ml-2" 125 aria-label="I/O 2026 home" 126 data-analytic-event="main_nav_select" 127 data-analytic-event-params='{"menu_item": "Logo"}'> 128 <img src="/2026/assets/images/Logo-white.svg" 129 class="h-8 w-auto block hcm-hide pointer-events-none" 130 alt="" 131 aria-hidden="true" 132 width="147" 133 height="32"> 134 <img src="/2026/assets/images/Logo.svg" 135 class="h-8 w-auto hcm-show light-image pointer-events-none" 136 alt="" 137 aria-hidden="true" 138 width="147" 139 height="32" 140 loading="lazy"> 141 <img src="/2026/assets/images/Logo-white.svg" 142 class="h-8 w-auto hcm-show dark-image pointer-events-none" 143 alt="" 144 aria-hidden="true" 145 width="147" 146 height="32"> 147 </a> 148 </div> 149 150 <div class="hidden text-md:flex flex-1 items-center gap-3"> 151 <a href="/2026/" 152 class="flex items-center pr-6 shrink-0" 153 aria-label="Home Page" 154 data-analytic-event="main_nav_select" 155 data-analytic-event-params='{"menu_item": "Logo"}'> 156 <img src="/2026/assets/images/Logo-white.svg" 157 class="h-8 w-auto pointer-events-none block hcm-hide" 158 alt="" 159 aria-hidden="true" 160 width="147" 161 height="32"> 162 <img src="/2026/assets/images/Logo.svg" 163 class="h-8 w-auto pointer-events-none hcm-show light-image" 164 alt="" 165 aria-hidden="true" 166 width="147" 167 height="32" 168 loading="lazy"> 169 <img src="/2026/assets/images/Logo-white.svg" 170 class="h-8 w-auto pointer-events-none hcm-show dark-image" 171 alt="" 172 aria-hidden="true" 173 width="147" 174 height="32"> 175 </a> 176 177 <a href="/2026/explore" 178 aria-label="Explore" 179 aria-current="" 180 class="text-white decoration-white 181 nav-link text-shadow-hover px-3 py-2 whitespace-nowrap shrink-0 " 182 data-analytic-event="main_nav_select" 183 data-analytic-event-params='{"menu_item": "Explore"}'> 184 Explore 185 </a> 186 187 188 189 190 191 <a href="/2026/community" 192 aria-label="Community" 193 aria-current="page" 194 class="text-white decoration-white 195 nav-link text-shadow-hover px-3 py-2 whitespace-nowrap shrink-0 nav-pill-gradient" 196 data-analytic-event="main_nav_select" 197 data-analytic-event-params='{"menu_item": "Community"}'> 198 Community 199 </a> 200 201 202 203 <a href="/2026/puzzle" 204 aria-label="I/O Puzzle" 205 class="text-white decoration-white 206 nav-link text-shadow-hover px-3 py-2 whitespace-nowrap shrink-0" 207 data-analytic-event="main_nav_select" 208 data-analytic-event-params='{"menu_item": "Puzzle"}'> 209 Puzzle 210 </a> 211 212 213 214 <a href="/2026/about" 215 aria-label="About Google I/O 2026" 216 aria-current="" 217 class="text-white decoration-white 218 nav-link text-shadow-hover px-3 py-2 whitespace-nowrap shrink-0 " 219 data-analytic-event="main_nav_select" 220 data-analytic-event-params='{"menu_item": "About"}'> 221 About 222 </a> 223 224 </div> 225 226 <div class="flex items-center justify-end gap-2 text-md:gap-4 pr-0 text-md:pr-1"> 227 228 </div> 229 </div> 230 </nav> 231</header> 232 233 234 235<!-- Add ID to main content --> 236<main id="main-content" tabindex="-1"> 237 238 239 240 241
242<script type="module" src="/2026/js/pages/community.js"></script>
242 243 244<!-- If this changes between phases we can move in into the content blocks --> 245 246 247 248 249 250 251 252<div class="w-full flex justify-center items-center hero-container relative mt-10 sm-md:mt-[72px] lg:mt-8"> 253 254 <img 255 aria-hidden="true" 256 class="hidden sm-md:block absolute w-[193px] h-[120px] lg:w-[372px] lg:h-[230px] community-hero-left-img" 257 src="/2026/assets/images/community-left-side-desktop.webp" 258 fetchpriority="high" 259 alt="" 260 /> 261 262 263 <div class="flex flex-col text-center gap-4 md:gap-5 sm-md:justify-center z-[1] lg-md:min-w-[800px] mt-auto max-w-[51.67%]"> 264 <h1 class="headers-h1-mobile sm-md:display-small lg:headers-h1 ">Community</h1> 265 266 <p class="sm:title-small md:title-large ">Join a developer group near you for networking, events, and more.</p> 267 268 </div> 269 270 271 <img 272 aria-hidden="true" 273 class="hidden sm-md:block absolute w-[190px] h-[120px] lg:w-[366px] lg:h-[230px] community-hero-right-img" 274 src="/2026/assets/images/community-right-side-desktop.webp" 275 fetchpriority="high" 276 alt="" 277 /> 278 279</div> 280 281 282<div class="container mx-auto px-4 py-8 pt-10 md:pt-20"> 283 284 285 286<div class="block" data-content-block="phase2"> 287 <!-- Community links container with responsive gap between items --> 288 <div class="mx-auto my-12 flex flex-col gap-6 md:gap-10 community-links-container" style="max-width: 784px;"> 289 290 291 292 293 294<a 295 href="https://developers.google.com/community/experts" 296 class="group flex items-start sm-md:items-center justify-between gap-6 border-b transition-colors duration-200 pb-6 sm-md:pb-10 " 297 style="border-color: var(--color-grey-800);" 298 299 target="_blank" 300 rel="noopener noreferrer" 301 302 aria-label="Google Developer Experts: Meet experienced Google technology experts, influencers, and thought leaders., opens in new tab" 303> 304 <!-- Link content --> 305 <div class="flex-1"> 306 <h2 class="title-medium sm-md:headers-large mb-5 sm-md:mb-3 antialiased title-container"> 307 Google Developer Experts 308 </h2> 309 <p class="body-large-regular sm-md:body-x-large antialiased description-container" style="font-feature-settings: 'liga' off, 'clig' off;"> 310 Meet experienced Google technology experts, influencers, and thought leaders. 311 </p> 312 </div> 313 314 <!-- Arrow icon (turns white on hover) --> 315 <div class="flex-shrink-0 flex items-center justify-center transition-all duration-200 group-hover:translate-x-1 pt-1 sm-md:pt-0"> 316 <svg 317 xmlns="http://www.w3.org/2000/svg" 318 viewBox="0 0 32 32" 319 aria-hidden="true" 320 class="arrow-icon w-6 h-6 sm-md:w-8 sm-md:h-8" 321 > 322 <path 323 d="M0 14.8432L27.564 14.8432C23.9312 12.2405 18.3209 7.561 16.328 2.3002H18.8448C21.9981 9.05655 31.8972 14.9417 32 15.0027V16.9977C31.8972 17.0587 21.9981 22.9452 18.8448 29.7002H16.328C18.3222 24.4394 23.9326 19.7599 27.564 17.1572H0L0 14.8418Z" 324 fill="currentColor" 325 /> 326 </svg> 327</div> 328</a> 329 330 331 332 333 334 335 336<a 337 href="https://developers.google.com/community/gdg" 338 class="group flex items-start sm-md:items-center justify-between gap-6 border-b transition-colors duration-200 pb-6 sm-md:pb-10 " 339 style="border-color: var(--color-grey-800);" 340 341 target="_blank" 342 rel="noopener noreferrer" 343 344 aria-label="Google Developer Groups: Join local developers to connect, learn, and grow., opens in new tab" 345> 346 <!-- Link content --> 347 <div class="flex-1"> 348 <h2 class="title-medium sm-md:headers-large mb-5 sm-md:mb-3 antialiased title-container"> 349 Google Developer Groups 350 </h2> 351 <p class="body-large-regular sm-md:body-x-large antialiased description-container" style="font-feature-settings: 'liga' off, 'clig' off;"> 352 Join local developers to connect, learn, and grow. 353 </p> 354 </div> 355 356 <!-- Arrow icon (turns white on hover) --> 357 <div class="flex-shrink-0 flex items-center justify-center transition-all duration-200 group-hover:translate-x-1 pt-1 sm-md:pt-0"> 358 <svg 359 xmlns="http://www.w3.org/2000/svg" 360 viewBox="0 0 32 32" 361 aria-hidden="true" 362 class="arrow-icon w-6 h-6 sm-md:w-8 sm-md:h-8" 363 > 364 <path 365 d="M0 14.8432L27.564 14.8432C23.9312 12.2405 18.3209 7.561 16.328 2.3002H18.8448C21.9981 9.05655 31.8972 14.9417 32 15.0027V16.9977C31.8972 17.0587 21.9981 22.9452 18.8448 29.7002H16.328C18.3222 24.4394 23.9326 19.7599 27.564 17.1572H0L0 14.8418Z" 366 fill="currentColor" 367 /> 368 </svg> 369</div> 370</a> 371 372 373 374 375 376 377 378<a 379 href="https://developers.google.com/community/accelerators" 380 class="group flex items-start sm-md:items-center justify-between gap-6 border-b transition-colors duration-200 pb-6 sm-md:pb-10 " 381 style="border-color: var(--color-grey-800);" 382 383 target="_blank" 384 rel="noopener noreferrer" 385 386 aria-label="Accelerator programs: Get access to Google's people, research, and technology., opens in new tab" 387> 388 <!-- Link content --> 389 <div class="flex-1"> 390 <h2 class="title-medium sm-md:headers-large mb-5 sm-md:mb-3 antialiased title-container"> 391 Accelerator programs 392 </h2> 393 <p class="body-large-regular sm-md:body-x-large antialiased description-container" style="font-feature-settings: 'liga' off, 'clig' off;"> 394 Get access to Google's people, research, and technology. 395 </p> 396 </div> 397 398 <!-- Arrow icon (turns white on hover) --> 399 <div class="flex-shrink-0 flex items-center justify-center transition-all duration-200 group-hover:translate-x-1 pt-1 sm-md:pt-0"> 400 <svg 401 xmlns="http://www.w3.org/2000/svg"
402 viewBox="0 0 32 32" 403 aria-hidden="true" 404 class="arrow-icon w-6 h-6 sm-md:w-8 sm-md:h-8" 405 > 406 <path 407 d="M0 14.8432L27.564 14.8432C23.9312 12.2405 18.3209 7.561 16.328 2.3002H18.8448C21.9981 9.05655 31.8972 14.9417 32 15.0027V16.9977C31.8972 17.0587 21.9981 22.9452 18.8448 29.7002H16.328C18.3222 24.4394 23.9326 19.7599 27.564 17.1572H0L0 14.8418Z" 408 fill="currentColor" 409 /> 410 </svg> 411</div> 412</a> 413 414 415 416 417 418 419 420<a 421 href="https://developers.google.com/program" 422 class="group flex items-start sm-md:items-center justify-between gap-6 border-b transition-colors duration-200 pb-6 sm-md:pb-10 border-b-0 pb-0" 423 style="border-color: var(--color-grey-800);" 424 425 target="_blank" 426 rel="noopener noreferrer" 427 428 aria-label="Google Developer Program: Build new projects, advance your career, and expand your network., opens in new tab" 429> 430 <!-- Link content --> 431 <div class="flex-1"> 432 <h2 class="title-medium sm-md:headers-large mb-5 sm-md:mb-3 antialiased title-container"> 433 Google Developer Program 434 </h2> 435 <p class="body-large-regular sm-md:body-x-large antialiased description-container" style="font-feature-settings: 'liga' off, 'clig' off;"> 436 Build new projects, advance your career, and expand your network. 437 </p> 438 </div> 439 440 <!-- Arrow icon (turns white on hover) --> 441 <div class="flex-shrink-0 flex items-center justify-center transition-all duration-200 group-hover:translate-x-1 pt-1 sm-md:pt-0"> 442 <svg 443 xmlns="http://www.w3.org/2000/svg" 444 viewBox="0 0 32 32" 445 aria-hidden="true" 446 class="arrow-icon w-6 h-6 sm-md:w-8 sm-md:h-8" 447 > 448 <path 449 d="M0 14.8432L27.564 14.8432C23.9312 12.2405 18.3209 7.561 16.328 2.3002H18.8448C21.9981 9.05655 31.8972 14.9417 32 15.0027V16.9977C31.8972 17.0587 21.9981 22.9452 18.8448 29.7002H16.328C18.3222 24.4394 23.9326 19.7599 27.564 17.1572H0L0 14.8418Z" 450 fill="currentColor" 451 /> 452 </svg> 453</div> 454</a> 455 456 </div> 457 <div class="h-[72px]" aria-hidden="true"></div> 458 459 460<section class="px-5 md:px-10"> 461 <div class="flex justify-center"> 462 <div class="puzzle-card-container relative overflow-hidden" 463 aria-labelledby="puzzle-promo-heading"> 464 <!-- Headline --> 465 <h2 id="puzzle-promo-heading" 466 class="label-large-mobile sm-md:label-large text-center font-display"> 467 Try the <span translate="no" class="notranslate">I/O </span>puzzle 468 </h2> 469 470 <!-- Subtext --> 471 <p class="body-large-regular [leading-trim:both] [text-edge:cap] sm-md:body-x-large sm-md:mt-[20px] text-center self-stretch" 472 style="font-weight: 400;"> 473 Solve puzzles, games, and more, all built with Gemini! Explore, create, and unlock hidden content, then remix to make your own! 474 </p> 475 476 <!-- CTA Button --> 477 <a href="/2026/puzzle/"
478 class="cta-primary mx-auto sm-md:mt-[24px] flex justify-center items-center gap-[10px] w-[120px] h-[48px] !text-[20px] font-medium tracking-[0.2px]" 479 style="padding: 10px 20px; border-radius: 24px;" aria-label="Play I/O Puzzle" 480 data-analytic-event="cta_puzzle" data-analytic-event-params='{"ctaPosition": "community, puzzle promo"}'> 481 Play 482 </a> 483 484 <!-- Puzzle Card Image --> 485 <div class="mt-auto flex justify-center w-full"> 486 <img src="/2026/assets/images/io26-community-puzzle-mobile.webp" 487 alt="I/O Puzzle" 488 class="block sm-md:hidden w-[318px] h-[85px] block object-contain" /> 489 <img src="/2026/assets/images/io26-community-puzzle.webp" 490 alt="I/O Puzzle" 491 class="hidden sm-md:block w-[784px] h-auto block object-contain" /> 492 </div> 493 </div> 494 </div> 495</section> 496</div> 497 498</div> 499</main> 500 501<footer class=" z-[2] py-4 md:py-7 "> 502 <div class="mx-auto px-5 md:px-10"> 503 <div class="flex flex-col text-md:flex-row center-large-tab text-md:justify-between space-y-6 text-md:space-y-0"> 504 <nav class="flex flex-col text-md:flex-row center-large-tab gap-3 text-md:gap-16 505 text-base font-medium text-white" 506 aria-label="Footer links" 507 > 508 <a href="/2026/" aria-label="I/O 2026 home"> 509 <img 510 src="/2026/assets/images/Logo-white.svg" 511 alt="" 512 class="io-logo-footer mb-3 md:mb-0 hcm-hide" 513 loading="lazy" 514 aria-hidden="true" 515 /> 516 517 <img 518 src="/2026/assets/images/Logo.svg" 519 alt="" 520 class="io-logo-footer mb-3 md:mb-0 hcm-show light-image" 521 loading="lazy" 522 aria-hidden="true" 523 /> 524 525 <img 526 src="/2026/assets/images/Logo-white.svg" 527 alt="" 528 class="io-logo-footer mb-3 md:mb-0 hcm-show dark-image" 529 loading="lazy" 530 aria-hidden="true" 531 /> 532 </a> 533 <a href="/2026/puzzle/" class="underline-offset-4 decoration-[1.5px] decoration-gray-400 footer-link text-shadow-hover" aria-label="I/O puzzle"><span class="notranslate">I/O </span> puzzle</a> 534 <a href="https://policies.google.com/" class="underline-offset-4 decoration-[1.5px] decoration-gray-400 footer-link notranslate text-shadow-hover" aria-label="Privacy & Terms (opens in new tab)" target="_blank" rel="noopener noreferrer">Privacy & terms</a> 535 536 <a href="/2026/about" class="underline-offset-4 decoration-[1.5px] decoration-gray-400 footer-link text-shadow-hover" aria-label="FAQ">FAQ</a> 537 538 <a href="https://research.rallyuxr.com/recruit/cm20o1w2l00001ald8mja8tb8/form/cmo7hrqmi0si3i5mm0c6q5fk6/splash?ref=UXRZlqO2026113" class="underline-offset-4 decoration-[1.5px] decoration-gray-400 footer-link text-shadow-hover" aria-label="Join user research (opens in new tab)" target="_blank" rel="noopener noreferrer">Join user research</a> 539 </nav> 540 541 <nav class="flex gap-[40px]" aria-label="Social media links"> 542 <a href="https://twitter.com/googledevs" target="_blank" rel="noopener noreferrer" class="w-12 h-12 flex items-center" aria-label="Google for Developers X (Twitter) page (opens in new tab)"> 543 <img src="/2026/assets/images/x-white.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-hide image-shadow-hover" loading="lazy"> 544 <img src="/2026/assets/images/x-white.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-show hide-dark image-shadow-hover" loading="lazy"> 545 <img src="/2026/assets/images/x.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-show hide-light image-shadow-hover" loading="lazy"> 546 </a> 547 <a href="https://www.linkedin.com/showcase/googledevelopers/" target="_blank" rel="noopener noreferrer" class="w-12 h-12 flex items-center" aria-label="Google for Developers LinkedIn page (opens in new tab)"> 548 <img src="/2026/assets/images/linkedIn-white.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-hide image-shadow-hover" loading="lazy"> 549 <img src="/2026/assets/images/linkedIn-white.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-show hide-dark image-shadow-hover" loading="lazy"> 550 <img src="/2026/assets/images/linkedIn.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-show hide-light image-shadow-hover" loading="lazy"> 551 </a> 552 <a href="https://www.instagram.com/googlefordevs/" target="_blank" rel="noopener noreferrer" class="w-12 h-12 flex items-center" aria-label="Google for Developers Instagram page (opens in new tab)"> 553 <img src="/2026/assets/images/instagram-white.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-hide image-shadow-hover" loading="lazy"> 554 <img src="/2026/assets/images/instagram-white.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-show hide-dark image-shadow-hover" loading="lazy"> 555 <img src="/2026/assets/images/instagram.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-show hide-light image-shadow-hover" loading="lazy"> 556 </a> 557 <a href="https://www.tiktok.com/@googlefordevs" target="_blank" rel="noopener noreferrer" class="w-6 h-12 flex items-center" aria-label="Google for Developers TikTok page (opens in new tab)"> 558 <img src="/2026/assets/images/tiktok-white.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-hide image-shadow-hover" loading="lazy"> 559 <img src="/2026/assets/images/tiktok-white.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-show hide-dark image-shadow-hover" loading="lazy"> 560 <img src="/2026/assets/images/tiktok.svg" alt="" aria-hidden="true" class="h-6 w-6 hcm-show hide-light image-shadow-hover" loading="lazy"> 561 </a> 562 </nav> 563 </div> 564 </div> 565</footer> 566 567<insufficient-scope-modal></insufficient-scope-modal> 568<not-eligible-modal></not-eligible-modal> 569<registration-success-modal></registration-success-modal> 570<refresh-alert-toast></refresh-alert-toast> 571<speaker-details-modal></speaker-details-modal> 572 </div> 573 </body> 574</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.