CINXE.COM

Observable: Build expressive charts and dashboards with code

<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="apple-touch-icon" href="https://static.observablehq.com/favicon-512.0667824687f99c942a02e06e2db1a060911da0bf3606671676a255b1cf97b4fe.png"/><link rel="icon" type="image/png" href="https://static.observablehq.com/favicon-512.0667824687f99c942a02e06e2db1a060911da0bf3606671676a255b1cf97b4fe.png" sizes="512x512"/><link rel="search" type="application/opensearchdescription+xml" href="https://static.observablehq.com/opensearch.bf5e25ab3eef28bb53ee52e7f57ea5210eb03b2edb9f7c51328d4b7ed874497a.xml" title="Observable"/><title>Observable: Build expressive charts and dashboards with code</title><script>(function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i+"?ref=bwt";y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window, document, "clarity", "script", "gjcw1zv7xv");</script><script>_linkedin_partner_id = "4804308"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); (function(l) { if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])}; window.lintrk.q=[]} var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(window.lintrk);</script><script>!function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);rdt('init','a2_en56mab6xu66');rdt('track', 'PageVisit');</script><script>function initApollo(){var n=Math.random().toString(36).substring(7),o=document.createElement("script"); o.src="https://assets.apollo.io/micro/website-tracker/tracker.iife.js?nocache="+n,o.async=!0,o.defer=!0, o.onload=function(){window.trackingFunctions.onLoad({appId:"6633c81deb95c00300c674f6"})}, document.head.appendChild(o)}initApollo();</script><meta name="description" content="The end-to-end solution for creating expressive data apps, dashboards, and reports. Discover richer insights in your data today."/><link rel="canonical" href="https://observablehq.com/"/><meta property="og:image" content="https://static.observablehq.com/assets/marketing/meta/og-image-dark.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="next-head-count" content="14"/><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-9B88TP6PKQ"></script><script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', "G-9B88TP6PKQ", { 'send_page_view': false });</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Observable","url":"https://observablehq.com"}</script><link rel="preload" href="/_next/static/media/d873d0d7738ce615-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/a34f9d1faa5f3315-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/58445febe6797cc6-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/f9583fceadea3266.css" as="style"/><link rel="stylesheet" href="/_next/static/css/f9583fceadea3266.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script defer="" src="/_next/static/chunks/5227.acb8486041fdf250.js"></script><script defer="" src="/_next/static/chunks/7572.a3b6904c758ba2ba.js"></script><script defer="" src="/_next/static/chunks/7570.97d101c05626eca6.js"></script><script defer="" src="/_next/static/chunks/9813.124cfad7cbb4f92b.js"></script><script src="/_next/static/chunks/webpack-5ee6beae3eb2507c.js" defer=""></script><script src="/_next/static/chunks/framework-a17bb443126b4122.js" defer=""></script><script src="/_next/static/chunks/main-481a3b56229fbdcf.js" defer=""></script><script src="/_next/static/chunks/pages/_app-3df4bbefaff069ce.js" defer=""></script><script src="/_next/static/chunks/8764-fb7153f259170265.js" defer=""></script><script src="/_next/static/chunks/3999-eb7c9b525e00cb6c.js" defer=""></script><script src="/_next/static/chunks/9273-d14a7c3909b5f026.js" defer=""></script><script src="/_next/static/chunks/5680-4c2b6a9fb110ca02.js" defer=""></script><script src="/_next/static/chunks/458-da327e6db3c10979.js" defer=""></script><script src="/_next/static/chunks/7100-7d8a4dc84a7bfb29.js" defer=""></script><script src="/_next/static/chunks/9141-308b9bfbb60829d4.js" defer=""></script><script src="/_next/static/chunks/3550-b425219cc687b801.js" defer=""></script><script src="/_next/static/chunks/9430-6d164a75b8cdc2ea.js" defer=""></script><script src="/_next/static/chunks/2684-162f780bb387884c.js" defer=""></script><script src="/_next/static/chunks/2076-e4ccbb2acadca023.js" defer=""></script><script src="/_next/static/chunks/4223-694c78fc439025d3.js" defer=""></script><script src="/_next/static/chunks/7297-514aacfbea18160d.js" defer=""></script><script src="/_next/static/chunks/1453-7abeb1d419d66eb2.js" defer=""></script><script src="/_next/static/chunks/8538-49351cbd3ca17ab1.js" defer=""></script><script src="/_next/static/chunks/pages/index-6619688d1353e563.js" defer=""></script><script src="/_next/static/Q8Ge6R1kQ_YPGkXrA9tK4/_buildManifest.js" defer=""></script><script src="/_next/static/Q8Ge6R1kQ_YPGkXrA9tK4/_ssgManifest.js" defer=""></script><style id="__jsx-5405015f029035ec">@-webkit-keyframes loading-animation{from{-webkit-transform:translatex(-100%);transform:translatex(-100%)}to{-webkit-transform:translatex(0);transform:translatex(0)}}@-moz-keyframes loading-animation{from{-moz-transform:translatex(-100%);transform:translatex(-100%)}to{-moz-transform:translatex(0);transform:translatex(0)}}@-o-keyframes loading-animation{from{-o-transform:translatex(-100%);transform:translatex(-100%)}to{-o-transform:translatex(0);transform:translatex(0)}}@keyframes loading-animation{from{-webkit-transform:translatex(-100%);-moz-transform:translatex(-100%);-o-transform:translatex(-100%);transform:translatex(-100%)}to{-webkit-transform:translatex(0);-moz-transform:translatex(0);-o-transform:translatex(0);transform:translatex(0)}}@-webkit-keyframes cycling-animation{from{background-position:right}to{background-position:left}}@-moz-keyframes cycling-animation{from{background-position:right}to{background-position:left}}@-o-keyframes cycling-animation{from{background-position:right}to{background-position:left}}@keyframes cycling-animation{from{background-position:right}to{background-position:left}}@-webkit-keyframes complete-animation{from{-webkit-transform:translatey(0);transform:translatey(0)}to{-webkit-transform:translatey(-3px);transform:translatey(-3px)}}@-moz-keyframes complete-animation{from{-moz-transform:translatey(0);transform:translatey(0)}to{-moz-transform:translatey(-3px);transform:translatey(-3px)}}@-o-keyframes complete-animation{from{-o-transform:translatey(0);transform:translatey(0)}to{-o-transform:translatey(-3px);transform:translatey(-3px)}}@keyframes complete-animation{from{-webkit-transform:translatey(0);-moz-transform:translatey(0);-o-transform:translatey(0);transform:translatey(0)}to{-webkit-transform:translatey(-3px);-moz-transform:translatey(-3px);-o-transform:translatey(-3px);transform:translatey(-3px)}}.active.jsx-5405015f029035ec,.complete.jsx-5405015f029035ec{height:3px;background-color:#5e513f;-webkit-background-size:25%100%;-moz-background-size:25%100%;-o-background-size:25%100%;background-size:25%100%;background-position:right;background-repeat:no-repeat;background-image:-webkit-linear-gradient(left,#5e513f,#a5765c,#ff7e6a,#ffb47e,#ffe694,#b3eb9f,#7ec4f6,#bb87fa,#5e513f);background-image:-moz-linear-gradient(left,#5e513f,#a5765c,#ff7e6a,#ffb47e,#ffe694,#b3eb9f,#7ec4f6,#bb87fa,#5e513f);background-image:-o-linear-gradient(left,#5e513f,#a5765c,#ff7e6a,#ffb47e,#ffe694,#b3eb9f,#7ec4f6,#bb87fa,#5e513f);background-image:linear-gradient(to right,#5e513f,#a5765c,#ff7e6a,#ffb47e,#ffe694,#b3eb9f,#7ec4f6,#bb87fa,#5e513f)}.active.jsx-5405015f029035ec{-webkit-animation:loading-animation 3s linear forwards,cycling-animation 3s 3s linear alternate infinite;-moz-animation:loading-animation 3s linear forwards,cycling-animation 3s 3s linear alternate infinite;-o-animation:loading-animation 3s linear forwards,cycling-animation 3s 3s linear alternate infinite;animation:loading-animation 3s linear forwards,cycling-animation 3s 3s linear alternate infinite}.complete.jsx-5405015f029035ec{-webkit-animation:complete-animation.2s linear forwards;-moz-animation:complete-animation.2s linear forwards;-o-animation:complete-animation.2s linear forwards;animation:complete-animation.2s linear forwards;visibility:hidden;-webkit-transition:visibility 0s .2s;-moz-transition:visibility 0s .2s;-o-transition:visibility 0s .2s;transition:visibility 0s .2s}</style><style id="__jsx-3330789205">:root{--navHeight:48px;--screenHeight:calc(100vh - var(--navHeight))}@media (min-width: 768px){:root{--navHeight:64px}}[data-reach-dialog-content]#mobile-nav-dialog{width:100%;min-width:unset;max-width:none;margin:0;min-height:unset;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}</style><style id="__jsx-3574674509">.heading-one.jsx-3574674509{font-size:28px;line-height:36px}.heading-one.force-desktop-style.jsx-3574674509{font-size:56px;line-height:64px}@media screen and (min-width: 30em){.heading-one.jsx-3574674509{font-size:40px;line-height:48px}}@media screen and (min-width: 60em){.heading-one.jsx-3574674509{font-size:56px;line-height:64px}}</style><style id="__jsx-3ba17750e06cdfc4">.button-or-link.jsx-3ba17750e06cdfc4{--animation-transition:0.2s ease-in-out;font-size:14px;line-height:19px;position:relative}.button-or-link.jsx-3ba17750e06cdfc4:not(.disabled):hover .arrow-wrap{-webkit-transform:translatex(4px);-moz-transform:translatex(4px);-ms-transform:translatex(4px);-o-transform:translatex(4px);transform:translatex(4px)}.button-or-link.jsx-3ba17750e06cdfc4 .arrow-wrap{-webkit-transition:-webkit-transform var(--animation-transition);-moz-transition:-moz-transform var(--animation-transition);-o-transition:-o-transform var(--animation-transition);transition:-webkit-transform var(--animation-transition);transition:-moz-transform var(--animation-transition);transition:-o-transform var(--animation-transition);transition:transform var(--animation-transition)}.button-or-link.disabled.jsx-3ba17750e06cdfc4{cursor:not-allowed}.button-or-link.jsx-3ba17750e06cdfc4 .arrow-wrap{margin-left:4px}@media screen and (min-width: 30em){.button-or-link.jsx-3ba17750e06cdfc4{font-size:16px;margin-right:24px}.button-or-link.align-center.jsx-3ba17750e06cdfc4{margin-right:12px;margin-left:12px}.button-or-link.align-right.jsx-3ba17750e06cdfc4{margin-right:0;margin-left:24px}}</style><style id="__jsx-3e5722c011ba4c50">.button-or-link.fancy.jsx-3e5722c011ba4c50{--focus-border-offset:6px;--focus-border-width:2px;--animation-transition:0.2s ease-in-out;padding:12.5px 16px;color:var(--white);background-color:var(--near-black);border:2px solid var(--near-black);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;outline:none;-webkit-transition:background-color var(--animation-transition),border-color var(--animation-transition);-moz-transition:background-color var(--animation-transition),border-color var(--animation-transition);-o-transition:background-color var(--animation-transition),border-color var(--animation-transition);transition:background-color var(--animation-transition),border-color var(--animation-transition)}.button-or-link.fancy.jsx-3e5722c011ba4c50:hover{background-color:var(--dark-gray);border-color:var(--dark-gray)}.button-or-link.fancy.blue-theme.jsx-3e5722c011ba4c50{color:var(--near-black);background-color:var(--faint-blue);border-color:var(--faint-blue)}.button-or-link.fancy.blue-theme.jsx-3e5722c011ba4c50:hover{background-color:var(--washed-blue);border-color:var(--washed-blue)}.button-or-link.fancy.white-theme.jsx-3e5722c011ba4c50{color:var(--near-black);background-color:var(--white);border-color:var(--white)}.button-or-link.fancy.white-theme.jsx-3e5722c011ba4c50:hover{background-color:var(--near-white);border-color:var(--near-white)}.button-or-link.fancy.jsx-3e5722c011ba4c50:before{content:"";display:none;position:absolute;width:-webkit-calc(100% + (var(--focus-border-offset) + var(--focus-border-width)));width:-moz-calc(100% + (var(--focus-border-offset) + var(--focus-border-width)));width:calc(100% + (var(--focus-border-offset) + var(--focus-border-width)));height:-webkit-calc(100% + (var(--focus-border-offset) + var(--focus-border-width)));height:-moz-calc(100% + (var(--focus-border-offset) + var(--focus-border-width)));height:calc(100% + (var(--focus-border-offset) + var(--focus-border-width)));pointer-events:none;border:var(--focus-border-width)solid var(--blue);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;left:-webkit-calc(-1*var(--focus-border-offset));left:-moz-calc(-1*var(--focus-border-offset));left:calc(-1*var(--focus-border-offset));top:-webkit-calc(-1*var(--focus-border-offset));top:-moz-calc(-1*var(--focus-border-offset));top:calc(-1*var(--focus-border-offset))}.button-or-link.fancy.blue-theme.jsx-3e5722c011ba4c50:before{border-color:var(--white)}.button-or-link.fancy.jsx-3e5722c011ba4c50:focus-visible:before{display:block}.button-or-link.fancy.sz-tall.jsx-3e5722c011ba4c50{padding:16px}.button-or-link.fancy.secondary.jsx-3e5722c011ba4c50{color:var(--near-black);background-color:transparent}.button-or-link.fancy.secondary.jsx-3e5722c011ba4c50:hover{color:var(--near-black);background-color:rgba(0,0,0,.05);border-color:var(--near-black)}.button-or-link.fancy.blue-theme.secondary.jsx-3e5722c011ba4c50{color:var(--white);border-color:var(--white)}.button-or-link.fancy.blue-theme.secondary.jsx-3e5722c011ba4c50:hover{color:var(--white);border-color:var(--white);background-color:rgba(255,255,255,.05)}.button-or-link.fancy.white-theme.secondary.jsx-3e5722c011ba4c50{color:var(--white);border-color:var(--white)}.button-or-link.fancy.white-theme.secondary.jsx-3e5722c011ba4c50:hover{color:var(--white);border-color:var(--white);background-color:rgba(255,255,255,.05)}.button-or-link.fancy.primary.disabled.jsx-3e5722c011ba4c50,.button-or-link.fancy.secondary.disabled.jsx-3e5722c011ba4c50{color:var(--mid-gray);background-color:var(--silver);border-color:var(--silver)}.button-or-link.fancy.jsx-3e5722c011ba4c50 .arrow-wrap{margin-left:8px}@media screen and (min-width: 30em){.button-or-link.fancy.jsx-3e5722c011ba4c50{min-width:200px}.button-or-link.fancy.sz-tall.jsx-3e5722c011ba4c50{padding:20.5px 16px}}</style><style id="__jsx-820596636">.container-grid.jsx-820596636{--col-gap:var(--spacing-medium);display:grid;grid-template-columns:repeat(12,1fr);grid-column-gap:var(--col-gap)}@media screen and (min-width: 60em){.container-grid.jsx-820596636{--col-gap:var(--spacing-large)}}</style><style id="__jsx-1409695909">.container-grid .full-width{grid-column:1/span 12}.container-grid .left-half{grid-column:1/span 6}.container-grid .right-half{grid-column:7/span 6}</style><style id="__jsx-3765703733">.container.jsx-3765703733{--container-padding-top:var(--spacing-large);--container-padding-horizontal:var(--spacing-medium);--container-padding-bottom:var(--spacing-large);padding:var(--container-padding-top)var(--container-padding-horizontal)var(--container-padding-bottom)}.container.reduced-top-padding.jsx-3765703733{--container-padding-top:var(--spacing-medium)}.container.reduced-bottom-padding.jsx-3765703733{--container-padding-bottom:var(--spacing-medium)}@media (min-width: 640px){.container.jsx-3765703733{--container-padding-top:var(--spacing-extra-large);--container-padding-horizontal:var(--spacing-large);--container-padding-bottom:var(--spacing-extra-large)}.container.reduced-top-padding.jsx-3765703733{--container-padding-top:var(--spacing-large)}.container.reduced-bottom-padding.jsx-3765703733{--container-padding-bottom:var(--spacing-large)}}@media (min-width: 1280px){.container.jsx-3765703733{--container-padding-top:80px;--container-padding-horizontal:0;--container-padding-bottom:80px}.container.reduced-top-padding.jsx-3765703733{--container-padding-top:64px}.container.reduced-bottom-padding.jsx-3765703733{--container-padding-bottom:64px}}</style><style id="__jsx-3538002051">.cta-buttons.jsx-3538002051 .button-or-link{width:-webkit-calc(50% - 8px);width:-moz-calc(50% - 8px);width:calc(50% - 8px);font-size:12px;min-width:unset;padding:12px!important;height:64px;display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex}@media (min-width: 640px){.cta-buttons.jsx-3538002051 .button-or-link{font-size:14px;padding:16px 24px!important}}</style><style id="__jsx-d163655cb192319f">p.jsx-d163655cb192319f:not(:last-of-type){padding-bottom:var(--spacing-medium)}</style><style id="__jsx-1672705751">.heading-three.jsx-1672705751{font-size:20px;line-height:26px}.heading-three.force-desktop-style.jsx-1672705751{font-size:24px;line-height:30px}@media screen and (min-width: 30em){.heading-three.jsx-1672705751{font-size:24px;line-height:30px}}</style><style id="__jsx-2148642595">ul.jsx-2148642595{margin:0;padding:0}li.jsx-2148642595{list-style:none}.logo-wrap.jsx-2148642595{padding:var(--spacing-small);-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1}@media screen and (min-width: 60em){.logo-wrap.jsx-2148642595{padding:12px 16px}}</style><style id="__jsx-e19ce287a8902898">.heading-wrap.jsx-e19ce287a8902898{max-width:1e3px;margin:0 auto 32px}</style><style id="__jsx-3985160828">.heading-two.jsx-3985160828{font-size:24px;line-height:30px}.heading-two.force-desktop-style.jsx-3985160828{font-size:40px;line-height:48px}@media screen and (min-width: 30em){.heading-two.jsx-3985160828{font-size:28px;line-height:35px}}@media screen and (min-width: 60em){.heading-two.jsx-3985160828{font-size:40px;line-height:48px}}</style><style id="__jsx-80d0cc23b3e47956">.grid-left.jsx-80d0cc23b3e47956,.grid-right.jsx-80d0cc23b3e47956{grid-row:1;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center}.grid-left.content-wrap.jsx-80d0cc23b3e47956{grid-column:1/span 5}.grid-left.media-wrap.jsx-80d0cc23b3e47956,.grid-left.equal-columns.content-wrap.jsx-80d0cc23b3e47956,.grid-left.equal-columns.media-wrap.jsx-80d0cc23b3e47956{grid-column:1/span 6}.grid-right.content-wrap.jsx-80d0cc23b3e47956{grid-column:8/span 5}.grid-right.media-wrap.jsx-80d0cc23b3e47956,.grid-right.equal-columns.media-wrap.jsx-80d0cc23b3e47956,.grid-right.equal-columns.content-wrap.jsx-80d0cc23b3e47956{grid-column:7/span 6}</style><style id="__jsx-3768181619">.body-section>*+*{margin-top:20px!important;margin-bottom:0}.body-section .rich-text a{text-decoration:underline}.body-section .rich-text-p+.rich-text-p{margin-top:.5em}@media screen and (min-width: 30em){.body-section>*+*{margin-top:24px!important}}</style><style id="__jsx-ec91250896062a22">.button-or-link.naked.jsx-ec91250896062a22{color:var(--blue);padding:0 0 2px;border:none;background:transparent}.button-or-link.naked.black-theme.jsx-ec91250896062a22{color:var(--black)}.button-or-link.naked.white-theme.jsx-ec91250896062a22,.button-or-link.naked.white-phosphate-theme.jsx-ec91250896062a22{color:var(--white)}.button-or-link.naked.white-theme.jsx-ec91250896062a22{color:var(--white)}.button-or-link.naked.disabled.jsx-ec91250896062a22{color:var(--moon-gray)!important}.button-or-link.naked.jsx-ec91250896062a22:before{content:"";width:100%;border-bottom:1px solid var(--blue);display:block;position:absolute;bottom:0;left:0}.button-or-link.naked.black-theme.jsx-ec91250896062a22:before{border-bottom:1px solid var(--black)}.button-or-link.naked.white-theme.jsx-ec91250896062a22:before{border-bottom:1px solid var(--white)}.button-or-link.naked.white-phosphate-theme.jsx-ec91250896062a22:before{border-bottom:1px solid var(--observable-marketing-phosphate)}.button-or-link.naked.disabled.jsx-ec91250896062a22:before{border-color:var(--moon-gray)!important}.button-or-link.naked.jsx-ec91250896062a22:not(.disabled):hover:before,.button-or-link.naked.jsx-ec91250896062a22:not(.disabled):focus-visible:before{display:none}</style><style id="__jsx-2b84b2c564424b6d">blockquote.jsx-2b84b2c564424b6d{margin:0}.logos-wrap.jsx-2b84b2c564424b6d{grid-row:3}</style><style id="__jsx-897414578">.eyebrow.jsx-897414578{font-size:14px;line-height:20px;letter-spacing:.1em}@media screen and (min-width: 30em){.eyebrow.jsx-897414578{font-size:16px;line-height:28px}}</style><style id="__jsx-c3fc598b497292de">p.jsx-c3fc598b497292de{margin:0}</style><style id="__jsx-328a54ab387a80c0">.copy-button.jsx-328a54ab387a80c0{color:var(--button-color)}.copy-button.jsx-328a54ab387a80c0:hover{color:var(--button-hover-color)}</style><style id="__jsx-e030bcfb559b6821">.label-copy.jsx-e030bcfb559b6821{font-size:12px}.copy-code-wrap.jsx-e030bcfb559b6821 code.add-prefix.jsx-e030bcfb559b6821:before{color:var(--gray);content:var(--code-snippet-prefix);margin-right:4px}.copy-code-wrap.theme-dark-phosphate.jsx-e030bcfb559b6821 code.add-prefix.jsx-e030bcfb559b6821:before{color:var(--white)}</style><style id="__jsx-a9cf7100d8b7e606">.bottom-cta-section .body-section{font-size:20px;line-height:28px}</style><style id="__jsx-8d4ea8e40418e08b">ul.jsx-8d4ea8e40418e08b{margin:0;padding:0}li.jsx-8d4ea8e40418e08b{list-style:none}</style><style id="__jsx-2ee58d861371c8b0">.tooltipped{position:relative}.tooltipped::after{position:absolute;z-index:1000000;display:none;padding:.5em .75em;font-weight:normal;font-variant:normal;font-size:11px;line-height:1.5;font-family:var(--sans-serif);-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--black);border:1px solid var(--dark-gray);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;opacity:0}.tooltipped-error::after{background-color:var(--red)!important;border-color:var(--red)!important}@-webkit-keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@-moz-keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@-o-keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@keyframes tooltip-appear{from{opacity:0}to{opacity:1}}@media(hover){.tooltipped:hover::after{display:inline-block;text-decoration:none;-webkit-animation-name:tooltip-appear;-moz-animation-name:tooltip-appear;-o-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:.05s;-moz-animation-duration:.05s;-o-animation-duration:.05s;animation-duration:.05s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;-o-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:.6s;-moz-animation-delay:.6s;-o-animation-delay:.6s;animation-delay:.6s}}.tooltipped-show .tooltipped::after{display:inline-block;text-decoration:none;-webkit-animation-name:tooltip-appear;-moz-animation-name:tooltip-appear;-o-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:.05s;-moz-animation-duration:.05s;-o-animation-duration:.05s;animation-duration:.05s;-webkit-animation-fill-mode:forwards;-moz-animation-fill-mode:forwards;-o-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.tooltipped-s::after,.tooltipped-se::after,.tooltipped-sw::after{top:100%;right:50%;margin-top:6px}.tooltipped-se::after{right:auto;left:50%;margin-left:-16px}.tooltipped-sw::after{margin-right:-16px}.tooltipped-n::after,.tooltipped-ne::after,.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px}.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px}.tooltipped-nw::after{margin-right:-16px}.tooltipped-s::after,.tooltipped-n::after{-webkit-transform:translatex(50%);-moz-transform:translatex(50%);-ms-transform:translatex(50%);-o-transform:translatex(50%);transform:translatex(50%)}.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translatey(50%);-moz-transform:translatey(50%);-ms-transform:translatey(50%);-o-transform:translatey(50%);transform:translatey(50%);text-align:right}.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translatey(50%);-moz-transform:translatey(50%);-ms-transform:translatey(50%);-o-transform:translatey(50%);transform:translatey(50%);text-align:left}</style><style id="__jsx-1951832655">:root{--font-inter:'__Inter_362d9d', '__Inter_Fallback_362d9d', -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica, helvetica neue, ubuntu, roboto, noto, segoe ui, arial, sans-serif}</style></head><body><div id="__next"><div style="will-change:transform" data-testid="page-loading-bar" class="jsx-5405015f029035ec w-100 z-999 fixed pen"></div><div class="__variable_ca083e"><nav aria-label="Main" data-orientation="horizontal" dir="ltr" class="tw-z-10 tw-bg-near-black tw-text-near-white tw-sticky tw-top-0 tw-w-full max-md:tw-hidden"><span></span><div class="__variable_ca083e tw-relative tw-bg-near-black"><div style="position:relative"><ul data-orientation="horizontal" class="tw-flex tw-flex-row tw-justify-between tw-list-none tw-flex-nowrap tw-py-2 tw-px-8 tw-m-0 tw-h-[--navHeight] tw-border-0 tw-border-b tw-border-solid tw-border-dark-gray" dir="ltr"><div class="tw-flex tw-flex-row tw-flex-nowrap tw-gap-4 tw-items-center"><li><a class="tw-flex tw-items-center tw-border-none" data-radix-collection-item="" href="/"><svg role="img" viewBox="0 0 25 28" width="25" height="28" aria-label="Observable" fill="currentColor" style="width:22px" class="tw-text-white"><path d="M12.5 22.6667C11.3458 22.6667 10.3458 22.4153 9.5 21.9127C8.65721 21.412 7.98339 20.7027 7.55521 19.8654C7.09997 18.9942 6.76672 18.0729 6.56354 17.1239C6.34796 16.0947 6.24294 15.0483 6.25 14C6.25 13.1699 6.30417 12.3764 6.41354 11.6176C6.52188 10.8598 6.72292 10.0894 7.01563 9.30748C7.30833 8.52555 7.68542 7.84763 8.14479 7.27274C8.62304 6.68378 9.24141 6.20438 9.95208 5.87163C10.6979 5.51244 11.5458 5.33333 12.5 5.33333C13.6542 5.33333 14.6542 5.58467 15.5 6.08733C16.3428 6.588 17.0166 7.29733 17.4448 8.13459C17.8969 8.99644 18.2271 9.9103 18.4365 10.8761C18.6448 11.841 18.75 12.883 18.75 14C18.75 14.8301 18.6958 15.6236 18.5865 16.3824C18.4699 17.1702 18.2639 17.9446 17.9719 18.6925C17.6698 19.4744 17.2948 20.1524 16.8427 20.7273C16.3906 21.3021 15.7927 21.7692 15.0479 22.1284C14.3031 22.4876 13.4542 22.6667 12.5 22.6667ZM14.7063 16.2945C15.304 15.6944 15.6365 14.864 15.625 14C15.625 13.1073 15.326 12.3425 14.7292 11.7055C14.1313 11.0685 13.3885 10.75 12.5 10.75C11.6115 10.75 10.8688 11.0685 10.2708 11.7055C9.68532 12.3123 9.36198 13.1405 9.375 14C9.375 14.8927 9.67396 15.6575 10.2708 16.2945C10.8688 16.9315 11.6115 17.25 12.5 17.25C13.3885 17.25 14.124 16.9315 14.7063 16.2945ZM12.5 27C19.4031 27 25 21.1792 25 14C25 6.82075 19.4031 1 12.5 1C5.59687 1 0 6.82075 0 14C0 21.1792 5.59687 27 12.5 27Z" fill="currentColor"></path></svg></a></li><li><button id="radix-:Rl6sm:-trigger-Platform" data-state="closed" aria-expanded="false" aria-controls="radix-:Rl6sm:-content-Platform" class="tw-flex tw-items-center tw-justify-between tw-bg-transparent tw-p-2 tw-rounded tw-no-underline tw-font-semibold tw-text-[16px] tw-border-none tw-group tw-select-none tw-gap-2 hover:tw-bg-marketing-gray-black tw-relative after:tw-content-[&#x27;&#x27;] after:tw-absolute after:-tw-bottom-4 after:tw-left-0 after:tw-w-full after:tw-h-4 after:tw-outline-none" data-radix-collection-item="">Platform<!-- --> <svg width="10" height="16" viewBox="0 0 16 16" fill="none" class="tw-relative tw-top-px tw-transition-transform tw-duration-[250] tw-ease-in group-data-[state=open]:-tw-rotate-180" aria-hidden="true"><path d="M3.5 6.18536L8 10.1854L12.5 6.18536" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></button></li><li><button id="radix-:Rl6sm:-trigger-Solutions" data-state="closed" aria-expanded="false" aria-controls="radix-:Rl6sm:-content-Solutions" class="tw-flex tw-items-center tw-justify-between tw-bg-transparent tw-p-2 tw-rounded tw-no-underline tw-font-semibold tw-text-[16px] tw-border-none tw-group tw-select-none tw-gap-2 hover:tw-bg-marketing-gray-black tw-relative after:tw-content-[&#x27;&#x27;] after:tw-absolute after:-tw-bottom-4 after:tw-left-0 after:tw-w-full after:tw-h-4 after:tw-outline-none" data-radix-collection-item="">Solutions<!-- --> <svg width="10" height="16" viewBox="0 0 16 16" fill="none" class="tw-relative tw-top-px tw-transition-transform tw-duration-[250] tw-ease-in group-data-[state=open]:-tw-rotate-180" aria-hidden="true"><path d="M3.5 6.18536L8 10.1854L12.5 6.18536" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></button></li><li><button id="radix-:Rl6sm:-trigger-Resources" data-state="closed" aria-expanded="false" aria-controls="radix-:Rl6sm:-content-Resources" class="tw-flex tw-items-center tw-justify-between tw-bg-transparent tw-p-2 tw-rounded tw-no-underline tw-font-semibold tw-text-[16px] tw-border-none tw-group tw-select-none tw-gap-2 hover:tw-bg-marketing-gray-black tw-relative after:tw-content-[&#x27;&#x27;] after:tw-absolute after:-tw-bottom-4 after:tw-left-0 after:tw-w-full after:tw-h-4 after:tw-outline-none" data-radix-collection-item="">Resources<!-- --> <svg width="10" height="16" viewBox="0 0 16 16" fill="none" class="tw-relative tw-top-px tw-transition-transform tw-duration-[250] tw-ease-in group-data-[state=open]:-tw-rotate-180" aria-hidden="true"><path d="M3.5 6.18536L8 10.1854L12.5 6.18536" stroke="currentColor" stroke-width="2" stroke-linecap="round"></path></svg></button></li><li><a class="tw-flex tw-items-center tw-justify-between tw-bg-transparent tw-p-2 tw-rounded tw-no-underline tw-font-semibold tw-text-[16px] tw-border-none tw-group tw-select-none tw-gap-2 hover:tw-bg-marketing-gray-black" data-radix-collection-item="" href="/pricing">Pricing</a></li></div><div class="tw-flex tw-flex-row tw-flex-nowrap tw-gap-4 tw-items-center"><li><button class="tw-flex tw-items-center tw-justify-between tw-bg-transparent tw-p-2 tw-rounded tw-no-underline tw-font-semibold tw-text-[16px] tw-border-none tw-group tw-select-none tw-gap-2 hover:tw-bg-marketing-gray-black !tw-px-4 tw-cursor-pointer" data-radix-collection-item="">Sign in</button></li><li><button class="tw-flex tw-items-center tw-justify-between tw-bg-transparent tw-p-2 tw-rounded tw-no-underline tw-font-semibold tw-text-[16px] tw-border-none tw-group tw-select-none tw-gap-2 hover:tw-bg-marketing-gray-black !tw-px-4 !tw-bg-near-white !tw-text-near-black hover:!tw-bg-light-silver tw-cursor-pointer" data-radix-collection-item="">Sign up</button></li></div></ul></div><div class="tw-absolute tw-left-0 tw-top-full tw-flex tw-w-full tw-justify-center"><div data-state="closed" data-orientation="horizontal" class="tw-relative tw-w-full tw-bg-marketing-graphite-gray tw-overflow-hidden tw-transition-[height] tw-duration-300 tw-h-[var(--radix-navigation-menu-viewport-height,auto)] data-[state=closed]:tw-h-0 tw-shadow-[0px_4px_4px_0px_rgba(0,0,0,0.25)]" style="pointer-events:none"></div></div></div></nav><nav class="tw-z-10 tw-sticky tw-top-0 tw-w-full md:tw-hidden"><div class="tw-bg-near-black tw-text-near-white tw-flex tw-flex-row tw-justify-between tw-items-center tw-py-2 tw-px-4 tw-h-[--navHeight] tw-border-0 tw-border-b tw-border-solid tw-border-dark-gray"><a class="tw-inline-flex tw-items-center" href="/"><svg role="img" viewBox="0 0 25 28" width="25" height="28" aria-label="Observable" fill="currentColor" style="width:22px" class="tw-text-white"><path d="M12.5 22.6667C11.3458 22.6667 10.3458 22.4153 9.5 21.9127C8.65721 21.412 7.98339 20.7027 7.55521 19.8654C7.09997 18.9942 6.76672 18.0729 6.56354 17.1239C6.34796 16.0947 6.24294 15.0483 6.25 14C6.25 13.1699 6.30417 12.3764 6.41354 11.6176C6.52188 10.8598 6.72292 10.0894 7.01563 9.30748C7.30833 8.52555 7.68542 7.84763 8.14479 7.27274C8.62304 6.68378 9.24141 6.20438 9.95208 5.87163C10.6979 5.51244 11.5458 5.33333 12.5 5.33333C13.6542 5.33333 14.6542 5.58467 15.5 6.08733C16.3428 6.588 17.0166 7.29733 17.4448 8.13459C17.8969 8.99644 18.2271 9.9103 18.4365 10.8761C18.6448 11.841 18.75 12.883 18.75 14C18.75 14.8301 18.6958 15.6236 18.5865 16.3824C18.4699 17.1702 18.2639 17.9446 17.9719 18.6925C17.6698 19.4744 17.2948 20.1524 16.8427 20.7273C16.3906 21.3021 15.7927 21.7692 15.0479 22.1284C14.3031 22.4876 13.4542 22.6667 12.5 22.6667ZM14.7063 16.2945C15.304 15.6944 15.6365 14.864 15.625 14C15.625 13.1073 15.326 12.3425 14.7292 11.7055C14.1313 11.0685 13.3885 10.75 12.5 10.75C11.6115 10.75 10.8688 11.0685 10.2708 11.7055C9.68532 12.3123 9.36198 13.1405 9.375 14C9.375 14.8927 9.67396 15.6575 10.2708 16.2945C10.8688 16.9315 11.6115 17.25 12.5 17.25C13.3885 17.25 14.124 16.9315 14.7063 16.2945ZM12.5 27C19.4031 27 25 21.1792 25 14C25 6.82075 19.4031 1 12.5 1C5.59687 1 0 6.82075 0 14C0 21.1792 5.59687 27 12.5 27Z" fill="currentColor"></path></svg></a><button class="tw-inline-flex tw-items-center tw-p-1 tw-border-none tw-bg-transparent -tw-mr-1 tw-cursor-pointer" data-testid="hamburger-button"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor"><rect x="1" y="2" width="14" height="2" rx="0.7"></rect><rect x="1" y="7" width="14" height="2" rx="0.7"></rect><rect x="1" y="12" width="14" height="2" rx="0.7"></rect></svg></button></div></nav><div class="flex flex-column tw-min-h-[50vh]"><div class="jsx-3765703733 overflow-hidden home-hero-ga tw-bg-near-black tw-text-near-white"><div style="max-width:var(--max-width-page);position:relative" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><h1 class="jsx-3574674509 heading-one tw-font-medium balanced tw-font-spline-mono tw-my-0 tw-font-medium tw-font-spline-mono tw-relative tw-z-[1] tw-text-balance tw-col-span-12 md:tw-col-[1_/_span_6] xl:tw-col-[1_/_span_9]">The best dashboards are built with<!-- --> <span class="tw-text-marketing-phosphate">code.</span></h1><div class="body-content sans-serif tw-text-base md:tw-text-2xl tw-col-span-12 md:tw-col-[1_/_span_5] z-1 tw-mt-8 tw-text-moon-gray"><p class="tw-mt-0 tw-mb-0">Observable is the modern platform for developing and hosting powerful, performant, polyglot data products built on open source.</p><p class="tw-mt-[1em] tw-mb-0">Ship effortlessly, privately, and securely.</p></div><div class="jsx-3538002051 tw-col-span-12 md:tw-col-[1_/_span_5] z-1 cta-buttons flex justify-between tw-mt-4 md:tw-mt-8"><button class="items-center justify-center button-or-link jsx-3ba17750e06cdfc4 fancy jsx-3e5722c011ba4c50 no-underline w-100 w-auto-ns sz-tall primary sans-serif fw7 dib tc mt3 pointer align-left white-theme" style="margin-left:0;margin-right:8px"><span class="inner-wrap inline-flex"><span>Sign up</span><span class="arrow-wrap inline-flex items-center"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M8.5 11L11 8L8.5 5"></path><line x1="4" y1="8" x2="11" y2="8"></line></svg></span></span></button><a class="items-center justify-center button-or-link jsx-3ba17750e06cdfc4 fancy jsx-3e5722c011ba4c50 no-underline w-100 w-auto-ns sz-tall secondary sans-serif fw7 dib tc mt3 pointer align-left white-theme" style="margin-left:8px;margin-right:0" href="https://observablehq.com/framework/"><span class="inner-wrap inline-flex"><span>Framework docs</span></span></a></div><div class="jsx-3538002051 tw-col-span-12 md:tw-col-[1_/_span_5] animation-spacer tw-hidden lg:tw-block tw-h-0 xl:tw-h-[250px] 2xl:tw-h-[300px]"></div><div style="mix-blend-mode:screen" class="jsx-3538002051 animation-wrap tw-mt-4 tw-col-span-12 tw-flex tw-flex-col tw-justify-center md:tw-mt-0 md:tw-col-span-12 md:tw-absolute md:tw-w-[50%] md:tw-h-full md:tw-top-0 md:tw-right-0 xl:tw-w-[70%] xl:tw-right-[-15%] 2xl:tw-w-[80%] 2xl:tw-right-[-25%] xl:tw-top-[25px]"><video muted="" poster="https://static.observablehq.com/assets/marketing/components/home-hero-cloud/hero-poster-dark.jpg" playsinline="" loop="" autoplay="" style="mix-blend-mode:screen" class="jsx-3538002051 animation tw-block tw-w-full"><source src="https://static.observablehq.com/assets/marketing/components/home-hero-cloud/hero-anim-dark.webm" type="video/webm" class="jsx-3538002051"/><source src="https://static.observablehq.com/assets/marketing/components/home-hero-cloud/hero-anim-dark.mp4" type="video/mp4" class="jsx-3538002051"/></video></div></div></div><div class="jsx-3765703733 bg-observable-charcoal-gray white tc"><div style="max-width:var(--max-width-page)" class="jsx-3765703733 container w-100 center"><div class="jsx-e19ce287a8902898 heading-wrap"><h3 class="jsx-1672705751 heading-three tw-font-medium balanced sans-serif mv0"><div><p style="margin:0" class="jsx-d163655cb192319f">Leading data teams choose Observable</p></div></h3></div><div class="jsx-2148642595 "><ul class="jsx-2148642595 flex-ns flex-wrap-ns justify-center items-center"><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/5SbvDUNlY1UGMwdPWuVt6o/c4b3bbe3df9de34e2300e476204e13c3/StitchFix_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/1xB44FKfXf0EaavcNLEP7m/92242586371fba33b92411b413f1f0fd/Getty_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/6IyDkdHoKy39avCi1DHYYL/d5ec6ec40722c50c5214c627fcb6150c/WashingtonPost_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/5w7WA7rvMvoKXemDptPPQL/1e21b57d9cf750869092ee777531feef/NewYorkTimes_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/2xGBZgtavs4uudeYH2jV0b/22c81b00649aac4948ecfdda8fca6f73/X_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/6Q1QiZ4TC3vtBQF7EF0MI3/6ceb93ebf9a739450a531806c852973e/NBCNews_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/AfL7nik9h25mYd0RX7D2w/cae766d0339326e181e9c95b7c500b37/Lirio_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/3zQsUvWFunf9gWHGjeTtCq/81d5845a9c95959066dc88973225c8f4/MarshallProject_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/2EHm265iZBYmnoCOUDvY0s/9943601bec496b1839241de4d2f44af1/HuggingFace_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/5pyb1cteJU0GJTySjF2dNW/72c92fb4877095f80c0dd9f32c61143d/Economist_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li><li class="jsx-2148642595 logo-wrap"><img src="https://images.ctfassets.net/uklh5xrq1p2j/65FEIpIDF4sGRFk8nJmcYY/c0e257691820379db844604d9c7a4b8e/MIT_logo_mono_white.png" alt="Logo" style="max-width:initial;max-height:64px"/></li></ul></div></div></div><div class="jsx-3765703733 tw-bg-near-black tw-text-white"><div style="max-width:var(--max-width-page)" class="jsx-3765703733 container w-100 center"><div class="tw-max-w-[850px] tw-mx-auto"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono tw-text-center tw-mt-0 tw-mb-8">Ship unmatched data experiences</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl tw-text-center tw-mb-8 lg:tw-mb-16 tw-text-balance">Delivering rich, interactive displays of data to users has often meant expensive custom development or settling for shallow insights. With Observable&#x27;s baked data architecture, data snapshots are precomputed at build time and load instantly.</div></div><div class="jsx-1409695909 jsx-820596636 container-grid"><div class="tw-col-[2_/_span_10] tw-flex tw-flex-row tw-justify-center"><img src="https://static.observablehq.com/assets/marketing/components/platform-diagram/platform-diagram.svg" alt="Observable Platform architecture diagram" class="tw-hidden lg:tw-block"/><img src="https://static.observablehq.com/assets/marketing/components/platform-diagram/platform-diagram-mobile.svg" alt="Observable Platform architecture diagram" class="tw-block lg:tw-hidden"/></div></div></div></div><div class="tw-hidden"><div class="jsx-3765703733 body-section-wrap bg-near-black white"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-left content-wrap"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono mv0 normal">Create data products that users love</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl body-section mt3 mt4-l">Deliver exceptional data experiences that drive engagement, build trust, and create value with every interaction.</div></div><div style="perspective:1200px" class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-right media-wrap"><div class="jsx-80d0cc23b3e47956 jsx-3768181619"><div class="tw-flex tw-justify-center"><div class="tw-relative tw-w-full" style="aspect-ratio:1/1"><div class="tw-absolute tw-left-0 tw-bottom-[5%] tw-w-[90%] tw-rounded tw-border tw-border-solid tw-border-light-gray tw-transform-gpu" style="transform:rotateY(var(--transform-deg-0));box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/dashboard.png" alt="build dashboards illustration dashboard" class="tw-block tw-w-full"/></div><div class="tw-absolute tw-right-0 tw-top-[5%] tw-w-[50%] tw-rounded tw-border tw-border-solid tw-border-light-gray tw-transform-gpu" style="transform:rotateY(var(--transform-deg-0)) translateZ(5px);box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/views.png" alt="build dashboards illustration views" class="tw-block tw-w-full"/></div></div></div></div></div></div></div><div class="jsx-3765703733 body-section-wrap bg-near-black white"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-left content-wrap"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono mv0 normal">Get more value from your data</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl body-section mt3 mt4-l">Observable’s baked data architecture allows you to display a massive amount of data so you can discover deeper insights.</div></div><div style="perspective:1200px" class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-right media-wrap"><div class="jsx-80d0cc23b3e47956 jsx-3768181619"><div class="tw-flex tw-justify-center"><div class="tw-relative tw-w-full" style="aspect-ratio:1/1"><div class="tw-absolute tw-left-0 tw-top-[5%] tw-w-[95%] tw-rounded tw-border tw-border-solid tw-border-light-gray tw-transform-gpu" style="transform:rotateY(var(--transform-deg-1));box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/get-more-value.jpg" alt="get more value illustration" class="tw-block tw-w-full"/></div></div></div></div></div></div></div><div class="jsx-3765703733 body-section-wrap bg-near-black white"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-left content-wrap"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono mv0 normal">A workflow developers already know and love</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl body-section mt3 mt4-l">We speak your (programming) language — whatever it is. Bring CI/CD to your visualizations, dashboards, and data apps. Develop and test locally, then build and deploy automatically on Observable Cloud.</div><div class="jsx-80d0cc23b3e47956 jsx-3768181619 mt4"><a class="button-or-link jsx-3ba17750e06cdfc4 naked jsx-ec91250896062a22 sans-serif fw7 dib tc mt3 pointer align-left white-phosphate-theme" href="/platform"><span class="inner-wrap inline-flex"><span>View the Observable Platform</span><span class="arrow-wrap inline-flex items-center"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M8.5 11L11 8L8.5 5"></path><line x1="4" y1="8" x2="11" y2="8"></line></svg></span></span></a></div></div><div style="perspective:1200px" class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-right media-wrap"><div class="jsx-80d0cc23b3e47956 jsx-3768181619"><div class="tw-flex tw-justify-center"><div class="tw-relative tw-w-full" style="aspect-ratio:1/1"><div class="tw-absolute tw-left-0 tw-bottom-[11%] tw-w-[90%] tw-rounded-lg tw-border tw-border-solid tw-border-light-gray tw-transform-gpu tw-overflow-hidden" style="transform:rotateY(var(--transform-deg-2));box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/deploy-bg-unrounded.png" alt="a workflow developers already know and love illustration git push" class="tw-block tw-w-full"/></div><div class="tw-absolute tw-right-0 tw-top-[11%] tw-w-[86%] tw-rounded-lg tw-border tw-border-solid tw-border-light-gray tw-transform-gpu tw-overflow-hidden" style="transform:rotateY(var(--transform-deg-2)) translateZ(5px);box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/deploy-fg-unrounded.png" alt="a workflow developers already know and love illustration deploy status" class="tw-block tw-w-full"/></div></div></div></div></div></div></div><div class="jsx-3765703733 body-section-wrap bg-near-black white"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-left content-wrap"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono mv0 normal">See Observable in action</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl body-section mt3 mt4-l">Watch our 3-minute overview video to see how Observable’s end-to-end platform streamlines the process of building, deploying, and managing data products.</div></div><div style="perspective:1200px" class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-right media-wrap"><div class="jsx-80d0cc23b3e47956 jsx-3768181619"><div class="tw-flex tw-justify-center"><div class="tw-relative tw-w-full" style="aspect-ratio:1/1"><div class="tw-absolute tw-left-0 tw-top-[28%] tw-w-[100%]tw-transform-gpu tw-overflow-hidden tw-cursor-pointer tw-z-10" style="transform:rotateY(var(--transform-deg-3));box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><div class="tw-relative tw-cursor-pointer tw-group"><button class="tw-sr-only">Watch product tour</button><video muted="" poster="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/demo-thumb.png" playsinline="" loop="" autoplay="" class="tw-block tw-w-full tw-cursor-pointer"><source src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/demo-video-thumb-1440.webm" type="video/webm"/><source src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/demo-video-thumb-1440.mp4" type="video/mp4"/></video><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/demo-play.svg" alt="Observable product tour video play button" aria-hidden="true" class="tw-absolute tw-top-1/2 tw-left-1/2 tw--translate-x-1/2 tw--translate-y-1/2 group-hover:tw-brightness-75 tw-transition-all"/></div></div></div></div></div></div></div></div></div><div class="tw-block"><div class="tw-relative" style="--transform-deg:-15deg"><div class="jsx-3765703733 tw-absolute tw-top-0 tw-w-full tw-h-full"><div style="max-width:var(--max-width-page);height:100%;padding-top:0;padding-bottom:0" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="tw-col-[7_/_span_6] tw-sticky tw-flex tw-flex-col tw-justify-center" style="height:100vh;top:0"><div class="tw-relative" style="aspect-ratio:1/1"><div class="tw-absolute tw-top-0 tw-w-full"><div class="tw-relative" style="aspect-ratio:1/1;perspective:1200px;opacity:1;z-index:1;transition:opacity 0.3s"><div class="tw-absolute tw-left-0 tw-bottom-[5%] tw-w-[90%] tw-rounded tw-border tw-border-solid tw-border-light-gray tw-transform-gpu" style="transform:rotateY(var(--transform-deg-0));box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/dashboard.png" alt="build dashboards illustration dashboard" class="tw-block tw-w-full"/></div><div class="tw-absolute tw-right-0 tw-top-[5%] tw-w-[50%] tw-rounded tw-border tw-border-solid tw-border-light-gray tw-transform-gpu" style="transform:rotateY(var(--transform-deg-0)) translateZ(5px);box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/views.png" alt="build dashboards illustration views" class="tw-block tw-w-full"/></div></div></div><div class="tw-absolute tw-top-0 tw-w-full"><div class="tw-relative" style="aspect-ratio:1/1;perspective:1200px;opacity:0;z-index:0;transition:opacity 0.3s"><div class="tw-absolute tw-left-0 tw-top-[5%] tw-w-[95%] tw-rounded tw-border tw-border-solid tw-border-light-gray tw-transform-gpu" style="transform:rotateY(var(--transform-deg-1));box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/get-more-value.jpg" alt="get more value illustration" class="tw-block tw-w-full"/></div></div></div><div class="tw-absolute tw-top-0 tw-w-full"><div class="tw-relative" style="aspect-ratio:1/1;perspective:1200px;opacity:0;z-index:0;transition:opacity 0.3s"><div class="tw-absolute tw-left-0 tw-bottom-[11%] tw-w-[90%] tw-rounded-lg tw-border tw-border-solid tw-border-light-gray tw-transform-gpu tw-overflow-hidden" style="transform:rotateY(var(--transform-deg-2));box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/deploy-bg-unrounded.png" alt="a workflow developers already know and love illustration git push" class="tw-block tw-w-full"/></div><div class="tw-absolute tw-right-0 tw-top-[11%] tw-w-[86%] tw-rounded-lg tw-border tw-border-solid tw-border-light-gray tw-transform-gpu tw-overflow-hidden" style="transform:rotateY(var(--transform-deg-2)) translateZ(5px);box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/deploy-fg-unrounded.png" alt="a workflow developers already know and love illustration deploy status" class="tw-block tw-w-full"/></div></div></div><div class="tw-absolute tw-top-0 tw-w-full"><div class="tw-relative" style="aspect-ratio:1/1;perspective:1200px;opacity:0;z-index:0;transition:opacity 0.3s"><div class="tw-absolute tw-left-0 tw-top-[28%] tw-w-[100%]tw-transform-gpu tw-overflow-hidden tw-cursor-pointer tw-z-10" style="transform:rotateY(var(--transform-deg-3));box-shadow:0px 4px 30px 0px rgba(39, 39, 39, 0.30), 0px 1px 16px 0px rgba(39, 39, 39, 0.16)"><div class="tw-relative tw-cursor-pointer tw-group"><button class="tw-sr-only">Watch product tour</button><video muted="" poster="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/demo-thumb.png" playsinline="" loop="" autoplay="" class="tw-block tw-w-full tw-cursor-pointer"><source src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/demo-video-thumb-1440.webm" type="video/webm"/><source src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/demo-video-thumb-1440.mp4" type="video/mp4"/></video><img src="https://static.observablehq.com/assets/marketing/components/home-scroll-cloud/demo-play.svg" alt="Observable product tour video play button" aria-hidden="true" class="tw-absolute tw-top-1/2 tw-left-1/2 tw--translate-x-1/2 tw--translate-y-1/2 group-hover:tw-brightness-75 tw-transition-all"/></div></div></div></div></div></div></div></div><div><div class="jsx-3765703733 tw-min-h-[var(--screenHeight,_100vh)] tw-flex tw-flex-col tw-justify-center tw-bg-marketing-gray-black tw-text-near-white" data-scroll-section="true" data-section-idx="0"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="tw-col-[1_/_span_5]"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono">Create data products that users love</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl">Deliver exceptional data experiences that drive engagement, build trust, and create value with every interaction.</div></div></div></div><div class="jsx-3765703733 tw-min-h-[var(--screenHeight,_100vh)] tw-flex tw-flex-col tw-justify-center tw-bg-marketing-gray-black tw-text-near-white" data-scroll-section="true" data-section-idx="1"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="tw-col-[1_/_span_5]"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono">Get more value from your data</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl">Observable’s baked data architecture allows you to display a massive amount of data so you can discover deeper insights.</div></div></div></div><div class="jsx-3765703733 tw-min-h-[var(--screenHeight,_100vh)] tw-flex tw-flex-col tw-justify-center tw-bg-marketing-gray-black tw-text-near-white" data-scroll-section="true" data-section-idx="2"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="tw-col-[1_/_span_5]"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono">A workflow developers already know and love</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl">We speak your (programming) language — whatever it is. Bring CI/CD to your visualizations, dashboards, and data apps. Develop and test locally, then build and deploy automatically on Observable Cloud.</div><a class="tw-mt-8 button-or-link jsx-3ba17750e06cdfc4 naked jsx-ec91250896062a22 sans-serif fw7 dib tc mt3 pointer align-left white-phosphate-theme" href="/platform"><span class="inner-wrap inline-flex"><span>View the Observable Platform</span><span class="arrow-wrap inline-flex items-center"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M8.5 11L11 8L8.5 5"></path><line x1="4" y1="8" x2="11" y2="8"></line></svg></span></span></a></div></div></div><div class="jsx-3765703733 tw-min-h-[var(--screenHeight,_100vh)] tw-flex tw-flex-col tw-justify-center tw-bg-marketing-gray-black tw-text-near-white" data-scroll-section="true" data-section-idx="3"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="tw-col-[1_/_span_5]"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono">See Observable in action</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl">Watch our 3-minute overview video to see how Observable’s end-to-end platform streamlines the process of building, deploying, and managing data products.</div></div></div></div></div></div></div><div class="jsx-3765703733 section-pull-quote tw-bg-near-white tw-text-near-black tw-overflow-hidden author-img-left"><div style="max-width:var(--max-width-page);min-height:560px" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="jsx-2b84b2c564424b6d author-photo-wrap justify-center tw-mb-8 lg:tw-mb-0 tw-hidden lg:tw-flex flex-column tw-row-[1] tw-relative tw-col-[2_/_span_4] xl:tw-col-[2_/_span_3]"><div style="bottom:calc(-1 * var(--container-padding-bottom));aspect-ratio:600/500" class="jsx-2b84b2c564424b6d tw-max-w-none tw-absolute tw-w-[450px] xl:tw-w-[560px] tw-pointer-events-none tw-right-0"><div><canvas class="tw-w-full tw-h-full tw-block"></canvas></div></div></div><div class="jsx-2b84b2c564424b6d quote-wrap flex items-center tw-row-[1] tw-col-[6_/_span_7] xl:tw-col-[5_/_span_8]"><div class="jsx-2b84b2c564424b6d flex flex-row space-between"><div class="jsx-2b84b2c564424b6d flex flex-column"><h3 class="jsx-2b84b2c564424b6d tw-my-0 tw-text-[20px] md:tw-text-[24px] xl:tw-text-[32px] tw-font-normal tw-leading-[1.2em] tw-font-sans tw-text-balance"><blockquote class="jsx-2b84b2c564424b6d"><div><p style="margin:0" class="jsx-d163655cb192319f">“<!-- -->Observable opened up a new realm of possibilities for what we could do and offer. We created dynamic, interactive experiences that let users visualize and use climate change data in ways that we couldn&#x27;t easily support before.<!-- -->”</p></div></blockquote></h3><div class="jsx-2b84b2c564424b6d attribution-wrap inline-flex space-between mt4"><div class="jsx-2b84b2c564424b6d flex items-center"><div class="jsx-2b84b2c564424b6d mr2 flex flex-shrink-0"><img src="https://images.ctfassets.net/uklh5xrq1p2j/7vlbKCfAhVjebGaM0TbHA/558e66c89d78ea92ab0baf61b29e5675/Group_1175.png" alt="Kaitlyn Trudeau" class="br-100 company-image tw-w-[40px]"/></div><div class="jsx-2b84b2c564424b6d pr2-ns"><div class="jsx-2b84b2c564424b6d author-name fw6">Kaitlyn Trudeau</div><div class="jsx-2b84b2c564424b6d author-byline mt2 fw5 mid-gray"><div><p style="margin:0" class="jsx-d163655cb192319f">Senior Research Associate at Climate Central</p></div></div></div></div></div></div></div></div></div></div><div class="jsx-3765703733 body-section-wrap bg-near-black white" style="--transform-deg:-10deg"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-left content-wrap"><p class="jsx-897414578 eyebrow ttu sans-serif fw7 mt0 tw-mb-4 lg:tw-mb-6 tw-text-moon-gray">Use case</p><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono mv0 normal"><div><p style="margin:0" class="jsx-d163655cb192319f">User-facing analytics</p></div></h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl body-section mt3 mt4-l"><div><p class="jsx-c3fc598b497292de rich-text-p">Rich, bespoke data apps are more valuable for users because they provide deeper insights. Build the analytics experiences that set your business apart — and keep your customers coming back.</p></div></div><div class="jsx-80d0cc23b3e47956 jsx-3768181619 mt4"><a class="button-or-link jsx-3ba17750e06cdfc4 naked jsx-ec91250896062a22 sans-serif fw7 dib tc mt3 pointer align-left white-phosphate-theme" href="/solutions/embedded-analytics"><span class="inner-wrap inline-flex"><span>Learn more</span><span class="arrow-wrap inline-flex items-center"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M8.5 11L11 8L8.5 5"></path><line x1="4" y1="8" x2="11" y2="8"></line></svg></span></span></a></div></div><div style="perspective:1200px" class="jsx-80d0cc23b3e47956 jsx-3768181619 grid-right media-wrap"><div style="transform:rotateY(var(--transform-deg))" class="jsx-80d0cc23b3e47956 jsx-3768181619"><div class="tw-relative" style="aspect-ratio:1/1;perspective:1200px"><div class="tw-absolute tw-right-0 tw-bottom-[7%] tw-w-[90%] tw-rounded tw-border tw-border-solid tw-border-light-gray tw-shadow-3d" style="transform:rotateY(var(--transform-deg))"><img src="https://static.observablehq.com/assets/marketing/components/custom-media/user-analytics/chart.png" alt="user analytics illustration chart" class="tw-block"/></div><div class="tw-absolute tw-left-0 tw-top-[10%] tw-w-[65%] tw-rounded tw-border tw-border-solid tw-border-light-gray tw-shadow-3d" style="transform:rotateY(var(--transform-deg)) translateZ(10px)"><img src="https://static.observablehq.com/assets/marketing/components/custom-media/user-analytics/github-stars.png" alt="user analytics illustration github stars" class="tw-block"/></div></div></div></div></div></div><div class="jsx-3765703733 section-columns tw-bg-near-black tw-text-white"><div style="max-width:var(--max-width-page)" class="jsx-3765703733 container w-100 center reduced-top-padding reduced-bottom-padding"><h2 class="jsx-3985160828 heading-two tw-font-medium balanced tw-font-spline-mono tw-text-center tw-mt-0 tw-mb-8">Deliver the web’s best data experiences</h2><div class="body-content sans-serif tw-text-sm md:tw-text-xl tw-text-center tw-mb-8 lg:tw-mb-16 tw-text-balance"><div><p style="margin:0" class="jsx-d163655cb192319f">Observable powers fast, expressive, and scalable data apps that drive impact and inform your most important business decisions.</p></div></div><div class="jsx-1409695909 jsx-820596636 tw-gap-y-6 tw-flex tw-flex-col container-grid"><div class="tw-flex tw-flex-col tw-justify-between tw-col-span-4 tw-border tw-border-solid tw-p-6 lg:tw-p-8 tw-rounded-sm tw-border-marketing-phosphate"><div class="tw-h-[60px] tw-mb-4 lg:tw-mb-8 tw-flex-grow-0"><img src="https://images.ctfassets.net/uklh5xrq1p2j/2VERVCXAuEL44coIUIicTZ/08e7c90833dd80da9801d7c210e1f7b4/Icon_BetterVis.svg" alt="" class="tw-max-h-full"/></div><div class="tw-flex-grow-0"><h3 class="jsx-1672705751 heading-three tw-font-medium balanced tw-font-spline-mono tw-mt-0 tw-font-normal tw-mb-4 lg:tw-mb-8">Unmatched expressiveness</h3></div><div class="body-content sans-serif tw-text-sm md:tw-text-xl tw-flex-grow tw-text-near-white"><div><p style="margin:0" class="jsx-d163655cb192319f">Use best-in-breed technology like D3 to create interactive data apps that will keep your users informed and engaged.</p></div></div></div><div class="tw-flex tw-flex-col tw-justify-between tw-col-span-4 tw-border tw-border-solid tw-p-6 lg:tw-p-8 tw-rounded-sm tw-border-marketing-phosphate"><div class="tw-h-[60px] tw-mb-4 lg:tw-mb-8 tw-flex-grow-0"><img src="https://images.ctfassets.net/uklh5xrq1p2j/5bRYMfXZc45dKWSeoR3Nw4/1a06457211b69e7f2b49c2b86a249ba9/Icon_IncreaseVelocity.svg" alt="" class="tw-max-h-full"/></div><div class="tw-flex-grow-0"><h3 class="jsx-1672705751 heading-three tw-font-medium balanced tw-font-spline-mono tw-mt-0 tw-font-normal tw-mb-4 lg:tw-mb-8">Faster performance, better UX</h3></div><div class="body-content sans-serif tw-text-sm md:tw-text-xl tw-flex-grow tw-text-near-white"><div><p style="margin:0" class="jsx-d163655cb192319f">Observable takes snapshots of data during builds, ensuring fast load times — even for your most robust data apps.</p></div></div></div><div class="tw-flex tw-flex-col tw-justify-between tw-col-span-4 tw-border tw-border-solid tw-p-6 lg:tw-p-8 tw-rounded-sm tw-border-marketing-phosphate"><div class="tw-h-[60px] tw-mb-4 lg:tw-mb-8 tw-flex-grow-0"><img src="https://images.ctfassets.net/uklh5xrq1p2j/5AqdypzdJcoz2p7pTPuMRH/62463a867db027e58181452140d82d9f/Icon_Built-inInteractivity.svg" alt="" class="tw-max-h-full"/></div><div class="tw-flex-grow-0"><h3 class="jsx-1672705751 heading-three tw-font-medium balanced tw-font-spline-mono tw-mt-0 tw-font-normal tw-mb-4 lg:tw-mb-8">Hosting built for data apps</h3></div><div class="body-content sans-serif tw-text-sm md:tw-text-xl tw-flex-grow tw-text-near-white"><div><p style="margin:0" class="jsx-d163655cb192319f">Host and share data apps with fine-grained access and security controls to keep your data private.</p></div></div></div></div></div></div><div class="jsx-3765703733 section-pull-quote tw-bg-near-white tw-text-near-black tw-overflow-hidden author-img-right"><div style="max-width:var(--max-width-page);min-height:560px" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="jsx-2b84b2c564424b6d author-photo-wrap justify-center tw-mb-8 lg:tw-mb-0 tw-hidden lg:tw-flex flex-column tw-row-[1] tw-relative tw-col-[8_/_span_4] xl:tw-col-[9_/_span_3]"><div style="bottom:calc(-1 * var(--container-padding-bottom));aspect-ratio:600/500" class="jsx-2b84b2c564424b6d tw-max-w-none tw-absolute tw-w-[450px] xl:tw-w-[560px] tw-pointer-events-none tw-left-0"><div><canvas class="tw-w-full tw-h-full tw-block"></canvas></div></div></div><div class="jsx-2b84b2c564424b6d quote-wrap flex items-center tw-row-[1] tw-col-[1_/_span_7] xl:tw-col-[1_/_span_8]"><div class="jsx-2b84b2c564424b6d flex flex-row space-between"><div class="jsx-2b84b2c564424b6d flex flex-column"><h3 class="jsx-2b84b2c564424b6d tw-my-0 tw-text-[20px] md:tw-text-[24px] xl:tw-text-[32px] tw-font-normal tw-leading-[1.2em] tw-font-sans tw-text-balance"><blockquote class="jsx-2b84b2c564424b6d"><div><p style="margin:0" class="jsx-d163655cb192319f">“Every inch down the ‘everyone works with expressive code’ trajectory we get
(as opposed to everyone works with constraining tools) fills me with hope and joy.”</p></div></blockquote></h3><div class="jsx-2b84b2c564424b6d attribution-wrap inline-flex space-between mt4"><div class="jsx-2b84b2c564424b6d flex items-center"><div class="jsx-2b84b2c564424b6d mr2 flex flex-shrink-0"><img src="https://images.ctfassets.net/uklh5xrq1p2j/6Z9WpiymrlMHt2fLEUuhla/ed5e141fd5f6c5ab945e0a72c45e4187/image_180.png" alt="Stephanie Tuerk" class="br-100 company-image tw-w-[40px]"/></div><div class="jsx-2b84b2c564424b6d pr2-ns"><div class="jsx-2b84b2c564424b6d author-name fw6">Stephanie Tuerk</div><div class="jsx-2b84b2c564424b6d author-byline mt2 fw5 mid-gray"><div><p style="margin:0" class="jsx-d163655cb192319f">Designer and Front-end Engineer at Mathematica</p></div></div></div></div></div></div></div></div></div></div><div class="jsx-3765703733 section-columns tw-bg-near-black tw-text-near-white"><div style="max-width:var(--max-width-page)" class="jsx-3765703733 container w-100 center reduced-top-padding reduced-bottom-padding"><div class="jsx-1409695909 jsx-820596636 tw-gap-y-6 tw-flex tw-flex-col container-grid"><div class="tw-flex tw-flex-col tw-justify-between tw-col-span-4 tw-border tw-border-solid tw-p-6 lg:tw-p-8 tw-rounded-sm tw-border-marketing-phosphate tw-text-center"><div class="tw-flex-grow-0"><h3 class="tw-my-0 tw-text-[64px] lg:tw-text-[80px] xl:tw-text-[100px] tw-font-spline-mono tw-font-normal tw-tracking-[10px]"><span class="tw-inline-block">0K+</span></h3></div><div class="body-content sans-serif tw-text-sm md:tw-text-xl tw-flex-grow">Platform users</div></div><div class="tw-flex tw-flex-col tw-justify-between tw-col-span-4 tw-border tw-border-solid tw-p-6 lg:tw-p-8 tw-rounded-sm tw-border-marketing-phosphate tw-text-center"><div class="tw-flex-grow-0"><h3 class="tw-my-0 tw-text-[64px] lg:tw-text-[80px] xl:tw-text-[100px] tw-font-spline-mono tw-font-normal tw-tracking-[10px]"><span class="tw-inline-block">0.0M</span></h3></div><div class="body-content sans-serif tw-text-sm md:tw-text-xl tw-flex-grow">npm downloads of D3 / week</div></div><div class="tw-flex tw-flex-col tw-justify-between tw-col-span-4 tw-border tw-border-solid tw-p-6 lg:tw-p-8 tw-rounded-sm tw-border-marketing-phosphate tw-text-center"><div class="tw-flex-grow-0"><h3 class="tw-my-0 tw-text-[64px] lg:tw-text-[80px] xl:tw-text-[100px] tw-font-spline-mono tw-font-normal tw-tracking-[10px]"><span class="tw-inline-block">0</span></h3></div><div class="body-content sans-serif tw-text-sm md:tw-text-xl tw-flex-grow">Observable Framework GitHub stars</div></div></div></div></div><div class="jsx-3765703733 bottom-cta-section tw-bg-marketing-phosphate tw-text-near-black"><div style="max-width:var(--max-width-page)" class="jsx-1409695909 jsx-820596636 jsx-3765703733 container w-100 center container-grid"><div class="jsx-a9cf7100d8b7e606 tw-col-span-full lg:tw-col-[1_/_span_6] max-lg:tw-text-center"><div class="jsx-a9cf7100d8b7e606 tw-mx-auto tw-relative"><h2 class="jsx-3574674509 heading-one tw-font-medium tw-font-spline-mono jsx-a9cf7100d8b7e606 tw-my-0 max-sm:tw-text-balance max-md:!tw-text-3xl"><div><p style="margin:0" class="jsx-d163655cb192319f">Get started today</p></div></h2></div></div><div class="jsx-a9cf7100d8b7e606 tw-col-span-full tw-mt-8 lg:tw-col-[7_/_span_6] lg:tw-mt-0"><div class="jsx-a9cf7100d8b7e606 tw-flex tw-flex-wrap tw-justify-center sm:tw-flex-nowrap tw-gap-4 lg:tw-gap-8"><button class="tw-flex-1 sm:tw-flex-none lg:tw-flex-1 button-or-link jsx-3ba17750e06cdfc4 fancy jsx-3e5722c011ba4c50 no-underline w-100 w-auto-ns sz-tall primary sans-serif fw7 dib tc mt3 pointer align-center default-theme" style="margin:0"><span class="inner-wrap inline-flex"><span>Sign up</span><span class="arrow-wrap inline-flex items-center"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M8.5 11L11 8L8.5 5"></path><line x1="4" y1="8" x2="11" y2="8"></line></svg></span></span></button><button class="tw-flex-1 sm:tw-flex-none lg:tw-flex-1 button-or-link jsx-3ba17750e06cdfc4 fancy jsx-3e5722c011ba4c50 no-underline w-100 w-auto-ns sz-tall secondary sans-serif fw7 dib tc mt3 pointer align-center default-theme" style="margin:0"><span class="inner-wrap inline-flex"><span>Request a demo</span></span></button></div><div class="jsx-a9cf7100d8b7e606 z-1 tw-my-4 lg:tw-my-8"><hr class="jsx-a9cf7100d8b7e606 tw-my-0 tw-border tw-border-solid tw-border-t tw-border-x-0 tw-border-b-0 tw-border-near-black"/></div><div style="--code-snippet-prefix:&quot;$&quot;" class="jsx-e030bcfb559b6821 copy-code-wrap pa3 br2 tw-bg-marketing-dark-phosphate tw-text-white theme-dark-phosphate"><p class="jsx-e030bcfb559b6821 mv0 label-copy">Get our open-source framework</p><div class="jsx-e030bcfb559b6821 relative white"><div style="top:-4px;right:0" class="jsx-e030bcfb559b6821 absolute"><button type="button" title="Copy" style="--button-color:var(--white);--button-hover-color:var(--white)" class="jsx-328a54ab387a80c0 copy-button flex pa1 br2 items-center bg-transparent child bn pointer"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M2 6C2 5.44772 2.44772 5 3 5H10C10.5523 5 11 5.44772 11 6V13C11 13.5523 10.5523 14 10 14H3C2.44772 14 2 13.5523 2 13V6Z" stroke="currentColor" stroke-width="2"></path><path d="M4 2.00004L12 2.00001C13.1046 2 14 2.89544 14 4.00001V12" stroke="currentColor" stroke-width="2"></path></svg></button></div><pre class="jsx-e030bcfb559b6821 mb0 mt2 mt3-l tw-w-[calc(100%-24px)] tw-overflow-x-auto"><code class="jsx-e030bcfb559b6821 add-prefix">npx @observablehq/framework@latest create</code></pre></div></div></div></div></div></div><div><footer class="jsx-8d4ea8e40418e08b tw-grow tw-bg-near-black tw-py-8 tw-text-[12px] tw-text-white md:tw-pt-12 print:tw-hidden"><div class="jsx-8d4ea8e40418e08b tw-mt-6 tw-px-8 first:tw-mt-0 md:tw-mt-6 md:tw-px-8 lg:tw-mt-8 tw-max-w-[1140px] tw-justify-between lg:tw-flex"><a title="Home" class="tw-mr-4 sm:tw-mr-8" href="/"><svg role="img" width="173" height="24" viewBox="0 0 173 24" aria-label="Observable" fill="currentColor"><path d="M40.8496 20.6083C39.7407 20.6083 38.6757 20.4234 37.6548 20.0538C36.6339 19.6842 35.7186 19.1209 34.9089 18.364C34.1168 17.607 33.4919 16.6565 33.0343 15.5124C32.5766 14.3683 32.3478 13.0218 32.3478 11.4727C32.3478 9.92375 32.5766 8.57718 33.0343 7.43305C33.5095 6.2889 34.1432 5.33839 34.9353 4.5815C35.7274 3.82462 36.6339 3.26135 37.6548 2.8917C38.6757 2.52205 39.7407 2.33723 40.8496 2.33723C41.9585 2.33723 43.0234 2.52205 44.0444 2.8917C45.0653 3.26135 45.9718 3.82462 46.7639 4.5815C47.556 5.33839 48.1809 6.2889 48.6386 7.43305C49.1138 8.57718 49.3514 9.92375 49.3514 11.4727C49.3514 13.0218 49.1225 14.3683 48.665 15.5124C48.2073 16.6565 47.5736 17.607 46.7639 18.364C45.9718 19.1209 45.0653 19.6842 44.0444 20.0538C43.0234 20.4234 41.9585 20.6083 40.8496 20.6083ZM40.8496 18.9977C41.6065 18.9977 42.2049 18.6896 42.645 18.0736C43.1027 17.4398 43.4283 16.5598 43.622 15.4332C43.8332 14.3067 43.9388 12.9865 43.9388 11.4727C43.9388 9.95894 43.8332 8.63879 43.622 7.51226C43.4283 6.38572 43.1027 5.50562 42.645 4.87193C42.2049 4.23826 41.6065 3.92142 40.8496 3.92142C40.1103 3.92142 39.5118 4.23826 39.0542 4.87193C38.5965 5.50562 38.2621 6.38572 38.0509 7.51226C37.8572 8.63879 37.7604 9.95894 37.7604 11.4727C37.7604 12.9865 37.8572 14.3067 38.0509 15.4332C38.2621 16.5598 38.5965 17.4398 39.0542 18.0736C39.5118 18.6896 40.1103 18.9977 40.8496 18.9977ZM50.5773 20.1066V18.76L51.7655 18.496C51.7831 17.8622 51.7919 17.1846 51.7919 16.4629C51.7919 15.7413 51.7919 15.1076 51.7919 14.5619V3.60459L50.3661 3.41977V2.23162L56.386 1.04348L56.8349 1.33392L56.7293 5.00396V8.33075C57.7678 7.30983 59.0175 6.79937 60.4785 6.79937C61.4466 6.79937 62.3267 7.0546 63.1188 7.56506C63.9109 8.05792 64.5358 8.80601 64.9934 9.80933C65.4687 10.7951 65.7063 12.0448 65.7063 13.5586C65.7063 15.002 65.4335 16.2429 64.8878 17.2814C64.3422 18.3199 63.6293 19.1209 62.7491 19.6842C61.8867 20.2298 60.9626 20.5026 59.9768 20.5026C59.22 20.5026 58.5599 20.3706 57.9966 20.1066C57.4333 19.8601 56.9405 19.4993 56.518 19.0241L55.99 20.5026L50.5773 20.1066ZM58.0494 9.41329C57.8206 9.41329 57.6006 9.44848 57.3893 9.5189C57.1957 9.5893 57.0021 9.68612 56.8085 9.80933V17.5982C57.1605 17.8447 57.5742 17.968 58.0494 17.968C58.7535 17.968 59.3168 17.607 59.7392 16.8853C60.1616 16.1637 60.3729 15.0548 60.3729 13.5586C60.3729 12.0448 60.1616 10.9799 59.7392 10.3638C59.3168 9.73012 58.7535 9.41329 58.0494 9.41329ZM71.7275 20.5026C69.8968 20.5026 68.2775 20.0714 66.8693 19.2089L67.0013 15.8292H69.404L69.8264 18.5752C70.1257 18.6984 70.4337 18.7952 70.7505 18.8657C71.0674 18.9185 71.3931 18.9449 71.7275 18.9449C72.3964 18.9449 72.9156 18.8393 73.2852 18.628C73.6549 18.4168 73.8397 18.0647 73.8397 17.5718C73.8397 17.2198 73.699 16.903 73.4173 16.6213C73.1532 16.3397 72.5812 16.0845 71.7011 15.8556L70.1961 15.4596C69.1575 15.178 68.3654 14.6851 67.8198 13.981C67.2742 13.2594 67.0013 12.3881 67.0013 11.3671C67.0013 10.047 67.503 8.95563 68.5063 8.09312C69.5272 7.23062 70.9882 6.79937 72.8892 6.79937C73.699 6.79937 74.447 6.88738 75.1335 7.06341C75.8376 7.23942 76.5505 7.50345 77.2721 7.8555L77.0609 10.839H74.6318L74.0509 8.48917C73.8749 8.45397 73.6813 8.42757 73.4701 8.40996C73.2765 8.37476 73.0389 8.35715 72.7572 8.35715C72.2644 8.35715 71.8419 8.47157 71.4898 8.70039C71.1554 8.91162 70.9882 9.24606 70.9882 9.70372C70.9882 9.98535 71.1115 10.2582 71.3578 10.5222C71.6043 10.7862 72.1851 11.0414 73.1004 11.2879L74.579 11.6839C75.8112 12.0184 76.6912 12.5377 77.2193 13.2417C77.765 13.9459 78.0379 14.8172 78.0379 15.8556C78.0379 17.4047 77.4658 18.5664 76.3216 19.3409C75.1951 20.1153 73.6637 20.5026 71.7275 20.5026ZM85.8767 8.22514C85.4718 8.22514 85.1286 8.52438 84.847 9.12285C84.5653 9.72132 84.4069 10.839 84.3717 12.476H85.6127C86.2464 12.476 86.6688 12.3528 86.88 12.1064C87.1088 11.8424 87.2233 11.3759 87.2233 10.707C87.2233 9.79173 87.0824 9.14926 86.8008 8.7796C86.5368 8.40996 86.2287 8.22514 85.8767 8.22514ZM85.9559 20.5026C84.6358 20.5026 83.4564 20.2298 82.4179 19.6842C81.3969 19.1384 80.5873 18.3552 79.9887 17.3342C79.3903 16.2957 79.091 15.0548 79.091 13.6114C79.091 12.4673 79.2935 11.4727 79.6983 10.6278C80.1032 9.78293 80.6488 9.07884 81.3353 8.51557C82.0219 7.93471 82.7876 7.50345 83.6325 7.22182C84.4774 6.94018 85.331 6.79937 86.1936 6.79937C87.4609 6.79937 88.5082 7.06341 89.3355 7.59147C90.1804 8.10193 90.8141 8.79721 91.2365 9.67732C91.659 10.5398 91.8702 11.5079 91.8702 12.5816C91.8702 12.8633 91.8614 13.1097 91.8438 13.3209C91.8262 13.5146 91.791 13.7346 91.7382 13.981H84.3981C84.5389 15.266 84.9174 16.1989 85.5335 16.7797C86.1672 17.3606 86.8712 17.651 87.6457 17.651C88.3145 17.651 88.8867 17.5367 89.3619 17.3078C89.8547 17.0614 90.286 16.7622 90.6557 16.4101L91.6854 17.4134C91.1221 18.4872 90.3477 19.2704 89.3619 19.7634C88.3937 20.2562 87.2584 20.5026 85.9559 20.5026ZM92.9624 20.0802V18.7336L94.2298 18.4432C94.2473 17.8094 94.2562 17.1406 94.2562 16.4365C94.2562 15.7149 94.2562 15.0812 94.2562 14.5355V12.8721C94.2562 12.3792 94.2473 11.9832 94.2298 11.6839C94.2298 11.3848 94.221 11.1119 94.2034 10.8654C94.2034 10.6014 94.1945 10.2934 94.177 9.94135L92.7512 9.70372V8.62118L98.5863 6.79937L99.0615 7.08981L99.2727 10.1526C99.6248 9.00844 100.127 8.16353 100.778 7.61787C101.447 7.0722 102.098 6.79937 102.732 6.79937C103.383 6.79937 103.929 6.99299 104.369 7.38024C104.826 7.74988 105.099 8.33956 105.187 9.14925C105.152 9.85333 104.941 10.4078 104.553 10.8126C104.166 11.1998 103.709 11.3935 103.18 11.3935C102.371 11.3935 101.631 10.9094 100.963 9.94135L100.831 9.75652C100.514 10.1086 100.197 10.5662 99.88 11.1295C99.5808 11.6928 99.3784 12.2736 99.2727 12.8721V14.5355C99.2727 15.046 99.2727 15.6444 99.2727 16.3309C99.2727 17.0173 99.2816 17.6687 99.2991 18.2848L101.359 18.7336V20.0802H92.9624ZM114.743 8.46277V7.22182H119.707V8.46277L118.123 8.7268L113.766 20.0802H111.39L106.69 8.7268L105.423 8.46277V7.22182H113.37V8.46277L111.971 8.7796L114.162 14.8523L116.195 8.7532L114.743 8.46277ZM129.974 20.5026C129.147 20.5026 128.478 20.3442 127.967 20.0274C127.475 19.6929 127.114 19.2265 126.885 18.628C126.374 19.1912 125.855 19.6489 125.327 20.001C124.817 20.3354 124.086 20.5026 123.136 20.5026C122.097 20.5026 121.261 20.2034 120.627 19.6049C120.011 19.0064 119.703 18.1703 119.703 17.0966C119.703 16.4101 119.853 15.8028 120.152 15.2747C120.469 14.7291 121.015 14.2363 121.789 13.7962C122.581 13.3386 123.69 12.9249 125.116 12.5552C125.327 12.5024 125.574 12.4409 125.855 12.3704C126.137 12.2825 126.427 12.2033 126.727 12.1328V11.1823C126.727 10.0558 126.594 9.28127 126.33 8.85881C126.084 8.43636 125.547 8.22514 124.72 8.22514C124.649 8.22514 124.579 8.22514 124.509 8.22514C124.456 8.22514 124.394 8.22514 124.324 8.22514V9.12285C124.324 10.1966 124.104 10.9622 123.664 11.4199C123.224 11.86 122.722 12.08 122.159 12.08C121.085 12.08 120.416 11.6047 120.152 10.6542C120.152 9.51009 120.689 8.58599 121.763 7.8819C122.854 7.16021 124.465 6.79937 126.594 6.79937C128.425 6.79937 129.71 7.20422 130.449 8.01391C131.206 8.80601 131.585 10.1086 131.585 11.9216V17.968C131.585 18.2671 131.734 18.4168 132.034 18.4168C132.139 18.4168 132.245 18.3816 132.35 18.3112C132.456 18.2232 132.588 18.0647 132.746 17.8358L133.512 18.2584C133.195 19.0681 132.755 19.6489 132.192 20.001C131.646 20.3354 130.907 20.5026 129.974 20.5026ZM124.245 16.2781C124.245 16.9294 124.377 17.4134 124.641 17.7302C124.905 18.0472 125.23 18.2056 125.618 18.2056C125.741 18.2056 125.873 18.1792 126.014 18.1264C126.172 18.0559 126.41 17.9152 126.727 17.7038V13.3737C126.462 13.4442 126.207 13.541 125.961 13.6642C125.591 13.8403 125.213 14.1394 124.825 14.5619C124.438 14.9843 124.245 15.5564 124.245 16.2781ZM134.041 20.1066V18.76L135.229 18.496C135.247 17.8622 135.256 17.1846 135.256 16.4629C135.256 15.7413 135.256 15.1076 135.256 14.5619V3.60459L133.83 3.41977V2.23162L139.85 1.04348L140.299 1.33392L140.193 5.00396V8.33075C141.232 7.30983 142.481 6.79937 143.942 6.79937C144.91 6.79937 145.791 7.0546 146.583 7.56506C147.375 8.05792 148 8.80601 148.457 9.80933C148.933 10.7951 149.17 12.0448 149.17 13.5586C149.17 15.002 148.898 16.2429 148.352 17.2814C147.806 18.3199 147.093 19.1209 146.213 19.6842C145.351 20.2298 144.426 20.5026 143.441 20.5026C142.684 20.5026 142.024 20.3706 141.461 20.1066C140.897 19.8601 140.405 19.4993 139.982 19.0241L139.454 20.5026L134.041 20.1066ZM141.513 9.41329C141.284 9.41329 141.064 9.44848 140.853 9.5189C140.659 9.5893 140.466 9.68612 140.272 9.80933V17.5982C140.625 17.8447 141.038 17.968 141.513 17.968C142.217 17.968 142.781 17.607 143.203 16.8853C143.626 16.1637 143.837 15.0548 143.837 13.5586C143.837 12.0448 143.626 10.9799 143.203 10.3638C142.781 9.73012 142.217 9.41329 141.513 9.41329ZM150.465 20.0802V18.7336L151.653 18.4696C151.671 17.8007 151.679 17.1406 151.679 16.4893C151.697 15.838 151.707 15.1868 151.707 14.5355V3.6838L150.28 3.41977V2.23162L156.379 1.04348L156.828 1.33392L156.723 5.00396V14.5355C156.723 15.1868 156.723 15.8469 156.723 16.5157C156.74 17.167 156.758 17.8271 156.776 18.496L157.963 18.7336V20.0802H150.465ZM165.938 8.22514C165.533 8.22514 165.189 8.52438 164.908 9.12285C164.626 9.72132 164.467 10.839 164.432 12.476H165.674C166.307 12.476 166.73 12.3528 166.94 12.1064C167.169 11.8424 167.284 11.3759 167.284 10.707C167.284 9.79173 167.143 9.14926 166.861 8.7796C166.597 8.40996 166.289 8.22514 165.938 8.22514ZM166.016 20.5026C164.696 20.5026 163.517 20.2298 162.478 19.6842C161.457 19.1384 160.647 18.3552 160.049 17.3342C159.45 16.2957 159.152 15.0548 159.152 13.6114C159.152 12.4673 159.354 11.4727 159.759 10.6278C160.164 9.78293 160.71 9.07884 161.395 8.51557C162.082 7.93471 162.848 7.50345 163.693 7.22182C164.537 6.94018 165.392 6.79937 166.254 6.79937C167.522 6.79937 168.568 7.06341 169.396 7.59147C170.241 8.10193 170.874 8.79721 171.297 9.67732C171.719 10.5398 171.93 11.5079 171.93 12.5816C171.93 12.8633 171.922 13.1097 171.904 13.3209C171.886 13.5146 171.851 13.7346 171.799 13.981H164.459C164.6 15.266 164.978 16.1989 165.594 16.7797C166.228 17.3606 166.932 17.651 167.706 17.651C168.375 17.651 168.947 17.5367 169.423 17.3078C169.915 17.0614 170.346 16.7622 170.716 16.4101L171.746 17.4134C171.182 18.4872 170.408 19.2704 169.423 19.7634C168.454 20.2562 167.319 20.5026 166.016 20.5026Z"></path><path d="M11.4413 19.7265C10.3849 19.7265 9.46964 19.4977 8.69544 19.04C7.92403 18.5841 7.30727 17.9383 6.91536 17.1761C6.49867 16.3829 6.19365 15.5442 6.00767 14.6801C5.81035 13.743 5.71422 12.7903 5.72068 11.8359C5.72068 11.0802 5.77027 10.3577 5.87038 9.66687C5.96953 8.97688 6.15355 8.27548 6.42147 7.56358C6.68939 6.85167 7.03454 6.23445 7.45501 5.71104C7.89276 5.17482 8.45875 4.73835 9.10924 4.4354C9.79191 4.10837 10.568 3.9453 11.4413 3.9453C12.4977 3.9453 13.4131 4.17413 14.1873 4.63178C14.9587 5.08762 15.5755 5.73343 15.9674 6.49571C16.3811 7.28039 16.6834 8.11242 16.875 8.99178C17.0658 9.87026 17.1621 10.8189 17.1621 11.8359C17.1621 12.5917 17.1125 13.3141 17.0123 14.0049C16.9057 14.7222 16.7171 15.4272 16.4498 16.1082C16.1733 16.8201 15.8301 17.4374 15.4162 17.9608C15.0025 18.4842 14.4552 18.9094 13.7735 19.2364C13.0918 19.5634 12.3147 19.7265 11.4413 19.7265ZM13.4608 13.9249C14.0079 13.3785 14.3122 12.6225 14.3017 11.8359C14.3017 11.0232 14.0281 10.3268 13.4817 9.74686C12.9344 9.1669 12.2547 8.87692 11.4413 8.87692C10.628 8.87692 9.94827 9.1669 9.40099 9.74686C8.86507 10.2993 8.56912 11.0534 8.58102 11.8359C8.58102 12.6486 8.85467 13.3449 9.40099 13.9249C9.94827 14.5049 10.628 14.7949 11.4413 14.7949C12.2547 14.7949 12.9278 14.5049 13.4608 13.9249ZM11.4413 23.6718C17.7599 23.6718 22.8828 18.3723 22.8828 11.8359C22.8828 5.29952 17.7599 0 11.4413 0C5.12287 0 0 5.29952 0 11.8359C0 18.3723 5.12287 23.6718 11.4413 23.6718Z"></path></svg></a><div class="jsx-8d4ea8e40418e08b tw-hidden lg:tw-contents"><div class="tw-grid tw-w-full tw-max-w-[800px] tw-flex-grow tw-grid-cols-2 tw-flex-wrap tw-justify-between tw-gap-x-2 tw-gap-y-4 min-[480px]:tw-grid-cols-2 sm:tw-grid-cols-4 lg:tw-inline-flex lg:tw-w-auto lg:tw-gap-4"><div class="jsx-8d4ea8e40418e08b "><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]">Platform</div><ul class="jsx-8d4ea8e40418e08b"><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/platform">Platform overview</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/platform/framework">Observable Framework</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/platform/cloud">Observable Cloud</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/platform/notebooks">Observable Notebooks</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/solutions/embedded-analytics">Embedded analytics</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2 lg:tw-hidden"><a href="/pricing">Pricing</a></li></ul></div><div class="jsx-8d4ea8e40418e08b "><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]">Docs</div><ul class="jsx-8d4ea8e40418e08b"><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/documentation/">Observable</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="https://observablehq.com/framework/">Observable Framework</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/plot/">Observable Plot</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="https://d3js.org/">D3</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/release-notes">Release notes</a></li></ul></div><div class="jsx-8d4ea8e40418e08b "><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]">Resources</div><ul class="jsx-8d4ea8e40418e08b"><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/blog">Blog</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/resource-center#webinars">Webinars</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/resource-center#videos">Videos</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/customer-stories">Customer stories</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a target="_blank" rel="noopener noreferrer" href="https://observablehq.com/slack/join">Community Slack</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="https://talk.observablehq.com/">Forum</a></li></ul></div><div class="jsx-8d4ea8e40418e08b "><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]">Company</div><ul class="jsx-8d4ea8e40418e08b"><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/about">About</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/about#jobs">Careers</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><button class="tw-cursor-pointer tw-border-none tw-bg-transparent tw-p-0 tw-text-left hover:tw-underline">Contact us</button></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><button class="tw-cursor-pointer tw-border-none tw-bg-transparent tw-p-0 tw-text-left hover:tw-underline">Newsletter signup</button></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="https://github.com/observablehq">GitHub</a></li></ul></div><div class="jsx-8d4ea8e40418e08b tw-hidden lg:tw-block"><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]"><a class="tw-font-semibold" href="/pricing">Pricing</a></div><ul class="jsx-8d4ea8e40418e08b"></ul></div></div></div><div class="jsx-8d4ea8e40418e08b logos tw-mt-4 lg:tw-hidden"><div class="inline-flex"><span class=""><a href="https://www.linkedin.com/company/observable"><svg height="16" style="fill:currentColor" version="1.1" viewBox="0 0 512 512" width="16"><title>LinkedIn</title><path d="M473.305,-1.353c20.88,0 37.885,16.533 37.885,36.926l0,438.251c0,20.393 -17.005,36.954 -37.885,36.954l-436.459,0c-20.839,0 -37.773,-16.561 -37.773,-36.954l0,-438.251c0,-20.393 16.934,-36.926 37.773,-36.926l436.459,0Zm-37.829,436.389l0,-134.034c0,-65.822 -14.212,-116.427 -91.12,-116.427c-36.955,0 -61.739,20.263 -71.867,39.476l-1.04,0l0,-33.411l-72.811,0l0,244.396l75.866,0l0,-120.878c0,-31.883 6.031,-62.773 45.554,-62.773c38.981,0 39.468,36.461 39.468,64.802l0,118.849l75.95,0Zm-284.489,-244.396l-76.034,0l0,244.396l76.034,0l0,-244.396Zm-37.997,-121.489c-24.395,0 -44.066,19.735 -44.066,44.047c0,24.318 19.671,44.052 44.066,44.052c24.299,0 44.026,-19.734 44.026,-44.052c0,-24.312 -19.727,-44.047 -44.026,-44.047Z" style="fill-rule:nonzero"></path></svg></a></span><span class="tw-ml-2"><a href="https://twitter.com/observablehq"><svg viewBox="0 0 16 16" width="16" height="16" fill="currentColor"><title>Twitter</title><path d="M9.3319 7.08081L14.5437 1.0225H13.3087L8.78327 6.28285L5.16883 1.0225H1L6.46574 8.97708L1 15.3301H2.2351L7.01406 9.77504L10.8312 15.3301H15L9.3316 7.08081H9.3319ZM7.64026 9.04716L7.08647 8.25506L2.68013 1.95227H4.57717L8.13314 7.03883L8.68693 7.83092L13.3093 14.4427H11.4122L7.64026 9.04746V9.04716Z"></path></svg></a></span><span class="tw-ml-2"><a href="https://github.com/observablehq/"><svg viewBox="0 0 16 16" width="16" height="16" fill="currentColor"><title>GitHub</title><path d="M14.0609 4.65755C13.435 3.58505 12.5859 2.73595 11.5135 2.11005C10.4409 1.48413 9.26999 1.17125 7.99989 1.17125C6.72994 1.17125 5.55864 1.48423 4.4863 2.11005C3.4138 2.73591 2.56476 3.58505 1.9388 4.65755C1.31295 5.73002 1 6.90116 1 8.17095C1 9.69625 1.44501 11.0678 2.33526 12.2861C3.22542 13.5044 4.37536 14.3474 5.78501 14.8153C5.94909 14.8457 6.07056 14.8243 6.14954 14.7516C6.22855 14.6787 6.26801 14.5875 6.26801 14.4782C6.26801 14.46 6.26644 14.296 6.26341 13.9861C6.26028 13.6761 6.25881 13.4057 6.25881 13.175L6.04917 13.2113C5.91551 13.2358 5.74689 13.2461 5.54331 13.2432C5.33983 13.2404 5.1286 13.219 4.90989 13.1794C4.69109 13.1401 4.48757 13.0489 4.29919 12.9062C4.11091 12.7634 3.97725 12.5764 3.89823 12.3457L3.80709 12.136C3.74634 11.9963 3.6507 11.8412 3.52004 11.6712C3.38937 11.501 3.25724 11.3856 3.12358 11.3249L3.05977 11.2792C3.01724 11.2488 2.97779 11.2122 2.9413 11.1697C2.90484 11.1273 2.87755 11.0847 2.85932 11.0421C2.84106 10.9995 2.85619 10.9646 2.90487 10.9371C2.95356 10.9097 3.04154 10.8964 3.1692 10.8964L3.35142 10.9236C3.47295 10.948 3.62328 11.0208 3.80259 11.1424C3.98181 11.2639 4.12914 11.4218 4.2446 11.6162C4.38443 11.8654 4.55289 12.0552 4.75046 12.1859C4.94788 12.3166 5.14692 12.3818 5.3474 12.3818C5.54788 12.3818 5.72103 12.3666 5.86692 12.3364C6.01265 12.306 6.14938 12.2603 6.27704 12.1996C6.33173 11.7923 6.48062 11.4794 6.72359 11.2607C6.37728 11.2243 6.06593 11.1695 5.78938 11.0966C5.51299 11.0236 5.22737 10.9052 4.93271 10.741C4.6379 10.577 4.39334 10.3733 4.19895 10.1304C4.00454 9.88734 3.84499 9.56824 3.72052 9.17337C3.59598 8.77835 3.5337 8.32268 3.5337 7.80622C3.5337 7.07086 3.77377 6.4451 4.2538 5.92858C4.02893 5.37573 4.05016 4.75597 4.31755 4.06936C4.49377 4.01461 4.75509 4.05569 5.1014 4.19236C5.44777 4.32909 5.70137 4.44621 5.86245 4.54332C6.02354 4.6404 6.15261 4.72267 6.24984 4.78939C6.81505 4.63147 7.39832 4.55249 7.99982 4.55249C8.60133 4.55249 9.18473 4.63147 9.74996 4.78939L10.0963 4.57075C10.3331 4.42486 10.6128 4.29116 10.9347 4.16963C11.2567 4.04816 11.503 4.0147 11.6732 4.06945C11.9465 4.75609 11.9709 5.37582 11.7459 5.92867C12.2259 6.4452 12.4661 7.07112 12.4661 7.80632C12.4661 8.32277 12.4036 8.77989 12.2793 9.17794C12.1548 9.57606 11.9938 9.89485 11.7964 10.135C11.5988 10.3751 11.3526 10.5771 11.058 10.7411C10.7633 10.9052 10.4776 11.0236 10.2012 11.0966C9.92465 11.1695 9.6133 11.2244 9.26699 11.2608C9.58284 11.5342 9.7408 11.9656 9.7408 12.555V14.478C9.7408 14.5872 9.77879 14.6784 9.85483 14.7513C9.93078 14.8241 10.0507 14.8455 10.2148 14.815C11.6246 14.3472 12.7746 13.5041 13.6647 12.2858C14.5547 11.0676 14.9999 9.69599 14.9999 8.17069C14.9996 6.90106 14.6865 5.73002 14.0609 4.65755Z"></path></svg></a></span><span class="tw-ml-2"><a href="https://www.youtube.com/c/Observablehq"><svg height="16" style="fill:currentColor" version="1.1" viewBox="0 0 512 512" width="16"><title>YouTube</title><path d="M501.303,132.765c-5.887,-22.03 -23.235,-39.377 -45.265,-45.265c-39.932,-10.7 -200.038,-10.7 -200.038,-10.7c0,0 -160.107,0 -200.039,10.7c-22.026,5.888 -39.377,23.235 -45.264,45.265c-10.697,39.928 -10.697,123.238 -10.697,123.238c0,0 0,83.308 10.697,123.232c5.887,22.03 23.238,39.382 45.264,45.269c39.932,10.696 200.039,10.696 200.039,10.696c0,0 160.106,0 200.038,-10.696c22.03,-5.887 39.378,-23.239 45.265,-45.269c10.696,-39.924 10.696,-123.232 10.696,-123.232c0,0 0,-83.31 -10.696,-123.238Zm-296.506,200.039l0,-153.603l133.019,76.802l-133.019,76.801Z" style="fill-rule:nonzero"></path></svg></a></span></div></div></div><div class="jsx-8d4ea8e40418e08b tw-mt-6 tw-px-8 first:tw-mt-0 md:tw-mt-6 md:tw-px-8 lg:tw-mt-8 lg:tw-hidden"><div class="tw-grid tw-w-full tw-max-w-[800px] tw-flex-grow tw-grid-cols-2 tw-flex-wrap tw-justify-between tw-gap-x-2 tw-gap-y-4 min-[480px]:tw-grid-cols-2 sm:tw-grid-cols-4 lg:tw-inline-flex lg:tw-w-auto lg:tw-gap-4"><div class="jsx-8d4ea8e40418e08b "><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]">Platform</div><ul class="jsx-8d4ea8e40418e08b"><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/platform">Platform overview</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/platform/framework">Observable Framework</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/platform/cloud">Observable Cloud</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/platform/notebooks">Observable Notebooks</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/solutions/embedded-analytics">Embedded analytics</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2 lg:tw-hidden"><a href="/pricing">Pricing</a></li></ul></div><div class="jsx-8d4ea8e40418e08b "><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]">Docs</div><ul class="jsx-8d4ea8e40418e08b"><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/documentation/">Observable</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="https://observablehq.com/framework/">Observable Framework</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/plot/">Observable Plot</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="https://d3js.org/">D3</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/release-notes">Release notes</a></li></ul></div><div class="jsx-8d4ea8e40418e08b "><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]">Resources</div><ul class="jsx-8d4ea8e40418e08b"><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/blog">Blog</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/resource-center#webinars">Webinars</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/resource-center#videos">Videos</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/customer-stories">Customer stories</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a target="_blank" rel="noopener noreferrer" href="https://observablehq.com/slack/join">Community Slack</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="https://talk.observablehq.com/">Forum</a></li></ul></div><div class="jsx-8d4ea8e40418e08b "><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]">Company</div><ul class="jsx-8d4ea8e40418e08b"><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/about">About</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="/about#jobs">Careers</a></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><button class="tw-cursor-pointer tw-border-none tw-bg-transparent tw-p-0 tw-text-left hover:tw-underline">Contact us</button></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><button class="tw-cursor-pointer tw-border-none tw-bg-transparent tw-p-0 tw-text-left hover:tw-underline">Newsletter signup</button></li><li class="jsx-8d4ea8e40418e08b tw-mb-2"><a href="https://github.com/observablehq">GitHub</a></li></ul></div><div class="jsx-8d4ea8e40418e08b tw-hidden lg:tw-block"><div class="jsx-8d4ea8e40418e08b tw-mb-2 tw-text-[12px] tw-font-semibold lg:tw-text-[14px]"><a class="tw-font-semibold" href="/pricing">Pricing</a></div><ul class="jsx-8d4ea8e40418e08b"></ul></div></div></div><div class="jsx-8d4ea8e40418e08b tw-mt-6 tw-px-8 first:tw-mt-0 md:tw-mt-6 md:tw-px-8 lg:tw-mt-8 tw-flex tw-gap-4 lg:tw-gap-8"><span class="jsx-8d4ea8e40418e08b tw-hidden lg:tw-inline-block"><div class="inline-flex"><span class=""><a href="https://www.linkedin.com/company/observable"><svg height="16" style="fill:currentColor" version="1.1" viewBox="0 0 512 512" width="16"><title>LinkedIn</title><path d="M473.305,-1.353c20.88,0 37.885,16.533 37.885,36.926l0,438.251c0,20.393 -17.005,36.954 -37.885,36.954l-436.459,0c-20.839,0 -37.773,-16.561 -37.773,-36.954l0,-438.251c0,-20.393 16.934,-36.926 37.773,-36.926l436.459,0Zm-37.829,436.389l0,-134.034c0,-65.822 -14.212,-116.427 -91.12,-116.427c-36.955,0 -61.739,20.263 -71.867,39.476l-1.04,0l0,-33.411l-72.811,0l0,244.396l75.866,0l0,-120.878c0,-31.883 6.031,-62.773 45.554,-62.773c38.981,0 39.468,36.461 39.468,64.802l0,118.849l75.95,0Zm-284.489,-244.396l-76.034,0l0,244.396l76.034,0l0,-244.396Zm-37.997,-121.489c-24.395,0 -44.066,19.735 -44.066,44.047c0,24.318 19.671,44.052 44.066,44.052c24.299,0 44.026,-19.734 44.026,-44.052c0,-24.312 -19.727,-44.047 -44.026,-44.047Z" style="fill-rule:nonzero"></path></svg></a></span><span class="tw-ml-2"><a href="https://twitter.com/observablehq"><svg viewBox="0 0 16 16" width="16" height="16" fill="currentColor"><title>Twitter</title><path d="M9.3319 7.08081L14.5437 1.0225H13.3087L8.78327 6.28285L5.16883 1.0225H1L6.46574 8.97708L1 15.3301H2.2351L7.01406 9.77504L10.8312 15.3301H15L9.3316 7.08081H9.3319ZM7.64026 9.04716L7.08647 8.25506L2.68013 1.95227H4.57717L8.13314 7.03883L8.68693 7.83092L13.3093 14.4427H11.4122L7.64026 9.04746V9.04716Z"></path></svg></a></span><span class="tw-ml-2"><a href="https://github.com/observablehq/"><svg viewBox="0 0 16 16" width="16" height="16" fill="currentColor"><title>GitHub</title><path d="M14.0609 4.65755C13.435 3.58505 12.5859 2.73595 11.5135 2.11005C10.4409 1.48413 9.26999 1.17125 7.99989 1.17125C6.72994 1.17125 5.55864 1.48423 4.4863 2.11005C3.4138 2.73591 2.56476 3.58505 1.9388 4.65755C1.31295 5.73002 1 6.90116 1 8.17095C1 9.69625 1.44501 11.0678 2.33526 12.2861C3.22542 13.5044 4.37536 14.3474 5.78501 14.8153C5.94909 14.8457 6.07056 14.8243 6.14954 14.7516C6.22855 14.6787 6.26801 14.5875 6.26801 14.4782C6.26801 14.46 6.26644 14.296 6.26341 13.9861C6.26028 13.6761 6.25881 13.4057 6.25881 13.175L6.04917 13.2113C5.91551 13.2358 5.74689 13.2461 5.54331 13.2432C5.33983 13.2404 5.1286 13.219 4.90989 13.1794C4.69109 13.1401 4.48757 13.0489 4.29919 12.9062C4.11091 12.7634 3.97725 12.5764 3.89823 12.3457L3.80709 12.136C3.74634 11.9963 3.6507 11.8412 3.52004 11.6712C3.38937 11.501 3.25724 11.3856 3.12358 11.3249L3.05977 11.2792C3.01724 11.2488 2.97779 11.2122 2.9413 11.1697C2.90484 11.1273 2.87755 11.0847 2.85932 11.0421C2.84106 10.9995 2.85619 10.9646 2.90487 10.9371C2.95356 10.9097 3.04154 10.8964 3.1692 10.8964L3.35142 10.9236C3.47295 10.948 3.62328 11.0208 3.80259 11.1424C3.98181 11.2639 4.12914 11.4218 4.2446 11.6162C4.38443 11.8654 4.55289 12.0552 4.75046 12.1859C4.94788 12.3166 5.14692 12.3818 5.3474 12.3818C5.54788 12.3818 5.72103 12.3666 5.86692 12.3364C6.01265 12.306 6.14938 12.2603 6.27704 12.1996C6.33173 11.7923 6.48062 11.4794 6.72359 11.2607C6.37728 11.2243 6.06593 11.1695 5.78938 11.0966C5.51299 11.0236 5.22737 10.9052 4.93271 10.741C4.6379 10.577 4.39334 10.3733 4.19895 10.1304C4.00454 9.88734 3.84499 9.56824 3.72052 9.17337C3.59598 8.77835 3.5337 8.32268 3.5337 7.80622C3.5337 7.07086 3.77377 6.4451 4.2538 5.92858C4.02893 5.37573 4.05016 4.75597 4.31755 4.06936C4.49377 4.01461 4.75509 4.05569 5.1014 4.19236C5.44777 4.32909 5.70137 4.44621 5.86245 4.54332C6.02354 4.6404 6.15261 4.72267 6.24984 4.78939C6.81505 4.63147 7.39832 4.55249 7.99982 4.55249C8.60133 4.55249 9.18473 4.63147 9.74996 4.78939L10.0963 4.57075C10.3331 4.42486 10.6128 4.29116 10.9347 4.16963C11.2567 4.04816 11.503 4.0147 11.6732 4.06945C11.9465 4.75609 11.9709 5.37582 11.7459 5.92867C12.2259 6.4452 12.4661 7.07112 12.4661 7.80632C12.4661 8.32277 12.4036 8.77989 12.2793 9.17794C12.1548 9.57606 11.9938 9.89485 11.7964 10.135C11.5988 10.3751 11.3526 10.5771 11.058 10.7411C10.7633 10.9052 10.4776 11.0236 10.2012 11.0966C9.92465 11.1695 9.6133 11.2244 9.26699 11.2608C9.58284 11.5342 9.7408 11.9656 9.7408 12.555V14.478C9.7408 14.5872 9.77879 14.6784 9.85483 14.7513C9.93078 14.8241 10.0507 14.8455 10.2148 14.815C11.6246 14.3472 12.7746 13.5041 13.6647 12.2858C14.5547 11.0676 14.9999 9.69599 14.9999 8.17069C14.9996 6.90106 14.6865 5.73002 14.0609 4.65755Z"></path></svg></a></span><span class="tw-ml-2"><a href="https://www.youtube.com/c/Observablehq"><svg height="16" style="fill:currentColor" version="1.1" viewBox="0 0 512 512" width="16"><title>YouTube</title><path d="M501.303,132.765c-5.887,-22.03 -23.235,-39.377 -45.265,-45.265c-39.932,-10.7 -200.038,-10.7 -200.038,-10.7c0,0 -160.107,0 -200.039,10.7c-22.026,5.888 -39.377,23.235 -45.264,45.265c-10.697,39.928 -10.697,123.238 -10.697,123.238c0,0 0,83.308 10.697,123.232c5.887,22.03 23.238,39.382 45.264,45.269c39.932,10.696 200.039,10.696 200.039,10.696c0,0 160.106,0 200.038,-10.696c22.03,-5.887 39.378,-23.239 45.265,-45.269c10.696,-39.924 10.696,-123.232 10.696,-123.232c0,0 0,-83.31 -10.696,-123.238Zm-296.506,200.039l0,-153.603l133.019,76.802l-133.019,76.801Z" style="fill-rule:nonzero"></path></svg></a></span></div></span><span class="jsx-8d4ea8e40418e08b">© 2025 Observable, Inc.</span><span class="jsx-8d4ea8e40418e08b"><a href="/privacy-policy">Privacy</a></span><span class="jsx-8d4ea8e40418e08b"><a href="/security">Security</a></span><span class="jsx-8d4ea8e40418e08b"><a href="/terms-of-service">Terms<span class="jsx-8d4ea8e40418e08b tw-hidden lg:tw-inline"> of Service</span></a></span></div></footer></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"fields":{"name":"Home 08/24","slug":"home-cloud","section":[{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"2d9a7Z4bnRJQkz9iKFIVpb","type":"Entry","createdAt":"2024-08-20T01:18:28.420Z","updatedAt":"2024-08-20T01:18:28.420Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"customComponent"}},"locale":"en-US"},"fields":{"name":"Home Hero Cloud","component":"home-hero-cloud"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"s5cwAWiHebkJLOIndNjUg","type":"Entry","createdAt":"2024-08-20T01:18:39.566Z","updatedAt":"2024-10-11T20:51:15.412Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":9,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"logosSection"}},"locale":"en-US"},"fields":{"name":"Home Cloud logos","heading":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Leading data teams choose Observable","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"logos":[{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"6NLnhTjCI6pBR90td8g4LE","type":"Asset","createdAt":"2024-02-01T22:34:11.668Z","updatedAt":"2024-02-14T22:05:12.699Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":17,"revision":5,"locale":"en-US"},"fields":{"title":"Stitchfix logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/6NLnhTjCI6pBR90td8g4LE/8374bd4b62ee9404e3474f81e0f6d761/StitchFix-Color.png","details":{"size":1439,"image":{"width":366,"height":128}},"fileName":"StitchFix-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"7kJ5dNeAC64YscEBav9Wsn","type":"Asset","createdAt":"2024-02-01T22:34:11.696Z","updatedAt":"2024-02-14T22:08:28.209Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":11,"revision":4,"locale":"en-US"},"fields":{"title":"Getty logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/7kJ5dNeAC64YscEBav9Wsn/2a74fe0f3da3a989487c354d7e5b0206/Getty-Color.png","details":{"size":1374,"image":{"width":199,"height":128}},"fileName":"Getty-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"55zSu5k9zvRGXRyypulEuB","type":"Asset","createdAt":"2024-02-01T22:34:11.694Z","updatedAt":"2024-02-14T22:08:55.619Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":13,"revision":4,"locale":"en-US"},"fields":{"title":"Washington Post logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/55zSu5k9zvRGXRyypulEuB/14b3ddd665ff643209af5220b118d56d/WashingtonPost-Color.png","details":{"size":3767,"image":{"width":465,"height":128}},"fileName":"WashingtonPost-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"7CgjK9V2MkGB4HwTung941","type":"Asset","createdAt":"2024-02-01T22:34:11.690Z","updatedAt":"2024-02-14T22:07:58.169Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":12,"revision":4,"locale":"en-US"},"fields":{"title":"New York Times logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/7CgjK9V2MkGB4HwTung941/cec6bfbf3446465ec276db54e72a4190/NYT-Color.png","details":{"size":2741,"image":{"width":367,"height":128}},"fileName":"NYT-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"6UnVWSQYaIAeb28Lr4ILRo","type":"Asset","createdAt":"2024-02-01T22:34:11.692Z","updatedAt":"2024-02-14T22:07:43.864Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":12,"revision":4,"locale":"en-US"},"fields":{"title":"X logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/6UnVWSQYaIAeb28Lr4ILRo/d8e596c1298655d6cf77806852d1bad7/X-Color.png","details":{"size":647,"image":{"width":71,"height":128}},"fileName":"X-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"4JWaX2Ogoap4zUOhiBO8Zm","type":"Asset","createdAt":"2024-02-01T22:34:11.685Z","updatedAt":"2024-02-14T22:07:14.705Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":13,"revision":4,"locale":"en-US"},"fields":{"title":"NBC News logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/4JWaX2Ogoap4zUOhiBO8Zm/3bd8c930af683eb72125d996e3519f6b/NBCNews-Color.png","details":{"size":3109,"image":{"width":328,"height":128}},"fileName":"NBCNews-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5BDRARpVes1JERT4LemPBe","type":"Asset","createdAt":"2024-02-01T22:34:11.681Z","updatedAt":"2024-02-14T22:06:54.312Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":11,"revision":4,"locale":"en-US"},"fields":{"title":"Lirio logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/5BDRARpVes1JERT4LemPBe/4193e4784d78402c2e407bccbb27a7c2/Lirio-Color.png","details":{"size":1524,"image":{"width":243,"height":128}},"fileName":"Lirio-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"6gm1KynSllZcOAWI9J7pdi","type":"Asset","createdAt":"2024-02-01T22:34:11.673Z","updatedAt":"2024-02-14T22:06:41.137Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":13,"revision":4,"locale":"en-US"},"fields":{"title":"Marshall Project logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/6gm1KynSllZcOAWI9J7pdi/bd91599cbc995699dbe0d5324d86e3b0/MarshallProject-Color.png","details":{"size":1833,"image":{"width":375,"height":128}},"fileName":"MarshallProject-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"6lOhNVO1M0tB8dUkZVh85c","type":"Asset","createdAt":"2024-02-01T22:34:11.676Z","updatedAt":"2024-02-14T22:06:01.127Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":14,"revision":4,"locale":"en-US"},"fields":{"title":"hugging face logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/6lOhNVO1M0tB8dUkZVh85c/ab7b3fc1eb4c761200a831599e6079d5/HuggingFace-Color.png","details":{"size":5074,"image":{"width":435,"height":128}},"fileName":"HuggingFace-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5Nnk7VDV1wDFaTRlCtwRzQ","type":"Asset","createdAt":"2024-02-01T22:34:11.679Z","updatedAt":"2024-02-14T22:05:41.575Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":11,"revision":4,"locale":"en-US"},"fields":{"title":"Economist logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/5Nnk7VDV1wDFaTRlCtwRzQ/4aa8ca862294abe2bf18000ca58ceedf/TheEconomist-Color.png","details":{"size":1883,"image":{"width":249,"height":128}},"fileName":"TheEconomist-Color.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5NExbhoWJv46eTb3EhuXin","type":"Asset","createdAt":"2024-02-01T22:34:11.687Z","updatedAt":"2024-02-14T22:07:27.898Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":12,"revision":4,"locale":"en-US"},"fields":{"title":"MIT logo color almost white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/5NExbhoWJv46eTb3EhuXin/775037e7ffd82108966f7d10c2897c35/MIT-Color.png","details":{"size":335,"image":{"width":156,"height":128}},"fileName":"MIT-Color.png","contentType":"image/png"}}}],"logosHeight":64,"variant":"near-black","addVerticalBorders":false,"logosDark":[{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5SbvDUNlY1UGMwdPWuVt6o","type":"Asset","createdAt":"2024-02-10T20:42:59.696Z","updatedAt":"2024-02-10T20:42:59.696Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"StitchFix logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/5SbvDUNlY1UGMwdPWuVt6o/c4b3bbe3df9de34e2300e476204e13c3/StitchFix_logo_mono_white.png","details":{"size":3548,"image":{"width":342,"height":128}},"fileName":"StitchFix logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"1xB44FKfXf0EaavcNLEP7m","type":"Asset","createdAt":"2024-02-10T20:42:59.682Z","updatedAt":"2024-02-10T20:42:59.682Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"Getty logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/1xB44FKfXf0EaavcNLEP7m/92242586371fba33b92411b413f1f0fd/Getty_logo_mono_white.png","details":{"size":3500,"image":{"width":200,"height":128}},"fileName":"Getty logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"6IyDkdHoKy39avCi1DHYYL","type":"Asset","createdAt":"2024-02-10T20:42:59.688Z","updatedAt":"2024-02-10T20:42:59.688Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"WashingtonPost logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/6IyDkdHoKy39avCi1DHYYL/d5ec6ec40722c50c5214c627fcb6150c/WashingtonPost_logo_mono_white.png","details":{"size":9334,"image":{"width":465,"height":128}},"fileName":"WashingtonPost logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5w7WA7rvMvoKXemDptPPQL","type":"Asset","createdAt":"2024-02-10T20:42:59.680Z","updatedAt":"2024-02-10T20:42:59.680Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"NewYorkTimes logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/5w7WA7rvMvoKXemDptPPQL/1e21b57d9cf750869092ee777531feef/NewYorkTimes_logo_mono_white.png","details":{"size":6813,"image":{"width":367,"height":128}},"fileName":"NewYorkTimes logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"2xGBZgtavs4uudeYH2jV0b","type":"Asset","createdAt":"2024-02-10T20:42:59.686Z","updatedAt":"2024-02-10T20:42:59.686Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"X logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/2xGBZgtavs4uudeYH2jV0b/22c81b00649aac4948ecfdda8fca6f73/X_logo_mono_white.png","details":{"size":1663,"image":{"width":71,"height":128}},"fileName":"X logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"6Q1QiZ4TC3vtBQF7EF0MI3","type":"Asset","createdAt":"2024-02-10T20:42:59.692Z","updatedAt":"2024-02-10T20:42:59.692Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"NBCNews logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/6Q1QiZ4TC3vtBQF7EF0MI3/6ceb93ebf9a739450a531806c852973e/NBCNews_logo_mono_white.png","details":{"size":5135,"image":{"width":372,"height":128}},"fileName":"NBCNews logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"AfL7nik9h25mYd0RX7D2w","type":"Asset","createdAt":"2024-02-10T20:42:59.690Z","updatedAt":"2024-02-10T20:42:59.690Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"Lirio logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/AfL7nik9h25mYd0RX7D2w/cae766d0339326e181e9c95b7c500b37/Lirio_logo_mono_white.png","details":{"size":2913,"image":{"width":243,"height":128}},"fileName":"Lirio logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"3zQsUvWFunf9gWHGjeTtCq","type":"Asset","createdAt":"2024-02-10T20:42:59.698Z","updatedAt":"2024-02-10T20:42:59.698Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"MarshallProject logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/3zQsUvWFunf9gWHGjeTtCq/81d5845a9c95959066dc88973225c8f4/MarshallProject_logo_mono_white.png","details":{"size":4529,"image":{"width":399,"height":128}},"fileName":"MarshallProject logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"2EHm265iZBYmnoCOUDvY0s","type":"Asset","createdAt":"2024-02-10T20:42:59.684Z","updatedAt":"2024-02-10T20:42:59.684Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"HuggingFace logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/2EHm265iZBYmnoCOUDvY0s/9943601bec496b1839241de4d2f44af1/HuggingFace_logo_mono_white.png","details":{"size":9932,"image":{"width":455,"height":128}},"fileName":"HuggingFace logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5pyb1cteJU0GJTySjF2dNW","type":"Asset","createdAt":"2024-02-10T20:42:59.672Z","updatedAt":"2024-02-10T20:42:59.672Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"Economist logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/5pyb1cteJU0GJTySjF2dNW/72c92fb4877095f80c0dd9f32c61143d/Economist_logo_mono_white.png","details":{"size":4369,"image":{"width":249,"height":128}},"fileName":"Economist logo mono white.png","contentType":"image/png"}}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"65FEIpIDF4sGRFk8nJmcYY","type":"Asset","createdAt":"2024-02-10T20:42:59.694Z","updatedAt":"2024-02-10T20:42:59.694Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"locale":"en-US"},"fields":{"title":"MIT logo mono white","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/65FEIpIDF4sGRFk8nJmcYY/c0e257691820379db844604d9c7a4b8e/MIT_logo_mono_white.png","details":{"size":628,"image":{"width":156,"height":128}},"fileName":"MIT logo mono white.png","contentType":"image/png"}}}]}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"7oCRPgoBgq0LmrkweJPjnC","type":"Entry","createdAt":"2024-11-19T13:34:45.251Z","updatedAt":"2024-11-19T13:34:45.251Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"customComponent"}},"locale":"en-US"},"fields":{"name":"Home Platform Architecture","component":"platform-architecture-home"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"c8m63ARRZifG3JGWCaBY0","type":"Entry","createdAt":"2024-08-20T01:18:45.114Z","updatedAt":"2024-08-20T01:18:45.114Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"customComponent"}},"locale":"en-US"},"fields":{"name":"Home Scroll Cloud","component":"home-scroll-cloud"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5q8sRYYm7GqNWiQBB43tDR","type":"Entry","createdAt":"2024-08-20T01:19:13.872Z","updatedAt":"2024-09-17T19:20:58.399Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":8,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"pullQuoteSection"}},"locale":"en-US"},"fields":{"name":"Home Cloud Climate Central quote","quotation":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"“","nodeType":"text"},{"data":{},"marks":[],"value":"Observable opened up a new realm of possibilities for what we could do and offer. We created dynamic, interactive experiences that let users visualize and use climate change data in ways that we couldn't easily support before.","nodeType":"text"},{"data":{},"marks":[],"value":"”","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"image":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"abyW2Vm1ggRneFM6vKcNb","type":"Asset","createdAt":"2024-09-17T19:20:31.574Z","updatedAt":"2024-09-17T19:20:31.574Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":8,"revision":1,"locale":"en-US"},"fields":{"title":"Kaitlyn V3 600 (1)","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/abyW2Vm1ggRneFM6vKcNb/174435a3e294516046e64d7435fab32a/Kaitlyn_V3_600-_1_-copy.jpg","details":{"size":26085,"image":{"width":600,"height":500}},"fileName":"Kaitlyn_V3_600-(1)-copy.jpg","contentType":"image/jpeg"}}},"useUpdatedDesign":true,"animateIn":true,"author":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"3Dj6Seyc8VNoisW9HZ7uUP","type":"Entry","createdAt":"2024-08-20T01:19:09.126Z","updatedAt":"2024-08-20T01:19:09.126Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":5,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"author"}},"locale":"en-US"},"fields":{"name":"Kaitlyn Trudeau","bylineRich":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Senior Research Associate at Climate Central","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"photo":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"2LQIke4uev7oo5XtFWFSku","type":"Asset","createdAt":"2024-08-20T01:19:04.184Z","updatedAt":"2024-08-20T01:19:04.184Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":14,"revision":1,"locale":"en-US"},"fields":{"title":"Kaitlyn Trudeau","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/2LQIke4uev7oo5XtFWFSku/6533b3c9a7e2c2817f9a1dbe28a18e13/Kaitlyn-final_copy.png","details":{"size":101702,"image":{"width":1120,"height":1061}},"fileName":"Kaitlyn-final copy.png","contentType":"image/png"}}},"companyPhoto":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"7vlbKCfAhVjebGaM0TbHA","type":"Asset","createdAt":"2024-08-13T19:27:38.714Z","updatedAt":"2024-08-13T19:27:38.714Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":5,"revision":1,"locale":"en-US"},"fields":{"title":"Climate Central","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/7vlbKCfAhVjebGaM0TbHA/558e66c89d78ea92ab0baf61b29e5675/Group_1175.png","details":{"size":3750,"image":{"width":96,"height":96}},"fileName":"Group 1175.png","contentType":"image/png"}}}}},"variant":"near-white","imageLayout":"left","showAuthorPhoto":true}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"6J2xGD544TH8eifADTVhvT","type":"Entry","createdAt":"2024-08-20T01:19:22.337Z","updatedAt":"2024-12-04T15:13:02.942Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":14,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"bodySection"}},"locale":"en-US"},"fields":{"name":"User-facing analytics","eyebrow":"Use case","headline":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"User-facing analytics","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"description":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Rich, bespoke data apps are more valuable for users because they provide deeper insights. Build the analytics experiences that set your business apart — and keep your customers coming back.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"mediaType":"custom-media","imageLayout":"right","bgColor":"near-black","ctaButton":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"555xd6DX5Yr5JeGIkLXiqU","type":"Entry","createdAt":"2024-12-04T15:12:58.306Z","updatedAt":"2024-12-04T15:12:58.306Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"buttonOrLink"}},"locale":"en-US"},"fields":{"text":"Learn more","variant":"button:primary","action":"url","url":"/solutions/embedded-analytics","icon":"none","theme":"default"}},"enableMediaDropShadow":true,"animateOnScroll":true,"customMedia":"user-analytics-home"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"4W17mjWolUXOfgoMxVPF8Z","type":"Entry","createdAt":"2024-08-20T01:19:49.148Z","updatedAt":"2024-12-04T15:05:29.260Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":10,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"columnSection"}},"locale":"en-US"},"fields":{"name":"Home Cloud Benefits","variant":"near-black","heading":"Deliver the web’s best data experiences","body":{"nodeType":"document","data":{},"content":[{"nodeType":"paragraph","data":{},"content":[{"nodeType":"text","value":"Observable powers fast, expressive, and scalable data apps that drive impact and inform your most important business decisions.","marks":[],"data":{}}]}]},"items":[{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"1XXNe3TjogtNISZyhnAUih","type":"Entry","createdAt":"2024-08-20T01:19:34.051Z","updatedAt":"2024-12-03T23:25:36.739Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":10,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"columnContent"}},"locale":"en-US"},"fields":{"name":"Unmatched expressiveness","heading":"Unmatched expressiveness","body":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Use best-in-breed technology like D3 to create interactive data apps that will keep your users informed and engaged.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"image":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"2VERVCXAuEL44coIUIicTZ","type":"Asset","createdAt":"2024-10-24T19:32:59.838Z","updatedAt":"2024-10-24T19:32:59.838Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"locale":"en-US"},"fields":{"title":"Icon BetterVis","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/2VERVCXAuEL44coIUIicTZ/08e7c90833dd80da9801d7c210e1f7b4/Icon_BetterVis.svg","details":{"size":2502,"image":{"width":64,"height":64}},"fileName":"Icon_BetterVis.svg","contentType":"image/svg+xml"}}},"type":"default"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5NDRJS8cgr9PnvYPLrNqYm","type":"Entry","createdAt":"2024-08-20T01:19:38.065Z","updatedAt":"2024-12-03T23:25:40.981Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":10,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"columnContent"}},"locale":"en-US"},"fields":{"name":"Faster performance, better UX","heading":"Faster performance, better UX","body":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Observable takes snapshots of data during builds, ensuring fast load times — even for your most robust data apps.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"image":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5bRYMfXZc45dKWSeoR3Nw4","type":"Asset","createdAt":"2024-10-24T19:34:15.959Z","updatedAt":"2024-10-24T19:34:15.959Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"locale":"en-US"},"fields":{"title":"Icon IncreaseVelocity","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/5bRYMfXZc45dKWSeoR3Nw4/1a06457211b69e7f2b49c2b86a249ba9/Icon_IncreaseVelocity.svg","details":{"size":1971,"image":{"width":64,"height":64}},"fileName":"Icon_IncreaseVelocity.svg","contentType":"image/svg+xml"}}},"type":"default"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"4zAhT7rHl3k2nLEm57uLSV","type":"Entry","createdAt":"2024-08-20T01:19:44.294Z","updatedAt":"2024-12-03T23:25:44.135Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":9,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"columnContent"}},"locale":"en-US"},"fields":{"name":"Hosting built for data apps","heading":"Hosting built for data apps","body":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Host and share data apps with fine-grained access and security controls to keep your data private.","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"image":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5AqdypzdJcoz2p7pTPuMRH","type":"Asset","createdAt":"2024-12-03T19:04:18.183Z","updatedAt":"2024-12-03T19:04:18.183Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"locale":"en-US"},"fields":{"title":"Icon Built-inInteractivity","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/5AqdypzdJcoz2p7pTPuMRH/62463a867db027e58181452140d82d9f/Icon_Built-inInteractivity.svg","details":{"size":6489,"image":{"width":65,"height":65}},"fileName":"Icon_Built-inInteractivity.svg","contentType":"image/svg+xml"}}},"type":"default"}}]}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"7Jk6dCgOsweuhXNJHp9ZTN","type":"Entry","createdAt":"2024-08-20T01:47:34.797Z","updatedAt":"2024-09-17T19:20:47.123Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":4,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"pullQuoteSection"}},"locale":"en-US"},"fields":{"name":"Mathematica quote cloud","quotation":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"“Every inch down the ‘everyone works with expressive code’ trajectory we get\u2028(as opposed to everyone works with constraining tools) fills me with hope and joy.”","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"image":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"sva3gBiA7RHhoSdJE6Qe6","type":"Asset","createdAt":"2024-09-17T19:20:43.562Z","updatedAt":"2024-09-17T19:20:43.562Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"locale":"en-US"},"fields":{"title":"Steph V3 600-(1)-copy","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/sva3gBiA7RHhoSdJE6Qe6/abf94319132b5f260d94518cbb28b23a/Steph_V3_600-_1_-copy.jpg","details":{"size":33610,"image":{"width":600,"height":500}},"fileName":"Steph_V3_600-(1)-copy.jpg","contentType":"image/jpeg"}}},"useUpdatedDesign":true,"animateIn":true,"author":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"2kNAnW0DQfAnugL4UL6lQa","type":"Entry","createdAt":"2024-07-30T18:52:18.274Z","updatedAt":"2024-08-20T01:47:25.149Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":12,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"author"}},"locale":"en-US"},"fields":{"name":"Stephanie Tuerk","bylineRich":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Designer and Front-end Engineer at Mathematica","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"photo":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"4A5rform1T1TvTZ1yc5smd","type":"Asset","createdAt":"2024-08-20T01:47:17.693Z","updatedAt":"2024-08-20T01:47:17.693Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"locale":"en-US"},"fields":{"title":"Stephanie-1200 copy","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/4A5rform1T1TvTZ1yc5smd/76d508b132e9084905e7c1ac782ec13e/Stephanie-1200_copy.png","details":{"size":91165,"image":{"width":1200,"height":1000}},"fileName":"Stephanie-1200 copy.png","contentType":"image/png"}}},"companyPhoto":{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"6Z9WpiymrlMHt2fLEUuhla","type":"Asset","createdAt":"2024-07-30T18:52:12.529Z","updatedAt":"2024-07-30T18:52:12.529Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":4,"revision":1,"locale":"en-US"},"fields":{"title":"mathmatica","description":"","file":{"url":"//images.ctfassets.net/uklh5xrq1p2j/6Z9WpiymrlMHt2fLEUuhla/ed5e141fd5f6c5ab945e0a72c45e4187/image_180.png","details":{"size":2022,"image":{"width":48,"height":48}},"fileName":"image 180.png","contentType":"image/png"}}}}},"variant":"near-white","imageLayout":"right","showAuthorPhoto":true}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"0R0C5BW6sEngVEuZ2uXCK","type":"Entry","createdAt":"2024-07-31T19:59:39.105Z","updatedAt":"2024-07-31T19:59:39.105Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"customComponent"}},"locale":"en-US"},"fields":{"name":"Cloud Downloads Columns","component":"home-downloads-cloud"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5xCDPHtJrmYJ7x7BwYrV2R","type":"Entry","createdAt":"2024-12-16T21:24:22.734Z","updatedAt":"2024-12-16T21:43:52.551Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":7,"revision":2,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"bottomCta"}},"locale":"en-US"},"fields":{"name":"Home Bottom CTA","heading":{"data":{},"content":[{"data":{},"content":[{"data":{},"marks":[],"value":"Get started today","nodeType":"text"}],"nodeType":"paragraph"}],"nodeType":"document"},"variant":"phosphate","buttons":[{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"4qUY5OC1KRI5Y8Y5GQS21m","type":"Entry","createdAt":"2024-12-16T21:23:53.657Z","updatedAt":"2024-12-16T21:23:53.657Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":3,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"buttonOrLink"}},"locale":"en-US"},"fields":{"text":"Sign up","variant":"button:primary","action":"modal:signup","icon":"none","theme":"default"}},{"metadata":{"tags":[],"concepts":[]},"sys":{"space":{"sys":{"type":"Link","linkType":"Space","id":"uklh5xrq1p2j"}},"id":"5MkWM6fYiE024nMhMU1WwG","type":"Entry","createdAt":"2024-12-16T21:23:58.635Z","updatedAt":"2024-12-16T21:23:58.635Z","environment":{"sys":{"id":"master","type":"Link","linkType":"Environment"}},"publishedVersion":2,"revision":1,"contentType":{"sys":{"type":"Link","linkType":"ContentType","id":"buttonOrLink"}},"locale":"en-US"},"fields":{"text":"Request a demo","variant":"button:primary","action":"modal:demo","icon":"none","theme":"default"}}],"headingSize":"h1","showFrameworkSnippet":true}}],"headerColor":"white","metaTitle":"Observable: Build expressive charts and dashboards with code","metaDescription":"The end-to-end solution for creating expressive data apps, dashboards, and reports. Discover richer insights in your data today.","disableMetaTitleSuffix":true,"noIndex":false,"sitemapSlug":"/","enableDarkMode":true,"forceDarkMode":true},"initialCurrentUser":null,"initialContext":null,"swrFallback":{"/api/home-stats":{"platformUsers":{"numberPart":275,"suffix":"K+"},"d3Downloads":{"numberPart":3.6,"suffix":"M","fractionDigits":1},"frameworkStars":{"numberPart":2800}}},"_sentryTraceData":"55dfe29e3fd3447c9d91bb38eedaae0f-143685b5067b11a0-0","_sentryBaggage":"sentry-environment=production,sentry-release=ef90fd0861ab705ed44f6e9105833ac3419a9f70,sentry-public_key=ca9eac14b9164458a334243bb3c08c45,sentry-trace_id=55dfe29e3fd3447c9d91bb38eedaae0f,sentry-sampled=false"},"__N_SSP":true},"page":"/","query":{},"buildId":"Q8Ge6R1kQ_YPGkXrA9tK4","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[35227,57572,77570,39813],"gssp":true,"scriptLoader":[]}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10