CINXE.COM
Scale & Ship Faster with a Composable Web Architecture | Netlify
<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width"><meta name="generator" content="Astro v4.16.13"><!-- Page information --><title>Scale & Ship Faster with a Composable Web Architecture | Netlify</title><meta name="description" content="Realize the speed, agility and performance of a scalable, composable web architecture with Netlify. Explore the composable web platform now!"><link rel="canonical" href="https://www.netlify.com/"><!-- Favicons --><link rel="icon" href="/favicon/favicon.ico" sizes="32x32"><link rel="icon" href="/favicon/icon.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png"><link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials"><meta name="apple-mobile-web-app-title" content="Netlify"><meta name="application-name" content="Netlify"><meta name="theme-color" content="#ffffff"><!-- Open Graph meta tags --><meta property="og:type" content="website"><meta property="og:title" content="Scale & Ship Faster with a Composable Web Architecture | Netlify"><meta property="og:description" content="Realize the speed, agility and performance of a scalable, composable web architecture with Netlify. Explore the composable web platform now!"><meta property="og:image" content="https://cdn.sanity.io/images/o0o2tn5x/marketing/19d95d00d7f79b8b4340dc6ca183ac5456f1a095-1200x630.png"><!-- Twitter meta tags --><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="netlify.com"><meta name="twitter:title" content="Scale & Ship Faster with a Composable Web Architecture | Netlify"><meta name="twitter:description" content="Realize the speed, agility and performance of a scalable, composable web architecture with Netlify. Explore the composable web platform now!"><meta name="twitter:image" content="https://cdn.sanity.io/images/o0o2tn5x/marketing/19d95d00d7f79b8b4340dc6ca183ac5456f1a095-1200x630.png"><!-- Page assets --><link rel="preload" href="/fonts/pacaembu/PacaembuNetlify-Variable.woff2" as="font" type="font/woff2" crossorigin=""><link rel="preload" href="/fonts/mulish/MulishVar-latin.woff2" as="font" type="font/woff2" crossorigin=""><!-- Third-party verification --><meta name="slack-app-id" content="A05P27DR8C8"><!-- Third-party scripts --><script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('consent', 'default', { ad_storage: 'denied', analytics_storage: 'denied', functionality_storage: 'denied', personalization_storage: 'denied', security_storage: 'denied', region: [ 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'EL', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'UK', ], }); gtag('consent', 'default', { ad_storage: 'granted', analytics_storage: 'granted', functionality_storage: 'granted', personalization_storage: 'granted', security_storage: 'granted', }); function OptanonWrapper() { if (!OneTrust.IsAlertBoxClosed()) { document.body.classList.add('onetrust-alert-box-open'); } OneTrust.OnConsentChanged(() => { if (OneTrust.IsAlertBoxClosed()) { document.body.classList.remove('onetrust-alert-box-open'); } }); } </script> <script>(function(){const id = "GTM-T7WNFLD"; (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', id); })();</script><!-- Qualified --><script> (function (w, q) { w['QualifiedObject'] = q; w[q] = w[q] || function () { (w[q].q = w[q].q || []).push(arguments); }; })(window, 'qualified'); </script> <script async src="https://js.qualified.com/qualified.js?token=FvGWn26rk1tuEjBR"></script> <!-- End Qualified --><link rel="stylesheet" href="/_astro/convince-your-boss.63oO-y1F.css"> <link rel="stylesheet" href="/_astro/_slug_.C3dpn2EX.css"> <link rel="stylesheet" href="/_astro/_guideSlug_.Dvk726Qh.css"> <style>.card[data-astro-cid-dohjnao5]{--card-padding: var(--space-m);padding:var(--card-padding-block, var(--card-padding, var(--space-m))) var(--card-padding-inline, var(--card-padding, var(--space-m)));color:var(--card-text, var(--color-text-1));background:var(--card-bg, var(--color-bg-1));border-radius:var(--card-radius, var(--radius-xl));box-shadow:var(--card-shadow, var(--shadow-light));border:1px solid var(--card-border-color, var(--neutral-light-100));height:100%;overflow:hidden;position:relative}.card[data-astro-cid-dohjnao5] :where(.heading,.ingredient){margin-inline:unset}:where([data-theme=dark])[data-astro-cid-dohjnao5] .card[data-astro-cid-dohjnao5]:not([data-theme]){--card-bg: var(--neutral-dark-600)}.card[data-astro-cid-dohjnao5][data-options*=full-width-media]:has(:first-child>:where(img,.yt-wrapper)){padding-block-start:0}.card[data-astro-cid-dohjnao5][data-options*=full-width-media]:has(:last-child>:where(img,.yt-wrapper)){padding-block-end:0}.card[data-astro-cid-dohjnao5][data-options*=full-width-media] :where(img,.yt-wrapper){--_padding: var(--card-padding, var(--space-m));width:calc(100% + 2 * var(--_padding));transform:translate(calc(-1 * var(--_padding)));max-inline-size:unset}.card[data-astro-cid-dohjnao5][data-options*=repel-last-element]>:nth-last-child(2){margin-block-end:auto}.card[data-astro-cid-dohjnao5] .heading>a:after{content:"";position:absolute;inset:0}.card[data-astro-cid-dohjnao5] .heading>a{text-decoration:none}.pancake[data-astro-cid-5mutinvq]{color:var(--pancake-color-text, var(--color-text-1));background-color:var(--pancake-color-bg, var(--color-bg-1));position:relative}.pancake-margin-top-override[data-astro-cid-5mutinvq]{margin-block-start:var(--margin-block-start)}.pancake-content[data-astro-cid-5mutinvq]{--stack-space: var(--space-2xl);position:relative}.pancake-background-clip[data-astro-cid-5mutinvq]{padding-block-end:0}.pancake-background-clip[data-astro-cid-5mutinvq] .ingredient:last-of-type{position:relative}.pancake-background-clip[data-astro-cid-5mutinvq] .ingredient:last-of-type>*{z-index:0}.pancake-background-clip[data-astro-cid-5mutinvq] .ingredient:last-of-type:before{position:absolute;top:50%;content:"";width:100%;height:50%;background:#fff}.pancake-border-bottom[data-astro-cid-5mutinvq]{border-bottom:1px solid var(--neutral-light-200)} </style> <link rel="stylesheet" href="/_astro/_guideSlug_.DvROZQDN.css"> <style>.hubspot-form-wrapper{--center-max: 35rem}.hs-form-booleancheckbox-display{display:flex;align-items:baseline;gap:var(--space-2xs)}.hs-form :where(.legal-consent-container,[class^=hs_notice_and_consent]){font-size:var(--step--1)}.hs-form .legal-consent-container .hs-form-booleancheckbox-display>span{margin-left:0}.hs-form-required{margin-inline-start:.1em;color:var(--color-text-invalid)}.hs-error-msg{font-size:.8em;color:var(--color-text-invalid)}.hs_error_rollup .hs-error-msgs{font-size:.8em;line-height:normal;color:var(--color-text-invalid);background-color:var(--color-bg-invalid);padding:var(--space-xs) var(--space-s);border-radius:var(--radius-m)}.hs-error-msg{display:block}.hs-form-field:not([hidden]){display:grid;gap:var(--space-3xs)}.hs-submit input{width:100%} [data-astro-cid-patnjmll][data-variant=encapsulated]{--size: 3rem;--icon-size: 1.25rem;display:grid;place-items:center;color:var(--neutral-light-800);background-color:var(--blue-000);width:var(--size);height:var(--size);border-radius:var(--radius-circle)} .c-badge-group[data-astro-cid-mh4d3t3h]{--cluster-gap: var(--card-badge-gap, 12px)}.label[data-astro-cid-mh4d3t3h]{font-weight:700}.card-container[data-astro-cid-ccoymqwb]{display:flex}lite-youtube{background-color:#000;position:relative;display:block;contain:content;background-position:center center;background-size:cover;cursor:pointer;max-width:720px}lite-youtube:before{content:attr(data-title);display:block;position:absolute;top:0;background-image:linear-gradient(180deg,#000000ab,#0000008a 14%,#00000026 54%,#0000000d 72%,#0000 94%);height:99px;width:100%;font-family:YouTube Noto,Roboto,Arial,Helvetica,sans-serif;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);font-size:18px;padding:25px 20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}lite-youtube:hover:before{color:#fff}lite-youtube:after{content:"";display:block;padding-bottom:56.25%}lite-youtube>iframe{width:100%;height:100%;position:absolute;top:0;left:0;border:0}lite-youtube>.lty-playbtn{display:block;width:100%;height:100%;background:no-repeat center/68px 48px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');position:absolute;cursor:pointer;z-index:1;filter:grayscale(100%);transition:filter .1s cubic-bezier(0,0,.2,1);border:0}lite-youtube:hover>.lty-playbtn,lite-youtube .lty-playbtn:focus{filter:none}lite-youtube.lyt-activated{cursor:unset}lite-youtube.lyt-activated:before,lite-youtube.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.lyt-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}lite-youtube>iframe{all:unset!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important;border:0!important}.yt-wrapper[data-astro-cid-aomsn35f]{width:100%;position:relative;isolation:isolate}lite-youtube[data-astro-cid-aomsn35f]{border-radius:var(--border-radius);border:1px solid var(--border-color);max-width:none}lite-youtube[data-astro-cid-aomsn35f]:before{display:none}lite-youtube[data-astro-cid-aomsn35f]>.lty-playbtn{position:absolute;inset:0;margin:auto;height:auto;filter:none;width:min(100px,12vw);aspect-ratio:1;isolation:isolate;background-color:var(--neutral-light-000);background-size:40%;background-repeat:no-repeat;background-position:calc(50% + 2px) center;border-radius:var(--radius-circle);background-image:var(--play-btn-svg);box-shadow:0 0 15px var(--neutral-dark-200);transform:scale(1);transition:transform .4s var(--ease-out)}.yt-wrapper[data-astro-cid-aomsn35f][data-slotted] .lty-playbtn{opacity:0}lite-youtube[data-astro-cid-aomsn35f]:hover .lty-playbtn{transform:scale(1.05)}.heading[data-astro-cid-u4qoyrkz]{max-width:var(--heading-max, 60ch);line-height:var(--line-height-heading)}.text-center[data-astro-cid-u4qoyrkz] .heading[data-astro-cid-u4qoyrkz]{margin-inline:auto}span[data-astro-cid-u4qoyrkz]{display:block}.text-center[data-astro-cid-u4qoyrkz] .heading-eyebrow[data-astro-cid-u4qoyrkz]{margin-inline:auto}.heading-eyebrow[data-astro-cid-u4qoyrkz]{width:fit-content}.heading-eyebrow[data-astro-cid-u4qoyrkz]+[data-astro-cid-u4qoyrkz]{margin-top:var(--space-xs)}.heading[data-astro-cid-u4qoyrkz]>a[data-astro-cid-u4qoyrkz]{text-decoration:none;display:inline-block}.heading[data-astro-cid-u4qoyrkz]:is(p){line-height:var(--line-height)} img[data-astro-cid-jbhojhg7]{width:100%} .logo-marquee[data-astro-cid-h2jlyvcc]{--_speed: 60s;--_gap: 3rem;display:flex;flex-wrap:nowrap;overflow:hidden;gap:var(--_gap);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 15%,rgba(0,0,0,1) 85%,rgba(0,0,0,0) 100%)}.logo-marquee[data-astro-cid-h2jlyvcc] :is(picture,img,svg){width:clamp(8rem,1.2vw,10rem);height:100%;max-height:var(--logo-height, 4rem);object-fit:contain}.logo-marquee[data-astro-cid-h2jlyvcc] ul[data-astro-cid-h2jlyvcc]{flex-shrink:0;display:flex;align-items:center;justify-content:space-around;flex-wrap:nowrap;gap:var(--_gap);min-width:100%;animation:ticker var(--_speed) linear infinite}.logo-marquee[data-astro-cid-h2jlyvcc]:where(.reverse) ul[data-astro-cid-h2jlyvcc]{animation-direction:reverse}@keyframes ticker{0%{transform:translate(calc(var(--_gap) * -1))}to{transform:translate(calc(-100% - var(--_gap) * 2))}} .logo-wall[data-astro-cid-6y2sa4q5]{--grid-min: 10rem;--grid-gap: 2rem;--grid-justify: center;display:grid;grid-template-columns:repeat(var(--repeat, var(--count, 6)),1fr);gap:clamp(var(--space-m),4vw,var(--space-xl));margin-inline:auto;inline-size:fit-content}.logo-wall[data-astro-cid-6y2sa4q5] :is(picture,img,svg){width:min(10rem,100%);height:min(5rem,100%);aspect-ratio:5/3;object-fit:contain}@media (max-width: 30rem){.sm-wrap[data-astro-cid-6y2sa4q5]{--repeat: 3;padding-inline:var(--space-l)}} .prose[data-astro-cid-cnvtppup]{max-width:var(--prose-max-width, 100%)} .cta-group[data-astro-cid-sc466a3x]{align-items:var(--ctas-align, center)}.button[data-astro-cid-sc466a3x]{width:var(--cta-min-width)} .cta-arrow-link:hover{--_icon-x: 2px}.cta-arrow-link svg{--button-icon-size: .7em;transform:rotate(var(--_icon-rotate, 0)) translate(var(--_icon-x, 0));transition:transform .2s var(--ease-out)}.cta-arrow-link[href*="//"]:not([href*="netlify.com"]){--_icon-rotate: -45deg}.cta-arrow-link[href^="#"]{--_icon-rotate: 90deg} .button[data-astro-cid-tcbm7f7q][data-icon-name=arrow][data-icon-position=inline-end]:hover{--_icon-x: 2px}.button[data-astro-cid-tcbm7f7q][data-icon-name=arrow] svg[data-astro-cid-tcbm7f7q]{--button-icon-size: .7em;transform:rotate(var(--_icon-rotate, 0)) translate(var(--_icon-x, 0));transition:transform .2s var(--ease-out)}.button[data-astro-cid-tcbm7f7q][data-icon-name=arrow][data-icon-position=inline-end][href*="//"]:not([href*="netlify.com"]){--_icon-rotate: -45deg}.button[data-astro-cid-tcbm7f7q][data-icon-name=arrow][data-icon-position=inline-end][href^="#"]{--_icon-rotate: 90deg}.button[data-astro-cid-tcbm7f7q]::-webkit-details-marker{display:none} </style><script type="module" src="/_astro/hoisted.Bdx3fTGv.js"></script></head> <body> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T7WNFLD" height="0" width="0" style="display:none;visibility:hidden"> </iframe></noscript> <header class="site-header"> <script id="announcement-render" data-announcement-url="https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow" data-announcement-hide-after="2024-12-05"> (function () { const storageUrl = localStorage.getItem('Netlify_hide-announcement-bar'); const scriptTarget = document.querySelector('#announcement-render'); if (!scriptTarget) return; const url = scriptTarget.getAttribute('data-announcement-url'); const hideAfter = scriptTarget.getAttribute('data-announcement-hide-after'); function isExpired(date) { if (!date) return; let hideAfterSplit = date.split(/[^\d]/).map((entry) => parseInt(entry, 10)); let compareDate = new Date(hideAfterSplit[0], hideAfterSplit[1] - 1, hideAfterSplit[2] + 1); return compareDate && new Date() > compareDate; } if (storageUrl === url || isExpired(hideAfter)) { document.documentElement.setAttribute('data-announcement-state', 'hidden'); } })(); </script> <div class="announcement-bar" data-href="https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow" data-astro-cid-o54ltyzl> <p data-astro-cid-o54ltyzl><span data-astro-cid-o54ltyzl>Gartner recognizes Netlify as a Visionary in </span> <a href="https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow" id="cta-header-announcementBar" data-astro-cid-o54ltyzl>2024 Gartner® Magic Quadrant™ for Cloud Application Platforms > </a></p> <button class="close" type="reset" id="cta-header-announcementBar-close" data-astro-cid-o54ltyzl> <span class="visually-hidden" data-astro-cid-o54ltyzl>Close announcement bar</span> <svg width="0.75em" height="1em" viewBox="0 0 384 512" aria-hidden="true" style="--button-icon-size: 1.25rem" data-astro-cid-o54ltyzl data-icon="close"> <use xlink:href="#ai:local:close"></use> </svg> </button> </div> <section class="wrapper | l-breakout"> <nav id="site-nav" class="site-navigation" aria-labelledby="site-nav-label" data-astro-cid-2ioqeek6> <h2 id="site-nav-label" class="visually-hidden" data-astro-cid-2ioqeek6>Site navigation</h2> <a id="mainNav-netlifyLogo" href="/" data-astro-cid-jwiz4kkf> <span class="visually-hidden" data-astro-cid-jwiz4kkf>Go to homepage</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 209" fill="none" aria-hidden="true" data-astro-cid-jwiz4kkf> <g clip-path="url(#clip0_235_8)" data-astro-cid-jwiz4kkf> <path d="M117.436 207.036V154.604L118.529 153.51H129.452L130.545 154.604V207.036L129.452 208.13H118.529L117.436 207.036Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M117.436 53.5225V1.09339L118.529 0H129.452L130.545 1.09339V53.5225L129.452 54.6159H118.529L117.436 53.5225Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M69.9539 169.238H68.4094L60.6869 161.512V159.967L78.7201 141.938L86.8976 141.942L87.9948 143.031V151.209L69.9539 169.238Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M69.9462 38.8917H68.4017L60.6792 46.6181V48.1626L78.7124 66.192L86.8899 66.1882L87.9871 65.0986V56.9212L69.9462 38.8917Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M1.09339 97.5104H75.3711L76.4645 98.6038V109.526L75.3711 110.62H1.09339L0 109.526V98.6038L1.09339 97.5104Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M440.999 97.5104H510.91L512.004 98.6038V109.526L510.91 110.62H436.633L435.539 109.526L439.905 98.6038L440.999 97.5104Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M212.056 108.727L210.963 109.821H177.079L175.986 110.914C175.986 113.101 178.173 119.657 186.916 119.657C190.196 119.657 193.472 118.564 194.566 116.377L195.659 115.284H208.776L209.869 116.377C208.776 122.934 203.313 132.774 186.916 132.774C168.336 132.774 159.589 119.657 159.589 104.357C159.589 89.0576 168.332 75.9408 185.822 75.9408C203.313 75.9408 212.056 89.0576 212.056 104.357V108.731V108.727ZM195.659 97.7971C195.659 96.7037 194.566 89.0538 185.822 89.0538C177.079 89.0538 175.986 96.7037 175.986 97.7971L177.079 98.8905H194.566L195.659 97.7971Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M242.66 115.284C242.66 117.47 243.753 118.564 245.94 118.564H255.776L256.87 119.657V130.587L255.776 131.681H245.94C236.103 131.681 227.36 127.307 227.36 115.284V91.2368L226.266 90.1434H218.617L217.523 89.05V78.1199L218.617 77.0265H226.266L227.36 75.9332V66.0965L228.453 65.0031H241.57L242.663 66.0965V75.9332L243.757 77.0265H255.78L256.874 78.1199V89.05L255.78 90.1434H243.757L242.663 91.2368V115.284H242.66Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M283.1 131.681H269.983L268.889 130.587V56.2636L269.983 55.1702H283.1L284.193 56.2636V130.587L283.1 131.681Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M312.61 68.2871H299.493L298.399 67.1937V56.2636L299.493 55.1702H312.61L313.703 56.2636V67.1937L312.61 68.2871ZM312.61 131.681H299.493L298.399 130.587V78.1237L299.493 77.0304H312.61L313.703 78.1237V130.587L312.61 131.681Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M363.98 56.2636V67.1937L362.886 68.2871H353.05C350.863 68.2871 349.769 69.3805 349.769 71.5672V75.9408L350.863 77.0342H361.793L362.886 78.1276V89.0576L361.793 90.151H350.863L349.769 91.2444V130.591L348.676 131.684H335.559L334.466 130.591V91.2444L333.372 90.151H325.723L324.629 89.0576V78.1276L325.723 77.0342H333.372L334.466 75.9408V71.5672C334.466 59.5438 343.209 55.1702 353.046 55.1702H362.882L363.976 56.2636H363.98Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M404.42 132.774C400.046 143.704 395.677 150.261 380.373 150.261H374.906L373.813 149.167V138.237L374.906 137.144H380.373C385.836 137.144 386.929 136.05 388.023 132.77V131.677L370.536 89.05V78.1199L371.63 77.0265H381.466L382.56 78.1199L395.677 115.284H396.77L409.887 78.1199L410.98 77.0265H420.817L421.91 78.1199V89.05L404.424 132.77L404.42 132.774Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M135.454 131.681L134.361 130.587L134.368 98.9172C134.368 93.4541 132.22 89.2182 125.625 89.0806C122.234 88.9926 118.354 89.0729 114.209 89.2488L113.59 89.8834L113.598 130.587L112.504 131.681H99.3913L98.2979 130.587V77.5388L99.3913 76.4454L128.901 76.1778C143.685 76.1778 149.668 86.3356 149.668 97.8009V130.587L148.575 131.681H135.454Z" class="text" data-astro-cid-jwiz4kkf></path> </g> <defs data-astro-cid-jwiz4kkf> <clipPath id="clip0_235_8" data-astro-cid-jwiz4kkf> <rect width="512" height="208.126" fill="white" data-astro-cid-jwiz4kkf></rect> </clipPath> </defs> </svg> </a> <a class="skip-to-content" href="#main" data-astro-cid-2ioqeek6>Skip to content</a> <ul data-variant="compact" class="menu" role="list" data-astro-cid-2ioqeek6> <li data-astro-cid-2ioqeek6> <button id="main-nav-compact-search" class="site-search-toggle" data-site-search-open class="search-toggle" data-astro-cid-3dk7mn5f> <span class="visually-hidden" data-astro-cid-3dk7mn5f>Search</span> <svg width="16" height="20" viewBox="0 0 22 24" aria-hidden="true" data-astro-cid-3dk7mn5f data-icon="search"> <symbol id="ai:local:search"><path fill="currentcolor" d="M9.413.473a9.081 9.081 0 0 1 6.454 15.47l5.526 5.524-2.122 2.121-5.872-5.872A9.081 9.081 0 1 1 9.413.472m0 3a6.081 6.081 0 1 0 0 12.162 6.081 6.081 0 0 0 0-12.162"/></symbol><use xlink:href="#ai:local:search"></use> </svg> </button> </li> <li data-astro-cid-2ioqeek6> <a id="main-nav-compact-login" href="https://app.netlify.com/login" data-astro-cid-2ioqeek6> Log in </a> </li> </ul> <button id="main-nav-compact-hamburger" type="button" class="nav-toggle" aria-expanded="false" aria-controls="main-menu" data-site-nav-toggle data-astro-cid-qsvltxvz> <span class="visually-hidden" data-astro-cid-qsvltxvz>Toggle main menu</span> <svg width="1.24em" height="1em" viewBox="0 0 31 25" aria-hidden="true" data-astro-cid-qsvltxvz data-icon="menu"> <symbol id="ai:local:menu"><path fill="currentcolor" d="M.581.719h30v4h-30zm0 10h30v4h-30zm0 10h30v4h-30z"/></symbol><use xlink:href="#ai:local:menu"></use> </svg> </button> <ul class="menu" role="list" data-astro-cid-2ioqeek6> <li class="has-submenu" data-astro-cid-2ioqeek6> <span id="main-nav-platform" data-astro-cid-2ioqeek6>Platform</span> <submenu-utils data-astro-cid-sdvpe5d5> <button class="submenu-toggle" aria-haspopup="true" aria-expanded="false" data-astro-cid-sdvpe5d5> <span class="visually-hidden" data-astro-cid-sdvpe5d5>Toggle platform submenu</span> <svg width="1em" height="1em" viewBox="0 0 512 512" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="chevron"> <use xlink:href="#ai:local:chevron"></use> </svg> </button> <div id="platform-submenu" class="submenu" data-theme="light" data-astro-cid-sdvpe5d5> <div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>The Netlify Platform</h3> <p><strong>Instantly build and deploy</strong> your sites to our global network from Git. Custom domains, https, deploy previews, rollbacks and much more.</p> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-explore-the-platform" href="/platform/" data-astro-cid-sdvpe5d5> Explore the platform </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-netlify-connect" href="/platform/connect/" data-astro-cid-sdvpe5d5> Netlify Connect </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-netlify-core" href="/platform/core/" data-astro-cid-sdvpe5d5> Netlify Core </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-netlify-create" href="/platform/create/" data-astro-cid-sdvpe5d5> Netlify Create </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Key Features</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-platform-primitives" href="/platform/primitives/" data-astro-cid-sdvpe5d5> Platform Primitives </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-enterprise-team-management" href="/platform/core/enterprise-team-management/" data-astro-cid-sdvpe5d5> Enterprise Team Management </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-sdk" href="/platform/software-development-kit/" data-astro-cid-sdvpe5d5> SDK </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-security" href="/security/" data-astro-cid-sdvpe5d5> Security </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-edge-functions" href="/platform/core/edge/#edge-functions/" data-astro-cid-sdvpe5d5> Edge Functions </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-analytics" href="/platform/core/analytics/" data-astro-cid-sdvpe5d5> Analytics </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-deploy-previews" href="/platform/core/deploy-previews/" data-astro-cid-sdvpe5d5> Deploy Previews </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-split-testing" href="https://docs.netlify.com/site-deploys/split-testing/" data-astro-cid-sdvpe5d5> Split Testing </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-forms" href="/platform/core/forms/" data-astro-cid-sdvpe5d5> Forms </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-integrations" href="/integrations/" data-astro-cid-sdvpe5d5> Integrations </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-changelog" href="/changelog/" data-astro-cid-sdvpe5d5> Changelog </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Ecosystem</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-tech-partners" href="/partners/technology/" data-astro-cid-sdvpe5d5> Tech Partners </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-agency-partners" href="/partners/agency/" data-astro-cid-sdvpe5d5> Agency Partners </a> </li> </ul> </div> </div> </submenu-utils> </li><li class="has-submenu" data-astro-cid-2ioqeek6> <span id="main-nav-solutions" data-astro-cid-2ioqeek6>Solutions</span> <submenu-utils data-astro-cid-sdvpe5d5> <button class="submenu-toggle" aria-haspopup="true" aria-expanded="false" data-astro-cid-sdvpe5d5> <span class="visually-hidden" data-astro-cid-sdvpe5d5>Toggle solutions submenu</span> <svg width="1em" height="1em" viewBox="0 0 512 512" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="chevron"> <use xlink:href="#ai:local:chevron"></use> </svg> </button> <div id="solutions-submenu" class="submenu" data-theme="light" data-astro-cid-sdvpe5d5> <div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Why Netlify?</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-resources-guides" href="/resources/" data-astro-cid-sdvpe5d5> Resources & Guides </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-customers" href="/customers/" data-astro-cid-sdvpe5d5> Customers </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-case-studies" href="/resources/case-studies/" data-astro-cid-sdvpe5d5> Case Studies </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-roi-calculator" href="/roi-calculator/" data-astro-cid-sdvpe5d5> ROI Calculator </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-security-at-netlify" href="/security/" data-astro-cid-sdvpe5d5> Security at Netlify </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-whitepaper" href="/whitepaper/" data-astro-cid-sdvpe5d5> Whitepaper </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Use Cases</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-company-websites" href="/for/company-websites/" data-astro-cid-sdvpe5d5> Company Websites </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-e-commerce" href="/for/ecommerce/" data-astro-cid-sdvpe5d5> E-commerce </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-web-apps" href="/for/web-applications/" data-astro-cid-sdvpe5d5> Web Apps </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-large-sites" href="/blog/2020/06/16/building-large-sites-on-netlify/" data-astro-cid-sdvpe5d5> Large Sites </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Don't see your solution?</h3> <p><strong>Don’t see your solution? </strong>We can help. <a href="https://www.netlify.com/enterprise/contact/?attr=homepage&ref=&id=nav-solutions-chat-with-netlify-expert">Chat with a Netlify expert</a></p> </div> </div> </submenu-utils> </li><li class="" data-astro-cid-2ioqeek6> <a id="main-nav-integrations" href="/integrations/" data-astro-cid-2ioqeek6> Integrations </a> </li><li class="has-submenu" data-astro-cid-2ioqeek6> <span id="main-nav-start-building" data-astro-cid-2ioqeek6>Start Building</span> <submenu-utils data-astro-cid-sdvpe5d5> <button class="submenu-toggle" aria-haspopup="true" aria-expanded="false" data-astro-cid-sdvpe5d5> <span class="visually-hidden" data-astro-cid-sdvpe5d5>Toggle start building submenu</span> <svg width="1em" height="1em" viewBox="0 0 512 512" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="chevron"> <use xlink:href="#ai:local:chevron"></use> </svg> </button> <div id="start-building-submenu" class="submenu" data-theme="light" data-astro-cid-sdvpe5d5> <div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Where to start</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-docs" href="https://docs.netlify.com/" data-astro-cid-sdvpe5d5> Docs </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-developer-hub" href="https://developers.netlify.com/" data-astro-cid-sdvpe5d5> Developer Hub </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-templates" href="/integrations/templates/" data-astro-cid-sdvpe5d5> Templates </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-composable-commerce-101" href="/composable-commerce/" data-astro-cid-sdvpe5d5> Composable Commerce 101 </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-work-with-a-partner-agency" href="/agency-directory/" data-astro-cid-sdvpe5d5> Work with a Partner Agency </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Project kickstarts</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <svg width="0.8em" height="1em" viewBox="0 0 85 107" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="astro"> <symbol id="ai:local:astro"><path fill="currentColor" d="M27.59 91.137c-4.834-4.42-6.246-13.704-4.232-20.43 3.492 4.241 8.33 5.584 13.342 6.343 7.737 1.17 15.336.732 22.523-2.804.822-.405 1.582-.943 2.48-1.489.675 1.957.85 3.932.615 5.943-.573 4.896-3.01 8.678-6.885 11.545-1.55 1.147-3.19 2.172-4.79 3.253-4.917 3.323-6.247 7.22-4.4 12.888.044.139.084.277.183.614-2.51-1.124-4.344-2.76-5.742-4.911-1.475-2.27-2.177-4.78-2.214-7.498-.019-1.322-.019-2.656-.197-3.96-.434-3.178-1.926-4.601-4.737-4.683-2.884-.084-5.166 1.699-5.771 4.507-.046.216-.113.429-.18.68zM0 69.587s14.314-6.973 28.668-6.973L39.49 29.12c.405-1.62 1.588-2.72 2.924-2.72s2.518 1.1 2.924 2.72L56.16 62.614c17 0 28.668 6.973 28.668 6.973S60.514 3.352 60.467 3.219C59.769 1.261 58.591 0 57.003 0H27.827c-1.588 0-2.718 1.261-3.464 3.22C24.311 3.35 0 69.586 0 69.586"/></symbol><use xlink:href="#ai:local:astro"></use> </svg> <a id="nav-astro" href="https://docs.netlify.com/frameworks/astro/" data-astro-cid-sdvpe5d5> Astro </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="nextjs"> <symbol id="ai:local:nextjs"><path fill="currentcolor" d="M11.573 0a5 5 0 0 0-.359.007L10.85.04c-3.407.307-6.6 2.146-8.622 4.972a11.9 11.9 0 0 0-2.119 5.243c-.096.659-.108.854-.108 1.747s.012 1.089.108 1.748c.652 4.506 3.86 8.292 8.209 9.695.779.25 1.6.422 2.534.525.363.04 1.935.04 2.299 0 1.611-.178 2.977-.577 4.323-1.264.207-.106.247-.134.219-.158-.02-.013-.9-1.193-1.955-2.62l-1.919-2.592-2.404-3.558a339 339 0 0 0-2.422-3.556c-.009-.002-.018 1.579-.023 3.51-.007 3.38-.01 3.515-.052 3.595a.43.43 0 0 1-.206.214c-.075.037-.14.044-.495.044H7.81l-.108-.068a.44.44 0 0 1-.157-.171l-.05-.106.006-4.703.007-4.705.072-.092a.7.7 0 0 1 .174-.143c.096-.047.134-.051.54-.051.478 0 .558.018.682.154a467 467 0 0 1 2.895 4.361l4.735 7.17 1.9 2.879.096-.063a12.3 12.3 0 0 0 2.466-2.163 11.94 11.94 0 0 0 2.824-6.134c.096-.66.108-.854.108-1.748 0-.893-.012-1.088-.108-1.747-.652-4.506-3.859-8.292-8.208-9.695a12.6 12.6 0 0 0-2.499-.523A33 33 0 0 0 11.573 0m4.068 7.217c.347 0 .408.005.486.047a.47.47 0 0 1 .237.277c.018.06.023 1.365.018 4.304l-.006 4.218-.744-1.14-.746-1.14v-3.066c0-1.982.01-3.097.023-3.15a.48.48 0 0 1 .233-.296c.096-.05.13-.054.5-.054z"/></symbol><use xlink:href="#ai:local:nextjs"></use> </svg> <a id="nav-next-js" href="/with/nextjs/" data-astro-cid-sdvpe5d5> Next.js </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="nuxtjs"> <symbol id="ai:local:nuxtjs"><path fill="currentcolor" d="M13.464 19.83h8.922c.283 0 .562-.073.807-.21a1.6 1.6 0 0 0 .591-.574 1.53 1.53 0 0 0 .216-.783 1.53 1.53 0 0 0-.217-.782L17.792 7.414a1.6 1.6 0 0 0-.591-.573 1.65 1.65 0 0 0-.807-.21c-.283 0-.562.073-.807.21a1.6 1.6 0 0 0-.59.573L13.463 9.99 10.47 4.953a1.6 1.6 0 0 0-.591-.573 1.65 1.65 0 0 0-.807-.21c-.284 0-.562.073-.807.21a1.6 1.6 0 0 0-.591.573L.216 17.481a1.53 1.53 0 0 0-.217.782c0 .275.074.545.216.783a1.6 1.6 0 0 0 .59.574c.246.137.525.21.808.21h5.6c2.22 0 3.856-.946 4.982-2.79l2.733-4.593 1.464-2.457 4.395 7.382h-5.859Zm-6.341-2.46-3.908-.002 5.858-9.842 2.923 4.921-1.957 3.29c-.748 1.196-1.597 1.632-2.916 1.632"/></symbol><use xlink:href="#ai:local:nuxtjs"></use> </svg> <a id="nav-nuxt" href="/with/nuxt/" data-astro-cid-sdvpe5d5> Nuxt </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="gatsby"> <symbol id="ai:local:gatsby"><path fill="currentcolor" d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0m0 2.571c3.171 0 5.915 1.543 7.629 3.858l-1.286 1.115C16.886 5.572 14.571 4.286 12 4.286c-3.343 0-6.171 2.143-7.286 5.143l9.857 9.857c2.486-.857 4.373-3 4.973-5.572h-4.115V12h6c0 4.457-3.172 8.228-7.372 9.17L2.83 9.944C3.772 5.743 7.543 2.57 12 2.57zm-9.429 9.6 9.344 9.258c-2.4-.086-4.801-.943-6.601-2.743s-2.743-4.201-2.743-6.515"/></symbol><use xlink:href="#ai:local:gatsby"></use> </svg> <a id="nav-gatsby" href="/with/gatsby/" data-astro-cid-sdvpe5d5> Gatsby </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="wordpress"> <symbol id="ai:local:wordpress"><path fill="currentcolor" d="M21.469 6.825c.84 1.537 1.318 3.3 1.318 5.175 0 3.979-2.156 7.456-5.363 9.325l3.295-9.527c.615-1.54.82-2.771.82-3.864 0-.405-.026-.78-.07-1.11m-7.981.105c.647-.03 1.232-.105 1.232-.105.582-.075.514-.93-.067-.899 0 0-1.755.135-2.88.135-1.064 0-2.85-.15-2.85-.15-.585-.03-.661.855-.075.885 0 0 .54.061 1.125.09l1.68 4.605-2.37 7.08L5.354 6.9c.649-.03 1.234-.1 1.234-.1.585-.075.516-.93-.065-.896 0 0-1.746.138-2.874.138-.2 0-.438-.008-.69-.015C4.911 3.15 8.235 1.215 12 1.215c2.809 0 5.365 1.072 7.286 2.833-.046-.003-.091-.009-.141-.009-1.06 0-1.812.923-1.812 1.914 0 .89.513 1.643 1.06 2.531.411.72.89 1.643.89 2.977 0 .915-.354 1.994-.821 3.479l-1.075 3.585-3.9-11.61zM12 22.784c-1.059 0-2.081-.153-3.048-.437l3.237-9.406 3.315 9.087q.036.078.078.149c-1.12.393-2.325.609-3.582.609M1.211 12c0-1.564.336-3.05.935-4.39L7.29 21.709A10.79 10.79 0 0 1 1.211 12M12 0C5.385 0 0 5.385 0 12s5.385 12 12 12 12-5.385 12-12S18.615 0 12 0"/></symbol><use xlink:href="#ai:local:wordpress"></use> </svg> <a id="nav-wordpress" href="/with/wordpress/" data-astro-cid-sdvpe5d5> Wordpress </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="react"> <symbol id="ai:local:react"><path fill="currentcolor" d="M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236m2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38a2.17 2.17 0 0 0-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44a23.5 23.5 0 0 0-3.107-.534A24 24 0 0 0 12.769 4.7c1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442a23 23 0 0 0-3.113.538 15 15 0 0 1-.254-1.42c-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05q.684.704 1.36 1.564c-.44-.02-.89-.034-1.345-.034q-.691-.001-1.36.034c.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093q.61.874 1.183 1.86.557.961 1.018 1.946c-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87a25.6 25.6 0 0 1-4.412.005 27 27 0 0 1-1.183-1.86q-.557-.961-1.018-1.946a25 25 0 0 1 1.013-1.954c.38-.66.773-1.286 1.18-1.868A25 25 0 0 1 12 8.098zm-3.635.254c-.24.377-.48.763-.704 1.16q-.336.585-.635 1.174c-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0q1.044.153 2.006.387c-.18.632-.405 1.282-.66 1.933a26 26 0 0 0-1.345-2.32zm3.063.675q.727.226 1.375.498c1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493a24 24 0 0 0-1.1-2.98c.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98a23 23 0 0 0-1.086 2.964c-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474s1.12-1.742 2.852-2.476c.42-.18.88-.342 1.356-.494m11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39a26 26 0 0 0 1.341-2.338zm-9.945.02c.2.392.41.783.64 1.175q.345.586.705 1.143a22 22 0 0 1-2.006-.386c.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295a1.2 1.2 0 0 1-.553-.132c-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64q.661.032 1.345.034.691.001 1.36-.034c-.44.572-.895 1.095-1.345 1.565q-.684-.706-1.36-1.565"/></symbol><use xlink:href="#ai:local:react"></use> </svg> <a id="nav-react" href="/with/react/" data-astro-cid-sdvpe5d5> React </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="vue"> <symbol id="ai:local:vue"><path fill="currentcolor" d="M24 1.61h-9.94L12 5.16 9.94 1.61H0l12 20.78ZM12 14.08 5.16 2.23h4.43L12 6.41l2.41-4.18h4.43Z"/></symbol><use xlink:href="#ai:local:vue"></use> </svg> <a id="nav-vue" href="/with/vue/" data-astro-cid-sdvpe5d5> Vue </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="svelte"> <symbol id="ai:local:svelte"><path fill="currentcolor" d="M10.354 21.125a4.44 4.44 0 0 1-4.765-1.767 4.1 4.1 0 0 1-.703-3.107 4 4 0 0 1 .134-.522l.105-.321.287.21a7.2 7.2 0 0 0 2.186 1.092l.208.063-.02.208a1.25 1.25 0 0 0 .226.83 1.34 1.34 0 0 0 1.435.533 1.2 1.2 0 0 0 .343-.15l5.59-3.562a1.16 1.16 0 0 0 .524-.778 1.24 1.24 0 0 0-.211-.937 1.34 1.34 0 0 0-1.435-.533 1.2 1.2 0 0 0-.343.15l-2.133 1.36a4 4 0 0 1-1.135.499 4.44 4.44 0 0 1-4.765-1.766 4.1 4.1 0 0 1-.702-3.108 3.86 3.86 0 0 1 1.742-2.582l5.589-3.563a4 4 0 0 1 1.135-.499 4.44 4.44 0 0 1 4.765 1.767 4.1 4.1 0 0 1 .703 3.107 4 4 0 0 1-.134.522l-.105.321-.286-.21a7.2 7.2 0 0 0-2.187-1.093l-.208-.063.02-.207a1.25 1.25 0 0 0-.226-.831 1.34 1.34 0 0 0-1.435-.532 1.2 1.2 0 0 0-.343.15L8.62 9.368a1.16 1.16 0 0 0-.524.778 1.24 1.24 0 0 0 .211.937 1.34 1.34 0 0 0 1.435.533 1.2 1.2 0 0 0 .344-.151l2.132-1.36a4 4 0 0 1 1.135-.498 4.44 4.44 0 0 1 4.765 1.766 4.1 4.1 0 0 1 .702 3.108 3.86 3.86 0 0 1-1.742 2.583l-5.589 3.562a4 4 0 0 1-1.135.499m10.358-17.95C18.484-.015 14.082-.96 10.9 1.068L5.31 4.63a6.4 6.4 0 0 0-2.896 4.295 6.75 6.75 0 0 0 .666 4.336 6.4 6.4 0 0 0-.96 2.396 6.83 6.83 0 0 0 1.168 5.167c2.229 3.19 6.63 4.135 9.812 2.108l5.59-3.562a6.4 6.4 0 0 0 2.896-4.295 6.76 6.76 0 0 0-.665-4.336 6.4 6.4 0 0 0 .958-2.396 6.83 6.83 0 0 0-1.167-5.168"/></symbol><use xlink:href="#ai:local:svelte"></use> </svg> <a id="nav-svelte" href="/with/svelte/" data-astro-cid-sdvpe5d5> Svelte </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 50 50" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="sitecore"> <symbol id="ai:local:sitecore"><path fill="currentColor" d="M25 2C12.317 2 2 12.318 2 25s10.317 23 23 23 23-10.318 23-23S37.683 2 25 2m0 6c9.374 0 17 7.626 17 17s-7.626 17-17 17S8 34.374 8 25 15.626 8 25 8m9.244 5.21-6.531 4.546.426.73c.007.015.821 1.435.861 3.514.033 1.654 0 9-11 9-3 0-7-1-7-1s3 3 11 3c10.842 0 10.999-11.512 11-12.002l.004-.996L39.133 20a15.1 15.1 0 0 0-4.889-6.79m.694 8.79C34.629 25.204 32.804 35 22 35c-3.375 0-6.494-.665-8.883-1.379C14.864 34.993 18.375 37 24 37c7.335 0 11.096-6.431 11.133-6.496l.53-.93 2.849 1.899A14.9 14.9 0 0 0 40 25a15 15 0 0 0-.322-3zm1.343 10.389C34.845 34.386 30.792 39 24 39c-2.383 0-4.43-.335-6.166-.836A14.85 14.85 0 0 0 25 40c5.236 0 9.847-2.701 12.531-6.777z"/></symbol><use xlink:href="#ai:local:sitecore"></use> </svg> <a id="nav-sitecore" href="/with/sitecore/" data-astro-cid-sdvpe5d5> Sitecore </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true" data-astro-cid-sdvpe5d5 data-icon="jamstack"> <symbol id="ai:local:jamstack"><path fill="currentcolor" d="M12 0C5.365 0 0 5.364 0 12s5.365 12 12 12 12-5.364 12-12V0zm.496 3.318h8.17v8.17h-8.17zm-9.168 9.178h8.16v8.149c-4.382-.257-7.904-3.767-8.16-8.149m9.168.016h8.152a8.684 8.684 0 0 1-8.152 8.148z"/></symbol><use xlink:href="#ai:local:jamstack"></use> </svg> <a id="nav-jamstack" href="/jamstack/" data-astro-cid-sdvpe5d5> Jamstack </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-more" href="/integrations/frameworks/" data-astro-cid-sdvpe5d5> +More </a> </li> </ul> </div> </div> </submenu-utils> </li><li class="" data-astro-cid-2ioqeek6> <a id="main-nav-docs" href="https://docs.netlify.com/" data-astro-cid-2ioqeek6> Docs </a> </li><li class="" data-astro-cid-2ioqeek6> <a id="main-nav-pricing" href="/pricing/" data-astro-cid-2ioqeek6> Pricing </a> </li><li class="nav-search" data-astro-cid-2ioqeek6> <button id="cta-main-nav-search" class="site-search-toggle" data-site-search-open class="search-toggle" data-astro-cid-3dk7mn5f> <span class="visually-hidden" data-astro-cid-3dk7mn5f>Search</span> <svg width="16" height="20" viewBox="0 0 22 24" aria-hidden="true" data-astro-cid-3dk7mn5f data-icon="search"> <use xlink:href="#ai:local:search"></use> </svg> </button> </li><li class="" data-astro-cid-2ioqeek6> <a id="main-nav-contact" href="/contact/" data-astro-cid-2ioqeek6> Contact </a> </li><li class="" data-astro-cid-2ioqeek6> <a id="main-nav-login" href="https://app.netlify.com/login" data-astro-cid-2ioqeek6> Log in </a> </li> </ul> <a id="signup" href="https://app.netlify.com/signup" class="button" data-type="primary" data-astro-cid-2ioqeek6> Sign up</a> </nav> <site-search class="className" data-astro-cid-pkfvzmd6> <dialog id="site-search-dialog" class="l-center" data-theme="light" data-astro-cid-pkfvzmd6> <button class="close" type="reset" onclick="this.closest('dialog').close('cancel')" data-astro-cid-pkfvzmd6> <span class="visually-hidden" data-astro-cid-pkfvzmd6>Close search modal</span> <svg width="0.75em" height="1em" viewBox="0 0 384 512" aria-hidden="true" data-astro-cid-pkfvzmd6 data-icon="close"> <symbol id="ai:local:close"><path fill="currentcolor" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3l105.4 105.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256z"/></symbol><use xlink:href="#ai:local:close"></use> </svg> </button> <div class="l-center l-stack" data-astro-cid-pkfvzmd6> <div class="search-input" data-astro-cid-pkfvzmd6> <label class="visually-hidden" for="site-search" data-astro-cid-pkfvzmd6>Search Netlify:</label> <input id="site-search" type="text" placeholder="Start typing to search" autofocus data-astro-cid-pkfvzmd6> </div> <article class="results" data-astro-cid-pkfvzmd6></article> </div> </dialog> </site-search> <script src="https://cdn.jsdelivr.net/npm/algoliasearch@4.17.0/dist/algoliasearch-lite.umd.js" integrity="sha256-Lf9DrpGmcRip6OQzbcL6lnvNmoZNSKpyQX5pMlwatWE=" crossorigin="anonymous" defer></script> </section> <script> const header = document.querySelector('.site-header'); document.documentElement.style.setProperty('--site-header-height', `${header.getBoundingClientRect().height}px`); const resizeObserver = new ResizeObserver(([el]) => { document.documentElement.style.setProperty('--site-header-height', `${el.contentRect.height}px`); }); header && resizeObserver.observe(header); </script> </header> <main id="main"> <div class="l-stack l-stack-3xl"><section class="pancake | l-section pancake-background-clip pancake-margin-top-override" data-sb-field-path="GZpQT76vrL14dXDLi338hK:pancakes.0" data-theme="dark-gradient" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-0);--padding-block-start: var(--space-2xl);--pancake-align-items: center;--rotation-gradient-bg: 180deg;"> <div class="shells-wrapper" data-astro-cid-bzu5p77u> <svg class="animated-shells" xmlns="http://www.w3.org/2000/svg" width="1774" height="1991" viewBox="0 0 1774 1991" fill="none" preserveAspectRatio="xMidYMid slice" data-astro-cid-bzu5p77u> <defs data-astro-cid-bzu5p77u> <filter id="filter" data-astro-cid-bzu5p77u> <feGaussianBlur stdDeviation="30" data-astro-cid-bzu5p77u></feGaussianBlur> </filter> <mask id="glow-mask" data-astro-cid-bzu5p77u> <ellipse cx="50%" cy="18%" rx="45%" ry="20%" fill="white" filter="url(#filter)" data-astro-cid-bzu5p77u></ellipse> </mask> </defs> <g style="--i:3" data-astro-cid-bzu5p77u> <path class="shell-glow" stroke="#5D8DF5" stroke-width="2" d="M804.549 27.023c49.543-33.793 114.727-33.793 164.269 0l739.922 504.69a145.764 145.764 0 0 1 63.63 120.417v687.13c0 48.19-23.82 93.27-63.63 120.42l-739.922 504.69c-49.542 33.79-114.726 33.79-164.269 0L64.626 1459.68C24.816 1432.53 1 1387.45 1 1339.26V652.13a145.761 145.761 0 0 1 63.626-120.417L804.55 27.023Z" data-astro-cid-bzu5p77u></path> <path stroke="#5D8DF5" stroke-width="2" d="M804.549 27.023c49.543-33.793 114.727-33.793 164.269 0l739.922 504.69a145.764 145.764 0 0 1 63.63 120.417v687.13c0 48.19-23.82 93.27-63.63 120.42l-739.922 504.69c-49.542 33.79-114.726 33.79-164.269 0L64.626 1459.68C24.816 1432.53 1 1387.45 1 1339.26V652.13a145.761 145.761 0 0 1 63.626-120.417L804.55 27.023Z" data-astro-cid-bzu5p77u></path> </g> <g style="--i:2" data-astro-cid-bzu5p77u> <path class="shell-glow" stroke="#5D8DF5" stroke-width="2" d="M830.92 334.27c33.843-23.084 78.371-23.084 112.215 0l505.455 344.764a99.58 99.58 0 0 1 43.46 82.259v469.397c0 32.91-16.27 63.71-43.46 82.26l-505.455 344.76c-33.844 23.08-78.372 23.08-112.215 0l-505.456-344.76A99.588 99.588 0 0 1 282 1230.69V761.293a99.573 99.573 0 0 1 43.464-82.259L830.92 334.27Z" data-astro-cid-bzu5p77u></path> <path stroke="#5D8DF5" stroke-width="2" d="M830.92 334.27c33.843-23.084 78.371-23.084 112.215 0l505.455 344.764a99.58 99.58 0 0 1 43.46 82.259v469.397c0 32.91-16.27 63.71-43.46 82.26l-505.455 344.76c-33.844 23.08-78.372 23.08-112.215 0l-505.456-344.76A99.588 99.588 0 0 1 282 1230.69V761.293a99.573 99.573 0 0 1 43.464-82.259L830.92 334.27Z" data-astro-cid-bzu5p77u></path> </g> <g style="--i:1" data-astro-cid-bzu5p77u> <path class="shell-glow" stroke="#5D8DF5" stroke-width="2" d="M842.199 556.24c26.718-18.238 61.884-18.238 88.602 0l326.919 223.156a78.578 78.578 0 0 1 34.28 64.901V1146.7c0 25.97-12.83 50.26-34.28 64.9l-326.918 223.16c-26.719 18.24-61.885 18.24-88.603 0L515.278 1211.6A78.576 78.576 0 0 1 481 1146.7V844.297a78.582 78.582 0 0 1 34.278-64.901L842.199 556.24Z" data-astro-cid-bzu5p77u></path> <path stroke="#5D8DF5" stroke-width="2" d="M842.199 556.24c26.718-18.238 61.884-18.238 88.602 0l326.919 223.156a78.578 78.578 0 0 1 34.28 64.901V1146.7c0 25.97-12.83 50.26-34.28 64.9l-326.918 223.16c-26.719 18.24-61.885 18.24-88.603 0L515.278 1211.6A78.576 78.576 0 0 1 481 1146.7V844.297a78.582 78.582 0 0 1 34.278-64.901L842.199 556.24Z" data-astro-cid-bzu5p77u></path> </g> </svg> </div> <picture class="pancake-graphics" data-options="" gradientAngle="180" data-astro-cid-5mutinvq data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-large" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-0);--padding-block-start: var(--space-2xl);--pancake-align-items: center;--rotation-gradient-bg: 180deg;"> <div class="ingredient l-breakout ingredient-section-header" data-astro-cid-gfez5emt style="--stack-space: var(--space-xl);"> <div class="b-heading text-center" data-sb-field-path=".ingredients.0" _key="60babea5-8a90-43c5-a904-950d7d972277" marginTop="--space-xl" _type="sectionHeader" data-astro-cid-wk2votdk style="--heading-max: 16ch;--supporting-space: var(--space-l);"> <h1 class="heading" data-sb-field-path=".heading" data-astro-cid-wk2votdk>Connect everything. Build anything.</h1> <div class="prose l-stack l-stack-medium supporting font-heading text-05 font-semilight" data-sb-field-path=".supporting.content" data-astro-cid-cnvtppup style="--prose-max-width: 50ch;"> <p>Netlify is the essential platform for the delivery of exceptional and dynamic web experiences, without limitations.</p> </div> </div> </div> <div class="ingredient l-breakout ingredient-call-to-action-group" data-astro-cid-gfez5emt style=""> <div class="cta-group | l-cluster" data-sb-field-path=".ingredients.1" data-cta-min-width="true" data-astro-cid-sc466a3x style="--cluster-justify: center;--cluster-gap: var(undefined);--cta-min-width: 200px;"> <a class="button" data-type="primary" id="cta-hero-deployNetlify" href="https://app.netlify.com/signup" data-sb-field-path=".items.0" data-astro-cid-sc466a3x>Deploy to Netlify</a><a class="button" data-type="default" id="cta-hero-request-demo" href="/contact/" data-sb-field-path=".items.1" data-astro-cid-sc466a3x>Request demo</a> </div> </div> <div class="ingredient l-breakout ingredient-video" data-astro-cid-gfez5emt style="--stack-space: var(--space-3xl);--max-width: 720px;"> <div class="yt-wrapper" data-sb-object-id="afb57220-be11-4878-ab85-14c33ad2271a" data-astro-cid-aomsn35f style="--border-radius: var(--radius-xl);--border-color: var(--blue-400);--play-btn-svg: url("data:image/svg+xml, %3Csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 384 512'%3E%3Cpath fill='%23316bf4' d='M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80v352c0 17.4 9.4 33.4 24.5 41.9S58.2 482 73 473l288-176c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z' /%3E%3C/svg%3E");"><lite-youtube videoid="tJ95Q2ETMA4" params="rel=0" playlabel="Play the video" data-astro-cid-aomsn35f style="background-image: url('https://cdn.sanity.io/images/o0o2tn5x/marketing/54f5f60b443c699580c6789ffb7b48515ded8368-1600x901.png?auto=format');"> <a href="https://youtube.com/watch?v=tJ95Q2ETMA4" class="lty-playbtn"> <span class="lyt-visually-hidden">Play the video</span> </a> </lite-youtube> </div> </div> </div> </section> <section class="pancake | l-section pancake-margin-top-override" data-sb-field-path="GZpQT76vrL14dXDLi338hK:pancakes.1" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-xl);--padding-block-start: var(--space-s);"> <div class="pancake-content | l-stack l-stack-large" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-xl);--padding-block-start: var(--space-s);"> <div class="ingredient l-breakout ingredient-section-header" data-astro-cid-gfez5emt style=""> <div class="b-heading text-center" data-sb-field-path=".ingredients.0" _key="0bd04ae8-0027-46f0-8a01-de2c485c22b5" _type="sectionHeader" data-astro-cid-wk2votdk style="--supporting-max: 72ch;--heading-space: var(--space-s);--subheading-space: var(--space-l);--supporting-space: var(--space-l);"> <h2 class="heading" data-sb-field-path=".heading" data-astro-cid-wk2votdk>Netlify Composable Web Platform</h2> <div class="prose l-stack l-stack-medium supporting text-05" data-sb-field-path=".supporting.content" data-astro-cid-cnvtppup style="--prose-max-width: 72ch;"> <p>Streamlined orchestration, simplified and unified workflows, and real-time updates across infrastructure, workflows, websites and teams — all supported by Enterprise-grade security, services, and a world-class partner ecosystem.</p> </div> </div> </div> </div> </section> <section class="pancake | l-section" data-sb-field-path="GZpQT76vrL14dXDLi338hK:pancakes.2" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="ingredient l-breakout ingredient-columns" data-astro-cid-gfez5emt style=""> <div class="l-grid ingredient-columns" data-sb-field-path=".ingredients.0" style="--grid-gap:var(--space-l);--grid-min:320px;--grid-align:stretch" data-astro-cid-fsqfrxl4> <div data-sb-field-path=".columns.0" class="column l-stack l-stack-medium" style="" data-astro-cid-fsqfrxl4> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="card | l-flex-stack l-stack-small" data-options="" data-sb-field-path=".items.0" data-astro-cid-dohjnao5> <div class="ingredient" data-astro-cid-gfez5emt style=""> <h2 data-sb-field-path=".items.0" data-astro-cid-u4qoyrkz class="heading l-stack l-stack-3xs font-heading text-2 font-semibold text-left"><span class="heading-eyebrow c-badge" data-mode="light" data-type="light" data-size="small" data-color="teal" data-astro-cid-u4qoyrkz> Frontend Cloud </span> <span data-astro-cid-u4qoyrkz style="">Deploy faster</span> </h2> </div> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="prose l-stack text-left l-stack-medium" data-sb-field-path=".items.1" data-astro-cid-cnvtppup style=""> <p>Netlify Core is a frontend cloud solution for developers to build and deploy future-proof digital solutions with modern, composable tooling that works with all modern frameworks.</p> </div> </div> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="cta-group | l-cluster" data-sb-field-path=".items.2" data-cta-min-width="false" data-astro-cid-sc466a3x style="--cluster-justify: flex-start;--cluster-gap: var(undefined);--cta-min-width: auto;"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" id="cta-learn-more-deploy-faster" data-sb-field-path=".items.0" href="/platform/core/" data-astro-cid-sc466a3x data-astro-cid-tcbm7f7q class="button cta-arrow-link"> <span data-astro-cid-tcbm7f7q>Learn more about Core</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q data-astro-cid-patnjmll class="icon" data-icon="arrow"> <use xlink:href="#ai:local:arrow"></use> </svg></span> </a> </div> </div> </div> </div> </div><div data-sb-field-path=".columns.1" class="column l-stack l-stack-medium" style="" data-astro-cid-fsqfrxl4> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="card | l-flex-stack l-stack-small" data-options="" data-sb-field-path=".items.0" data-astro-cid-dohjnao5> <div class="ingredient" data-astro-cid-gfez5emt style=""> <h2 data-sb-field-path=".items.0" data-astro-cid-u4qoyrkz class="heading l-stack l-stack-3xs font-heading text-2 font-semibold text-left"><span class="heading-eyebrow c-badge" data-mode="light" data-type="light" data-size="small" data-color="blue" data-astro-cid-u4qoyrkz> Data Layer </span> <span data-astro-cid-u4qoyrkz style="">Unify all content</span> </h2> </div> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="prose l-stack l-stack-medium" data-sb-field-path=".items.1" data-astro-cid-cnvtppup style=""> <p>Netlify Connect is a data unification layer that gives web teams the freedom to create world-class websites, online stores, and applications with data from any existing or new content source.</p> </div> </div> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="cta-group | l-cluster" data-sb-field-path=".items.2" data-cta-min-width="false" data-astro-cid-sc466a3x style="--cluster-justify: flex-start;--cluster-gap: var(undefined);--cta-min-width: auto;"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" id="cta-learn-more-connect" data-sb-field-path=".items.0" href="/platform/connect/" data-astro-cid-sc466a3x data-astro-cid-tcbm7f7q class="button cta-arrow-link"> <span data-astro-cid-tcbm7f7q>Learn more about Connect</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q data-astro-cid-patnjmll class="icon" data-icon="arrow"> <use xlink:href="#ai:local:arrow"></use> </svg></span> </a> </div> </div> </div> </div> </div><div data-sb-field-path=".columns.2" class="column l-stack l-stack-medium" style="" data-astro-cid-fsqfrxl4> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="card | l-flex-stack l-stack-small" data-options="repel-last-element" data-sb-field-path=".items.0" data-astro-cid-dohjnao5> <div class="ingredient" data-astro-cid-gfez5emt style=""> <h2 data-sb-field-path=".items.0" data-astro-cid-u4qoyrkz class="heading l-stack l-stack-3xs font-heading text-2 font-semibold text-left"><span class="heading-eyebrow c-badge" data-mode="light" data-type="light" data-size="small" data-color="gold" data-astro-cid-u4qoyrkz> Visual Editor </span> <span data-astro-cid-u4qoyrkz style="">Click, edit, publish</span> </h2> </div> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="prose l-stack l-stack-medium" data-sb-field-path=".items.1" data-astro-cid-cnvtppup style=""> <p>Netlify Create gives digital teams the freedom to autonomously perform content and website updates faster than ever before with an intuitive visual editor.</p> </div> </div> <div class="ingredient" data-astro-cid-gfez5emt style=""> <div class="cta-group | l-cluster" data-sb-field-path=".items.2" data-cta-min-width="false" data-astro-cid-sc466a3x style="--cluster-justify: flex-start;--cluster-gap: var(undefined);--cta-min-width: auto;"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" id="cta-learn-more-create" data-sb-field-path=".items.0" href="/platform/create/" data-astro-cid-sc466a3x data-astro-cid-tcbm7f7q class="button cta-arrow-link"> <span data-astro-cid-tcbm7f7q>Learn more about Create</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q data-astro-cid-patnjmll class="icon" data-icon="arrow"> <use xlink:href="#ai:local:arrow"></use> </svg></span> </a> </div> </div> </div> </div> </div> </div> </div> <div class="ingredient l-breakout ingredient-call-to-action-group" data-astro-cid-gfez5emt style="--stack-space: var(--space-2xl);"> <div class="cta-group | l-cluster" data-sb-field-path=".ingredients.1" data-cta-min-width="false" data-astro-cid-sc466a3x style="--cluster-justify: center;--cluster-gap: var(undefined);--cta-min-width: auto;"> <a class="button" data-type="primary" id="cta-explore-the-platform" href="/platform/" data-sb-field-path=".items.0" data-astro-cid-sc466a3x>Explore the Platform</a> </div> </div> </div> </section> <section class="pancake | l-section" data-sb-field-path="GZpQT76vrL14dXDLi338hK:pancakes.3" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style=""> <h2 data-sb-field-path=".ingredients.0" data-astro-cid-u4qoyrkz class="heading l-stack l-stack-3xs font-heading text-3 font-semibold text-center"><span data-astro-cid-u4qoyrkz style="">Enterprises run on Netlify</span> </h2> </div> <div class="ingredient l-breakout ingredient-logos" data-astro-cid-gfez5emt style=""> <div class="l-center l-stack" data-astro-cid-tzrpxpba> <ul class="logo-wall sm-wrap" data-astro-cid-6y2sa4q5 style="--count: 6;"> <li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/df62149fee08730c0d664943078437649341b583-300x90.svg?auto=format" alt="Twilio" height="90" width="300" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/0c25c71163009a8a7940e6cab7a176d666885c4c-200x200.svg?auto=format" alt="Mattel" height="200" width="200" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/c92b6f3d27e27e28affcd30703c80f519c1b8d35-272x92.svg?auto=format" alt="Google" height="92" width="272" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/0fa2bd154991146f4dfd419ae1d787ad0d5d3e4e-423x118.svg?auto=format" alt="Riot Games" height="118" width="423" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/6a412c7df6a81641a5e0d77b13889d52f9601455-207x229.svg?auto=format" alt="Unilever" height="229" width="207" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/b2b8dc8bba4b51ee053b7c82f342f7208bc641fc-828x244.svg?auto=format" alt="Peloton" height="244" width="828" data-astro-cid-tzrpxpba> </li> </ul> </div> </div> </div> </section> <section class="pancake | l-section" data-sb-field-path="GZpQT76vrL14dXDLi338hK:pancakes.4" data-astro-cid-5mutinvq style="--breakout-area: content;"> <picture class="pancake-graphics" data-options="" data-astro-cid-5mutinvq data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="ingredient l-breakout ingredient-import" data-astro-cid-gfez5emt style=""> <div class="dev-pancake-bg" data-astro-cid-hpyyxts7> <div class="dev-pancake-bg-shapes | l-center l-overlay-stack" data-astro-cid-hpyyxts7> <svg xmlns="http://www.w3.org/2000/svg" width="373" height="169" fill="none" viewBox="0 0 373 169" data-astro-cid-hpyyxts7> <mask id="a" fill="#fff" data-astro-cid-hpyyxts7> <path fill-rule="evenodd" d="M105 9H38v16h67V9Zm0 19H38v15h67V28ZM38 60V45h67v15H38Zm0 3v15h67V63H38Zm0 33V81h67v15H38Zm0 3v15h67V99H38Zm0 32v-15h67v15H38Zm0 3v17h67v-17H38Z" clip-rule="evenodd" data-astro-cid-hpyyxts7></path> </mask> <path class="pull-shape" style="--pull: -35%" fill="#14D8D4" d="M38 9V8h-1v1h1Zm67 0h1V8h-1v1ZM38 25h-1v1h1v-1Zm67 0v1h1v-1h-1Zm-67 3v-1h-1v1h1Zm67 0h1v-1h-1v1ZM38 43h-1v1h1v-1Zm67 0v1h1v-1h-1Zm-67 2v-1h-1v1h1Zm0 15h-1v1h1v-1Zm67-15h1v-1h-1v1Zm0 15v1h1v-1h-1ZM38 78h-1v1h1v-1Zm0-15v-1h-1v1h1Zm67 15v1h1v-1h-1Zm0-15h1v-1h-1v1ZM38 81v-1h-1v1h1Zm0 15h-1v1h1v-1Zm67-15h1v-1h-1v1Zm0 15v1h1v-1h-1Zm-67 18h-1v1h1v-1Zm0-15v-1h-1v1h1Zm67 15v1h1v-1h-1Zm0-15h1v-1h-1v1Zm-67 17v-1h-1v1h1Zm0 15h-1v1h1v-1Zm67-15h1v-1h-1v1Zm0 15v1h1v-1h-1Zm-67 3v-1h-1v1h1Zm0 17h-1v1h1v-1Zm67 0v1h1v-1h-1Zm0-17h1v-1h-1v1ZM38 10h67V8H38v2Zm1 15V9h-2v16h2Zm66-1H38v2h67v-2Zm-1-15v16h2V9h-2ZM38 29h67v-2H38v2Zm1 14V28h-2v15h2Zm66-1H38v2h67v-2Zm-1-14v15h2V28h-2ZM37 45v15h2V45h-2Zm68-1H38v2h67v-2Zm1 16V45h-2v15h2Zm-68 1h67v-2H38v2Zm1 17V63h-2v15h2Zm66-1H38v2h67v-2Zm-1-14v15h2V63h-2Zm-66 1h67v-2H38v2Zm-1 17v15h2V81h-2Zm68-1H38v2h67v-2Zm1 16V81h-2v15h2Zm-68 1h67v-2H38v2Zm1 17V99h-2v15h2Zm66-1H38v2h67v-2Zm-1-14v15h2V99h-2Zm-66 1h67v-2H38v2Zm-1 16v15h2v-15h-2Zm68-1H38v2h67v-2Zm1 16v-15h-2v15h2Zm-68 1h67v-2H38v2Zm-1 2v17h2v-17h-2Zm1 18h67v-2H38v2Zm68-1v-17h-2v17h2Zm-1-18H38v2h67v-2Z" mask="url(#a)" data-astro-cid-hpyyxts7></path> <path stroke="#14D8D4" d="M338 157c6 6 16 6 22 0 7-6 7-16 1-22l-70-70c-6-6-16-6-22 0s-7 16 0 23l69 69Z" data-astro-cid-hpyyxts7></path> <circle cx="177.6" cy="123.1" r="5" stroke="#14D8D4" data-astro-cid-hpyyxts7></circle> <path fill="#14D8D4" fill-rule="evenodd" d="M6 85a4 4 0 0 0 0 9v1a5 5 0 0 1 0-11v1Zm5 4Z" clip-rule="evenodd" data-astro-cid-hpyyxts7></path> <g class="pull-shape" style="--pull: -35%" data-astro-cid-hpyyxts7> <path stroke="#14D8D4" d="m224 47-46 46-46-46 46-45z" data-astro-cid-hpyyxts7></path> <path stroke="#14D8D4" d="m206 47-28 28-27-28 27-27z" data-astro-cid-hpyyxts7></path> </g> </svg> <svg width="283" height="401" viewBox="0 0 283 401" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-hpyyxts7> <g class="pull-shape" style="--pull: -25%" data-astro-cid-hpyyxts7> <path d="M112.464 231.008L192.458 231.008C192.193 253.151 174.382 271.008 152.461 271.008C130.54 271.008 112.728 253.151 112.464 231.008Z" stroke="#14D8D4" data-astro-cid-hpyyxts7></path> </g> <mask id="path-2-inside-1_307_351" fill="white" data-astro-cid-hpyyxts7> <path fill-rule="evenodd" clip-rule="evenodd" d="M192.961 328.508H72.9609L72.9609 400.508H92.9609C92.9609 378.417 110.87 360.508 132.961 360.508C155.052 360.508 172.961 378.417 172.961 400.508H192.961V328.508Z" data-astro-cid-hpyyxts7></path> </mask> <path class="pull-shape" style="--pull: -5%" d="M72.9609 328.508V327.508H71.9609V328.508H72.9609ZM192.961 328.508H193.961V327.508H192.961V328.508ZM72.9609 400.508H71.9609V401.508H72.9609V400.508ZM92.9609 400.508L92.9609 401.508H93.9609L93.9609 400.508H92.9609ZM172.961 400.508H171.961V401.508H172.961V400.508ZM192.961 400.508V401.508H193.961V400.508H192.961ZM72.9609 329.508H192.961V327.508H72.9609V329.508ZM73.9609 400.508L73.9609 328.508H71.9609L71.9609 400.508H73.9609ZM92.9609 399.508H72.9609V401.508H92.9609L92.9609 399.508ZM132.961 359.508C110.317 359.508 91.9609 377.864 91.9609 400.508H93.9609C93.9609 378.969 111.422 361.508 132.961 361.508V359.508ZM173.961 400.508C173.961 377.864 155.605 359.508 132.961 359.508V361.508C154.5 361.508 171.961 378.969 171.961 400.508H173.961ZM192.961 399.508H172.961V401.508H192.961V399.508ZM191.961 328.508V400.508H193.961V328.508H191.961Z" fill="#14D8D4" mask="url(#path-2-inside-1_307_351)" data-astro-cid-hpyyxts7></path> <circle cx="193.961" cy="287.508" r="4.5" stroke="#14D8D4" data-astro-cid-hpyyxts7></circle> <path class="pull-shape" style="--pull: -15%" fill-rule="evenodd" clip-rule="evenodd" d="M228.961 191.508C228.961 191.508 228.961 191.508 228.961 191.508C228.961 189.299 227.17 187.508 224.961 187.508C222.752 187.508 220.961 189.299 220.961 191.508C220.961 191.508 220.961 191.508 220.961 191.508H219.961C219.961 191.508 219.961 191.508 219.961 191.508C219.961 188.747 222.2 186.508 224.961 186.508C227.722 186.508 229.961 188.747 229.961 191.508C229.961 191.508 229.961 191.508 229.961 191.508H228.961Z" fill="#14D8D4" data-astro-cid-hpyyxts7></path> <path class="pull-shape" style="--pull: -45%" fill-rule="evenodd" clip-rule="evenodd" d="M80.461 275.008C80.461 275.008 80.4609 275.008 80.4609 275.008C78.2518 275.008 76.4609 276.799 76.4609 279.008C76.4609 281.217 78.2518 283.008 80.4609 283.008C80.4609 283.008 80.461 283.008 80.461 283.008L80.461 284.008C80.461 284.008 80.4609 284.008 80.4609 284.008C77.6995 284.008 75.4609 281.77 75.4609 279.008C75.4609 276.247 77.6995 274.008 80.4609 274.008C80.4609 274.008 80.461 274.008 80.461 274.008L80.461 275.008Z" fill="#14D8D4" data-astro-cid-hpyyxts7></path> <path d="M82.254 103.741C88.3582 109.845 98.3226 109.792 104.51 103.605C110.698 97.4171 110.751 87.4527 104.647 81.3485L35.0744 11.7762C28.9702 5.67197 19.0058 5.72517 12.8183 11.9127C6.63073 18.1002 6.57753 28.0646 12.6817 34.1688L82.254 103.741Z" stroke="#14D8D4" data-astro-cid-hpyyxts7></path> <g class="pull-shape" style="--pull: -35%" data-astro-cid-hpyyxts7> <rect x="199.449" y="177.997" width="64.977" height="64.977" transform="rotate(-180 199.449 177.997)" stroke="#14D8D4" data-astro-cid-hpyyxts7></rect> <rect x="186.253" y="164.801" width="38.5862" height="38.5862" transform="rotate(-180 186.253 164.801)" stroke="#14D8D4" data-astro-cid-hpyyxts7></rect> </g> <mask id="path-10-inside-2_307_351" fill="white" data-astro-cid-hpyyxts7> <path fill-rule="evenodd" clip-rule="evenodd" d="M282.56 257.531H215.924V273.926H282.56V257.531ZM282.56 276.625H215.924V291.67H282.56V276.625ZM215.924 309.414V294.369H282.56V309.414H215.924ZM215.924 312.113V327.159H282.56V312.113H215.924ZM215.924 344.903V329.857H282.56V344.903H215.924ZM215.924 347.602V362.647H282.56V347.602H215.924ZM215.924 380.391L215.924 365.346H282.56V380.391H215.924ZM215.924 383.09V399.485H282.56V383.09H215.924Z" data-astro-cid-hpyyxts7></path> </mask> <path class="pull-shape" style="--pull: -15%" d="M215.924 257.531V256.531H214.924V257.531H215.924ZM282.56 257.531H283.56V256.531H282.56V257.531ZM215.924 273.926H214.924V274.926H215.924V273.926ZM282.56 273.926V274.926H283.56V273.926H282.56ZM215.924 276.625V275.625H214.924V276.625H215.924ZM282.56 276.625H283.56V275.625H282.56V276.625ZM215.924 291.67H214.924V292.67H215.924V291.67ZM282.56 291.67V292.67H283.56V291.67H282.56ZM215.924 294.369V293.369H214.924V294.369H215.924ZM215.924 309.414H214.924V310.414H215.924V309.414ZM282.56 294.369H283.56V293.369H282.56V294.369ZM282.56 309.414V310.414H283.56V309.414H282.56ZM215.924 327.159H214.924V328.159H215.924V327.159ZM215.924 312.113V311.113H214.924V312.113H215.924ZM282.56 327.159V328.159H283.56V327.159H282.56ZM282.56 312.113H283.56V311.113H282.56V312.113ZM215.924 329.857V328.857H214.924V329.857H215.924ZM215.924 344.903H214.924V345.903H215.924V344.903ZM282.56 329.857H283.56V328.857H282.56V329.857ZM282.56 344.903V345.903H283.56V344.903H282.56ZM215.924 362.647H214.924V363.647H215.924V362.647ZM215.924 347.602V346.602H214.924V347.602H215.924ZM282.56 362.647V363.647H283.56V362.647H282.56ZM282.56 347.602H283.56V346.602H282.56V347.602ZM215.924 365.346V364.346H214.924V365.346H215.924ZM215.924 380.391H214.924V381.391H215.924V380.391ZM282.56 365.346H283.56V364.346H282.56V365.346ZM282.56 380.391V381.391H283.56V380.391H282.56ZM215.924 383.09V382.09H214.924V383.09H215.924ZM215.924 399.485H214.924V400.485H215.924V399.485ZM282.56 399.485V400.485H283.56V399.485H282.56ZM282.56 383.09H283.56V382.09H282.56V383.09ZM215.924 258.531H282.56V256.531H215.924V258.531ZM216.924 273.926V257.531H214.924V273.926H216.924ZM282.56 272.926H215.924V274.926H282.56V272.926ZM281.56 257.531V273.926H283.56V257.531H281.56ZM215.924 277.625H282.56V275.625H215.924V277.625ZM216.924 291.67V276.625H214.924V291.67H216.924ZM282.56 290.67H215.924V292.67H282.56V290.67ZM281.56 276.625V291.67H283.56V276.625H281.56ZM214.924 294.369V309.414H216.924V294.369H214.924ZM282.56 293.369H215.924V295.369H282.56V293.369ZM283.56 309.414V294.369H281.56V309.414H283.56ZM215.924 310.414H282.56V308.414H215.924V310.414ZM216.924 327.159V312.113H214.924V327.159H216.924ZM282.56 326.159H215.924V328.159H282.56V326.159ZM281.56 312.113V327.159H283.56V312.113H281.56ZM215.924 313.113H282.56V311.113H215.924V313.113ZM214.924 329.857V344.903H216.924V329.857H214.924ZM282.56 328.857H215.924V330.857H282.56V328.857ZM283.56 344.903V329.857H281.56V344.903H283.56ZM215.924 345.903H282.56V343.903H215.924V345.903ZM216.924 362.647V347.602H214.924V362.647H216.924ZM282.56 361.647H215.924V363.647H282.56V361.647ZM281.56 347.602V362.647H283.56V347.602H281.56ZM215.924 348.602H282.56V346.602H215.924V348.602ZM214.924 365.346L214.924 380.391H216.924L216.924 365.346H214.924ZM282.56 364.346H215.924V366.346H282.56V364.346ZM283.56 380.391V365.346H281.56V380.391H283.56ZM215.924 381.391H282.56V379.391H215.924V381.391ZM214.924 383.09V399.485H216.924V383.09H214.924ZM215.924 400.485H282.56V398.485H215.924V400.485ZM283.56 399.485V383.09H281.56V399.485H283.56ZM282.56 382.09H215.924V384.09H282.56V382.09Z" fill="#14D8D4" mask="url(#path-10-inside-2_307_351)" data-astro-cid-hpyyxts7></path> </svg> </div> </div> <div id="dev-pancake" class="dev-pancake-wrapper | l-center" data-theme="dark" data-sb-object-id="src/data/dev-pancake.json" data-astro-cid-bthvj2cz> <article class="dev-pancake-window" data-astro-cid-bthvj2cz> <section class="dev-pancake-content | l-flex-stack" data-astro-cid-bthvj2cz> <h2 class="text-3" data-astro-cid-bthvj2cz> <span data-sb-field-path=".headingStart" data-astro-cid-bthvj2cz>Ship your</span> <span class="dev-pancake-dynamic-text" data-theme="light" data-astro-cid-bthvj2cz>e-commerce site</span> <span data-sb-field-path=".headingEnd" data-astro-cid-bthvj2cz>in just a few clicks</span> </h2> <p data-sb-field-path=".supporting" data-astro-cid-bthvj2cz>Spin up a new project, or connect an existing, and explore rollbacks, CI/CD, edge functions, collaborative deploy previews, and more.</p> <div class="l-cluster" data-astro-cid-bthvj2cz> <a id="cta-dev-pancake-read-docs" class="button" data-type="default" href="https://docs.netlify.com/" data-sb-field-path=".ctas.0" data-astro-cid-bthvj2cz> Read the docs </a><a id="cta-dev-pancake-dev-hub" class="button" data-type="default" href="https://developers.netlify.com/" data-sb-field-path=".ctas.1" data-astro-cid-bthvj2cz> Developer Hub </a> </div> </section> <section class="dev-pancake-code" data-astro-cid-bthvj2cz> <the-tabs class="dev-pancake-tabs" data-astro-cid-bthvj2cz> <div role="tablist" data-astro-cid-bthvj2cz> <button id="cta-dev-code-tabs-e-commerce-site" role="tab" data-type="reset" aria-selected="true" data-astro-cid-bthvj2cz> <svg width="1.13em" height="1em" viewBox="0 0 576 512" class="icon" data-astro-cid-bthvj2cz data-icon="store"> <symbol id="ai:local:store"><path fill="currentcolor" d="m547.6 103.8-57.3-90.7C485.2 5 476.1 0 466.4 0H109.6c-9.7 0-18.8 5-23.9 13.1l-57.4 90.7c-29.6 46.8-3.4 111.9 51.9 119.4 4 .5 8.1.8 12.1.8 26.1 0 49.3-11.4 65.2-29 15.9 17.6 39.1 29 65.2 29s49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29 26.2 0 49.3-11.4 65.2-29 16 17.6 39.1 29 65.2 29 4.1 0 8.1-.3 12.1-.8 55.5-7.4 81.8-72.5 52.1-119.4zm-47.9 151.1h-.1c-5.3.7-10.7 1.1-16.2 1.1-12.4 0-24.3-1.9-35.4-5.3V384H128V250.6c-11.2 3.5-23.2 5.4-35.6 5.4-5.5 0-11-.4-16.3-1.1H76c-4.1-.6-8.1-1.3-12-2.3V448c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V252.6c-4 1-8 1.8-12.3 2.3"/></symbol><use xlink:href="#ai:local:store"></use> </svg> <h3 data-sb-field-path="templates.0.title" class="tab-title | text-0 font-bold" data-astro-cid-bthvj2cz> e-commerce site </h3> </button><button id="cta-dev-code-tabs-ai-chatbot" role="tab" data-type="reset" data-astro-cid-bthvj2cz> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon" data-astro-cid-bthvj2cz data-icon="sparkles"> <symbol id="ai:local:sparkles"><path fill="currentcolor" d="M327.5 85.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L384 128l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L448 128l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L448 64 426.8 7.5C425.1 3 420.8 0 416 0s-9.1 3-10.8 7.5L384 64zM9.3 240c-5.7 2.6-9.3 8.3-9.3 14.6s3.6 11.9 9.3 14.5l17 7.9 8.1 3.7.6.3 88.3 40.8 40.8 88.2.3.6 3.7 8.1 7.9 17.1c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l7.9-17.1 3.7-8.1.3-.6 40.8-88.3L346 281l.6-.3 8.1-3.7 17.1-7.9c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-17.1-7.9-8.1-3.7-.6-.3-88.3-40.8L217 99.1l-.3-.6-3.7-8.2-7.9-17.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-7.9 17.1-3.7 8.1-.3.6-40.8 88.3-88.3 40.8-.6.3-8.1 3.7zm83 14.5 51.2-23.6c10.4-4.8 18.7-13.1 23.5-23.5l23.6-51.2 23.6 51.2c4.8 10.4 13.1 18.7 23.5 23.5l51.2 23.6-51.2 23.6c-10.4 4.8-18.7 13.1-23.5 23.5l-23.6 51.2-23.6-51.2c-4.8-10.4-13.1-18.7-23.5-23.5l-51.2-23.5zM384 384l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L384 448l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L448 448l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L448 384l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5z"/></symbol><use xlink:href="#ai:local:sparkles"></use> </svg> <h3 data-sb-field-path="templates.1.title" class="tab-title | text-0 font-bold" data-astro-cid-bthvj2cz> AI chatbot </h3> </button><button id="cta-dev-code-tabs-landing-page" role="tab" data-type="reset" data-astro-cid-bthvj2cz> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon" data-astro-cid-bthvj2cz data-icon="browser"> <symbol id="ai:local:browser"><path fill="currentcolor" d="M.3 89.5C.1 91.6 0 93.8 0 96v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64c-2.2 0-4.4.1-6.5.3-9.2.9-17.8 3.8-25.5 8.2-10.2 6-18.6 14.6-24.3 25-3.9 7.3-6.5 15.4-7.4 24M48 160h416v256c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16z"/></symbol><use xlink:href="#ai:local:browser"></use> </svg> <h3 data-sb-field-path="templates.2.title" class="tab-title | text-0 font-bold" data-astro-cid-bthvj2cz> landing page </h3> </button><button id="cta-dev-code-tabs-edge-function" role="tab" data-type="reset" data-astro-cid-bthvj2cz> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon" data-astro-cid-bthvj2cz data-icon="lambda"> <symbol id="ai:local:lambda"><path fill="currentcolor" d="M32 32C14.3 32 0 46.3 0 64s14.3 32 32 32h108.2l16.4 32.7L18.8 434.9c-7.3 16.1-.1 35.1 16 42.3s35.1.1 42.3-16l116.4-258.6 121 242c10.8 21.7 33 35.4 57.2 35.4H416c17.7 0 32-14.3 32-32s-14.3-32-32-32h-44.2L197.5 67.4c-10.9-21.7-33-35.4-57.3-35.4z"/></symbol><use xlink:href="#ai:local:lambda"></use> </svg> <h3 data-sb-field-path="templates.3.title" class="tab-title | text-0 font-bold" data-astro-cid-bthvj2cz> edge function </h3> </button> </div> <div class="dev-pancake-tabs-panel-wrapper text--1" data-astro-cid-bthvj2cz> <div data-sb-field-path="templates.0.code" role="tabpanel" data-astro-cid-bthvj2cz> <div data-astro-cid-bthvj2cz class="astro-jgrc2lfe"> <pre class="astro-code dracula-soft" style="background-color:#282A36;color:#f6f6f4; overflow-x: auto;" tabindex="0" data-language="js"><code><span class="line"><span style="color:#F286C4">export</span><span style="color:#F286C4"> function</span><span style="color:#62E884"> CartMain</span><span style="color:#F6F6F4">({</span><span style="color:#FFB86C;font-style:italic">layout</span><span style="color:#F6F6F4">, </span><span style="color:#FFB86C;font-style:italic">cart</span><span style="color:#F6F6F4">}</span><span style="color:#F286C4">:</span><span style="color:#97E1F1;font-style:italic"> CartMainProps</span><span style="color:#F6F6F4">) {</span></span> <span class="line"><span style="color:#F286C4"> const</span><span style="color:#F6F6F4"> linesCount </span><span style="color:#F286C4">=</span><span style="color:#62E884"> Boolean</span><span style="color:#F6F6F4">(cart?.lines?.nodes?.length </span><span style="color:#F286C4">||</span><span style="color:#BF9EEE"> 0</span><span style="color:#F6F6F4">);</span></span> <span class="line"><span style="color:#F286C4"> const</span><span style="color:#F6F6F4"> withDiscount </span><span style="color:#F286C4">=</span></span> <span class="line"><span style="color:#F6F6F4"> cart </span><span style="color:#F286C4">&&</span></span> <span class="line"><span style="color:#62E884"> Boolean</span><span style="color:#F6F6F4">(cart.discountCodes.</span><span style="color:#62E884">filter</span><span style="color:#F6F6F4">((</span><span style="color:#FFB86C;font-style:italic">code</span><span style="color:#F6F6F4">) </span><span style="color:#F286C4">=></span><span style="color:#F6F6F4"> code.applicable).length);</span></span> <span class="line"><span style="color:#F286C4"> const</span><span style="color:#F6F6F4"> className </span><span style="color:#F286C4">=</span><span style="color:#E7EE98"> `cart-main </span><span style="color:#F286C4">${</span><span style="color:#F6F6F4">withDiscount</span><span style="color:#F286C4"> ?</span><span style="color:#DEE492"> '</span><span style="color:#E7EE98">with-discount</span><span style="color:#DEE492">'</span><span style="color:#F286C4"> :</span><span style="color:#DEE492"> ''</span><span style="color:#F286C4">}</span><span style="color:#E7EE98">`</span><span style="color:#F6F6F4">;</span></span> <span class="line"></span> <span class="line"><span style="color:#F286C4"> return</span><span style="color:#F6F6F4"> (</span></span> <span class="line"><span style="color:#F6F6F4"> <</span><span style="color:#F286C4">div</span><span style="color:#62E884;font-style:italic"> className</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">className</span><span style="color:#F286C4">}</span><span style="color:#F6F6F4">></span></span> <span class="line"><span style="color:#F6F6F4"> <</span><span style="color:#97E1F1;font-style:italic">CartEmpty</span><span style="color:#62E884;font-style:italic"> hidden</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">linesCount</span><span style="color:#F286C4">}</span><span style="color:#62E884;font-style:italic"> layout</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">layout</span><span style="color:#F286C4">}</span><span style="color:#F6F6F4"> /></span></span> <span class="line"><span style="color:#F6F6F4"> <</span><span style="color:#97E1F1;font-style:italic">CartDetails</span><span style="color:#62E884;font-style:italic"> cart</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">cart</span><span style="color:#F286C4">}</span><span style="color:#62E884;font-style:italic"> layout</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">layout</span><span style="color:#F286C4">}</span><span style="color:#F6F6F4"> /></span></span> <span class="line"><span style="color:#F6F6F4"> </</span><span style="color:#F286C4">div</span><span style="color:#F6F6F4">></span></span> <span class="line"><span style="color:#F6F6F4"> );</span></span> <span class="line"><span style="color:#F6F6F4">}</span></span></code></pre> </div> </div><div data-sb-field-path="templates.1.code" role="tabpanel" hidden data-astro-cid-bthvj2cz> <div data-astro-cid-bthvj2cz class="astro-jgrc2lfe"> <pre class="astro-code dracula-soft" style="background-color:#282A36;color:#f6f6f4; overflow-x: auto;" tabindex="0" data-language="js"><code><span class="line"><span style="color:#F286C4">const</span><span style="color:#F6F6F4"> stream </span><span style="color:#F286C4">=</span><span style="color:#F286C4"> await</span><span style="color:#62E884"> getChatStream</span><span style="color:#F6F6F4">(</span></span> <span class="line"><span style="color:#F6F6F4"> {</span></span> <span class="line"><span style="color:#F286C4"> ...</span><span style="color:#F6F6F4">appConfig.apiConfig,</span></span> <span class="line"><span style="color:#F6F6F4"> user</span><span style="color:#F286C4">:</span><span style="color:#F6F6F4"> context.ip,</span></span> <span class="line"><span style="color:#F6F6F4"> messages</span><span style="color:#F286C4">:</span><span style="color:#F6F6F4"> [{ role</span><span style="color:#F286C4">:</span><span style="color:#DEE492"> "</span><span style="color:#E7EE98">system</span><span style="color:#DEE492">"</span><span style="color:#F6F6F4">, content</span><span style="color:#F286C4">:</span><span style="color:#F6F6F4"> prompt }, </span><span style="color:#F286C4">...</span><span style="color:#F6F6F4">messages],</span></span> <span class="line"><span style="color:#F6F6F4"> },</span></span> <span class="line"><span style="color:#F6F6F4"> appConfig.</span><span style="color:#BF9EEE">OPENAI_API_KEY</span><span style="color:#F286C4"> ??</span><span style="color:#DEE492"> ""</span></span> <span class="line"><span style="color:#F6F6F4">);</span></span> <span class="line"><span style="color:#F286C4">return</span><span style="color:#F286C4;font-weight:bold"> new</span><span style="color:#62E884"> Response</span><span style="color:#F6F6F4">(stream, {</span></span> <span class="line"><span style="color:#F6F6F4"> headers</span><span style="color:#F286C4">:</span><span style="color:#F6F6F4"> { </span><span style="color:#DEE492">"</span><span style="color:#E7EE98">Content-Type</span><span style="color:#DEE492">"</span><span style="color:#F286C4">:</span><span style="color:#DEE492"> "</span><span style="color:#E7EE98">text/plain</span><span style="color:#DEE492">"</span><span style="color:#F6F6F4"> },</span></span> <span class="line"><span style="color:#F6F6F4">});</span></span></code></pre> </div> </div><div data-sb-field-path="templates.2.code" role="tabpanel" hidden data-astro-cid-bthvj2cz> <div data-astro-cid-bthvj2cz class="astro-jgrc2lfe"> <pre class="astro-code dracula-soft" style="background-color:#282A36;color:#f6f6f4; overflow-x: auto;" tabindex="0" data-language="js"><code><span class="line"><span style="color:#F286C4">---</span></span> <span class="line"><span style="color:#F286C4">const</span><span style="color:#F6F6F4"> homepage </span><span style="color:#F286C4">=</span><span style="color:#F286C4"> await</span><span style="color:#62E884"> getEntryBySlug</span><span style="color:#F6F6F4">(</span><span style="color:#DEE492">"</span><span style="color:#E7EE98">homepage</span><span style="color:#DEE492">"</span><span style="color:#F6F6F4">, </span><span style="color:#DEE492">"</span><span style="color:#E7EE98">index</span><span style="color:#DEE492">"</span><span style="color:#F6F6F4">);</span></span> <span class="line"><span style="color:#F286C4">const</span><span style="color:#F6F6F4"> { banner, key_features, service, testimonial } </span><span style="color:#F286C4">=</span><span style="color:#F6F6F4"> homepage.data;</span></span> <span class="line"><span style="color:#F286C4">---</span></span> <span class="line"></span> <span class="line"><span style="color:#F6F6F4"><</span><span style="color:#97E1F1;font-style:italic">Base</span><span style="color:#F6F6F4">></span></span> <span class="line"><span style="color:#F6F6F4"> <</span><span style="color:#97E1F1;font-style:italic">Banner</span><span style="color:#62E884;font-style:italic"> banner</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">banner</span><span style="color:#F286C4">}</span><span style="color:#F6F6F4"> /></span></span> <span class="line"><span style="color:#F6F6F4"> <</span><span style="color:#97E1F1;font-style:italic">KeyFeatures</span><span style="color:#62E884;font-style:italic"> key_features</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">key_features</span><span style="color:#F286C4">}</span><span style="color:#F6F6F4"> /></span></span> <span class="line"><span style="color:#F6F6F4"> <</span><span style="color:#97E1F1;font-style:italic">Service</span><span style="color:#62E884;font-style:italic"> service</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">service</span><span style="color:#F286C4">}</span><span style="color:#F6F6F4"> /></span></span> <span class="line"><span style="color:#F6F6F4"> <</span><span style="color:#97E1F1;font-style:italic">Testimonial</span><span style="color:#62E884;font-style:italic"> testimonial</span><span style="color:#F286C4">={</span><span style="color:#F6F6F4">testimonial</span><span style="color:#F286C4">}</span><span style="color:#F6F6F4"> /></span></span> <span class="line"><span style="color:#F6F6F4"> <</span><span style="color:#97E1F1;font-style:italic">Cta</span><span style="color:#F6F6F4"> /></span></span> <span class="line"><span style="color:#F6F6F4"></</span><span style="color:#97E1F1;font-style:italic">Base</span><span style="color:#F6F6F4">></span></span></code></pre> </div> </div><div data-sb-field-path="templates.3.code" role="tabpanel" hidden data-astro-cid-bthvj2cz> <div data-astro-cid-bthvj2cz class="astro-jgrc2lfe"> <pre class="astro-code dracula-soft" style="background-color:#282A36;color:#f6f6f4; overflow-x: auto;" tabindex="0" data-language="js"><code><span class="line"><span style="color:#F286C4">import</span><span style="color:#F286C4"> type</span><span style="color:#F6F6F4"> { Config, Context } </span><span style="color:#F286C4">from</span><span style="color:#DEE492"> "</span><span style="color:#E7EE98">@netlify/edge-functions</span><span style="color:#DEE492">"</span><span style="color:#F6F6F4">;</span></span> <span class="line"></span> <span class="line"><span style="color:#F286C4">export</span><span style="color:#F286C4"> default</span><span style="color:#F286C4"> async</span><span style="color:#F6F6F4"> (</span><span style="color:#FFB86C;font-style:italic">request</span><span style="color:#F286C4">:</span><span style="color:#97E1F1;font-style:italic"> Request</span><span style="color:#F6F6F4">, </span><span style="color:#FFB86C;font-style:italic">context</span><span style="color:#F286C4">:</span><span style="color:#97E1F1;font-style:italic"> Context</span><span style="color:#F6F6F4">) </span><span style="color:#F286C4">=></span><span style="color:#F6F6F4"> {</span></span> <span class="line"><span style="color:#F286C4"> return</span><span style="color:#F6F6F4"> Response.</span><span style="color:#62E884">json</span><span style="color:#F6F6F4">({ geo</span><span style="color:#F286C4">:</span><span style="color:#F6F6F4"> context.geo });</span></span> <span class="line"><span style="color:#F6F6F4">};</span></span> <span class="line"></span> <span class="line"><span style="color:#F286C4">export</span><span style="color:#F286C4"> const</span><span style="color:#F6F6F4"> config</span><span style="color:#F286C4">:</span><span style="color:#97E1F1;font-style:italic"> Config</span><span style="color:#F286C4"> =</span><span style="color:#F6F6F4"> {</span></span> <span class="line"><span style="color:#F6F6F4"> path</span><span style="color:#F286C4">:</span><span style="color:#DEE492"> "</span><span style="color:#E7EE98">/geolocation</span><span style="color:#DEE492">"</span><span style="color:#F6F6F4">,</span></span> <span class="line"><span style="color:#F6F6F4">};</span></span></code></pre> </div> </div> </div> </the-tabs> <footer class="l-cluster" data-astro-cid-bthvj2cz> <a target="_blank" rel="noopener noreferrer" data-sb-field-path=".deployCta" class="dev-pancake-deploy-btn | button" data-type="primary" href="https://app.netlify.com/start/deploy?repository=https://github.com/netlify/hydrogen-template#SESSION_SECRET=mock%20token&PUBLIC_STORE_DOMAIN=mock.shop" id="cta-dev-pancake-deploy-to-netlify" data-astro-cid-bthvj2cz> Deploy to Netlify </a> </footer> </section> </article> <article class="dev-pancake-proofs" data-theme="dark" data-astro-cid-bthvj2cz> <ul role="list" data-astro-cid-bthvj2cz> <li data-sb-field-path=".stats.0" data-astro-cid-bthvj2cz> <h3 class="text-2" data-astro-cid-bthvj2cz>35M+</h3> <p data-astro-cid-bthvj2cz>Websites deployed on Netlify</p> </li><li data-sb-field-path=".stats.1" data-astro-cid-bthvj2cz> <h3 class="text-2" data-astro-cid-bthvj2cz>5M+</h3> <p data-astro-cid-bthvj2cz>Developers</p> </li><li data-sb-field-path=".stats.2" data-astro-cid-bthvj2cz> <h3 class="text-2" data-astro-cid-bthvj2cz>99.99%</h3> <p data-astro-cid-bthvj2cz>Uptime SLA</p> </li> </ul> </article> </div> <script>(function(){const templates = [{"title":"e-commerce site","icon":"store","url":"https://app.netlify.com/start/deploy?repository=https://github.com/netlify/hydrogen-template#SESSION_SECRET=mock%20token&PUBLIC_STORE_DOMAIN=mock.shop","code":{"lang":"js","block":"export function CartMain({layout, cart}: CartMainProps) {\n const linesCount = Boolean(cart?.lines?.nodes?.length || 0);\n const withDiscount =\n cart &&\n Boolean(cart.discountCodes.filter((code) => code.applicable).length);\n const className = `cart-main ${withDiscount ? 'with-discount' : ''}`;\n\n return (\n <div className={className}>\n <CartEmpty hidden={linesCount} layout={layout} />\n <CartDetails cart={cart} layout={layout} />\n </div>\n );\n}"}},{"title":"AI chatbot","icon":"sparkles","url":"https://app.netlify.com/start/deploy?repository=https://github.com/ascorbic/daneel","code":{"lang":"js","block":"const stream = await getChatStream(\n {\n ...appConfig.apiConfig,\n user: context.ip,\n messages: [{ role: \"system\", content: prompt }, ...messages],\n },\n appConfig.OPENAI_API_KEY ?? \"\"\n);\nreturn new Response(stream, {\n headers: { \"Content-Type\": \"text/plain\" },\n});"}},{"title":"landing page","icon":"browser","url":"https://app.netlify.com/start/deploy?repository=https://github.com/themefisher/pinwheel-astro","code":{"lang":"js","block":"---\nconst homepage = await getEntryBySlug(\"homepage\", \"index\");\nconst { banner, key_features, service, testimonial } = homepage.data;\n---\n\n<Base>\n <Banner banner={banner} />\n <KeyFeatures key_features={key_features} />\n <Service service={service} />\n <Testimonial testimonial={testimonial} />\n <Cta />\n</Base>"}},{"title":"edge function","icon":"lambda","url":"https://app.netlify.com/start/deploy?repository=https://github.com/netlify/edge-functions-examples&utm_campaign=devex&utm_source=edge-functions-examples&utm_medium=web&utm_content=Deploy%20Edge%20Functions%20Examples%20to%20Netlify","code":{"lang":"js","block":"import type { Config, Context } from \"@netlify/edge-functions\";\n\nexport default async (request: Request, context: Context) => {\n return Response.json({ geo: context.geo });\n};\n\nexport const config: Config = {\n path: \"/geolocation\",\n};"}}]; const devPancake = document.getElementById('dev-pancake'); const dynamicText = devPancake.querySelector('.dev-pancake-dynamic-text'); const deployBtn = devPancake.querySelector('.dev-pancake-deploy-btn'); const tabsComponent = devPancake.querySelector('the-tabs'); const tabs = devPancake.querySelectorAll('[role="tab"]'); const tabIcons = devPancake.querySelectorAll('[role="tab"] .icon'); const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; let fps = 20; let interval = Math.floor(1000 / fps); let startTime = performance.now(); let prevTime = startTime; let deltaTime = 0; let currentTime = 0; let currentIndex = -1; let animateTextRAF; let cycleTextTimeout; startCycleText(); tabs.forEach((tab, index) => { tab.addEventListener('tab-change', () => { const { title, url } = templates[index]; if (index === currentIndex) return; animateText(title, dynamicText); deployBtn.setAttribute('href', url); currentIndex = index; }); }); function setIconGlow() { tabIcons.forEach((icon, index) => { icon.classList.toggle('is-active', index === currentIndex); }); } function removeIconGlow() { tabIcons.forEach((icon) => icon.classList.remove('is-active')); } function startCycleText() { if (currentIndex === templates.length - 1) { currentIndex = 0; } else { currentIndex++; } let text = templates[currentIndex].title; animateText(text, dynamicText); setIconGlow(); cycleTextTimeout = setTimeout(startCycleText, 2000); } function stopCycleText() { removeIconGlow(); clearTimeout(cycleTextTimeout); cycleTextTimeout = null; } function animateText(text, container) { if (reduceMotion) { container.innerHTML = text; return; } let i = -1; function animate(timestamp) { if (i < text.length) { currentTime = timestamp; deltaTime = currentTime - prevTime; if (deltaTime > interval) { prevTime = currentTime - (deltaTime % interval); container.innerHTML += text.charAt(i); i++; } animateTextRAF = requestAnimationFrame(animate); } } cancelAnimationFrame(animateTextRAF); container.innerHTML = ''; animate(); } const handleTabsFocus = () => { if (cycleTextTimeout) { stopCycleText(); tabsComponent?.removeEventListener('focus', handleTabsFocus, true); } }; tabsComponent?.addEventListener('focus', handleTabsFocus, true); })();</script> </div> </div> </section> <section class="pancake | l-section" data-sb-field-path="GZpQT76vrL14dXDLi338hK:pancakes.5" data-astro-cid-5mutinvq style="--breakout-area: content;"> <picture class="pancake-graphics" data-options="" data-astro-cid-5mutinvq data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="ingredient l-breakout ingredient-customer-story" data-astro-cid-gfez5emt style=""> <article class="customer-story-wrapper | card l-sidebar-first" data-sb-field-path=".ingredients.0" data-astro-cid-4vgfryly> <section class="l-stack" data-theme="dark" data-astro-cid-4vgfryly> <figure class="company-logos" data-astro-cid-skr6yf22> <img src="/assets/logos/full/small/lightmode/logo-netlify-small-monochrome-lightmode.svg" alt="Netlify" data-astro-cid-skr6yf22 class="company-logo" data-astro-cid-jbhojhg7 width="108" height="43" loading="lazy" decoding="async"> <span class="separator" data-astro-cid-skr6yf22></span> <img src="/_astro/a0b089cda9284482a2a0e140b74986a2afde4c47-149x19_Z1tlAJe.svg" alt="Mammut logo" data-sb-field-path=".logo" data-astro-cid-skr6yf22 class="company-logo" data-astro-cid-jbhojhg7 width="149" height="19" loading="lazy" decoding="async"> </figure> <ul class="l-grid checklist" data-sb-field-path=".list.items" data-astro-cid-gt4yj4lj style=""><li data-sb-field-path=".0.content" data-astro-cid-gt4yj4lj style=""><div class="prose l-stack l-stack-medium" data-sb-field-path=".0.content" data-astro-cid-cnvtppup style=""> <p>Increase in developer productivity</p> </div> </li><li data-sb-field-path=".1.content" data-astro-cid-gt4yj4lj style=""><div class="prose l-stack l-stack-medium" data-sb-field-path=".0.content" data-astro-cid-cnvtppup style=""> <p>Increase in site reliability</p> </div> </li><li data-sb-field-path=".2.content" data-astro-cid-gt4yj4lj style=""><div class="prose l-stack l-stack-medium" data-sb-field-path=".0.content" data-astro-cid-cnvtppup style=""> <p>Quality on par with extremely high standards</p> </div> </li></ul> </section> <section class="l-stack" data-astro-cid-4vgfryly> <div class="c-badge" data-mode="light" data-type="light" data-color="blue" data-astro-cid-4vgfryly>Customer Story</div> <h2 class="heading text-1" data-sb-field-path=".heading" data-astro-cid-4vgfryly> Mammut means quality - in brand and in technology </h2> <div class="prose l-stack" data-astro-cid-cnvtppup style=""> <p>Mammut came to Netlify because they needed a performant, interoperable Composable Web Platform that could deliver a best-in-class digital brand experience for their customers. They needed a partner that could keep their site reliable and performant during peak retail season and unexpected traffic spikes.</p> </div> <div data-astro-cid-4vgfryly> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" id="cta-view-the-story" data-sb-field-path=".cta" href="/mammut/" data-astro-cid-4vgfryly data-astro-cid-tcbm7f7q class="button cta-arrow-link"> <span data-astro-cid-tcbm7f7q>View the story</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q data-astro-cid-patnjmll class="icon" data-icon="arrow"> <symbol id="ai:local:arrow"><path fill="currentcolor" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h306.7L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></symbol><use xlink:href="#ai:local:arrow"></use> </svg></span> </a> </div> </section> </article> </div> </div> </section> <section class="pancake | l-section pancake-margin-top-override" data-sb-field-path="GZpQT76vrL14dXDLi338hK:pancakes.6" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-3xl);"> <div class="pancake-content | l-stack l-stack-xl" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-3xl);"> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style=""> <h2 data-sb-field-path=".ingredients.0" data-astro-cid-u4qoyrkz class="heading l-stack l-stack-3xs font-heading text-4 font-semibold text-center"><span data-astro-cid-u4qoyrkz style="">Ready to try Netlify?</span> </h2> </div> <div class="ingredient l-breakout ingredient-call-to-action-group" data-astro-cid-gfez5emt style=""> <div class="cta-group | l-cluster" data-sb-field-path=".ingredients.1" data-cta-min-width="false" data-astro-cid-sc466a3x style="--cluster-justify: center;--cluster-gap: var(undefined);--cta-min-width: auto;"> <a class="button" data-type="primary" id="cta-readyToTryNetlify-requestDemo" href="/contact/" data-sb-field-path=".items.0" data-astro-cid-sc466a3x>Request demo</a> </div> </div> </div> </section> </div> </main> <footer class="site-footer | l-breakout l-stack" data-astro-cid-gcn2mc3v> <div class="wrapper | l-cluster" data-astro-cid-7kdedvnl> <a href="/" id="cta-footer-netlifyLogo" data-astro-cid-3ynf2cxt> <span class="visually-hidden" data-astro-cid-3ynf2cxt>Go to Netlify homepage</span> <svg class="logo" width="128" height="113" viewBox="0 0 128 113" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-3ynf2cxt> <g clip-path="url(#clip0_236_138)" data-astro-cid-3ynf2cxt> <path d="M34.593 94.0509H33.3844L27.3514 88.0179V86.8094L36.5743 77.5866H42.9639L43.8158 78.4385V84.8281L34.593 94.0509Z" fill="#05BDBA" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M27.3514 25.816V24.6074L33.3844 18.5744H34.593L43.8158 27.7972V34.1868L42.9639 35.0388H36.5743L27.3514 25.816Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M35.8412 61.4491H0.73307L0 60.716V51.9192L0.73307 51.1861H35.8412L36.5743 51.9192V60.716L35.8412 61.4491Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M127.277 61.4491H92.1687L91.4356 60.716V51.9192L92.1687 51.1861H127.277L128.01 51.9192V60.716L127.277 61.4491Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M58.9428 27.0642V0.73307L59.6759 0H68.4727L69.2058 0.73307V27.0642L68.4727 27.7972H59.6759L58.9428 27.0642Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M58.9428 111.902V85.5711L59.6759 84.838H68.4727L69.2058 85.5711V111.902L68.4727 112.635H59.6759L58.9428 111.902Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M80.4594 74.6047H71.6824L70.9493 73.8717V53.3259C70.9493 49.6705 69.5129 46.8372 65.1046 46.7382C62.836 46.6787 60.2405 46.7382 57.4668 46.8471L57.0507 47.2731V73.8618L56.3176 74.5948H47.5406L46.8075 73.8618V38.7636L47.5406 38.0305H67.2939C74.9713 38.0305 81.1925 44.2517 81.1925 51.9291V73.8717L80.4594 74.6047Z" class="text" data-astro-cid-3ynf2cxt></path> </g> <defs data-astro-cid-3ynf2cxt> <clipPath id="clip0_236_138" data-astro-cid-3ynf2cxt> <rect width="128" height="112.635" fill="white" data-astro-cid-3ynf2cxt></rect> </clipPath> </defs> </svg> </a> <ul role="list" class="social | l-cluster" data-astro-cid-7kdedvnl> <li data-astro-cid-7kdedvnl> <a id="cta-footer-git-hub" href="https://github.com/netlify" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" viewBox="0 0 98 96" class="icon" data-astro-cid-7kdedvnl data-icon="github"> <symbol id="ai:local:github"><path fill="currentcolor" fill-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a47 47 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0" clip-rule="evenodd"/></symbol><use xlink:href="#ai:local:github"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>GitHub</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-you-tube" href="https://www.youtube.com/@NetlifyApp" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" viewBox="0 0 22 16" class="icon" data-astro-cid-7kdedvnl data-icon="youtube"> <symbol id="ai:local:youtube"><path fill="currentcolor" d="M10.994.524s-6.508 0-8.142.435c-.874.25-1.594.99-1.839 1.9C.59 4.536.59 8.007.59 8.007s0 3.484.424 5.134c.245.91.952 1.636 1.84 1.887 1.646.448 8.14.448 8.14.448s6.521 0 8.155-.435a2.62 2.62 0 0 0 1.826-1.887c.437-1.663.437-5.134.437-5.134s.013-3.484-.437-5.16A2.6 2.6 0 0 0 19.148.984c-1.634-.46-8.154-.46-8.154-.46M8.923 4.8l5.415 3.207L8.923 11.2z"/></symbol><use xlink:href="#ai:local:youtube"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>YouTube</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-x-formerly-known-as-twitter" href="https://twitter.com/netlify" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" viewBox="0 0 512 512" class="icon" data-astro-cid-7kdedvnl data-icon="twitter"> <symbol id="ai:local:twitter"><style>@keyframes appear{0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{opacity:1;transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{transform:scale3d(1.001,1.001,1.001)}}</style><path fill="currentcolor" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8l164.9-188.5L26.8 48h145.6l100.5 132.9zm-24.8 373.8h39.1L151.1 88h-42z" class="icon-twitter-x"/></symbol><use xlink:href="#ai:local:twitter"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>X (formerly known as Twitter)</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-linked-in" href="https://www.linkedin.com/company/netlify" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" viewBox="0 0 448 512" class="icon" data-astro-cid-7kdedvnl data-icon="linkedin"> <symbol id="ai:local:linkedin"><path fill="currentcolor" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></symbol><use xlink:href="#ai:local:linkedin"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>LinkedIn</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-discourse" href="https://answers.netlify.com/" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" viewBox="0 0 24 24" class="icon" data-astro-cid-7kdedvnl data-icon="discourse"> <symbol id="ai:local:discourse"><path fill="currentcolor" d="M12.103 0C18.666 0 24 5.485 24 11.997c0 6.51-5.33 11.99-11.9 11.99L0 24V11.79C0 5.28 5.532 0 12.103 0m.116 4.563a7.4 7.4 0 0 0-6.337 3.57 7.25 7.25 0 0 0-.148 7.22L4.4 19.61l4.794-1.074a7.42 7.42 0 0 0 8.136-1.39 7.26 7.26 0 0 0 1.737-7.997 7.375 7.375 0 0 0-6.84-4.585z"/></symbol><use xlink:href="#ai:local:discourse"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>Discourse</span> </a> </li> </ul> </div> <nav data-astro-cid-goxdehyl> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Why Netlify?</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl data-icon="chevron"> <symbol id="ai:local:chevron"><path fill="currentcolor" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></symbol><use xlink:href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-why-netlify-customers" href="/customers/"> Customers </a> </li><li> <a id="cta-footer-sm-why-netlify-composable-web-platform" href="/platform/"> Composable Web Platform </a> </li><li> <a id="cta-footer-sm-why-netlify-security" href="/security/"> Security </a> </li><li> <a id="cta-footer-sm-why-netlify-agency-partner-program" href="/partners/agency/"> Agency Partner Program </a> </li><li> <a id="cta-footer-sm-why-netlify-technology-partner-program" href="/partners/technology/"> Technology Partner Program </a> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Why Netlify?</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-why-netlify-customers" href="/customers/"> Customers </a> </li><li> <a id="cta-footer-why-netlify-composable-web-platform" href="/platform/"> Composable Web Platform </a> </li><li> <a id="cta-footer-why-netlify-security" href="/security/"> Security </a> </li><li> <a id="cta-footer-why-netlify-agency-partner-program" href="/partners/agency/"> Agency Partner Program </a> </li><li> <a id="cta-footer-why-netlify-technology-partner-program" href="/partners/technology/"> Technology Partner Program </a> </li> </ul> </section> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Products</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl data-icon="chevron"> <use xlink:href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-products-composable-web-platform" href="/platform/"> Composable Web Platform </a> </li><li> <a id="cta-footer-sm-products-netlify-connect" href="/platform/connect/"> Netlify Connect </a> </li><li> <a id="cta-footer-sm-products-netlify-core" href="/platform/core/"> Netlify Core </a> </li><li> <a id="cta-footer-sm-products-netlify-create" href="/platform/create/"> Netlify Create </a> </li><li> <a id="cta-footer-sm-products-netlify-sdk" href="/platform/software-development-kit/"> Netlify SDK </a> </li><li> <a id="cta-footer-sm-products-pricing" href="/pricing/"> Pricing </a> </li><li> <a id="cta-footer-sm-products-changelog" href="/changelog/"> Changelog </a> </li><li> <details class="popover" data-astro-cid-suxz6fv2> <summary id="cta-footer-sm-products-add-ons" data-astro-cid-suxz6fv2> <span data-astro-cid-suxz6fv2>Add-ons</span> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-plus" aria-hidden="true" data-astro-cid-suxz6fv2 data-icon="plus"> <symbol id="ai:local:plus"><path fill="currentcolor" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32v144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h144v144c0 17.7 14.3 32 32 32s32-14.3 32-32V288h144c17.7 0 32-14.3 32-32s-14.3-32-32-32H256z"/></symbol><use xlink:href="#ai:local:plus"></use> </svg> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-minus" aria-hidden="true" data-astro-cid-suxz6fv2 data-icon="minus"> <symbol id="ai:local:minus"><path fill="currentcolor" d="M432 256c0 17.7-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32h352c17.7 0 32 14.3 32 32"/></symbol><use xlink:href="#ai:local:minus"></use> </svg> </summary> <ul role="list" data-astro-cid-suxz6fv2> <li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-products-analytics" href="/platform/core/analytics/" data-astro-cid-suxz6fv2> Analytics </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-products-functions" href="/platform/core/functions/" data-astro-cid-suxz6fv2> Functions </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-products-forms" href="/platform/core/forms/" data-astro-cid-suxz6fv2> Forms </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-products-large-media" href="/platform/core/large-media/" data-astro-cid-suxz6fv2> Large Media </a> </li> </ul> </details> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Products</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-products-composable-web-platform" href="/platform/"> Composable Web Platform </a> </li><li> <a id="cta-footer-products-netlify-connect" href="/platform/connect/"> Netlify Connect </a> </li><li> <a id="cta-footer-products-netlify-core" href="/platform/core/"> Netlify Core </a> </li><li> <a id="cta-footer-products-netlify-create" href="/platform/create/"> Netlify Create </a> </li><li> <a id="cta-footer-products-netlify-sdk" href="/platform/software-development-kit/"> Netlify SDK </a> </li><li> <a id="cta-footer-products-pricing" href="/pricing/"> Pricing </a> </li><li> <a id="cta-footer-products-changelog" href="/changelog/"> Changelog </a> </li><li> <details class="popover" data-astro-cid-suxz6fv2> <summary id="cta-footer-products-add-ons" data-astro-cid-suxz6fv2> <span data-astro-cid-suxz6fv2>Add-ons</span> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-plus" aria-hidden="true" data-astro-cid-suxz6fv2 data-icon="plus"> <use xlink:href="#ai:local:plus"></use> </svg> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-minus" aria-hidden="true" data-astro-cid-suxz6fv2 data-icon="minus"> <use xlink:href="#ai:local:minus"></use> </svg> </summary> <ul role="list" data-astro-cid-suxz6fv2> <li data-astro-cid-suxz6fv2> <a id="cta-footer-products-analytics" href="/platform/core/analytics/" data-astro-cid-suxz6fv2> Analytics </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-products-functions" href="/platform/core/functions/" data-astro-cid-suxz6fv2> Functions </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-products-forms" href="/platform/core/forms/" data-astro-cid-suxz6fv2> Forms </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-products-large-media" href="/platform/core/large-media/" data-astro-cid-suxz6fv2> Large Media </a> </li> </ul> </details> </li> </ul> </section> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Explore</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl data-icon="chevron"> <use xlink:href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-explore-docs" href="https://docs.netlify.com/"> Docs </a> </li><li> <a id="cta-footer-sm-explore-integrations" href="/integrations/"> Integrations </a> </li><li> <a id="cta-footer-sm-explore-jamstack-book" href="/oreilly-jamstack/"> Jamstack Book </a> </li><li> <a id="cta-footer-sm-explore-community" href="https://answers.netlify.com/"> Community </a> </li><li> <a id="cta-footer-sm-explore-resources-guides" href="/resources/"> Resources & Guides </a> </li><li> <a id="cta-footer-sm-explore-remotely-interesting" href="https://remotelyinteresting.netlify.com/"> Remotely Interesting </a> </li><li> <details class="popover" data-astro-cid-suxz6fv2> <summary id="cta-footer-sm-explore-technologies" data-astro-cid-suxz6fv2> <span data-astro-cid-suxz6fv2>Technologies</span> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-plus" aria-hidden="true" data-astro-cid-suxz6fv2 data-icon="plus"> <use xlink:href="#ai:local:plus"></use> </svg> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-minus" aria-hidden="true" data-astro-cid-suxz6fv2 data-icon="minus"> <use xlink:href="#ai:local:minus"></use> </svg> </summary> <ul role="list" data-astro-cid-suxz6fv2> <li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-explore-jamstack" href="/jamstack/" data-astro-cid-suxz6fv2> Jamstack </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-explore-react" href="/with/react/" data-astro-cid-suxz6fv2> React </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-explore-next-js" href="/with/nextjs/" data-astro-cid-suxz6fv2> Next.js </a> </li> </ul> </details> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Explore</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-explore-docs" href="https://docs.netlify.com/"> Docs </a> </li><li> <a id="cta-footer-explore-integrations" href="/integrations/"> Integrations </a> </li><li> <a id="cta-footer-explore-jamstack-book" href="/oreilly-jamstack/"> Jamstack Book </a> </li><li> <a id="cta-footer-explore-community" href="https://answers.netlify.com/"> Community </a> </li><li> <a id="cta-footer-explore-resources-guides" href="/resources/"> Resources & Guides </a> </li><li> <a id="cta-footer-explore-remotely-interesting" href="https://remotelyinteresting.netlify.com/"> Remotely Interesting </a> </li><li> <details class="popover" data-astro-cid-suxz6fv2> <summary id="cta-footer-explore-technologies" data-astro-cid-suxz6fv2> <span data-astro-cid-suxz6fv2>Technologies</span> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-plus" aria-hidden="true" data-astro-cid-suxz6fv2 data-icon="plus"> <use xlink:href="#ai:local:plus"></use> </svg> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-minus" aria-hidden="true" data-astro-cid-suxz6fv2 data-icon="minus"> <use xlink:href="#ai:local:minus"></use> </svg> </summary> <ul role="list" data-astro-cid-suxz6fv2> <li data-astro-cid-suxz6fv2> <a id="cta-footer-explore-jamstack" href="/jamstack/" data-astro-cid-suxz6fv2> Jamstack </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-explore-react" href="/with/react/" data-astro-cid-suxz6fv2> React </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-explore-next-js" href="/with/nextjs/" data-astro-cid-suxz6fv2> Next.js </a> </li> </ul> </details> </li> </ul> </section> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Company</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl data-icon="chevron"> <use xlink:href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-company-blog" href="/blog/"> Blog </a> </li><li> <a id="cta-footer-sm-company-about" href="/about/"> About </a> </li><li> <a id="cta-footer-sm-company-careers" href="/careers/"> Careers </a> </li><li> <a id="cta-footer-sm-company-compose-conference" href="/conference/"> Compose Conference </a> </li><li> <a id="cta-footer-sm-company-code-of-conduct" href="/code-of-conduct/"> Code of Conduct </a> </li><li> <a id="cta-footer-sm-company-press" href="/press/"> Press </a> </li><li> <a id="cta-footer-sm-company-jamstack-fund" href="/jamstack-fund/"> Jamstack Fund </a> </li><li> <a id="cta-footer-sm-company-netlify-store" href="https://swag.netlify.com/"> Netlify Store </a> </li><li> <a id="cta-footer-sm-company-sustainability" href="/sustainability/"> Sustainability </a> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Company</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-company-blog" href="/blog/"> Blog </a> </li><li> <a id="cta-footer-company-about" href="/about/"> About </a> </li><li> <a id="cta-footer-company-careers" href="/careers/"> Careers </a> </li><li> <a id="cta-footer-company-compose-conference" href="/conference/"> Compose Conference </a> </li><li> <a id="cta-footer-company-code-of-conduct" href="/code-of-conduct/"> Code of Conduct </a> </li><li> <a id="cta-footer-company-press" href="/press/"> Press </a> </li><li> <a id="cta-footer-company-jamstack-fund" href="/jamstack-fund/"> Jamstack Fund </a> </li><li> <a id="cta-footer-company-netlify-store" href="https://swag.netlify.com/"> Netlify Store </a> </li><li> <a id="cta-footer-company-sustainability" href="/sustainability/"> Sustainability </a> </li> </ul> </section> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Contact Us</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl data-icon="chevron"> <use xlink:href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-contact-us-sales" href="/contact/?attr=homepage&ref=sales&id=cta-footer-sales"> Sales </a> </li><li> <a id="cta-footer-sm-contact-us-support" href="/support/"> Support </a> </li><li> <a id="cta-footer-sm-contact-us-status" href="https://netlifystatus.com/"> Status </a> </li><li> <a id="cta-footer-sm-contact-us-forums" href="https://answers.netlify.com/"> Forums </a> </li><li> <a id="cta-footer-sm-contact-us-hire-an-agency" href="/agency-directory/"> Hire an Agency </a> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Contact Us</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-contact-us-sales" href="/contact/?attr=homepage&ref=sales&id=cta-footer-sales"> Sales </a> </li><li> <a id="cta-footer-contact-us-support" href="/support/"> Support </a> </li><li> <a id="cta-footer-contact-us-status" href="https://netlifystatus.com/"> Status </a> </li><li> <a id="cta-footer-contact-us-forums" href="https://answers.netlify.com/"> Forums </a> </li><li> <a id="cta-footer-contact-us-hire-an-agency" href="/agency-directory/"> Hire an Agency </a> </li> </ul> </section> </nav> <section class="newsletter-form | l-stack l-stack-small l-center" data-astro-cid-gtbzbcej> <h2 class="text-0" data-astro-cid-gtbzbcej>Stay up to date with Netlify news</h2> <article class="hubspot-form-wrapper | l-overlay-stack l-center"><div id="hubspot-form-site-footer" data-hubspot-form-id="52611e5e-cc55-4960-bf4a-a2adb36291f6"></div><form method="POST" class="hs-form l-cluster" action="https://www.netlify.com/thanks-for-signing-up/" data-astro-cid-gtbzbcej><div class="hs-form-field" class="hs-fieldtype-input"><label for="email">Email</label><input name="email" id="email" required value="" type="email"></div><div class="hs-form-field" class="hs-fieldtype-input" hidden=""><label for="utm_campaign">UTM Campaign</label><input name="utm_campaign" id="utm_campaign" value="" type="hidden"></div><div class="hs-form-field" class="hs-fieldtype-input" hidden=""><label for="utm_content">UTM Content</label><input name="utm_content" id="utm_content" value="" type="hidden"></div><div class="hs-form-field" class="hs-fieldtype-input" hidden=""><label for="utm_medium">UTM Medium</label><input name="utm_medium" id="utm_medium" value="" type="hidden"></div><div class="hs-form-field" class="hs-fieldtype-input" hidden=""><label for="utm_source">UTM Source</label><input name="utm_source" id="utm_source" value="" type="hidden"></div><div class="hs-form-field" class="hs-fieldtype-input" hidden=""><label for="utm_term">UTM Term</label><input name="utm_term" id="utm_term" value="" type="hidden"></div><input type="hidden" name="hubspotformid" value="52611e5e-cc55-4960-bf4a-a2adb36291f6"><input type="hidden" name="hubspotutk" value=""><div class="hs-submit"><input type="submit" data-type="secondary" value="Subscribe"></div></form></article><script>(function(){const formId = "52611e5e-cc55-4960-bf4a-a2adb36291f6"; const submitBtnVariant = "secondary"; if (formId && submitBtnVariant) { if (window?.hsFormButtons) { window.hsFormButtons[formId] = `button-${submitBtnVariant}`; } else { window.hsFormButtons = { [formId]: `button-${submitBtnVariant}`, }; } } })();</script> </section> <div class="wrapper | l-cluster" data-astro-cid-k5rle6j4> <ul role="list" class="legal | l-cluster" data-astro-cid-k5rle6j4> <li data-astro-cid-k5rle6j4> <a id="cta-legal-footer-trust-center" href="/trust-center/" data-astro-cid-k5rle6j4> Trust Center </a> </li><li data-astro-cid-k5rle6j4> <a id="cta-legal-footer-privacy" href="/privacy/" data-astro-cid-k5rle6j4> Privacy </a> </li><li data-astro-cid-k5rle6j4> <a id="cta-legal-footer-gdpr-ccpa" href="/gdpr-ccpa/" data-astro-cid-k5rle6j4> GDPR/CCPA </a> </li><li data-astro-cid-k5rle6j4> <a id="cta-legal-footer-abuse" href="mailto:fraud@netlify.com?subject=Abuse%20report&body=Please%20include%20the%20site%20URL%20and%20reason%20for%20your%20report%2C%20and%20we%20will%20reply%20promptly." data-astro-cid-k5rle6j4> Abuse </a> </li><li data-astro-cid-k5rle6j4> <button type="button" id="cta-legal-footer-cookie-settings-toggle" data-type="reset" data-astro-cid-k5rle6j4> Cookie Settings </button> </li> </ul> <p class="copyright" data-astro-cid-k5rle6j4>© 2024 Netlify</p> </div> </footer> <!-- required for all HubSpot forms --> <script defer src="https://js.hsforms.net/forms/v2.js"></script> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/7477936.js"></script> </body> </html>