CINXE.COM
DevFest | Google for Developers
<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#fff"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/community/devfest"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/community/devfest" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/community/devfest" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/community/devfest?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/community/devfest?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/community/devfest?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/community/devfest?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/community/devfest?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/community/devfest?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/community/devfest?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/community/devfest?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/community/devfest?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/community/devfest?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/community/devfest?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/community/devfest?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/community/devfest?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/community/devfest?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/community/devfest?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/community/devfest?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/community/devfest?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/community/devfest?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/community/devfest?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/community/devfest?hl=vi" /><title>DevFest | Google for Developers</title> <meta property="og:title" content="DevFest | Google for Developers"><meta name="description" content="DevFest is a global, decentralized tech conference hosted by the Google Developer Groups (GDG) community. "> <meta property="og:description" content="DevFest is a global, decentralized tech conference hosted by the Google Developer Groups (GDG) community. "><meta property="og:url" content="https://developers.google.com/community/devfest"><meta property="og:image" content="https://developers.google.com/community/devfest/images/devfest-social-no-year.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary"><meta name="twitter:image" content="https://developers.google.com/static/community/devfest/images/devfest-social-no-year.png"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "" } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="devfest" template="landing" theme="white" type="article" layout="full" concierge='hide' pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <a href="#main-content" class="skip-link button"> Skip to main content </a> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleForDevelopers" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/lockup-new.svg" class="devsite-site-logo" alt="Google for Developers"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab class="devsite-dropdown devsite-dropdown-full "> <a href="https://developers.google.com/products" class="devsite-tabs-content gc-analytics-event products-dropdown-tab" track-metadata-eventdetail="https://developers.google.com/products" track-type="nav" track-metadata-position="nav - products" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Products" track-name="products" > Products </a> <button aria-haspopup="menu" aria-expanded="false" aria-label="Dropdown menu for Products" track-type="nav" track-metadata-eventdetail="https://developers.google.com/products" track-metadata-position="nav - products" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Products" track-name="products" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></button> <div class="devsite-tabs-dropdown" role="menu" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column products-dropdown"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Platforms and Operating Systems</li> <li class="devsite-nav-item"> <a href="//developer.android.com" track-type="nav" track-metadata-eventdetail="//developer.android.com" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="platforms and operating systems" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="//developer.android.com/static/images/android-logo.svg" srcset=" //developer.android.com/static/images/android-logo.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Android → </div> </a> </li> <li class="devsite-nav-item"> <a href="//ai.google.dev/" track-type="nav" track-metadata-eventdetail="//ai.google.dev/" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="platforms and operating systems" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/site-assets/logo-google-g.svg" srcset=" /static/site-assets/logo-google-g.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Google AI → </div> </a> </li> <li class="devsite-nav-item"> <a href="//developer.chrome.com" track-type="nav" track-metadata-eventdetail="//developer.chrome.com" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="platforms and operating systems" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/homepage-assets/images/chromeos-logo.svg" srcset=" /static/homepage-assets/images/chromeos-logo.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Chrome → </div> </a> </li> <li class="devsite-nav-item"> <a href="//cloud.google.com/developers" track-type="nav" track-metadata-eventdetail="//cloud.google.com/developers" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="platforms and operating systems" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="//gstatic.com/images/branding/product/2x/google_cloud_64dp.png" srcset=" //gstatic.com/images/branding/product/2x/google_cloud_64dp.png" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Google Cloud → </div> </a> </li> <li class="devsite-nav-item"> <a href="//firebase.google.com" track-type="nav" track-metadata-eventdetail="//firebase.google.com" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="platforms and operating systems" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/_static/firebase/images/icon.svg" srcset=" /_static/firebase/images/icon.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Firebase → </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column products-dropdown"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Frameworks, IDEs, and SDKs</li> <li class="devsite-nav-item"> <a href="//developer.android.com/jetpack" track-type="nav" track-metadata-eventdetail="//developer.android.com/jetpack" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="frameworks, ides, and sdks" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="//developer.android.com/static/images/spot-icons/jetpack-compose.svg" srcset=" //developer.android.com/static/images/spot-icons/jetpack-compose.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Jetpack Compose → </div> </a> </li> <li class="devsite-nav-item"> <a href="//developer.android.com/studio" track-type="nav" track-metadata-eventdetail="//developer.android.com/studio" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="frameworks, ides, and sdks" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="//developer.android.com/static/images/android-logo.svg" srcset=" //developer.android.com/static/images/android-logo.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Android Studio → </div> </a> </li> <li class="devsite-nav-item"> <a href="//flutter.dev" track-type="nav" track-metadata-eventdetail="//flutter.dev" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="frameworks, ides, and sdks" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/site-assets/logo-flutter.svg" srcset=" /static/site-assets/logo-flutter.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Flutter → </div> </a> </li> <li class="devsite-nav-item"> <a href="//idx.dev/" track-type="nav" track-metadata-eventdetail="//idx.dev/" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="frameworks, ides, and sdks" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/products/images/project-idx.png" srcset="https://developers.google.com/static/products/images/project-idx_36.png 36w, https://developers.google.com/static/products/images/project-idx_48.png 48w, https://developers.google.com/static/products/images/project-idx_72.png 72w, https://developers.google.com/static/products/images/project-idx_96.png 96w, https://developers.google.com/static/products/images/project-idx_480.png 480w, https://developers.google.com/static/products/images/project-idx_720.png 720w, https://developers.google.com/static/products/images/project-idx_856.png 856w, https://developers.google.com/static/products/images/project-idx_960.png 960w, https://developers.google.com/static/products/images/project-idx_1440.png 1440w, https://developers.google.com/static/products/images/project-idx_1920.png 1920w, https://developers.google.com/static/products/images/project-idx_2880.png 2880w" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Project IDX → </div> </a> </li> <li class="devsite-nav-item"> <a href="//makersuite.google.com/" track-type="nav" track-metadata-eventdetail="//makersuite.google.com/" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="frameworks, ides, and sdks" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/focus/images/ai-studio-icon.png" srcset="https://developers.google.com/static/focus/images/ai-studio-icon_36.png 36w, https://developers.google.com/static/focus/images/ai-studio-icon_48.png 48w, https://developers.google.com/static/focus/images/ai-studio-icon_72.png 72w, https://developers.google.com/static/focus/images/ai-studio-icon_96.png 96w, https://developers.google.com/static/focus/images/ai-studio-icon_480.png 480w, https://developers.google.com/static/focus/images/ai-studio-icon_720.png 720w, https://developers.google.com/static/focus/images/ai-studio-icon_856.png 856w, https://developers.google.com/static/focus/images/ai-studio-icon_960.png 960w, https://developers.google.com/static/focus/images/ai-studio-icon_1440.png 1440w, https://developers.google.com/static/focus/images/ai-studio-icon_1920.png 1920w, https://developers.google.com/static/focus/images/ai-studio-icon_2880.png 2880w" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Google AI Studio → </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column products-dropdown"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Services and Integrations</li> <li class="devsite-nav-item"> <a href="//ai.google.dev/gemini-api/docs" track-type="nav" track-metadata-eventdetail="//ai.google.dev/gemini-api/docs" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="services and integrations" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/focus/images/gemini-icon.png" srcset="https://developers.google.com/static/focus/images/gemini-icon_36.png 36w, https://developers.google.com/static/focus/images/gemini-icon_48.png 48w, https://developers.google.com/static/focus/images/gemini-icon_72.png 72w, https://developers.google.com/static/focus/images/gemini-icon_96.png 96w, https://developers.google.com/static/focus/images/gemini-icon_480.png 480w, https://developers.google.com/static/focus/images/gemini-icon_720.png 720w, https://developers.google.com/static/focus/images/gemini-icon_856.png 856w, https://developers.google.com/static/focus/images/gemini-icon_960.png 960w, https://developers.google.com/static/focus/images/gemini-icon_1440.png 1440w, https://developers.google.com/static/focus/images/gemini-icon_1920.png 1920w, https://developers.google.com/static/focus/images/gemini-icon_2880.png 2880w" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Gemini API → </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/privacy-sandbox" track-type="nav" track-metadata-eventdetail="https://developers.google.com/privacy-sandbox" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="services and integrations" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/privacy-sandbox/assets/images/privacy-sandbox-logo.svg" srcset=" /static/privacy-sandbox/assets/images/privacy-sandbox-logo.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Privacy Sandbox → </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/identity" track-type="nav" track-metadata-eventdetail="https://developers.google.com/identity" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="services and integrations" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/site-assets/logo-google-g.svg" srcset=" /static/site-assets/logo-google-g.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Identity </div> </a> </li> <li class="devsite-nav-item"> <a href="//checks.google.com/" track-type="nav" track-metadata-eventdetail="//checks.google.com/" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="services and integrations" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/checks/images/Checks_Icon.png" srcset="https://developers.google.com/static/checks/images/Checks_Icon_36.png 36w, https://developers.google.com/static/checks/images/Checks_Icon_48.png 48w, https://developers.google.com/static/checks/images/Checks_Icon_72.png 72w, https://developers.google.com/static/checks/images/Checks_Icon_96.png 96w, https://developers.google.com/static/checks/images/Checks_Icon_480.png 480w, https://developers.google.com/static/checks/images/Checks_Icon_720.png 720w, https://developers.google.com/static/checks/images/Checks_Icon_856.png 856w, https://developers.google.com/static/checks/images/Checks_Icon_960.png 960w, https://developers.google.com/static/checks/images/Checks_Icon_1440.png 1440w, https://developers.google.com/static/checks/images/Checks_Icon_1920.png 1920w, https://developers.google.com/static/checks/images/Checks_Icon_2880.png 2880w" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Checks → </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/workspace" track-type="nav" track-metadata-eventdetail="https://developers.google.com/workspace" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="services and integrations" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/site-assets/logo-google-g.svg" srcset=" /static/site-assets/logo-google-g.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Google Workspace </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column products-dropdown"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Growth and Monetization</li> <li class="devsite-nav-item"> <a href="//developer.android.com/distribute/" track-type="nav" track-metadata-eventdetail="//developer.android.com/distribute/" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="growth and monetization" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="//gstatic.com/images/branding/product/2x/play_prism_64dp.png" srcset=" //gstatic.com/images/branding/product/2x/play_prism_64dp.png" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Google Play → </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/admob" track-type="nav" track-metadata-eventdetail="https://developers.google.com/admob" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="growth and monetization" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="//gstatic.com/images/branding/product/2x/admob_36dp.png" srcset=" //gstatic.com/images/branding/product/2x/admob_36dp.png" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Google AdMob </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/google-ads" track-type="nav" track-metadata-eventdetail="https://developers.google.com/google-ads" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="growth and monetization" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/homepage-assets/images/google-ads.svg" srcset=" /static/homepage-assets/images/google-ads.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Google Ads </div> </a> </li> <li class="devsite-nav-item"> <a href="//developer.chrome.com/docs/extensions" track-type="nav" track-metadata-eventdetail="//developer.chrome.com/docs/extensions" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="growth and monetization" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/homepage-assets/images/chromeos-logo.svg" srcset=" /static/homepage-assets/images/chromeos-logo.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Chrome Extensions → </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/search" track-type="nav" track-metadata-eventdetail="https://developers.google.com/search" track-metadata-position="nav - products" track-metadata-module="tertiary nav" track-metadata-module_headline="growth and monetization" tooltip > <div class="devsite-nav-item-icon-container" size="medium" > <picture> <img class="devsite-nav-item-icon" alt="" src="https://developers.google.com/static/search/images/google-search-central-logo.svg" srcset=" /static/search/images/google-search-central-logo.svg" sizes="100vw" loading="lazy" > </picture> </div> <div class="devsite-nav-item-title"> Google Search Central </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://developers.google.com/events" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/events" track-type="nav" track-metadata-position="nav - events" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Events" track-name="events" > Events </a> </tab> <tab > <a href="https://developers.google.com/learn" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/learn" track-type="nav" track-metadata-position="nav - learn" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" aria-label="Learning Catalog" > Learn </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/community" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/community" track-type="nav" track-metadata-position="nav - community" track-metadata-module="primary nav" aria-label="Community, selected" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" > Community </a> </tab> <tab > <a href="https://developers.google.com/profile/u/me/dashboard" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/profile/u/me/dashboard" track-type="nav" track-metadata-position="nav - developer program" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Developer Program" track-name="developer program" > Developer Program </a> </tab> <tab > <a href="https://developers.googleblog.com" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.googleblog.com" track-type="nav" track-metadata-position="nav - blog" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Blog" track-name="blog" > Blog </a> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="DevFest" tenant-name="Google for Developers" project-scope="/community/devfest" url-scoped="https://developers.google.com/s/results/community/devfest" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab class="devsite-active"> <a href="https://developers.google.com/community/devfest" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/community/devfest" track-type="nav" track-metadata-position="nav - devfest" track-metadata-module="primary nav" aria-label="DevFest, selected" data-category="Site-Wide Custom Events" data-label="Tab: DevFest" track-name="devfest" > DevFest </a> </tab> <tab > <a href="https://developers.google.com/community/devfest/faq" class="devsite-tabs-content gc-analytics-event " track-metadata-eventdetail="https://developers.google.com/community/devfest/faq" track-type="nav" track-metadata-position="nav - faq" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: FAQ" track-name="faq" > FAQ </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars hidden> <div class="devsite-book-nav-filter" hidden> <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="googleForDevelopers" track-metadata-position="nav" track-metadata-eventDetail="nav"> <picture> <img src="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/lockup-new.svg" class="devsite-site-logo" alt="Google for Developers"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/products" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Products" track-name="products" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Products" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Products </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Products" track-name="products" > <span class="devsite-nav-text" tooltip menu="Products"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Products"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/events" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Events" track-name="events" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Events" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Events </span> </a> </li> <li class="devsite-nav-item"> <a href="/learn" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Learn" track-name="learn" aria-label="Learning Catalog" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Learn" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Learn </span> </a> </li> <li class="devsite-nav-item"> <a href="/community" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Community </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/community/devfest" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: DevFest" track-name="devfest" data-category="Site-Wide Custom Events" data-label="Responsive Tab: DevFest" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > DevFest </span> </a> </li> <li class="devsite-nav-item"> <a href="/community/devfest/faq" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: FAQ" track-name="faq" data-category="Site-Wide Custom Events" data-label="Responsive Tab: FAQ" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > FAQ </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/profile/u/me/dashboard" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Developer Program" track-name="developer program" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Developer Program" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Developer Program </span> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.googleblog.com" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Blog" track-name="blog" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Blog </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="Products" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Platforms and Operating Systems </span> </span> </li> <li class="devsite-nav-item"> <a href="//developer.android.com" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Android → </span> </a> </li> <li class="devsite-nav-item"> <a href="//ai.google.dev/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google AI →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google AI → </span> </a> </li> <li class="devsite-nav-item"> <a href="//developer.chrome.com" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Chrome →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Chrome → </span> </a> </li> <li class="devsite-nav-item"> <a href="//cloud.google.com/developers" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Cloud →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Cloud → </span> </a> </li> <li class="devsite-nav-item"> <a href="//firebase.google.com" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Firebase →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Firebase → </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Frameworks, IDEs, and SDKs </span> </span> </li> <li class="devsite-nav-item"> <a href="//developer.android.com/jetpack" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Jetpack Compose →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Jetpack Compose → </span> </a> </li> <li class="devsite-nav-item"> <a href="//developer.android.com/studio" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Android Studio →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Android Studio → </span> </a> </li> <li class="devsite-nav-item"> <a href="//flutter.dev" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Flutter →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Flutter → </span> </a> </li> <li class="devsite-nav-item"> <a href="//idx.dev/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Project IDX →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Project IDX → </span> </a> </li> <li class="devsite-nav-item"> <a href="//makersuite.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google AI Studio →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google AI Studio → </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Services and Integrations </span> </span> </li> <li class="devsite-nav-item"> <a href="//ai.google.dev/gemini-api/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Gemini API →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Gemini API → </span> </a> </li> <li class="devsite-nav-item"> <a href="/privacy-sandbox" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Privacy Sandbox →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Privacy Sandbox → </span> </a> </li> <li class="devsite-nav-item"> <a href="/identity" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Identity" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Identity </span> </a> </li> <li class="devsite-nav-item"> <a href="//checks.google.com/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Checks →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Checks → </span> </a> </li> <li class="devsite-nav-item"> <a href="/workspace" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Workspace" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Workspace </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Growth and Monetization </span> </span> </li> <li class="devsite-nav-item"> <a href="//developer.android.com/distribute/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Play →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Play → </span> </a> </li> <li class="devsite-nav-item"> <a href="/admob" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google AdMob" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google AdMob </span> </a> </li> <li class="devsite-nav-item"> <a href="/google-ads" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Ads" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Ads </span> </a> </li> <li class="devsite-nav-item"> <a href="//developer.chrome.com/docs/extensions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Chrome Extensions →" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Chrome Extensions → </span> </a> </li> <li class="devsite-nav-item"> <a href="/search" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Search Central" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Search Central </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" id="main-content" class="devsite-main-content" > <devsite-content> <article class="devsite-article"><style> /* Styles inlined from /community/devfest/devfest.css */ /* ---------------------------------------- Variables. ---------------------------------------- */ .devfest-homepage-header > div > div { --devfest-homepage-header-margin-left: 740px; --devfest-homepage-header-width: 500px; margin-bottom: 50px; } .devfest-about-header > div > div { --devfest-homepage-header-margin-left: 740px; --devfest-homepage-header-width: 800px; } .devfest-homepage-header h3, .devfest-about-description h3, .devfest-faq-description h3 { --devfest-homepage-header-font: 500 72px 'Google Sans'; } .devfest-quote-carousel { --devfest-quote-carousel-height: 590px; } .devfest-quote-carousel-slide { --devfest-quote-carousel-slide-background: var(--devsite-ref-palette--yellow300); --devfest-quote-carousel-slide-flex-direction: row; --devfest-quote-carousel-slide-gap: 60px; } .devfest-quote-carousel-quote { --devfest-quote-carousel-quote-width: 50%; } .devfest-quote-carousel-image-container { --devfest-quote-carousel-image-height: 406px; --devfest-quote-carousel-image-width: 592px; } .devfest-quote-carousel-caption { --devfest-quote-carousel-caption-font: 500 32px/40px 'Google Sans'; } .devfest-homepage-header { --devfest-homepage-header-background: url(/community/devfest/images/devfest-header-left.svg) no-repeat top left, url(/community/devfest/images/devfest-header-right.svg) no-repeat top right; --devfest-homepage-header-background-padding-top: 40px; } .devfest-about-header { --devfest-about-header-background: url(/community/devfest/images/devfest-about-background-left.svg) no-repeat top left / auto 436px, url(/community/devfest/images/devfest-about-background-right.svg) no-repeat top right / auto 450px; --devfest-homepage-header-background-padding-top: 40px; } .networking-row-cards { --networking-row-cards-grid: auto-flow / 1fr 1fr 1fr; } .devfest-connect-cards-container > ul { --devfest-connect-cards-container-grid: auto-flow / 1fr 1fr 1fr; } .devfest-connect-cards-filters { --devfest-connect-cards-filters-grid: auto-flow / calc(calc(100% - 17px) / 3 * 2) 1fr; } .devfest-connect-cards-dropdown-filters { --devfest-connect-cards-dropdown-filters-grid: auto-flow / 1fr 1fr 1fr; } @media screen and (max-width: 1750px) { .devfest-homepage-header { --devfest-homepage-header-background: url(/community/devfest/images/devfest-header-left.svg) no-repeat top left; } } @media screen and (min-width: 1750px) { .devfest-homepage-header-item > div:first-child { margin-left: 100px; } .devfest-homepage-header-item > div:last-child { margin-right: 100px; } } @media screen and (min-width: 1051px) and (max-width: 1620px) { .devfest-homepage-header { padding-inline: 80px; } } @media screen and (max-width: 1525px) { .devfest-quote-carousel-image-container { --devfest-quote-carousel-image-height: 28vw; --devfest-quote-carousel-image-width: 28vw; } .devfest-about-header { --devfest-about-header-background: url(/community/devfest/images/devfest-about-background-left.svg) no-repeat top left / auto 436px; } } @media screen and (max-width: 1370px) { .devfest-about-header { --devfest-about-header-background: url(/community/devfest/images/devfest-about-header-mobile.svg) no-repeat top left, url(/community/devfest/images/devfest-about-background-right.svg) no-repeat top right; --devfest-homepage-header-background-padding-top: 390px; } .devfest-faq-header { --devfest-faq-header-background: url(/community/devfest/images/devfest-faq-header-mobile.svg) no-repeat top left, url(/community/devfest/images/devfest-faq-background-right-small.svg) no-repeat top right; --devfest-homepage-header-background-padding-top: 390px; } .devfest-about-description { padding-bottom: 0 !important; } .devfest-faq-description { padding-bottom: 12vw !important; } .devfest-homepage-header > div > div { --devfest-homepage-header-margin-left: 10%; } .devfest-about-header > div > div, .devfest-faq-header > div > div { --devfest-homepage-header-margin-left: 10%; --devfest-homepage-header-width: 100%; } } @media screen and (max-width: 1230px) { .devfest-connect-cards-filters { --devfest-connect-cards-filters-grid: auto-flow / 1fr 1fr; } } @media screen and (max-width: 1200px) { } @media screen and (max-width: 1050px) { .devfest-homepage-header { --devfest-homepage-header-background: url(/community/devfest/images/devfest-tablet-left.png) no-repeat top left / contain, url(/community/devfest/images/devfest-tablet-right.svg) no-repeat top 20vw right; --devfest-homepage-header-background-padding-top: 2vw; } .devfest-homepage-header-item { display: flex !important; flex-direction: column; } .devfest-homepage-header-item > div:first-child, .devfest-homepage-header-item > div:last-child { width: 60% !important; } .devfest-about-header { --devfest-about-header-background: url(/community/devfest/images/devfest-about-background-right.svg) no-repeat top 28.8vw right, url(/community/devfest/images/devfest-about-header-mobile.svg) no-repeat top left / 100% auto; --devfest-homepage-header-background-padding-top: 44vw; } .devfest-homepage-header > div > div { --devfest-homepage-header-margin-left: 10%; } .devfest-connect-cards-container > ul { --devfest-connect-cards-container-grid: auto-flow / 1fr 1fr; } } @media screen and (max-width: 990px) { .devfest-connect-cards-filters { --devfest-connect-cards-filters-grid: auto-flow / 1fr; } } @media screen and (max-width: 960px) { .devfest-quote-carousel-slide { --devfest-quote-carousel-slide-background: var(--devsite-ref-palette--yellow300); --devfest-quote-carousel-slide-flex-direction: column; --devfest-quote-carousel-slide-gap: 8px; } .devfest-quote-carousel-quote { --devfest-quote-carousel-quote-width: 75%; text-align: center; } .devfest-quote-carousel-image { width: 88%; margin: auto; display: block; } .devfest-quote-carousel-image-container { --devfest-quote-carousel-image-height: 406px; --devfest-quote-carousel-image-width: 592px; } .devfest-quote-carousel { --devfest-quote-carousel-height: 800px; } .devfest-quote-carousel-caption { --devfest-quote-carousel-caption-font: 500 32px/40px 'Google Sans'; text-align: center; } } @media screen and (max-width: 840px) { .dgc-web-ecosystem-card img { padding: 24px; } .networking-row-cards { --networking-row-cards-grid: "title title" ". ."; } .devfest-about-header { --devfest-about-header-background: url(/community/devfest/images/devfest-about-background-right.svg) no-repeat top 30.5vw right, url(/community/devfest/images/devfest-about-header-mobile.svg) no-repeat top left / 100% auto; --devfest-homepage-header-background-padding-top: 47vw; } .devfest-faq-header { --devfest-faq-header-background: url(/community/devfest/images/devfest-faq-background-right.svg) no-repeat top 30.5vw right / 68%, url(/community/devfest/images/devfest-faq-header-mobile.svg) no-repeat top left / 100% auto; --devfest-homepage-header-background-padding-top: 47vw; } .devfest-about-header > div > div { --devfest-homepage-header-margin-left: 0; --devfest-homepage-header-width: 60%; } .devfest-faq-header > div > div { --devfest-homepage-header-margin-left: 0; --devfest-homepage-header-width: 60%; } .devfest-homepage-header > div > div { --devfest-homepage-header-margin-left: 40px; --devfest-homepage-header-width: 68%; } .devfest-homepage-header h3, .devfest-about-description h3, .devfest-faq-description h3 { --devfest-homepage-header-font: 500 48px 'Google Sans'; } .devfest-homepage-header-item { flex-direction: column-reverse !important; } } @media screen and (max-width: 840px) and (min-width: 601px) { .networking-row-title-card { grid-area: title; } } @media screen and (min-width: 826px) { .devfest-countdown .devsite-countdown-label { margin-top: 8px; } } @media screen and (max-width: 750px) { .devfest-homepage-header { --devfest-homepage-header-background: url(/community/devfest/images/devfest-mobile-left.svg) no-repeat top left / contain, url(/community/devfest/images/devfest-mobile-right.svg) no-repeat top 30vw right; --devfest-homepage-header-background-padding-top: 48vw; } .devfest-homepage-header-item { align-items: flex-start !important; margin-top: 0 !important; } .devfest-homepage-header-item > div:first-child { width: 100% !important; } .devfest-homepage-header-item > div:last-child { width: 70% !important; } } @media screen and (max-width: 600px) { .devfest-about-header { --devfest-homepage-header-background: url(/community/devfest/images/devfest-about-background-right.svg) no-repeat top 30vw right / 30%, url(/community/devfest/images/devfest-about-header-mobile.svg) no-repeat top left / 100% auto; } .devfest-faq-header { --devfest-faq-header-background: url(/community/devfest/images/devfest-faq-background-right.svg) no-repeat top 30vw right / 72%, url(/community/devfest/images/devfest-faq-header-mobile.svg) no-repeat top left / 100% auto; } .devfest-quote-carousel { --devfest-quote-carousel-height: 128vw } .devfest-quote-carousel-caption { --devfest-quote-carousel-caption-font: 500 4.8vw/5.6vw 'Google Sans'; text-align: left; } .devfest-quote-carousel-image-container { --devfest-quote-carousel-image-height: 62vw; --devfest-quote-carousel-image-width: 100vw; } .devfest-quote-carousel-quote { text-align: left; } .networking-row-cards { --networking-row-cards-grid: auto-flow / 1fr; } .devfest-connect-cards-container > ul { --devfest-connect-cards-container-grid: auto-flow / 1fr; } .devfest-connect-cards-dropdown-filters { --devfest-connect-cards-dropdown-filters-grid: auto-flow / 1fr; } } @media screen and (max-width: 430px) { .devfest-quote-carousel { --devfest-quote-carousel-height: 140vw } } /* ---------------------------------------- Rules and references. ---------------------------------------- */ /* Devfest Homepage Header */ .devfest-homepage-header { background: var(--devfest-homepage-header-background); padding-top: var(--devfest-homepage-header-background-padding-top); } .devfest-about-header { padding-top: var(--devfest-homepage-header-background-padding-top); } .devfest-faq-header { padding-top: var(--devfest-homepage-header-background-padding-top); } .devfest-about-header > div, .devfest-faq-header > div { margin: 0; } .devfest-about-header > div > div, .devfest-faq-header > div > div { display: flex; flex-direction: column; margin-left: var(--devfest-homepage-header-margin-left); width: var(--devfest-homepage-header-width); } .devfest-homepage-header-item { margin-top: 200px; } .devfest-homepage-header .devsite-landing-row-item-description { height: 100%; } .devfest-homepage-header h3 { color: var(--tenant-primary-text-color) !important; font: var(--devfest-homepage-header-font) !important; pointer-events: none; } .devfest-about-description h3 { font: var(--devfest-homepage-header-font) !important; } .devfest-faq-description h3 { font: var(--devfest-homepage-header-font) !important; } .devfest-header-links { list-style: none; padding: 0; } .devfest-header-link { margin: 0; } .devfest-header-link a { align-items: center; border-bottom: 1px solid var(--devsite-ref-palette--blue500); color: var(--tenant-primary-text-color); display: flex; font: 500 14px 'Google Sans'; justify-content: space-between; padding: 14px 12px 14px 0; } .devfest-header-link a:hover span { transform: translate(5px, 0); transition: .5s ease; } .devfest-header-link span { color: var(--devsite-ref-palette--blue600); transition: .5s ease; } /* Devfest countdown row */ .devfest-countdown { background: url(/community/devfest/images/countdown-background.webp) no-repeat bottom center var(--devsite-ref-palette--black) !important; padding: 26px !important; } .devfest-countdown .devsite-countdown-box { background: var(--tenant-background-1); } .devfest-countdown .devsite-countdown-label { font: 400 24px 'Roboto Mono'; } .devfest-countdown .devsite-countdown-days .devsite-countdown-label { color: var(--devsite-ref-palette--blue600); } .devfest-countdown .devsite-countdown-hours .devsite-countdown-label { color: var(--devsite-ref-palette--red500); } .devfest-countdown .devsite-countdown-minutes .devsite-countdown-label { color: var(--devsite-ref-palette--yellow500); } .devfest-countdown .devsite-countdown-seconds .devsite-countdown-label { color: var(--devsite-ref-palette--green500); } /* Devfest connect with developers section */ .devfest-connect h3 a, .past-sessions h3, .devfest-expectations-row h2, .devfest-find-gdg h3 a, .devfest-badges-row h2 { color: var(--tenant-primary-text-color); font: 400 40px 'Google Sans' !important; /* Force correct font for headings */ } .devfest-connect figure { pointer-events: none; } .devfest-connect img { left: 15%; margin-top: 24px; position: relative; width: 75%; } .devfest-connect-cards input[type="text"] { background: url(/community/devfest/images/devfest-connect-search-icon.svg) no-repeat center left 20px transparent; color: var(--tenant-secondary-text-color); font: 500 16px 'Google Sans'; padding: 16px 54px; } .devfest-connect-cards .devsite-filter-clear-button { align-self: center; font-size: 20px; padding-inline-end: 20px; } .devfest-connect-cards-filters { display: grid; gap: 32px; grid: var(--devfest-connect-cards-filters-grid); } .devfest-connect-cards-dropdown-filters { grid: var(--devfest-connect-cards-dropdown-filters-grid); display: grid; } .devfest-connect-cards-dropdown-filters .devsite-select button { background: var(--tenant-background-1); height: 54px; min-width: -webkit-fill-available; width: -webkit-fill-available; } .devfest-connect-cards-dropdown-filters .devsite-select button .devsite-select-toggle-label { color: var(--tenant-secondary-text-color); font: 500 16px 'Google Sans'; } .devfest-connect-cards .devsite-pagination-page-numbers-controls { display: flex; justify-content: center; margin-top: 40px; } .devfest-connect-cards .devsite-pagination-page-numbers-controls .devsite-pagination-page-number { align-items: center; color: var(--tenant-primary-text-color); display: flex; font: 500 16px 'Google Sans'; height: 28px; justify-content: center; text-decoration: none; width: 28px; } .devfest-connect-cards .devsite-pagination-page-numbers-controls .devsite-pagination-page-number[selected] { background: var(--devsite-ref-palette-tenant--android-blue-100); border-radius: 50%; } .color-scheme--dark .devfest-connect-cards .devsite-pagination-page-numbers-controls .devsite-pagination-page-number[selected] { background: var(--devsite-ref-palette-tenant--android-blue-800); } .devfest-connect, .devfest-connect-cards { background: var(--tenant-background-2) !important; } .devfest-connect-card { background: var(--tenant-background-1); border-radius: 8px; border: var(--tenant-primary-border); list-style: none; padding: 35px 24px 18px; } .devfest-connect-cards-container > ul { display: grid; gap: 0 32px; grid: var(--devfest-connect-cards-container-grid); list-style: none; margin-top: 14px; padding: 0; } .devfest-connect-card label { font: 500 11px 'Roboto'; margin-bottom: 10px; text-transform: uppercase; } .devfest-connect-card h3 { font: 500 20px 'Google Sans'; margin-bottom: 0; } .devfest-connect-card p { color: var(--tenant-secondary-text-color); font: 400 16px 'Google Sans'; margin-block: 4px 26px; } .devfest-connect-card-tags { display: flex; flex-wrap: wrap; gap: 4px; padding: 10px 0; } .devfest-connect-card-tag { background: var(--tenant-background-2); border-radius: 4px; font: 500 11px 'Google Sans'; list-style: none; padding: 1px 8px; text-transform: uppercase; margin: 2px 0; } /* Past sessions row */ .past-sessions { margin-top: 40px; } .past-sessions img { left: 32%; position: relative; width: 150px; } .devfest .dgc-web-ecosystem-cards .devsite-landing-row-item, .past-sessions-cards .devsite-landing-row-item { border: 2px solid var(--devsite-ref-palette--black); border-radius: 16px; .color-scheme--dark & { border-color: var(--devsite-ref-palette--grey400); } } .past-sessions-cards { padding-bottom: 80px; } .past-sessions-cards .devsite-landing-row-item { gap: 8px; } .past-sessions-cards .devsite-landing-row-item .devsite-landing-row-item-media { border-bottom: 2px solid var(--devsite-ref-palette--black); .color-scheme--dark & { border-color: var(--devsite-ref-palette--grey400); } } .past-sessions-cards h3 { font: 400 24px/32px 'Google Sans'; margin-bottom: 16px; } .past-sessions-cards h3 + div { color: var(--tenant-secondary-text-color); font: 400 16px 'Google Sans'; } .past-session-date { font: 500 14px 'Google Sans'; margin-bottom: 16px; } @media screen and (min-width: 840px) { .past-sessions h3 + div { margin-right: -50% } } @media screen and (max-width: 840px) { .past-sessions { margin-top: 16px; } .past-sessions img { display: none; } .past-sessions .devsite-landing-row-item { grid-template-columns: 1fr; } .past-sessions-cards .devsite-landing-row-group { grid: auto-flow/repeat(1,1fr); } } @media screen and (max-width: 600px) { .past-sessions .devsite-landing-row-item-media+.devsite-landing-row-item-description { margin: 0; } } /* Resources */ .dgc-about-web-ecosystem-cards { margin-top: 40px; } .dgc-web-ecosystem-cards { padding-block: 40px; } .dgc-web-ecosystem-cards header h2 { font: 400 40px 'Google Sans'; } .dgc-web-ecosystem-card { flex-direction: row-reverse; } .dgc-web-ecosystem-card > div:first-child { align-self: center; padding: 30px; width: 50%; } .dgc-web-ecosystem-card h3 > a { color: var(--tenant-primary-text-color) !important; font: 400 24px 'Google Sans'; } .dgc-web-ecosystem-card h3 + div { font: 400 18px 'Roboto'; } .dgc-web-ecosystem-card .material-icons { margin: 0 !important; } /* Network, learn, grow row */ .networking-row-cards { display: grid; gap: 32px; grid: var(--networking-row-cards-grid); margin-block: 40px; } .networking-row-title-card { display: flex; flex-direction: column; justify-content: space-between; } .networking-row-title-card h3 { font: 400 40px 'Google Sans'; margin-block: 0 25px; } .networking-row-title-card p { font: 400 16px 'Google Sans'; } .networking-row-stat-card { align-items: center; background: var(--devsite-ref-palette--cyan100); border: 2px solid var(--devsite-ref-palette--black); border-radius: 16px; display: flex; flex-direction: column; padding: 35px 20px 10px; .color-scheme--dark & { background: var(--devsite-ref-palette--cyan700); border-color: var(--devsite-ref-palette--grey400); } } .networking-row-stat-card h4 { font: 700 64px 'Google Sans'; } .networking-row-stat-card p { font: 400 32px 'Google Sans'; text-align: center; } @media screen and (max-width: 840px) { .networking-row-cards { margin-top: 24px; } } /* Devfest Homepage "What is DevFest" Section */ /* [1] Forces page headers to be 700 weight and 64px */ .devfest-description h3, .devfest-faq h2 { font: 700 64px 'Google Sans' !important; /* [1] */ } .devfest-description h3 a { color: var(--tenant-primary-text-color); } .devfest-about-description div, .devfest-description div, .devfest-recap-description div, .devfest-speakers-description { font-family: 'Google Sans'; } .devfest-description { padding-block: 40px; } /* Devfest Homepage Map */ .devfest-map-section { background: var(--devsite-ref-palette--cyan100); padding-block: 80px; .color-scheme--dark & { background: var(--devsite-ref-palette--cyan700); } } .devfest-map-section h2 { font: 400 40px 'Google Sans'; } .devfest-map-section h2 + div { max-width: 100%; width: 100%; } /* Devfest Homepage Carousel section */ .devfest-quote-carousel-row { background: var(--devsite-ref-palette--yellow300) !important; /* Ensure the correct bg color is rendered */ padding-bottom: 0; } .devfest-quote-carousel-row > .devsite-landing-row-inner { margin: 0; min-width: 100%; padding: 0; } .devfest-quote-carousel { height: var(--devfest-quote-carousel-height); list-style-type: none; margin: 0; overflow: hidden; padding: 0; position: relative; } .devfest-quote-carousel-slide { animation: carousel 40s linear infinite; background: var(--devfest-quote-carousel-slide-background); height: 100%; margin: 0; padding-block: 60px; position: absolute; transform: translateX(100%); width: 100%; } .devfest-quote-carousel-slide > div { align-items: center; background: var(--devfest-quote-carousel-slide-background); display: flex; flex-direction: var(--devfest-quote-carousel-slide-flex-direction); gap: var(--devfest-quote-carousel-slide-gap); height: 100%; margin: auto; max-width: 1440px; position: relative; width: 100%; } @media screen and (max-width: 1520px) { .devfest-quote-carousel-slide > div { padding-inline: 24px; } } @media screen and (max-width: 600px) { .devfest-quote-carousel-slide > div { padding-inline: 16px; } } .devfest-open-quote { left: 0; position: absolute; top: 20px; } .devfest-close-quote { bottom: 20px; position: absolute; right: 24px; } .devfest-close-quote-mobile, .devfest-close-quote-tablet { display: none; position: absolute; } .devfest-quote-carousel-image-container { height: 100%; max-height: var(--devfest-quote-carousel-image-height); max-width: var(--devfest-quote-carousel-image-width); position: relative; width: auto; } @media screen and (max-width: 960px) { .devfest-open-quote { left: 60px; top: -16px; } .devfest-close-quote { display: none; } .devfest-close-quote-tablet { bottom: 0; display: block; right: 0; } .devfest-quote-carousel-image-container { width: 100%; } } .devfest-close-quote-mobile { display: none; } @media screen and (max-width: 600px) { .devfest-quote-carousel-image { padding-inline: unset; width: 100%; } .devfest-open-quote { left: 16px !important; /* Force correct left spacing */ width: 16vw; } .devfest-close-quote-mobile { bottom: -12vw; display: block; right: 0; width: 16vw; } .devfest-close-quote-tablet { display: none; } .devfest-quote-carousel-slide { padding-block: 40px; } } .devfest-quote-carousel-image { height: 100%; width: auto; } .devfest-quote-carousel > li:nth-child(1) .devfest-quote-carousel-image { margin-left: 83px; } .devfest-quote-carousel > li:nth-child(1) .devfest-open-quote, .devfest-quote-carousel > li:nth-child(2) .devfest-open-quote { left: 60px; } .devfest-quote-carousel > li:nth-child(2) .devfest-quote-carousel-image { margin-left: 6px; max-width: 586px; } .devfest-quote-carousel > li:nth-child(4) .devfest-quote-carousel-image { margin-left: 140px; max-width: 410px; } .devfest-quote-carousel > li:nth-child(4) .devfest-open-quote { left: 40px; } @media screen and (max-width: 1525px) { .devfest-quote-carousel .devfest-open-quote { left: 24px !important; /* Force spacing to be same for all slides */ } .devfest-quote-carousel-image-container { height: unset; width: unset; } /* [1] Forces same margin for all slide imgs */ /* [2] Forces same max width for all slide imgs */ .devfest-quote-carousel .devfest-quote-carousel-image { margin-left: auto !important; /* [1] */ max-height: var(--devfest-quote-carousel-image-height); max-width: var(--devfest-quote-carousel-image-width) !important; /* [2] */ } } @media screen and (max-width: 960px) { .devfest-quote-carousel-image-container { height: 100%; max-width: 100%; width: 100%; } .devfest-quote-carousel .devfest-open-quote { left: 24px !important;; /* Force correct left spacing */ } } @media screen and (max-width: 600px) { .devfest-quote-carousel .devfest-open-quote { left: 16px !important;; /* Force correct left spacing */ } .devfest-quote-carousel-image, .devfest-quote-carousel-image-container { height: unset; width: unset; } } .devfest-quote-carousel-quote { background: unset; padding: unset; max-width: 823px; } .devfest-quote-carousel-speaker { font: 400 18px/24px 'Google Sans'; } .devfest-quote-carousel-speaker span { font: 500 18px/24px 'Google Sans'; } /* [1] Forces carousel color to be off-black */ /* [2] Forces carousel header to be 700 weight and 32px */ /* [3] Forces carousel caption to have 0 top margin */ .devfest-quote-carousel-caption { color: var(--devsite-ref-palette--grey900) !important; /* [1] */ font: var(--devfest-quote-carousel-caption-font) !important; /* [2] */ margin-top: 0 !important; /* [3] */ max-width: 702px; } /* [1] Forces carousel color to be off-black */ .devfest-quote-carousel-speaker { color: var(--devsite-ref-palette--grey900) !important; /* [1] */ } .devfest-quote-carousel-caption-container { position: relative; } .devfest-quote-carousel > li:nth-child(1) { animation-delay: 0s, 40s; animation-duration: 40s; animation-iteration-count: 1, infinite; animation-name: first-picture, carousel; transform: translateX(0%); } .devfest-quote-carousel > li:nth-child(2) { animation-delay: Calc(40s * .25); } .devfest-quote-carousel > li:nth-child(3) { animation-delay: Calc(40s * .50); } .devfest-quote-carousel > li:nth-child(4) { animation-delay: Calc(40s * .75); } @keyframes first-picture { 0% { transform: translateX(0%); } 3.5%, 25% { transform: translateX(0); } 28.5%, 100% { transform: translateX(-100%); } } @keyframes carousel { 0% { transform: translateX(100%); } 3.5%, 25% { transform: translateX(0); } 28.5%, 100% { transform: translateX(-100%); } } /* Devfest Homepage Badges section */ .devfest-badges-row { background-color: var(--devsite-ref-palette-non-endorsed--light-blue400); } .devfest-badges-row h3 { font: 500 24px 'Roboto'; margin-bottom: 10px; } .devfest-badges-row p { font-family: 'Google Sans'; margin-top: 0; padding: 0 15% 10px; text-align: center; } .devfest-badges-row img { height: 342px; width: fit-content; } .devfest-badges-row.about-row img { height: 100px; } .devfest-badges-row .devsite-landing-row-item { box-shadow: 0 1px 3px 1px #3C404326; display: flex; gap: 0; height: 100%; max-width: 708px; padding-block: 20px; } .devfest-badge-availability { align-self: center; background: var(--devsite-ref-palette--grey100); border-radius: 20px; display: none; font: 500 12px 'Roboto'; letter-spacing: .8px; margin: 5px 10px 45px; padding: 7px 32px; text-transform: uppercase; .color-scheme--dark & { background: var(--devsite-ref-palette--grey800); } } .devfest-badge-opaque { opacity: .5; } /* Devfest Homepage "Stay Connected" section */ /* [1] Forces stay connected row to have 40px top padding */ .devfest-stay-connected-row { background: var(--devsite-ref-palette--yellow300); padding: 40px 0 0 !important; /* [1] */ } .devfest-stay-connected-row .devsite-landing-row-header-text { background: url(/community/devfest/images/left-scallops.png) no-repeat left 28px, url(/community/devfest/images/right-scallops.png) no-repeat right 28px; width: 100%; max-width: 640px; margin: auto; } @media screen and (max-width: 960px) { .devfest-stay-connected-row .devsite-landing-row-header-text { background: url(/community/devfest/images/left-scallops.png) no-repeat left top, url(/community/devfest/images/right-scallops.png) no-repeat right top; } } @media screen and (max-width: 600px) { .devfest-stay-connected-row .devsite-landing-row-header-text { background: unset; } } .devfest-stay-connected-row h2 { font: 400 40px 'Google Sans'; margin-top: 28px; } .devfest-stay-connected-row .devsite-landing-row-description { font: 400 18px/30px 'Google Sans'; margin-top: 8px; } .devfest-stay-connected-row img { margin: 24px 8px 60px; vertical-align: middle; width: 40px; } .color-scheme--dark .devfest-stay-connected-row img { filter: invert(.8); } .devfest-stay-connected-row a { background: none !important; /* Prevent background after click / visit */ text-decoration: none !important; /* Force text decoration to be none */ } /* Devfest About page */ .devfest-about-header { background: var(--devfest-about-header-background); } .devfest-about-description { padding-bottom: 82px; } .devfest-faq-description { padding-bottom: 260px; } .devfest-expectations-item h3 { font: 700 24px 'Google Sans'; } .devfest-expectations-item > div:first-child { display: flex; } .devfest-expectations-item img { margin: 16px 0 0 16px; max-height: 100px; } .dgc-about-logo-garden { margin-top: 40px; } .dgc-logo-garden.dgc-ecosystem-logo-garden h2 { font: 400 40px 'Google Sans'; } .dgc-ecosystem-logo-garden + .dgc-logo-garden-cta { padding-top: 0; } .dgc-ecosystem-logo-garden .devsite-landing-row-item:not( .dgc-logo-garden-card) { background: var(--tenant-background-1); border-radius: 10px; } .dgc-ecosystem-logo-garden .devsite-landing-row-item:not( .dgc-logo-garden-card) > a { margin-bottom: auto; } .dgc-logo-garden-card { padding: 8px 32px 25px; } .dgc-logo-garden-card p:first-of-type { font-size: 18px; font-weight: 700; } .dgc-logo-garden .devsite-landing-row-item-custom-image-icon { max-height: 64px; width: 64px; } .dgc-logo-garden-cta { padding-bottom: 64px; } .devfest-find-gdg h3 a { color: var(--tenant-primary-text-color); } .devfest-find-gdg h3 + div { font: 400 18px 'Roboto'; } /* Devfest FAQ page */ .devfest-faq-header { background: var(--devfest-faq-header-background); } .devfest-faq-label { background: var(--devsite-ref-palette--grey100); padding-bottom: 0; .color-scheme--dark & { background: var(--devsite-ref-palette--grey800); } } .devsite-landing-row.devfest-faq-label .devsite-landing-row-inner { background: url(/community/devfest/images/faq-top.png) no-repeat 380px 0, var(--devsite-ref-palette--grey100); .color-scheme--dark & { background-color: var(--devsite-ref-palette--grey800); } } .devsite-landing-row.devfest-faq-label h3 { font: 500 72px/70px 'Google Sans'; margin-bottom: 0; } .devfest-faq { background: var(--devsite-ref-palette--grey100); padding: 40px 24px; .color-scheme--dark & { background: var(--devsite-ref-palette--grey800); } } .devfest-faq .devsite-landing-row-inner { background: var(--devsite-ref-palette--yellow300); border: 2px solid var(--devsite-ref-palette--black); border-radius: 24px; max-width: 1440px; padding: 28px 112px 64px; .color-scheme--dark & { border-color: var(--devsite-ref-palette--grey400); } } .devfest-faq devsite-expandable:not(.devfest-faq devsite-expandable:last-of-type) { border-bottom: 2px solid var(--devsite-ref-palette--black); padding-bottom: 35px; .color-scheme--dark & { border-color: var(--devsite-ref-palette--grey400); } } .devfest-faq devsite-expandable a.exw-control:active, .devfest-faq devsite-expandable a.exw-control:focus, .devfest-faq devsite-expandable a.exw-control:hover { color: var(--devsite-ref-palette--black); } /* [1] Forces FAQ question header to have 0 bottom margin */ .devfest-faq h3 { align-items: center; display: flex; justify-content: space-between; margin-bottom: 0 !important; /* [1] */ } /* [1] Removes default expandable button */ .devfest-faq h3::before { content: none !important; /* [1] */ } .devfest-faq h3::after { content: 'expand_more'; font: 400 48px 'Material Icons'; } .devfest-faq devsite-expandable[expanded] h3::after { content: 'expand_less'; } .devfest-faq devsite-expandable div { background: white; border: 2px solid var(--devsite-ref-palette--black); border-radius: 24px; margin-top: 16px; padding: 24px; .color-scheme--dark & { border-color: var(--devsite-ref-palette--grey400); } } .devfest-faq p { margin-bottom: 0; } .devsite-landing-row.devfest-faq-bottom { background: var(--devsite-ref-palette--grey100); padding-top: 0; .color-scheme--dark & { background: var(--devsite-ref-palette--grey800); } } .devsite-landing-row.devfest-faq-bottom .devsite-landing-row-inner { background: url(/community/devfest/images/faq-bottom.png) no-repeat center, var(--devsite-ref-palette--grey100); height: 66px; .color-scheme--dark & { background-color: var(--devsite-ref-palette--grey800); } } @media screen and (max-width: 1440px) { .devfest-faq .devsite-landing-row-inner { padding: 1vw 4vw 4vw; } } @media screen and (max-width: 1200px) { .devsite-landing-row.devfest-faq-bottom .devsite-landing-row-inner { background-position: left; margin-left: 24px; } } @media screen and (max-width: 840px) { .devsite-landing-row.devfest-faq-label .devsite-landing-row-inner { background: url(/community/devfest/images/faq-top.png) no-repeat 264px 0, var(--devsite-ref-palette--grey100); .color-scheme--dark & { background-color: var(--devsite-ref-palette--grey800); } } .devfest-faq .devsite-landing-row-inner { padding: 16px 24px 44px; } } @media screen and (max-width: 600px) { .devsite-landing-row.devfest-faq-label .devsite-landing-row-inner { background: url(/community/devfest/images/faq-top.png) no-repeat 16px 88px, var(--devsite-ref-palette--grey100); height: 152px; .color-scheme--dark & { background-color: var(--devsite-ref-palette--grey800); } } .devfest-faq { padding: 32px 24px; } .devsite-landing-row.devfest-faq-bottom .devsite-landing-row-inner { background-position: -256px; margin-bottom: 24px; } } .gdg-badge .devsite-landing-row-item-description { margin-block: auto !important; /* Force centered vertical alignment */ } .gdg-badge h3, .gdg-badge h3 a { color: var(--devsite-ref-palette--black) !important; /* Force black color text */ font: 400 24px/32px 'Google Sans'; .color-scheme--dark & { color: var(--devsite-ref-palette--grey200) !important; } } .gdg-badge .devsite-landing-row-item-description-content { max-width: 708px; } .gdg-badge .devsite-landing-row-item-buttons { margin: auto; } .gdg-badge figure a { background: white; } .devsite-landing-row-item.gdg-badge { width: 100%; } .devfest-header-banner, .devfest-header-banner .devsite-landing-row-inner { padding: 0; } .devfest-header-banner { background: var(--devsite-ref-palette--grey100); max-width: 100%; .color-scheme--dark & { background: var(--devsite-ref-palette--grey800); } } .devfest-header-banner .devsite-landing-row-inner { margin: auto; max-width: 1520px; } .devfest-header-banner img.header-banner-tablet, .devfest-header-banner img.header-banner-mobile { display: none; } @media screen and (max-width: 840px) { .devfest-header-banner img.header-banner-desktop { display: none; } .devfest-header-banner img.header-banner-tablet { display: block; } .gdg-badge figure a { height: 34vw; } .devfest-badges-row img { height: auto; width: 89%; } .devfest-badges-row .attendee-badge img { width: 76%; } } @media screen and (max-width: 600px) { .devfest-header-banner img.header-banner-desktop, .devfest-header-banner img.header-banner-tablet { display: none; } .devfest-header-banner img.header-banner-mobile { display: block; } .gdg-badge figure a { height: 76vw; } } .devfest-hero-row { background: var(--devsite-ref-palette--grey100); padding-block: 20px 60px; .color-scheme--dark & { background: var(--devsite-ref-palette--grey800); } } .devfest-hero-row .devsite-landing-row-inner { background: url(/community/devfest/images/left-side-hero.png) no-repeat center left 16px, url(/community/devfest/images/right-side-hero.png) no-repeat center right 16px, var(--devsite-ref-palette--grey100); background-size: auto, 578px; height: fit-content; min-height: 288px; width: 100%; .color-scheme--dark & { background-color: var(--devsite-ref-palette--grey800); } } .devfest-hero-row .devsite-landing-row-header { margin-left: 216px; } .devfest-hero-row h2 { font: 500 64px/74px 'Google Sans'; max-width: 535px; width: 54%; } .devfest-hero-row .devsite-landing-row-description { max-width: 628px; width: 54%; } .devfest-hero-row.faq-hero { padding-block: 20px; } .devfest-hero-row.faq-hero .devsite-landing-row-inner { background: url(/community/devfest/images/faq-left.png) no-repeat center left 16px, url(/community/devfest/images/faq-right-no-year.png) no-repeat center right 16px, var(--devsite-ref-palette--grey100); background-size: auto 236px; height: 287px; .color-scheme--dark & { background-color: var(--devsite-ref-palette--grey800); } } .devfest-hero-row.faq-hero .devsite-landing-row-header { align-items: center; display: flex; height: 100%; margin-left: 284px; } .devfest-hero-row.faq-hero h2 { font: 500 156px/120px 'Google Sans'; } .devfest-hero-row.faq-hero .devsite-landing-row-description { font: 400 20px/23px 'Google Sans'; margin-left: 4px; max-width: 590px; text-align: center; } .dgc-web-ecosystem-cards.solutions img { max-width: 150px; } .solutions .dgc-web-ecosystem-card > div:first-child { min-width: 148px; padding: 16px; width: 26%; } @media screen and (max-width: 1560px) { .devfest-hero-row.faq-hero .devsite-landing-row-inner { background-size: auto 17vw; height: 20vw; } .devfest-hero-row.faq-hero .devsite-landing-row-header { margin-left: 20.3vw; } .devfest-hero-row.faq-hero h2 { font: 500 8.4vw/7vw 'Google Sans'; } .devfest-hero-row.faq-hero .devsite-landing-row-description { font: 400 1.4vw/1.6vw 'Google Sans'; max-width: 30vw; } } @media screen and (max-width: 1200px) { .devfest-hero-row.faq-hero { display: none; } .devfest-header-banner.faq-banner img.header-banner-tablet { display: block; } } @media screen and (max-width: 600px) { .devfest-header-banner.faq-banner img.header-banner-tablet { display: none; } } @media screen and (max-width: 1520px) { .devfest-hero-row .devsite-landing-row-inner { background-size: auto 17vw; } .devfest-hero-row .devsite-landing-row-header { margin-left: 14vw; } } @media screen and (max-width: 840px) { .devfest-hero-row { padding-block: 20px 40px; } .devfest-hero-row .devsite-landing-row-inner { background: url(/community/devfest/images/left-side-hero-tablet.png) no-repeat top left 62px, url(/community/devfest/images/right-side-hero-tablet.png) no-repeat top right 24px, var(--devsite-ref-palette--grey100); background-size: 28vw auto, 48vw auto; margin-top: -20px; .color-scheme--dark & { background-color: var(--devsite-ref-palette--grey800); } } .devfest-hero-row .devsite-landing-row-header { margin-left: unset; padding-top: 16vw; } .devfest-hero-row h2 { font: 500 7.2vw/8.4vw 'Google Sans'; } .devfest-hero-row .devsite-landing-row-description { max-width: unset; width: 100%; } .devfest-map-section { margin-bottom: 0; padding-block: 40px; } .past-sessions-cards { padding-bottom: 40px; } .networking-row { padding-block: 10px; } .dgc-web-ecosystem-cards.solutions .devsite-landing-row-inner { padding-top: 40px; } .dgc-web-ecosystem-cards.solutions .devsite-landing-row-item { flex-direction: row-reverse; } .dgc-web-ecosystem-cards.solutions .devsite-landing-row-item .devsite-landing-row-item-media { margin: auto; padding: 0; } .dgc-web-ecosystem-cards.solutions .devsite-landing-row-item-image { width: 150px; } .dgc-web-ecosystem-cards.solutions .devsite-landing-row-item-description { padding-right: 0 !important; /* Force 0 right padding */ } .dgc-web-ecosystem-cards.solutions img { padding: 16px; } } @media screen and (max-width: 600px) { .devfest-hero-row .devsite-landing-row-inner { background: url(/community/devfest/images/devfest-hero-mobile.png) no-repeat top center, var(--devsite-ref-palette--grey100); background-size: 96% auto; .color-scheme--dark & { background-color: var(--devsite-ref-palette--grey800); } } .devfest-hero-row .devsite-landing-row-header { padding-top: 50vw; } .devfest-hero-row h2 { font: 500 10vw/11vw 'Google Sans'; width: 100%; } .dgc-web-ecosystem-cards.solutions .devsite-landing-row-item { display: flex; } } </style> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google for Developers" > Google for Developers </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/community/devfest" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="DevFest" > DevFest </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/community" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Community </a> </li> </ul> </div> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded disabled> </devsite-toc> <div class="devsite-article-body clearfix devsite-no-page-title"> <section class="devsite-landing-row devsite-landing-row-1-up devfest-header-banner" background="grey" header-position="top" > <div class="devsite-landing-row-inner"> <div class="devsite-landing-row-html"> <img src="/static/community/devfest/images/header-banner-no-year.png" alt="DevFest header banner" class="header-banner-desktop"> <img src="/static/community/devfest/images/header-banner-no-year-tablet.png" alt="DevFest header banner" class="header-banner-tablet"> <img src="/static/community/devfest/images/header-banner-no-year-mobile.png" alt="DevFest header banner" class="header-banner-mobile"> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up devfest-hero-row" background="white" header-position="top" > <div class="devsite-landing-row-inner"> <header class="devsite-landing-row-header" > <div class="devsite-landing-row-header-text"> <h2 id="what-is-devfest" data-text="What is DevFest?" tabindex="0"> What is DevFest? </h2> <div class="devsite-landing-row-description"> DevFest is the world's largest community-driven tech conference, bringing together passionate developers from around the globe. Hosted annually by Google Developer Groups, DevFest offers a unique opportunity to explore cutting-edge developer tools, learn from Google and Google Developer Experts, and connect with fellow developers in your local community. Join us later this year for another exciting DevFest season! </div> </div> </header> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-100 devfest-map-section" background="white" header-position="top" > <div class="devsite-landing-row-inner"> <header class="devsite-landing-row-header" > <div class="devsite-landing-row-header-text"> <h2 id="span-idfind-a-gdg-communityfind-a-gdg-community-near-youspan" data-text="Find a GDG community near you " tabindex="0"> <span id="find-a-gdg-community">Find a GDG community near you</span> </h2> </div> </header> <div class="devsite-landing-row-group"> <div class="devsite-landing-row-item" description-position="bottom" > <devsite-iframe><iframe src="https://developers.google.com/frame/community/devfest/index_f3b33e3821de68b98d8685ff92aabbe1a6b62e921fea4a3d046b37625937f561.frame" class="framebox inherit-locale " allow="clipboard-write https://developers-dot-devsite-v2-prod.appspot.com" allowfullscreen is-upgraded></iframe></devsite-iframe> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-3-up devsite-landing-row-cards devsite-landing-row-padding-small devsite-landing-row-no-image-background devfest-badges-row dgc-web-ecosystem-cards about-row" background="white" header-position="top" > <div class="devsite-landing-row-inner"> <header class="devsite-landing-row-header" > <div class="devsite-landing-row-header-text"> <h2 id="what-to-expect-at-a-devfest" data-text="What to expect at a DevFest" tabindex="0"> What to expect at a DevFest </h2> </div> </header> <div class="devsite-landing-row-group"> <div class="devsite-landing-row-item gdg-badge" description-position="bottom" > <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-image"> <picture> <img alt="" src="https://developers.google.com/static/community/devfest/images/content.svg" srcset="https://developers.google.com/static/community/devfest/images/content.svg" sizes="(max-width: 840px) 50vw, 464px" loading="lazy" > </picture> </figure> </div> <div class="devsite-landing-row-item-description" > <div class="devsite-landing-row-item-body"> <h3 id="technical-content" data-text="Technical content" class="hide-from-toc no-link" tabindex="0"> Technical content </h3> <div class="devsite-landing-row-item-description-content"> Worldwide events hosted by the Google Developer Groups community, featuring Googlers and Google Developer Experts. </div> </div> </div> </div> <div class="devsite-landing-row-item gdg-badge" description-position="bottom" > <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-image"> <picture> <img alt="" src="https://developers.google.com/static/community/devfest/images/workshops.svg" srcset="https://developers.google.com/static/community/devfest/images/workshops.svg" sizes="(max-width: 840px) 50vw, 464px" loading="lazy" > </picture> </figure> </div> <div class="devsite-landing-row-item-description" > <div class="devsite-landing-row-item-body"> <h3 id="workshops" data-text="Workshops" class="hide-from-toc no-link" tabindex="0"> Workshops </h3> <div class="devsite-landing-row-item-description-content"> Full-day workshops, hands-on experiences, hacking and debugging events, all centered on your favorite Google technologies. </div> </div> </div> </div> <div class="devsite-landing-row-item gdg-badge" description-position="bottom" > <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-image"> <picture> <img alt="" src="https://developers.google.com/static/community/devfest/images/networking.svg" srcset="https://developers.google.com/static/community/devfest/images/networking.svg" sizes="(max-width: 840px) 50vw, 464px" loading="lazy" > </picture> </figure> </div> <div class="devsite-landing-row-item-description" > <div class="devsite-landing-row-item-body"> <h3 id="networking" data-text="Networking" class="hide-from-toc no-link" tabindex="0"> Networking </h3> <div class="devsite-landing-row-item-description-content"> Panel discussions, Q&A sessions, meetup groups, project showcases, coding workshops, mentorship sessions, and more. </div> </div> </div> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-hero devfest-quote-carousel-row" header-position="top" > <div class="devsite-landing-row-inner"> <div class="devsite-landing-row-html"> <ul id="devfest-carousel" class="devfest-quote-carousel"> <li class="devfest-quote-carousel-slide"> <div style="position: relative;"> <img class="devfest-open-quote" src="/static/community/devfest/images/open-quote.png" alt="Open quote""> <div class="devfest-quote-carousel-image-container"> <img class="devfest-quote-carousel-image" src="/static/community/devfest/images/pollard.png" alt="Kanchana Patlolla, portrait"> <img class="devfest-close-quote-tablet" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> <blockquote class="devfest-quote-carousel-quote"> <div class="devfest-quote-carousel-caption-container"> <h2 class="devfest-quote-carousel-caption" id="devfest-is-a-fantastic-opportunity-to-meet-some-amazing-developers-and-find-out-the-latest-news-about-how-to-use-google-technologies." data-text="DevFest is a fantastic opportunity to meet some amazing developers and find out the latest news about how to use Google technologies. " tabindex="-1">DevFest is a fantastic opportunity to meet some amazing developers and find out the latest news about how to use Google technologies. </h2> <img class="devfest-close-quote-mobile" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> <span class="devfest-quote-carousel-speaker"><span>Barry Pollard,</span><br> Web Performance Developer Advocate </span> </blockquote> <img class="devfest-close-quote" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> </li> <li class="devfest-quote-carousel-slide"> <div style="position: relative;"> <img class="devfest-open-quote" src="/static/community/devfest/images/open-quote.png" alt="Open quote""> <div class="devfest-quote-carousel-image-container"> <img class="devfest-quote-carousel-image" src="/static/community/devfest/images/greco.png" alt="Kanchana Patlolla, portrait"> <img class="devfest-close-quote-tablet" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> <blockquote class="devfest-quote-carousel-quote"> <div class="devfest-quote-carousel-caption-container"> <h2 class="devfest-quote-carousel-caption" id="some-awesome-new-features-were-launched-for-building-solutions-on-the-google-workspace-platform.-devfest-is-a-fantastic-opportunity-to-learn-all-about-them" data-text="Some awesome new features were launched for building solutions on the Google Workspace Platform. DevFest is a fantastic opportunity to learn all about them! " tabindex="-1">Some awesome new features were launched for building solutions on the Google Workspace Platform. DevFest is a fantastic opportunity to learn all about them! </h2> <img class="devfest-close-quote-mobile" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> <span class="devfest-quote-carousel-speaker"><span>Chanel Greco,</span><br> Google Workspace Developer Advocate </span> </blockquote> <img class="devfest-close-quote" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> </li> <li class="devfest-quote-carousel-slide"> <div style="position: relative;"> <img class="devfest-open-quote" src="/static/community/devfest/images/open-quote.png" alt="Open quote""> <div class="devfest-quote-carousel-image-container"> <img class="devfest-quote-carousel-image" src="/static/community/devfest/images/srivastav.png" alt="Kanchana Patlolla, portrait"> <img class="devfest-close-quote-tablet" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> <blockquote class="devfest-quote-carousel-quote"> <div class="devfest-quote-carousel-caption-container"> <h2 class="devfest-quote-carousel-caption" id="devfest-is-an-amazing-way-to-learn-about-the-best-developer-tools-that-google-has-to-offer.-it-is-also-a-great-way-to-connect-and-network-with-fellow-professionals." data-text="DevFest is an amazing way to learn about the best developer tools that Google has to offer. It is also a great way to connect and network with fellow professionals. " tabindex="-1">DevFest is an amazing way to learn about the best developer tools that Google has to offer. It is also a great way to connect and network with fellow professionals. </h2> <img class="devfest-close-quote-mobile" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> <span class="devfest-quote-carousel-speaker"><span>Prakhar Srivastav,</span><br> Software Engineer </span> </blockquote> <img class="devfest-close-quote" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> </li> <li class="devfest-quote-carousel-slide"> <div style="position: relative;"> <img class="devfest-open-quote" src="/static/community/devfest/images/open-quote.png" alt="Open quote""> <div class="devfest-quote-carousel-image-container"> <img class="devfest-quote-carousel-image" src="/static/community/devfest/images/patlolla.png" alt="Kanchana Patlolla, portrait"> <img class="devfest-close-quote-tablet" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> <blockquote class="devfest-quote-carousel-quote"> <div class="devfest-quote-carousel-caption-container"> <h2 class="devfest-quote-carousel-caption" id="it-is-an-exciting-time-in-technology-where-an-unprecedented-change-is-being-adopted.-devfest-showcases-an-opportunity-to-learn,-share-and-grow." data-text="It is an exciting time in technology where an unprecedented change is being adopted. DevFest showcases an opportunity to learn, share and grow. " tabindex="-1">It is an exciting time in technology where an unprecedented change is being adopted. DevFest showcases an opportunity to learn, share and grow. </h2> <img class="devfest-close-quote-mobile" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> <span class="devfest-quote-carousel-speaker"><span>Kanchana Patlolla,</span><br> Innovation Program Lead </span> </blockquote> <img class="devfest-close-quote" src="/static/community/devfest/images/close-quote.png" alt="Close quote"> </div> </li> </ul> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up networking-row" background="grey" header-position="top" > <div class="devsite-landing-row-inner"> <div class="devsite-landing-row-html"> <div class="networking-row-cards"> <div class="networking-row-title-card"> <div> <h3 id="a-global-conversation-on-responsible-ai" data-text="A global conversation on responsible AI" tabindex="-1">A global conversation on responsible AI</h3> <p>DevFest 2024 connected over 800,000 developers worldwide to explore the crucial applications of AI. The energy was incredible, and we can't wait to see the impact this year's event will have on the future of technology.</p> </div> <img src="/static/community/devfest/images/networking-graphic.png" alt="Networking graphic"> </div> <div class="networking-row-stat-card"> <img src="/static/community/devfest/images/globe.svg" alt="Attendees image"> <h4 id="800k+" data-text="800K+" tabindex="-1">800K+</h4> <p>developers</p> </div> <div class="networking-row-stat-card"> <img src="/static/community/devfest/images/asterisk.svg" alt="Number of DevFests image"> <h4 id="565+" data-text="565+" tabindex="-1">565+</h4> <p>events</p> </div> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-cards devsite-landing-row-padding-small devsite-landing-row-no-image-background devfest-badges-row dgc-web-ecosystem-cards" background="white" header-position="top" > <div class="devsite-landing-row-inner"> <header class="devsite-landing-row-header" > <div class="devsite-landing-row-header-text"> <h2 id="earnable-badges" data-text="Earnable badges" tabindex="0"> Earnable badges </h2> </div> </header> <div class="devsite-landing-row-group"> <div class="devsite-landing-row-item gdg-badge" description-position="bottom" > <div class="devsite-landing-row-item-media "> <figure class="devsite-landing-row-item-image"> <a href="https://developers.google.com/profile/badges/community/gdg/member"> <picture> <img alt="" src="https://developers.google.com/static/community/devfest/images/gdg-blue.png" srcset="https://developers.google.com/static/community/devfest/images/gdg-blue_36.png 36w,https://developers.google.com/static/community/devfest/images/gdg-blue_48.png 48w,https://developers.google.com/static/community/devfest/images/gdg-blue_72.png 72w,https://developers.google.com/static/community/devfest/images/gdg-blue_96.png 96w,https://developers.google.com/static/community/devfest/images/gdg-blue_480.png 480w,https://developers.google.com/static/community/devfest/images/gdg-blue_720.png 720w,https://developers.google.com/static/community/devfest/images/gdg-blue_856.png 856w,https://developers.google.com/static/community/devfest/images/gdg-blue_960.png 960w,https://developers.google.com/static/community/devfest/images/gdg-blue_1440.png 1440w,https://developers.google.com/static/community/devfest/images/gdg-blue_1920.png 1920w,https://developers.google.com/static/community/devfest/images/gdg-blue_2880.png 2880w" sizes="(max-width: 840px) 100vw, 952px" loading="lazy" > </picture> </a> </figure> </div> <div class="devsite-landing-row-item-description" > <div class="devsite-landing-row-item-body"> <h3 id="join-a-gdg" data-text="Join a GDG" class="hide-from-toc no-link" tabindex="0"> <a href="https://developers.google.com/profile/badges/community/gdg/member"> Join a GDG </a> </h3> <div class="devsite-landing-row-item-description-content"> Earn this badge when you join a Google Developer Group </div> </div> </div> </div> </div> </div> </section> <section class="devsite-landing-row devsite-landing-row-1-up devsite-landing-row-header-centered devsite-landing-row-no-image-background devfest-stay-connected-row" background="google-yellow" header-position="top" > <div class="devsite-landing-row-inner"> <header class="devsite-landing-row-header" > <div class="devsite-landing-row-header-text"> <h2 id="stay-connected" data-text="Stay connected" tabindex="0"> Stay connected </h2> <div class="devsite-landing-row-description"> <p>Follow #DevFest for updates, recaps, and news.</p> <p> <a class="gc-analytics-event" data-category="DevFest Stay Connected" data-label="YouTube" href="https://www.youtube.com/gdgs" target="_blank"> <img alt="YouTube social icon" src="/static/community/devfest/images/youtube.svg"> </a> <a class="gc-analytics-event" data-category="DevFest Stay Connected" data-label="Twitter" href="https://twitter.com/googledevgroups" target="_blank"> <img alt="x social icon" src="/static/community/devfest/images/x.svg"> </a> <a class="gc-analytics-event" data-category="DevFest Stay Connected" data-label="LinkedIn" href="https://www.linkedin.com/showcase/community-groups-program-gdg" target="_blank"> <img alt="LinkedIn social icon" src="/static/community/devfest/images/linkedin.svg"> </a> <a class="gc-analytics-event" data-category="DevFest Stay Connected" data-label="Medium" href="https://medium.com/googledeveloperseurope/tagged/google-developer-group" target="_blank"> <img alt="Medium social icon" src="/static/community/devfest/images/medium.svg"> </a> </p> </div> </div> </header> </div> </section> </div> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//googledevelopers.blogspot.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.instagram.com/googlefordevs/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Instagram </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://www.linkedin.com/showcase/googledevelopers/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > LinkedIn </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//twitter.com/googledevs" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > X (Twitter) </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.youtube.com/user/GoogleDevelopers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > YouTube </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Programs</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/community" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google Developer Groups </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/experts" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Developer Experts </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/community/accelerators" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Accelerators </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/womentechmakers" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Women Techmakers </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//www.techequitycollective.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Tech Equity Collective </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Developer consoles</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="//console.developers.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google API Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.cloud.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Google Cloud Platform Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//play.google.com/apps/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Google Play Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.firebase.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Firebase Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.actions.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" > Actions on Google Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//cast.google.com/publish" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" > Cast SDK Developer Console </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//chrome.google.com/webstore/developer/dashboard" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" > Chrome Web Store Dashboard </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//console.home.google.com" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" > Google Home Developer Console </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{"dimensions": {"dimension6": "en", "dimension3": false, "dimension11": false, "dimension1": "Signed out", "dimension4": "DevFest", "dimension5": "en"}, "gaid": "UA-24532603-1", "metrics": {"ratings_value": "metric1", "ratings_count": "metric2"}, "purpose": 1}]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-272J68FCRF", "purpose": 1}], "ga4p": [{"id": "G-272J68FCRF", "purpose": 1}], "gtm": [], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "DevFest", "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="3OlBbD4ZGCntnOi06iSkX6fMEsRX7t"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers","https://developers-dot-devsite-v2-prod.appspot.com",1,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/favicon-new.png","https://www.gstatic.com/devrel-devsite/prod/v38a693baeb774512feb42f10aac8f755d8791ed41119b5be7a531f8e16f8279f/developers/images/lockup-new.svg","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Concierge__enable_concierge_restricted","Profiles__enable_complete_playlist_endpoint","Cloud__enable_cloud_dlp_service","MiscFeatureFlags__enable_project_variables","Profiles__enable_awarding_url","CloudShell__cloud_shell_button","Profiles__enable_profile_collections","Profiles__enable_page_saving","CloudShell__cloud_code_overflow_menu","Profiles__require_profile_eligibility_for_signin","Search__enable_suggestions_from_borg","Profiles__enable_completecodelab_endpoint","Search__enable_ai_search_summaries","TpcFeatures__enable_mirror_tenant_redirects","Analytics__enable_clearcut_logging","Profiles__enable_developer_profiles_callout","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_join_program_group_endpoint","MiscFeatureFlags__enable_view_transitions","Significatio__enable_by_tenant","Cloud__enable_cloud_shell","Cloud__enable_llm_concierge_chat","BookNav__enable_tenant_cache_key","MiscFeatureFlags__emergency_css","MiscFeatureFlags__developers_footer_dark_image","Cloud__enable_cloud_facet_chat","Cloud__enable_legacy_calculator_redirect","Concierge__enable_key_takeaways","Profiles__enable_release_notes_notifications","Cloud__enable_cloudx_experiment_ids","Search__enable_dynamic_content_confidential_banner","MiscFeatureFlags__developers_footer_image","Search__enable_ai_eligibility_checks","EngEduTelemetry__enable_engedu_telemetry","Cloud__enable_free_trial_server_call","Concierge__enable_pushui","Concierge__enable_concierge","TpcFeatures__enable_unmirrored_page_left_nav","Search__enable_page_map","Profiles__enable_public_developer_profiles","MiscFeatureFlags__enable_firebase_utm","MiscFeatureFlags__enable_variable_operator","Profiles__enable_recognition_badges","Profiles__enable_completequiz_endpoint","Search__enable_ai_search_summaries_restricted","Profiles__enable_stripe_subscription_management","Cloud__enable_cloud_shell_fte_user_flow","DevPro__enable_developer_subscriptions","Profiles__enable_dashboard_curated_recommendations","Cloud__enable_cloudx_ping","DevPro__enable_cloud_innovators_plus","Experiments__reqs_query_experiments"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[1,1],[16,13],[11,8],[12,9],[4,3],[14,11],[13,10],[15,12],[6,5],[3,2],[5,4]],[[2,2],[1,1]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m",1]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>