1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{3454:function(e,t,a){Promise.resolve().then(a.bind(a,1305)),Promise.resolve().then(a.bind(a,6415)),Promise.resolve().then(a.bind(a,3301)),Promise.resolve().then(a.bind(a,6797)),Promise.resolve().then(a.bind(a,8684)),Promise.resolve().then(a.t.bind(a,8003,23))},1305:function(e,t,a){"use strict";a.r(t),a.d(t,{CaseStudySection:function(){return E},CornerMarks:function(){return I}});var r=a(7437),n=a(2265),s=a(3145),i=a(7648),o=a(3433),l=a(2345),c=a(1906),d=a(3812),u=a(2083),m=a(1124),x=a(653);let h={slug:"headset",company:"Headset",logo:"/assets/customer_logos/headset/headset_negative.svg",youtubeId:"riaMZPoL3Vo",primaryQuote:{text:"I've heard great things about ClickHouse, but with a small team and limited resources, I can't even imagine taking on that kind of migration. Greybeam was the only solution that let us offload queries to a more cost-efficient engine without rebuilding or changing anything in Snowflake.",author:"Scott Vickers",title:"CTO & Co-founder at Headset",headshot:"/assets/customer_logos/headset/scott_headshot.png"}};var p=a(550);let f=[{value:92,suffix:"%",label:"lower BI warehouse costs"},{value:94,suffix:"%",label:"of queries routed to DuckDB"},{value:2500,suffix:"+",label:"daily active users supported"}],g="https://www.youtube-nocookie.com/embed/".concat(h.youtubeId,"?autoplay=1&rel=0&modestbranding=1&playsinline=1"),b={backgroundImage:"linear-gradient(to right, rgb(229 229 229 / 0.05) 1px, transparent 1px), linear-gradient(to bottom, rgb(229 229 229 / 0.05) 1px, transparent 1px)",backgroundSize:"56px 56px",maskImage:"radial-gradient(ellipse 70% 60% at 50% 55%, black 30%, transparent 100%)",WebkitMaskImage:"radial-gradient(ellipse 70% 60% at 50% 55%, black 30%, transparent 100%)"},y="p-6 md:p-10";function v(e,t){return"".concat(Math.round(e).toLocaleString("en-US")).concat(t)}function w(e){let{value:t,suffix:a}=e,s=(0,n.useRef)(null),i=(0,o.Y)(s,{once:!0,amount:.6}),x=!0===(0,l.J)(),h=(0,c.c)(0),p=(0,d.H)(h,e=>v(e,a));return(0,n.useEffect)(()=>{if(!i)return;let e=(0,u.j)(h,t,x?{duration:0}:{duration:1.6,ease:[.16,1,.3,1]});return()=>e.stop()},[i,x,h,t]),(0,r.jsxs)("span",{ref:s,children:[(0,r.jsx)("span",{className:"sr-only",children:v(t,a)}),(0,r.jsx)(m.E.span,{"aria-hidden":"true",children:p})]})}function j(e){let{open:t,onClose:a}=e,s=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let e=s.current;if(e)return t&&!e.open&&e.showModal(),!t&&e.open&&e.close(),document.body.style.overflow=t?"hidden":"",()=>{document.body.style.overflow=""}},[t]),(0,r.jsx)("dialog",{ref:s,onClose:a,onClick:e=>e.target===e.currentTarget&&a(),"aria-label":"".concat(h.company," customer story video"),className:"max-w-none overflow-visible bg-transparent p-0 backdrop:bg-black/85 backdrop:backdrop-blur-sm",style:{width:"min(92vw, 1280px, calc((100vh - 8rem) * 16 / 9))"},children:t&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("button",{type:"button",onClick:a,className:"absolute -top-11 right-0 flex items-center gap-2 font-geist-mono text-xs uppercase tracking-[0.12em] text-cream/70 transition-colors hover:text-cream",children:["Close",(0,r.jsx)(x.Pxu,{className:"h-4 w-4"})]}),(0,r.jsx)("iframe",{src:g,title:"".concat(h.company," customer story"),allow:"autoplay; encrypted-media; picture-in-picture; fullscreen",allowFullScreen:!0,className:"block aspect-video w-full border border-cream/10 bg-black"})]})})}function k(){let[e,t]=(0,n.useState)(!1);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("button",{type:"button",onClick:()=>t(!0),className:"group relative block min-h-[320px] w-full overflow-hidden border-t border-cream/10 text-left lg:border-l lg:border-t-0","aria-label":"Watch the ".concat(h.company," customer story video"),children:[(0,r.jsx)(s.default,{src:"/assets/customer_logos/headset/headset-cockpit.jpg",alt:"",fill:!0,sizes:"(min-width: 1024px) 40vw, 100vw",className:"object-cover object-[70%_center] transition-transform duration-700 ease-out group-hover:scale-[1.03]"}),(0,r.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/70 via-black/10 to-transparent"}),(0,r.jsxs)("span",{className:"absolute bottom-5 left-5 flex items-center gap-3",children:[(0,r.jsx)("span",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-amber text-black transition-transform group-hover:scale-105",children:(0,r.jsx)(x.VZf,{className:"h-7 w-7"})}),(0,r.jsx)("span",{className:"font-geist-mono text-xs uppercase tracking-[0.12em] text-cream",children:"Watch video"})]})]}),(0,r.jsx)(j,{open:e,onClose:()=>t(!1)})]})}function N(){let{author:e,title:t,headshot:a}=h.primaryQuote;return(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("div",{className:y,children:(0,r.jsx)(s.default,{src:h.logo,alt:h.company,width:1024,height:199,className:"h-7 w-auto"})}),(0,r.jsx)("dl",{className:"grid divide-y divide-cream/10 border-y border-cream/10 sm:grid-cols-3 sm:divide-x sm:divide-y-0",children:f.map(e=>{let{value:t,suffix:a,label:n}=e;return(0,r.jsxs)("div",{className:"flex items-baseline gap-4 sm:flex-col sm:items-start sm:gap-2 sm:[container-type:inline-size] ".concat(y," sm:pr-4 md:pr-4"),children:[(0,r.jsx)("dt",{className:"order-2 text-sm leading-snug text-subtext",children:n}),(0,r.jsx)("dd",{className:"order-1 w-32 shrink-0 font-tasa-orbiter text-4xl tabular-nums tracking-[-0.03em] text-cream sm:w-auto
1sm:text-[clamp(1.5rem,30cqi,3rem)]",children:(0,r.jsx)(w,{value:t,suffix:a})})]},n)})}),(0,r.jsxs)("div",{className:"flex flex-1 flex-col justify-between gap-10 ".concat(y),children:[(0,r.jsxs)("figure",{className:"space-y-6",children:[(0,r.jsxs)("blockquote",{className:"font-tasa-orbiter text-xl leading-snug tracking-[-0.02em] text-cream md:text-2xl",children:[(0,r.jsx)("span",{className:"-ml-[0.4em]",children:"â"}),"Greybeam was the only solution that let us offload queries to a more cost-efficient engine without rebuilding or changing anything in Snowflake.","â"]}),(0,r.jsxs)("figcaption",{className:"flex items-center gap-4",children:[a&&(0,r.jsx)(s.default,{src:a,alt:e,width:48,height:48,className:"h-12 w-12 rounded-full object-cover"}),(0,r.jsxs)("div",{className:"font-geist-mono text-xs uppercase tracking-[0.12em]",children:[(0,r.jsx)("p",{className:"text-cream",children:e}),(0,r.jsx)("p",{className:"mt-1 text-subtext",children:t})]})]})]}),(0,r.jsxs)(i.default,{href:"/customers/".concat(h.slug),className:"group inline-flex w-fit items-center gap-2 bg-amber px-5 py-3 text-black transition-colors hover:bg-glow-amber",children:["Read ",h.company,"'s story",(0,r.jsx)(x.LZ3,{className:"h-4 w-4 transition-transform group-hover:translate-x-1"})]})]})]})}let S={topLeft:"-left-[5px] -top-[5px]",topRight:"-right-[5px] -top-[5px]",bottomLeft:"-bottom-[5px] -left-[5px]",bottomRight:"-bottom-[5px] -right-[5px]"},M=["topLeft","topRight","bottomLeft","bottomRight"];function I(e){let{only:t=M}=e,a=t.map(e=>S[e]);return(0,r.jsx)(r.Fragment,{children:a.map(e=>(0,r.jsx)("svg",{viewBox:"0 0 9 9","aria-hidden":"true",className:"absolute z-10 h-[9px] w-[9px] text-cream/50 ".concat(e),children:(0,r.jsx)("path",{d:"M4.5 0V9M0 4.5H9",stroke:"currentColor",strokeWidth:"1"})},e))})}function E(){return(0,r.jsxs)("section",{"aria-labelledby":"case-study-title",className:"relative w-full overflow-hidden border-y border-cream/10 bg-surface",children:[(0,r.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0",style:b}),(0,r.jsx)(p.W,{children:(0,r.jsxs)("div",{className:"relative space-y-12 px-6 py-24 md:px-10 md:py-32 lg:px-16",children:[(0,r.jsxs)("div",{className:"max-w-3xl space-y-6",children:[(0,r.jsx)("p",{className:"font-geist-mono text-xs uppercase tracking-[0.16em] text-amber",children:"Customer story"}),(0,r.jsx)("h2",{id:"case-study-title",className:"font-tasa-orbiter text-4xl leading-tight tracking-[-0.03em] text-cream md:text-5xl",children:"Headset reduced Snowflake BI costs by 92%."}),(0,r.jsx)("p",{className:"text-lg font-light leading-relaxed text-subtext",children:"By routing most of their Looker traffic to DuckDB, Headset keeps dashboards fast and only pays Snowflake for the queries that need it."})]}),(0,r.jsxs)("div",{className:"relative grid border border-cream/10 bg-base lg:grid-cols-[minmax(0,7fr)_minmax(0,5fr)]",children:[(0,r.jsx)(I,{}),(0,r.jsx)(N,{}),(0,r.jsx)(k,{})]})]})})]})}},6415:function(e,t,a){"use strict";a.d(t,{default:function(){return l}});var r=a(7437);a(2265);var n=a(550),s=a(4508),i=a(6596);let o=[{question:"Do I need to change my existing BI setup?",answer:"No. Greybeam is a drop-in Snowflake proxy, simply swap your connection string. Your dashboards, reports, and queries continue to work exactly as they do today. Greybeam automatically translates and routes your SQL to the optimal engine."},{question:"How much can I save?",answer:"Most customers see 75-98% reductions in Snowflake compute costs for read workloads. The exact savings depend on your query patterns, but since the vast majority of analytical queries are small enough for DuckDB, the impact is significant. Want a savings estimate? Email us at [email protected]"},{question:"What if I'm not using Iceberg yet?",answer:"Greybeam can manage the entire Iceberg process, it's an implementation detail. If you aren't using Iceberg yet, we set it up and maintain it for you. If you are, we can read directly from those tables."},{question:"How does Greybeam pricing work?",answer:"Simple and transparent. Compute starts at $0.75/hr for our smallest instance (8 vCPU), plus a flat $100/month platform fee."},{question:"What happens if a query can't run on DuckDB?",answer:"Greybeam automatically falls back to Snowflake. If any issue arises in the DuckDB path, the query is transparently rerouted."},{question:"How much latency does Greybeam add?",answer:"Typically less than 100ms for queries that fall back to Snowflake, mostly from SQL parsing. By design, queries routed to DuckDB often complete faster than they would on Snowflake."},{question:"Is my data secure?",answer:"Yes. All cached data is stored in your own S3 bucket within the security of your AWS account. Data is accessed via private VPC endpoints."},{question:"How does access control work?",answer:"Greybeam authenticates every request with Snowflake before processing a query. If a user doesn't have access to data in Snowflake, they won't have access via Greybeam either."},{question:"How does data caching work? How fresh is my data?",answer:"For Snowflake-native tables, Greybeam seamlessly replicates your data into Iceberg format using CDC streams, keeping it continuously in sync. If you're already on Iceberg, we read directly from your existing tables."},{question:"How does Greybeam decide which engine to use?",answer:"Routing is based on heuristics like table size, join complexity, and query patterns. We're actively building a learned model to optimize routing decisions further."},{question:"How are you different from Snowflake cost optimizers like Select or Keebo?",answer:"Greybeam works alongside existing Snowflake optimizers, many of our customers already run both to compound savings. Because Greybeam sits in front of Snowflake, only the queries that truly need a warehouse get sent there, where your existing optimizers can do their thing."}];function l(){let e=(0,s.C)(o);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:(0,s.n)(e)}}),(0,r.jsx)("section",{className:"relative w-full bg-base",children:(0,r.jsx)(n.W,{children:(0,r.jsx)("div",{className:"px-4 md:px-6 lg:px-8 py-16 md:py-24",children:(0,r.jsxs)("div",{className:"max-w-3xl mx-auto",children:[(0,r.jsx)("h2",{className:"text-3xl lg:text-4xl font-semibold text-cream mb-12 text-center",children:"Frequently asked questions"}),(0,r.jsx)(i.Accordion,{type:"multiple",className:"w-full",children:o.map((e,t)=>(0,r.jsxs)(i.AccordionItem,{value:"item-".concat(t),className:"border-b border-cream/10",children:[(0,r.jsx)(i.AccordionTrigger,{className:"text-cream text-left text-base md:text-lg font-medium py-6 hover:no-underline hover:text-cream/80",children:e.question}),(0,r.jsx)(i.AccordionContent,{children:(0,r.jsx)("p",{className:"pb-4 text-base md:text-lg font-light !text-subtext",children:e.answer})})]},t))})]})})})})]})}},3301:function(e,t,a){"use strict";a.d(t,{default:function(){return Q}});var r=a(7437),n=a(2265),s=a(8730),i=a(3145),o=a(7648),l=a(653),c=a(3148),d=a(4508);function u(e){let{className:t,reverse:a=!1,pauseOnHover:n=!1,children:s,vertical:i=!1,repeat:o=4,...l}=e;return(0,r.jsx)("div",{...l,className:(0,d.cn)("group flex overflow-hidden p-2 [--duration:40s] [--gap:1rem] [gap:var(--gap)]",{"flex-row":!i,"flex-col":i},t),children:Array(o).fill(0).map((e,t)=>(0,r.jsx)("div",{className:(0,d.cn)("flex shrink-0 justify-around [gap:var(--gap)] motion-reduce:[animation-play-state:paused]",{"animate-marquee flex-row":!i,"animate-marquee-vertical flex-col":i,"group-hover:[animation-play-state:paused] group-focus-within:[animation-play-state:paused]":n,"[animation-direction:reverse]":a}),children:s},t))})}var m=a(550);let x="relative flex w-40 items-center justify-center border-r border-cream/10 px-6 py-6 md:w-56 md:px-10";function h(e){let{customer:t}=e;return(0,r.jsx)(i.default,{src:t.src,alt:t.alt,width:t.width,height:28,className:"h-6 w-auto max-w-full object-contain opacity-70 brightness-0 invert transition-opacity group-hover/logo:opacity-100 md:h-7",style:t.logoScale?{transform:"scale(".concat(t.logoScale,")")}:void 0})}function p(){return(0,r.jsx)("section",{"aria-label":"Customers",className:"relative w-full border-t border-cream/10 bg-base",children:(0,r.jsx)(m.W,{children:(0,r.jsxs)("div",{className:"flex items-stretch border-x border-cream/10",children:[(0,r.jsx)("p",{className:"flex w-32 shrink-0 items-center border-r border-cream/10 px-4 py-6 text-[10px] font-geist-mono uppercase leading-relaxed tracking-[0.16em] text-cream/60 md:w-56 md:px-8 md:text-xs",children:"SAVING THOUSANDS ON SNOWFLAKE AT"}),(0,r.jsx)(u,{pauseOnHover:!0,repeat:4,className:"min-w-0 flex-1 p-0 [--duration:30s] [--gap:0px] [mask-image:linear-gradient(to_right,transparent,black_8%,black_92%,transparent)]",children:c.H.map(e=>e.href?(0,r.jsxs)(o.default,{href:e.href,className:"group/logo ".concat(x," transition-colors hover:bg-surface focus-visible:bg-surface focus-visible:outline-none"),children:[(0,r.jsx)(h,{customer:e}),(0,r.jsxs)("span",{className:"absolute inset-x-0 bottom-1.5 flex items-center justify-center gap-0.5 text-[10px] font-geist-mono text-cream/40 transition-colors group-hover/logo:text-cream/70",children:["CASE STUDY",(0,r.jsx)(l.LZ3,{"aria-hidden":"true",className:"h-3 w-3 transition-transform group-hover/logo:translate-x-0.5"})]})]},e.alt):(0,r.jsx)("div",{className:x,children:(0,r.jsx)(h,{customer:e})},e.alt))})]})})})}var f=a(640),g=a(2869),b=a(9828),y=a(5966),v=a(1124),w=a(8614),j=a(1211);let k=(e,t,a)=>Math.max(t,Math.min(a,e)),N=(e,t,a)=>e+(t-e)*a,S=e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,M=e=>1-Math.pow(1-e,3),I=(e,t,a)=>t+e()*(a-t),E=j.IH.filter(e=>"duck"===e.engine),A=j.IH.filter(e=>"snow"===e.engine);function D(e){let t=j.z3.snowflakeEvery,a=Math.floor(e/t);return e%t==t-1?A[a%A.length]:E[(e-a)%E.length]}let L={mix:0,pulse:0,ray:null};function q(e){let t=e?0:j.IQ.ray,a=t+(e?0:j.IQ.colorIn),r=a+j.IQ.hold;return{colorStart:t,colorEnd:a,holdEnd:r,greyAt:r+j.IQ.fadeBack}}function B(e,t,a){return null===e.routedAt||t-e.routedAt>=q(a).greyAt}function C(e,t,a){return{...e,dots:e.dots.map(r=>r.id===t?{...r,routedAt:a,order:e.nextOrder}:r),nextOrder:e.nextOrder+1}}let R="229,229,229",H="(prefers-reduced-motion: reduce)";
1function W(){let e=(0,n.useSyncExternalStore)(O,()=>window.matchMedia(H).matches,()=>!1),t=(0,n.useId)(),[a,s]=(0,n.useState)([]),[i,o]=(0,n.useState)(null),l=(0,n.useRef)(null),c=(0,n.useRef)(null),d=(0,n.useRef)(null),u=(0,n.useRef)(null),m=(0,n.useRef)(null),x=(0,n.useRef)({w:0,h:0}),h=(0,n.useRef)(0),p=(0,n.useRef)(new Map),f=(0,n.useRef)(null),g=(0,n.useRef)(null),b=(0,n.useRef)(0),y=(0,n.useRef)([]);(0,n.useEffect)(()=>{var e;g.current=null!==(e=null==i?void 0:i.dotId)&&void 0!==e?e:null},[i]);let E=(0,n.useRef)((e,t,a)=>{if(null===e.order)return;b.current+=1;let r={key:b.current,x:t.x,y:t.y,flip:t.x>x.current.w-190,query:D(e.order),expiresAt:a+j.IQ.tag};y.current=[...y.current.slice(-(j.TQ-1)),r],s(y.current)});(0,n.useEffect)(()=>{var t;let a=l.current,r=c.current,n=null==r?void 0:r.getContext("2d");if(!a||!r||!n)return;let i=1,o=()=>{var e,t;let n=a.getBoundingClientRect();i=Math.min(window.devicePixelRatio||1,2),r.width=Math.round(n.width*i),r.height=Math.round(n.height*i),x.current={w:n.width,h:n.height},m.current={center:{x:(e=n.width)/2,y:(t=n.height)/2},ax:Math.max(e/2-18,73),ay:Math.max(t/2-18,73),clear:72}},d=new ResizeObserver(o);d.observe(a),o();let b=!0,v=new IntersectionObserver(e=>{var t;let[a]=e;b=null===(t=null==a?void 0:a.isIntersecting)||void 0===t||t});v.observe(a);let w=Math.random,{w:A,h:H}=x.current;null!==(t=u.current)&&void 0!==t||(u.current={dots:Array.from({length:function(e,t){let{min:a,max:r,areaPerDot:n}=j.FLOW_DOT_DENSITY;return Math.round(Math.max(a,Math.min(r,e*t/n)))}(A,H)},(e,t)=>({id:t,theta:I(w,0,2*Math.PI),rho:Math.sqrt(w()),p1:I(w,0,2*Math.PI),p2:I(w,0,2*Math.PI),r:I(w,1.8,3),a:I(w,.3,.6),appear:I(w,0,j.IQ.introStagger),routedAt:null,order:null})),nextOrder:0,nextRouteAt:j.IQ.firstRoute});let W=performance.now(),T=t=>{let a=m.current;if(!a||!u.current)return;let r=u.current;null!==g.current&&(r=function(e,t,a,r){let{colorEnd:n}=q(r);return{...e,dots:e.dots.map(e=>e.id===t&&null!==e.routedAt&&a-e.routedAt>n?{...e,routedAt:a-n}:e)}}(r,g.current,t,e));let n=function(e,t,a,r){var n;if(t<e.nextRouteAt)return{field:e,routed:null};let s=e.dots.filter(e=>B(e,t,r)),i={...e,nextRouteAt:t+j.IQ.routeEvery};if(0===s.length)return{field:i,routed:null};let o=s[Math.floor(a()*s.length)],l=C(i,o.id,t);return{field:l,routed:null!==(n=l.dots.find(e=>e.id===o.id))&&void 0!==n?n:null}}(r,t,w,e);if(r=n.field,u.current=r,p.current=new Map(r.dots.map(r=>[r.id,function(e,t,a,r){let{center:n,ax:s,ay:i,clear:o}=t,l=r?5*Math.sin(7e-4*a+e.p1):0,c=r?4*Math.cos(5e-4*a+e.p2):0;return{x:n.x+Math.cos(e.theta)*N(o,s,e.rho)+l,y:n.y+Math.sin(e.theta)*N(o,i,e.rho)+c}}(r,a,t,!e)])),n.routed){let e=p.current.get(n.routed.id);e&&E.current(n.routed,e,t)}y.current.some(e=>e.expiresAt<=t)&&(y.current=y.current.filter(e=>e.expiresAt>t),s(y.current))},O=()=>{let t=m.current;if(!t||!u.current)return;let{w:a,h:r}=x.current;n.setTransform(i,0,0,i,0,0),n.clearRect(0,0,a,r),function(e,t,a,r,n){for(let s of a.dots){let a=r.get(s.id),i=k((n.now-s.appear)/j.IQ.introFade,0,1);if(!a||0===i)continue;e.globalAlpha=i;let o=function(e,t,a){if(null===e.routedAt)return L;let r=t-e.routedAt,n=q(a);if(r<0||r>=n.greyAt)return L;if(r<n.colorStart)return{mix:0,pulse:0,ray:r/n.colorStart};if(r<n.colorEnd){let e=(r-n.colorStart)/(n.colorEnd-n.colorStart);return{mix:M(e),pulse:1-e,ray:null}}return r<n.holdEnd?{mix:1,pulse:0,ray:null}:{mix:1-S((r-n.holdEnd)/j.IQ.fadeBack),pulse:0,ray:null}}(s,n.now,n.reduced),l=null===s.order?R:j.ZO[D(s.order).engine].rgb,c=s.id===n.hoveredId||s.id===n.pinnedId,d=s.r*(1+.35*o.mix)*(c?1.4:1);null!==o.ray&&function(e,t,a,r,n){let s=a.x-t.center.x,i=a.y-t.center.y,o=Math.hypot(s,i)||1,l={x:t.center.x+s/o*34,y:t.center.y+i/o*34},c=e=>({x:N(l.x,a.x,S(e)),y:N(l.y,a.y,S(e))});e.lineWidth=1.4,e.lineCap="round";for(let t=0;t<12;t++){let a=r-.35*t/12,s=r-.35*(t+1)/12;if(a<=0)break;let i=c(Math.max(0,s)),o=c(a);e.strokeStyle="rgba(".concat(n,",").concat(.7*(1-t/12),")"),e.beginPath(),e.moveTo(i.x,i.y),e.lineTo(o.x,o.y),e.stroke()}let d=c(r);F(e,d,12,n,.45),e.fillStyle="rgba(255,255,255,0.95)",e.beginPath(),e.arc(d.x,d.y,2.6,0,2*Math.PI),e.fill()}(e,t,a,o.ray,l),o.mix>0&&F(e,a,5*d,l,.35*o.mix),e.fillStyle="rgba(".concat(function(e,t,a){return e.map((e,r)=>
1Math.round(N(e,t[r],a))).join(",")}(G,_(l),o.mix),",").concat(N(s.a,1,o.mix),")"),e.beginPath(),e.arc(a.x,a.y,d,0,2*Math.PI),e.fill(),o.pulse>0&&P(e,a,2*d+8*(1-o.pulse),"rgba(255,255,255,".concat(.6*o.pulse,")")),c&&P(e,a,2*d+5,"rgba(255,255,255,0.4)")}e.globalAlpha=1}(n,t,u.current,p.current,{now:h.current,reduced:e,hoveredId:f.current,pinnedId:g.current})},z=requestAnimationFrame(function e(t){let a=Math.max(0,Math.min(t-W,j.IQ.maxFrameGap));W=t,b&&!document.hidden&&(h.current+=a,T(h.current),O()),z=requestAnimationFrame(e)});return()=>{cancelAnimationFrame(z),d.disconnect(),v.disconnect()}},[e]),(0,n.useEffect)(()=>{if(!i)return;let e=e=>{"Escape"===e.key&&o(null)},t=e=>{var t;let a=e.target;null!==(t=d.current)&&void 0!==t&&t.contains(a)||c.current===a||o(null)};return document.addEventListener("keydown",e),document.addEventListener("pointerdown",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("pointerdown",t)}},[i]);let A=e=>{let t=e.currentTarget.getBoundingClientRect(),a=e.clientX-t.left,r=e.clientY-t.top,n=null,s=16;for(let[e,t]of Array.from(p.current)){let i=Math.hypot(t.x-a,t.y-r);i<s&&(s=i,n={id:e,point:t})}return n};return(0,r.jsxs)("figure",{className:"relative w-full","aria-label":"How Greybeam routes queries",children:[(0,r.jsxs)("div",{ref:l,className:"relative h-[320px] w-full sm:h-[420px] lg:h-[480px]",children:[(0,r.jsx)("canvas",{ref:c,"aria-hidden":"true",className:"pointer-events-auto absolute inset-0 h-full w-full",onClick:t=>{let a=A(t),r=u.current;if(!a||!r||(null==i?void 0:i.dotId)===a.id){o(null);return}let n=h.current,s=r.dots.find(e=>e.id===a.id);if(!s)return;if(B(s,n,e)){var l;u.current=C(r,s.id,n),s=null!==(l=u.current.dots.find(e=>e.id===a.id))&&void 0!==l?l:s}if(null===s.order)return;let{w:c,h:d}=x.current,m=a.point.x+16,p=a.point.x-16-280,f=m+280<=c-8,g=p>=8,b=a.point.x>=c/2;o({dotId:s.id,query:D(s.order),left:Math.max(8,Math.min((b?f||!g:!g&&f)?m:p,c-280-8)),top:Math.max(8,Math.min(a.point.y-95,d-190-8))})},onMouseLeave:()=>{f.current=null},onMouseMove:e=>{var t;let a=A(e);f.current=null!==(t=null==a?void 0:a.id)&&void 0!==t?t:null,e.currentTarget.style.cursor=a?"pointer":"default"}}),(0,r.jsx)("div",{className:"pointer-events-none absolute left-1/2 top-1/2 h-14 w-14 -translate-x-1/2 -translate-y-1/2",children:(0,r.jsx)(v.E.div,{className:"relative h-full w-full before:absolute before:-inset-12 before:rounded-full before:bg-[radial-gradient(circle,rgba(255,255,255,0.08),transparent_65%)] before:content-['']",initial:{opacity:0,scale:e?1:.9},animate:{opacity:1,scale:1},transition:{duration:.8,ease:"easeOut"},children:(0,r.jsxs)("svg",{viewBox:"0 0 160 160","aria-hidden":"true",className:"relative h-full w-full",children:[(0,r.jsx)("ellipse",{cx:"80",cy:"28.5",rx:"23.7",ry:"8.5",fill:"#AEAEAE"}),(0,r.jsx)("path",{d:"M39.7 130.5H120.7L104 28.5H56.5Z",fill:"url(#".concat(t,")")}),(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:t,x1:"80",y1:"28.5",x2:"80",y2:"130.5",gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#AEAEAE"}),(0,r.jsx)("stop",{offset:"1",stopColor:"#AEAEAE",stopOpacity:"0"})]})})]})})}),(0,r.jsx)(w.M,{children:a.map(t=>(0,r.jsxs)(v.E.div,{"aria-hidden":"true",className:"pointer-events-none absolute whitespace-nowrap bg-base/80 px-2 py-1 font-geist-mono text-[11px] uppercase tracking-[0.08em]",style:{left:t.x,top:t.y,transform:t.flip?"translate(calc(-100% - 12px), -50%)":"translate(12px, -50%)"},initial:!e&&{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:e?0:.3}},transition:{duration:.25},children:[(0,r.jsx)("span",{className:"snow"===t.query.engine?"text-snowflake":"text-duckdb",children:j.ZO[t.query.engine].label})," ",(0,r.jsx)("span",{className:"text-cream",children:t.query.value})]},t.key))}),(0,r.jsx)(w.M,{children:i?(0,r.jsx)(T,{containerRef:d,card:i,reduced:e},i.dotId):null})]}),(0,r.jsx)(v.E.p,{className:"mt-4 text-center font-geist-mono text-xs uppercase tracking-[0.14em] text-subtext",initial:{opacity:0}
1,animate:{opacity:1},transition:{duration:.8,delay:.4},children:"Greybeam routes queries to the best engine"})]})}function T(e){let{card:t,reduced:a,containerRef:n}=e,{query:s}=t,o=j.ZO[s.engine];return(0,r.jsxs)(v.E.div,{ref:n,role:"dialog","aria-label":"".concat(s.name," routed to ").concat(o.label),className:"pointer-events-auto absolute z-10 border border-[#34312b] bg-floating p-4 text-[13px] leading-snug shadow-[0_8px_24px_rgba(0,0,0,0.4)]",style:{left:t.left,top:t.top,width:280},initial:!a&&{opacity:0,scale:.97},animate:{opacity:1,scale:1},exit:{opacity:0,transition:{duration:a?0:.15}},transition:{duration:.18},children:[(0,r.jsxs)("div",{className:"text-cream",children:[s.name," ",(0,r.jsxs)("span",{className:"text-[#6B6A66]",children:["\xb7 ",s.src]})]}),(0,r.jsxs)("dl",{className:"mt-3 grid grid-cols-[4.5rem_1fr] gap-x-3 gap-y-1.5 border-t border-cream/10 pt-3",children:[(0,r.jsx)("dt",{className:"text-[#6B6A66]",children:"Engine"}),(0,r.jsxs)("dd",{className:"flex items-center gap-1.5 ".concat("snow"===s.engine?"text-snowflake":"text-duckdb"),children:[(0,r.jsx)(i.default,{src:o.logo,alt:"",width:12,height:12,className:"h-3 w-3"}),o.label]}),(0,r.jsx)("dt",{className:"text-[#6B6A66]",children:"Reason"}),(0,r.jsx)("dd",{className:"text-cream",children:s.reason}),(0,r.jsx)("dt",{className:"text-[#6B6A66]",children:"Why"}),(0,r.jsx)("dd",{className:"text-cream",children:s.why}),(0,r.jsx)("dt",{className:"text-[#6B6A66]",children:"Result"}),(0,r.jsx)("dd",{className:"text-cream",children:s.value}),(0,r.jsx)("dt",{className:"text-[#6B6A66]",children:"Runtime"}),(0,r.jsx)("dd",{className:"text-cream",children:s.detail})]})]})}function O(e){let t=window.matchMedia(H);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}let _=e=>e.split(",").map(Number),G=_(R);function P(e,t,a,r){e.strokeStyle=r,e.lineWidth=1,e.beginPath(),e.arc(t.x,t.y,a,0,2*Math.PI),e.stroke()}function F(e,t,a,r,n){let s=e.createRadialGradient(t.x,t.y,0,t.x,t.y,a);s.addColorStop(0,"rgba(".concat(r,",").concat(n,")")),s.addColorStop(1,"rgba(".concat(r,",0)")),e.fillStyle=s,e.beginPath(),e.arc(t.x,t.y,a,0,2*Math.PI),e.fill()}function z(e){let{calHref:t,handleBookDemo:a,prefetchCal:n}=e;return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 z-0 overflow-hidden",children:[(0,r.jsx)("div",{className:"pointer-events-none absolute inset-0 z-0 overflow-hidden sm:hidden",style:{maskImage:"linear-gradient(to bottom, black 50%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 50%, transparent 100%)"},children:(0,r.jsx)("div",{className:"absolute inset-0",style:{transform:"skewX(-48deg) skewY(14deg) scale(2)",transformOrigin:"center center"},children:(0,r.jsx)(y.AnimatedGridPattern,{width:20,height:10,numSquares:10,maxOpacity:.1,duration:3,repeatDelay:1,className:"fill-cream/20 stroke-cream/10 stroke-[0.5]"})})}),(0,r.jsx)("div",{className:"pointer-events-none absolute inset-0 z-0 hidden overflow-hidden sm:block sm:pointer-events-auto",style:{maskImage:"linear-gradient(to bottom, black 50%, transparent 100%)",WebkitMaskImage:"linear-gradient(to bottom, black 50%, transparent 100%)"},children:(0,r.jsx)(f.Boxes,{})})]}),(0,r.jsx)("div",{className:"relative z-20 pointer-events-none",children:(0,r.jsx)(m.W,{children:(0,r.jsxs)("div",{className:"grid items-center gap-12 px-6 py-10 md:px-10 md:py-16 lg:min-h-[calc(100svh-124px)] lg:grid-cols-[minmax(0,5fr)_minmax(0,7fr)] xl:grid-cols-2 lg:gap-16 lg:px-0 lg:pb-[min(calc(124px+2rem),14svh)] lg:pt-4",children:[(0,r.jsxs)("div",{className:"relative z-10 min-w-0 space-y-8",children:[(0,r.jsxs)("div",{className:"space-y-2 pt-4",children:[(0,r.jsxs)("h1",{className:"text-4xl sm:text-5xl xl:text-6xl text-cream leading-tight text-balance lg:w-max lg:whitespace-nowrap",children:["Run Snowflake workloads ",(0,r.jsx)("br",{className:"hidden lg:block"}),"on DuckDB. Save 86%."]}),(0,r.jsx)("div",{className:"text-2xl lg:text-xl xl:text-2xl font-tasa-orbiter text-subtext text-balance",children:"Built for BI, embedded analytics, and agent queries. No migration required."})]}),(0,r.jsx)("div",{className:"pt-2 pointer-events-auto",children:(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-4",children:[(0,r.jsx)(b.p,{className:"h-11 px-5 text-base",label:"Book a Demo",href:t,target:"_blank",rel:"noopener noreferrer",onClick:a,onMouseEnter:n,onFocus:n,onTouchStart:n}),(0,r.jsx)(g.z,{asChild:!0,className:"group h-11 bg-transparent text-cream hover:bg-transparent hover:text-cream",children:(0,r.jsxs)(o.default,{href:"/savings-estimate",children:["Savings Estimate",(0,r.jsx)(l.LZ3,{className:"-ml-0.5 h-4 w-4 transition-transform duration-300 ease-in-out group-hover:translate-x-0.5"})]})})]})})]}),(0,r.jsx)("div",{className:"relative w-full min-w-0",children:(0,r.jsx)(W,{})})]})})})]})}function Q(){let{prefetchCal:e,handleBookDemo:t,calHref:a}=(0,s.S)();return(0,r.jsxs)(n.Fragment,{children:[(0,r.jsx)("section",{className:"relative w-full overflow-x-clip bg-base -mt-[72px] pt-[72px]",children:(0,r.jsx)(z,{calHref:a,handleBookDemo:t,prefetchCal:e})}),(0,r.jsx)(p,{})]})}},1211:function(e,t,a){"use strict";a.d(t,{FLOW_DOT_DENSITY:function(){return o},IH:function(){return n},IQ:function(){return s},TQ:function(){return l},ZO:function(){return r},z3:function(){return i}});let r={duck:{label:"DuckDB",rgb:"255,193,7",logo:"/assets/how-it-works/duckdb.svg"},snow:{label:"Snowflake",rgb:"41,181,232",logo:"/assets/how-it-works/snowflake.svg"}},n=[{name:"Revenue by return flag",src:"Looker",engine:"duck",reason:"Small query",why:"Scans 38 MB",value:"99% cheaper",detail:"37 ms"},{name:"Pipeline by region",src:"Sigma",engine:"duck",reason:"Comparable performance",why:"Much cheaper on DuckDB",value:"91% cheaper",detail:"1.4 s vs 1.1 s"},{name:"Top customers last week",src:"AI agent",engine:"duck",reason:"Small query",why:"Scans 7 MB",value:"99% cheaper",detail:"240 ms"},{name:"Top 100 per supplier",src:"dbt",engine:"snow",reason:"Large window + sort",why:"Much slower on DuckDB",value:"2.8\xd7 faster",detail:"32.2 s vs 89.1 s on DuckDB"},{name:"Overlapping shipments",src:"Hex",engine:"duck",reason:"IEJoin",why:"Range join is faster on DuckDB",value:"93% cheaper",detail:"9.6 s vs 21.2 s"},{name:"Year-over-year sessions",src:"Mode",engine:"snow",reason:"Large scan",why:"Scans 400 GB",value:"4.8\xd7 faster",detail:"3.1 s vs 15 s on DuckDB"},{name:"In-app usage chart",src:"Embedded app",engine:"duck",reason:"Comparable performance",why:"Much cheaper on DuckDB",value:"96% cheaper",detail:"140 ms vs 217 ms"},{name:"Discount score",src:"Looker",engine:"snow",reason:"Snowflake-specific function",why:"String arithmetic",value:"Semantic differences",detail
1:"929 ms"},{name:"Churn by cohort",src:"Tableau",engine:"duck",reason:"Small query",why:"Scans 18 MB",value:"97% cheaper",detail:"410 ms"},{name:"Customer 360 build",src:"Airflow",engine:"snow",reason:"Billion-row join",why:"Much slower on DuckDB",value:"3.4\xd7 faster",detail:"6.2 s vs 21 s on DuckDB"}],s={firstRoute:1400,introStagger:900,introFade:700,routeEvery:650,ray:420,colorIn:500,hold:6e3,fadeBack:1400,tag:1800,maxFrameGap:50},i={snowflakeEvery:5},o={areaPerDot:4800,min:32,max:72},l=2},6797:function(e,t,a){"use strict";a.d(t,{default:function(){return M}});var r=a(7437),n=a(1124),s=a(2345),i=a(4508),o=a(1211),l=a(550);let c={delay:0,duration:0};function d(e,t){return{hidden:{opacity:0},shown:{opacity:1,transition:t?c:{delay:e,duration:.5}}}}function u(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.8;return{hidden:{pathLength:0},shown:{pathLength:1,transition:t?c:{delay:e,duration:a,ease:"easeInOut"}}}}function m(e){let{delay:t,instant:a,children:s}=e;return(0,r.jsx)(n.E.g,{variants:d(t,a),className:"motion-reduce:hidden",children:s})}function x(e){let{path:t,dur:a,offset:n,className:s}=e,i={dur:"".concat(a,"s"),begin:"-".concat(n,"s"),repeatCount:"indefinite"};return(0,r.jsxs)("g",{opacity:"0",children:[(0,r.jsx)("circle",{r:"5",className:"".concat(s," opacity-25")}),(0,r.jsx)("circle",{r:"2.25",className:s}),(0,r.jsx)("animateMotion",{path:t,...i}),(0,r.jsx)("animate",{attributeName:"opacity",values:"0;1;1;0",keyTimes:"0;0.1;0.9;1",...i})]})}let h=[0,60,120].map(e=>(0,r.jsx)("line",{x1:"40",y1:"52",x2:"40",y2:"68",transform:"rotate(".concat(e," 40 60)"),className:"stroke-cream/50",strokeWidth:"1.5",strokeLinecap:"round"},e)),p=[0,2,1,3];function f(e){return"M 38 ".concat(e," C 80 ").concat(e,", 88 60, ").concat(122," 60")}function g(){return(0,r.jsxs)("g",{transform:"translate(".concat(124," ").concat(30,") scale(").concat(.375,")"),children:[(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:"hiw-greybeam-beam",x1:"80.2",y1:"28.6",x2:"80.2",y2:"130.5",gradientUnits:"userSpaceOnUse",children:[(0,r.jsx)("stop",{stopColor:"#AEAEAE"}),(0,r.jsx)("stop",{offset:"1",stopColor:"#AEAEAE",stopOpacity:"0"})]})}),(0,r.jsx)("rect",{width:"160",height:"160",rx:"32",fill:"#161616",className:"stroke-cream/20",strokeWidth:"4"}),(0,r.jsx)("ellipse",{cx:"80.2",cy:"28.6",rx:"23.7",ry:"8.5",fill:"#AEAEAE"}),(0,r.jsx)("path",{d:"M39.7 130.5H120.7L104 28.6H56.5L39.7 130.5Z",fill:"url(#hiw-greybeam-beam)"})]})}let b="rgb(".concat(o.ZO.duck.rgb,")"),y="rgb(".concat(o.ZO.snow.rgb,")"),v=new Set([6,17]);function w(e,t){let a=43758.5453*Math.sin(12.9898*e+78.233*t);return Math.round((a-Math.floor(a)-.5)*100)/100}let j=Array.from({length:20},(e,t)=>({x:28+t%5*36+18*w(t,1),y:18+28*Math.floor(t/5)+14*w(t,2),fill:v.has(t)?y:b,phase:7*t%20/20,drift:{x:6*w(t,3),y:6*w(t,4),dur:5+t%4}}));function k(e){let{x:t,y:a,fill:n,glow:s}=e;return(0,r.jsxs)(r.Fragment,{children:[s&&(0,r.jsx)("circle",{cx:t,cy:a,r:"8",fill:n,opacity:"0.2"}),(0,r.jsx)("circle",{cx:t,cy:a,r:"3.5",fill:n})]})}let N=[{title:"Sync",description:"We make your data readable outside Snowflake using Iceberg. Bring your own catalog or let us handle it.",Diagram:function(e){let{delay:t,instant:a}=e,s=[44,60,76];return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.E.g,{variants:d(t,a),children:[(0,r.jsx)("circle",{cx:"40",cy:"60",r:"16",className:"fill-base stroke-cream/30",strokeWidth:"1.5"}),(0,r.jsx)("g",{className:"motion-safe:hidden",children:h}),(0,r.jsxs)("g",{className:"motion-reduce:hidden",children:[h,(0,r.jsx)("animateTransform",{attributeName:"transform",type:"rotate",from:"0 40 60",to:"360 40 60",dur:"24s",repeatCount:"indefinite"})]})]}),(0,r.jsx)(n.E.path,{d:"M 60 60 H 118",fill:"none",className:"stroke-cream/30",strokeWidth:"1.5",strokeDasharray:"3 5",variants:d(t+.2,a)}),s.map((e,s)=>(0,r.jsx)(n.E.path,{d:"M 132 ".concat(e," L 152 ").concat(e-10," L 184 ").concat(e-10," L 164 ").concat(e," Z"),fill:"none",className:0===s?"stroke-amber":"stroke-cream/30",strokeWidth:"1.5",strokeLinejoin:"round",variants:u(t+.6+.15*s,a,.5)},e)),(0,r.jsxs)(m,{delay:t+1.4,instant:a,children:[[0,1].map(e=>(0,r.jsx)(x,{path:"M 60 60 H 128",dur:2.4,offset:1.2*e,className:"fill-cream"},e)),s.map((e,t)=>(0,r.jsx)("path",{d:"M 132 ".concat(e," L 152 ").concat(e-10," L 184 ").concat(e-10," L 164 ").concat(e," Z"),className:"fill-amber",opacity:"0",children:(0,r.jsx)("animate",{attributeName:"opacity",values:"0;".concat(.35-.1*t,";0"),keyTimes:"0;".concat(.1+.1*t,";
11"),dur:"".concat(1.2,"s"),repeatCount:"indefinite"})},e))]})]})}},{title:"Connect",description:"Point your tools at Greybeam instead of Snowflake. Anything that uses the Snowflake driver works: BI, dbt, apps, agents.",Diagram:function(e){let{delay:t,instant:a}=e,s=[18,46,74,102];return(0,r.jsxs)(r.Fragment,{children:[s.map((e,s)=>(0,r.jsx)(n.E.g,{variants:d(t+.08*s,a),children:(0,r.jsx)("circle",{cx:"30",cy:e,r:"5",className:"fill-cream/40"})},e)),s.map(e=>(0,r.jsx)(n.E.path,{d:f(e),fill:"none",className:"stroke-cream/25",strokeWidth:"1.5",variants:u(t+.3,a)},e)),(0,r.jsx)(m,{delay:t+1.4,instant:a,children:s.map((e,t)=>(0,r.jsx)(x,{path:f(e),dur:.9*s.length,offset:.9*p[t],className:"fill-cream"},e))}),(0,r.jsx)(n.E.g,{variants:d(t+.9,a),children:(0,r.jsx)(g,{})})]})}},{title:"Route",description:"Each query is analyzed, translated, and sent to the right engine. Typically over 90% run on DuckDB.",Diagram:function(e){let{delay:t,instant:a}=e;return(0,r.jsx)(r.Fragment,{children:j.map((e,s)=>(0,r.jsxs)(n.E.g,{variants:d(t+.8*e.phase,a),children:[(0,r.jsx)("g",{className:"motion-safe:hidden",children:(0,r.jsx)(k,{x:e.x,y:e.y,fill:e.phase<.6?e.fill:"#5C5B57",glow:e.phase<.6})}),(0,r.jsxs)("g",{className:"motion-reduce:hidden",children:[(0,r.jsx)("animateTransform",{attributeName:"transform",type:"translate",values:"0 0; ".concat(e.drift.x," ").concat(e.drift.y,"; 0 0"),dur:"".concat(e.drift.dur,"s"),repeatCount:"indefinite"}),(0,r.jsx)(k,{x:e.x,y:e.y,fill:"#5C5B57",glow:!1}),(0,r.jsxs)("g",{opacity:"0",children:[(0,r.jsx)(k,{x:e.x,y:e.y,fill:e.fill,glow:!0}),(0,r.jsx)("animate",{attributeName:"opacity",values:"0;1;1;0;0",keyTimes:"0;0.06;0.55;0.7;1",dur:"".concat(6,"s"),begin:"-".concat(6*e.phase,"s"),repeatCount:"indefinite"})]})]})]},s))})}},{title:"Save",description:"Queries that run on DuckDB don't burn Snowflake credits. Your bill drops and queries get faster.",Diagram:function(e){let{delay:t,instant:a}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.E.g,{variants:d(t,a),children:(0,r.jsx)("line",{x1:"10",y1:104,x2:"190",y2:104,className:"stroke-cream/15",strokeWidth:"1"})}),(0,r.jsx)(n.E.path,{d:"M 10 34 L 22 28 L 34 36 L 46 26 L 58 32 L 70 24 L 82 31 L 94 23 L ".concat(108," 29"),fill:"none",className:"stroke-cream/40",strokeWidth:"1.5",strokeLinejoin:"round",variants:u(t+.2,a,.9)}),(0,r.jsx)(n.E.path,{d:"M ".concat(108," 29 L ").concat(116," 92 L 128 95 L 140 93 L 152 96 L 164 94 L 176 95 L 190 94"),fill:"none",className:"stroke-amber",strokeWidth:"2",strokeLinejoin:"round",variants:u(t+1.1,a,.9)}),(0,r.jsxs)(n.E.g,{variants:d(t+1.1,a),children:[(0,r.jsx)("line",{x1:108,y1:"10",x2:108,y2:104,className:"stroke-cream/20",strokeWidth:"1",strokeDasharray:"2 4"}),(0,r.jsx)("text",{x:114,y:"16",className:"fill-subtext font-geist-mono text-[10px]",children:"Greybeam"})]})]})}}],S={"@context":"https://schema.org","@type":"HowTo",name:"How to Save 86% on Snowflake with Greybeam",description:"Step-by-step guide to reducing Snowflake costs by routing Snowflake queries through Greybeam's managed DuckDB clusters.",step:N.map(e=>({"@type":"HowToStep",name:e.title,text:e.description,url:"https://www.greybeam.ai#how-it-works"}))};function M(){let e=!0===(0,s.J)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:(0,i.n)(S)}}),(0,r.jsx)("section",{id:"how-it-works","aria-labelledby":"how-it-works-title",className:"relative w-full bg-base",children:(0,r.jsx)(l.W,{children:(0,r.jsx)("div",{className:"py-20 md:py-28",children:(0,r.jsxs)("div",{className:"relative bg-base border-t border-cream/5",children:[(0,r.jsx)("div",{className:"pointer-events-none absolute top-4 left-1/2 -translate-x-1/2 w-[120%] h-[200px] rounded-full",style:{background:"var(--color-amber)",opacity:.1,filter:"blur(100px)"}}),(0,r.jsx)("div",{className:"pointer-events-none absolute top-6 left-1/2 -translate-x-1/2 w-[60%] h-[40px] rounded-full",style:{background:"rgba(255,255,255,0.4)",filter:"blur(60px)"}}),(0,r.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-px",style:{background:"linear-gradient(to right, transparent 5%, rgba(255,255,255,0.3) 30%, rgba(255,255,255,0.5) 50%, rgba(255,255,255,0.3) 70%, transparent 95%)"}}),(0,r.jsxs)("div",{className:"relative z-10 space-y-6 px-6 pt-16 pb-10 md:px-10 md:pt-20 md:pb-12 lg:px-16 lg:pt-24 lg:pb-14",children:[(0,r.jsx)("p",{className:"font-geist-mono text-xs uppercase tracking-[0.16em] text-amber",children:"How it works"}),(0,r.jsxs)("h2",{id:"how-it-works-title",className:"max-w-4xl font-tasa-orbiter text-4xl leading-tight tracking-[-0.03em] text-cream md:text-5xl",children:["Small queries go to DuckDB. ",(0,r.jsx)("span",{className:"block",children:"Big ones stay on Snowflake."})]}),(0,r.jsx)("p",{className:"max-w-2xl text-lg font-light leading-relaxed text-subtext",children:"Greybeam sits between your tools and Snowflake, automatically routing each query to the right engine. No code changes. No migration."})]}),(0,r.jsx)("div",{className:"relative z-10 px-6 pb-12 md:px-10 md:pb-16 lg:px-16 lg:pb-20",children:(0,r.jsx)(n.E.ol,{className:"grid grid-cols-1 gap-px overflow-hidden border border-cream/10 bg-cream/10 md:grid-cols-2 lg:grid-cols-4",initial:"hidden",
1whileInView:"shown",viewport:{once:!0,amount:.3},children:N.map((t,a)=>{let{title:n,description:s,Diagram:i}=t;return(0,r.jsxs)("li",{className:"flex flex-col gap-6 bg-base p-6 md:p-8",children:[(0,r.jsx)("p",{className:"font-geist-mono text-xs text-cream/40",children:String(a+1).padStart(2,"0")}),(0,r.jsx)("svg",{viewBox:"0 0 200 120",className:"h-28 w-full overflow-visible","aria-hidden":"true",children:(0,r.jsx)(i,{delay:.2*a,instant:e})}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("h3",{className:"font-tasa-orbiter text-2xl tracking-[-0.03em] text-cream",children:n}),(0,r.jsx)("p",{className:"font-light leading-relaxed text-subtext",children:s})]})]},n)})})})]})})})})]})}},8684:function(e,t,a){"use strict";a.d(t,{ProblemSection:function(){return p}});var r=a(7437),n=a(2345),s=a(1124),i=a(550);function o(e){return 70+340*e/100}let l=[{x:150,y:o(7),label:"Resize"},{x:330,y:o(10),label:"Auto-suspend"},{x:510,y:o(21),label:"Slow queries"}],c=o(21),d=o(86),u={delay:0,duration:0};function m(e,t){return{hidden:{opacity:0},shown:{opacity:1,transition:t?u:{delay:e,duration:.6}}}}function x(e,t,a){return{hidden:{pathLength:0},shown:{pathLength:1,transition:a?u:{delay:e,duration:t,ease:"easeInOut"}}}}function h(){let e=!0===(0,n.J)();return(0,r.jsxs)(s.E.svg,{viewBox:"0 0 1000 440",className:"w-full overflow-visible",initial:"hidden",whileInView:"shown",viewport:{once:!0,amount:.5},role:"img","aria-label":"Snowflake bill barely moves with each optimization and flattens at a floor. Greybeam drops it far below.",children:[(0,r.jsx)("line",{x1:40,y1:"20",x2:40,y2:410,className:"stroke-cream/20",strokeWidth:"1"}),(0,r.jsx)("line",{x1:40,y1:410,x2:960,y2:410,className:"stroke-cream/20",strokeWidth:"1"}),(0,r.jsx)("text",{x:30,y:"30",textAnchor:"end",className:"fill-subtext font-geist-mono text-[32px] md:text-[20px]",children:"$"}),(0,r.jsx)("text",{x:960,y:"444",textAnchor:"end",className:"fill-subtext font-geist-mono text-[32px] md:text-[20px]",children:"time"}),(0,r.jsxs)(s.E.g,{variants:m(2.2,e),children:[(0,r.jsx)("line",{x1:40,y1:c,x2:960,y2:c,className:"stroke-cream/40",strokeWidth:"1",strokeDasharray:"6 6"}),(0,r.jsx)("text",{x:56,y:c+44,className:"fill-cream font-geist-mono text-[26px] uppercase md:text-[20px] tracking-[0.08em]",children:"Floor: Snowflake pricing"})]}),(0,r.jsx)(s.E.path,{d:function(){let e=l.map(e=>"H ".concat(e.x," V ").concat(e.y)).join(" "),t=l[l.length-1].y;return"M ".concat(40," ").concat(70," ").concat(e," H ").concat(700," V ").concat(t)}(),fill:"none",className:"stroke-snowflake",strokeWidth:"3",variants:x(0,2.2,e)}),l.map((t,a)=>(0,r.jsx)(s.E.text,{x:t.x+10,y:t.y-14,className:"hidden fill-subtext text-[20px] md:inline",variants:m(.35+.45*a,e),children:t.label},t.label)),(0,r.jsx)(s.E.path,{d:"M ".concat(700," ").concat(c," V ").concat(d," H ").concat(960),fill:"none",className:"stroke-amber",strokeWidth:"3",variants:x(3,1.2,e)}),(0,r.jsx)(s.E.text,{x:716,y:d-18,className:"fill-amber text-[36px] font-medium md:text-[22px]",variants:m(3.6,e),children:"Greybeam"})]})}function p(){return(0,r.jsx)("section",{"aria-labelledby":"problem-title",className:"relative w-full border-t border-cream/10 bg-base",children:(0,r.jsx)(i.W,{children:(0,r.jsxs)("div",{className:"grid items-center gap-16 px-6 py-24 md:px-10 md:py-32 lg:grid-cols-[minmax(0,5fr)_minmax(0,7fr)] lg:px-16 lg:py-40",children:[(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)("p",{className:"font-geist-mono text-xs uppercase tracking-[0.16em] text-amber",children:"The Problem"}),(0,r.jsx)("h2",{id:"problem-title",className:"font-tasa-orbiter text-4xl leading-tight tracking-[-0.03em] text-cream md:text-5xl",children:"Most queries don't need Snowflake."}),(0,r.jsx)("p",{className:"text-lg font-light leading-relaxed text-subtext",children:"You can resize warehouses and update auto-suspend, but that only goes so far."}),(0,r.jsxs)("p",{className:"text-lg font-light leading-relaxed text-subtext",children:[(0,r.jsx)("span",{className:"text-cream",children:"The real issue is workload mismatch: Snowflake has become the default for every query"}),", even when DuckDB can deliver comparable performance at a fraction of the cost."]})]}),(0,r.jsx)(h,{})]})})})}}},function(e){e.O(0,[310,124,137,972,878,588,843,172,971,117,744],function(){return e(e.s=3454)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.