<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/028c0d39d2e8f589-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/5b01f339abf2f1a5.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/openai.com/w/512/h/512/theme/dark/symbol?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/anthropic.com/w/512/h/512/theme/dark/symbol?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/google.com/w/501/h/512/symbol?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/microsoft.com/w/512/h/512/symbol?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/meta.com/w/400/h/400?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/typescriptlang.org/w/256/h/256?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/python.org/w/467/h/512/logo?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/go.dev/w/512/h/192/logo?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/ruby-lang.org/w/512/h/511/logo?c=1idQbe1D_SxVi_WjGRi"/><link rel="preload" as="image" href="https://cdn.brandfetch.io/java.com/w/379/h/512/logo?c=1idQbe1D_SxVi_WjGRi"/><link rel="stylesheet" href="/_next/static/css/e5ae0da699f83dc7.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a2f7a122f90eae85.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5dcdc8714949ffca.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC"/><script src="/_next/static/chunks/4336c15a-b3fc6d27ebbcbc4a.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/fe41da9f-3226d286139149c2.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/6671-f69a2bb302d98c36.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/main-app-7f24c2f9636426cd.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/3470-e5756a9f299017f6.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/app/layout-619eeaec3ccb6442.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><script src="/_next/static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" async=""></script><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Flamb.png&amp;w=96&amp;q=75 1x, /_next/image?url=%2Flamb.png&amp;w=256&amp;q=75 2x"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=3840&amp;q=75 3840w" imageSizes="(max-width: 768px) 140px, 160px"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=3840&amp;q=75 3840w" imageSizes="(max-width: 768px) 140px, 160px"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=3840&amp;q=75 3840w" imageSizes="(max-width: 768px) 140px, 160px"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=3840&amp;q=75 3840w" imageSizes="(max-width: 768px) 140px, 160px"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=3840&amp;q=75 3840w" imageSizes="(max-width: 768px) 140px, 160px"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=3840&amp;q=75 3840w" imageSizes="(max-width: 768px) 140px, 160px"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=3840&amp;q=75 3840w" imageSizes="(max-width: 768px) 140px, 160px"/><link rel="preload" as="image" href="https://randomuser.me/api/portraits/men/32.jpg"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fagent-cta-background.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fagent-cta-background.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fagent-cta-background.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fagent-cta-background.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fagent-cta-background.png&amp;w=3840&amp;q=75 3840w" imageSizes="100vw"/><meta name="next-size-adjust" content=""/><meta name="theme-color" media="(prefers-color-scheme: light)" content="white"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="black"/><title>BAML</title><meta name="description" content="BAML is a tool for developers to build AI applications with type safety and reliability"/><link rel="canonical" href="https://boundaryml.com"/><meta property="og:title" content="BAML"/><meta property="og:description" content="BAML is a tool for developers to build AI applications with type safety and reliability"/><meta property="og:url" content="https://boundaryml.com"/><meta property="og:site_name" content="BAML"/><meta property="og:locale" content="en_US"/><meta property="og:image:type" content="image/png"/><meta property="og:image" content="https://boundaryml.com/opengraph-image?6211fa5edcebd025"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@boundaryml"/><meta name="twitter:creator" content="@boundaryml"/><meta name="twitter:title" content="Boundary | The best way to get structured data with LLMs"/><meta name="twitter:description" content="Boundary makes it easy to build, test, and develop LLM applications."/><meta name="twitter:image:type" content="image/png"/><meta name="twitter:image" content="https://boundaryml.com/twitter-image?6211fa5edcebd025"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/favico.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" noModule=""></script></head><body class="bg-background text-foreground relative min-h-screen font-sans antialiased __variable_fb8f2c __variable_f910ec"><div hidden=""><!--$--><!--/$--></div><!--$?--><template id="B:0"></template><!--/$--><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/webpack-5dcdc8714949ffca.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC" id="_R_" async=""></script><div hidden id="S:0"><div></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","light",null,["light","dark"],null,false,true)</script><div class="max-w-7xl mx-auto border-x relative"><header class="sticky z-50 flex justify-center transition-all duration-300 md:mx-0 top-4 mx-0" style="opacity:0"><div style="width:70rem"><div class="mx-auto max-w-7xl rounded-2xl transition-all duration-300 xl:px-0 shadow-none px-7"><div class="flex h-[56px] items-center justify-between pl-1 md:pl-2 pr-4"><a class="flex items-center gap-1" href="/"><div class="flex items-center gap-2"><p class="text-lg font-semibold text-primary">Boundary</p></div></a><nav class="hidden md:flex items-center gap-6"><a class="text-sm font-medium text-muted-foreground hover:text-primary transition-colors" href="/">Home</a><a class="text-sm font-medium text-muted-foreground hover:text-primary transition-colors" href="/blog">Blog</a><a class="text-sm font-medium text-muted-foreground hover:text-primary transition-colors" href="/podcast">Podcast</a><a class="text-sm font-medium text-muted-foreground hover:text-primary transition-colors" href="/who-are-we">Team</a><a class="text-sm font-medium text-muted-foreground hover:text-primary transition-colors" href="/jobs">Jobs</a></nav><div class="flex flex-row items-center gap-1 md:gap-3 shrink-0"><div class="flex items-center space-x-4"><a target="_blank" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-9 px-4 py-2 has-[&gt;svg]:px-3 bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80 rounded-full" data-slot="button" href="https://docs.boundaryml.com/?utm_source=marketing-site&amp;utm_medium=navbar-docs">Docs</a><a class="group flex flex-row items-center justify-center gap-x-2 rounded-full border-[1px] border-[#30363d] bg-[#161b22] px-1.5 py-1 text-sm font-light leading-6 text-white transition duration-200 ease-in-out hover:scale-[1.05] hover:bg-zinc-900" target="_blank" href="https://github.com/boundaryml/baml"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 496 512" class="text-white" height="18" width="18" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg><span class="hidden sm:inline whitespace-nowrap">Star on GitHub</span><div class="flex flex-row items-center justify-center gap-x-1"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="#ffffff" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star mb-0.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg><span class="ml-0">2,107</span></div></a></div><button aria-label="Toggle navigation" class="md:hidden border border-border size-8 rounded-md cursor-pointer flex items-center justify-center" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu size-5" aria-hidden="true"><path d="M4 12h16"></path><path d="M4 18h16"></path><path d="M4 6h16"></path></svg></button></div></div></div></div></header><main class="flex flex-col items-center justify-center min-h-screen w-full gap-12 sm:gap-20"><section class="relative mx-auto mt-12 sm:mt-24 max-w-[80rem] px-4 sm:px-6 md:px-8 text-center" id="hero"><a target="_self" href="/playground"><div class="backdrop-filter-[12px] inline-flex w-full max-w-2xl items-center rounded-lg border border-border bg-accent/20 px-4 py-3 text-xs text-foreground transition-all ease-in hover:cursor-pointer hover:bg-accent/40 group translate-y-[-1rem] animate-fade-in opacity-0 "><div class="flex flex-col sm:flex-row items-start sm:items-center gap-2 sm:gap-3 w-full"><div class="bg-gray-800 text-white px-2 py-1 rounded-md text-xs font-medium whitespace-nowrap flex-shrink-0 text-center w-full sm:w-auto">TH JUL 31 @ 9 AM PT</div><div class="flex-1 min-w-0 flex items-center justify-between sm:justify-start gap-2"><span class="text-sm font-medium leading-tight block">Try BAML online</span><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4 transition-transform duration-300 ease-in-out group-hover:translate-x-0.5 flex-shrink-0 sm:hidden"><path d="M8.14645 3.14645C8.34171 2.95118 8.65829 2.95118 8.85355 3.14645L12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L8.85355 11.8536C8.65829 12.0488 8.34171 12.0488 8.14645 11.8536C7.95118 11.6583 7.95118 11.3417 8.14645 11.1464L11.2929 8H2.5C2.22386 8 2 7.77614 2 7.5C2 7.22386 2.22386 7 2.5 7H11.2929L8.14645 3.85355C7.95118 3.65829 7.95118 3.34171 8.14645 3.14645Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4 transition-transform duration-300 ease-in-out group-hover:translate-x-0.5 flex-shrink-0 hidden sm:block"><path d="M8.14645 3.14645C8.34171 2.95118 8.65829 2.95118 8.85355 3.14645L12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L8.85355 11.8536C8.65829 12.0488 8.34171 12.0488 8.14645 11.8536C7.95118 11.6583 7.95118 11.3417 8.14645 11.1464L11.2929 8H2.5C2.22386 8 2 7.77614 2 7.5C2 7.22386 2.22386 7 2.5 7H11.2929L8.14645 3.85355C7.95118 3.65829 7.95118 3.34171 8.14645 3.14645Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></div></a><div class="grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12 items-center mt-8 sm:mt-12"><div class="text-left"><h1 class="bg-gradient-to-br dark:from-white from-black from-30% dark:to-white/40 to-black/40 bg-clip-text py-4 sm:py-6 text-5xl font-medium leading-none tracking-tighter text-transparent text-balance sm:text-5xl md:text-6xl lg:text-6xl xl:text-7xl translate-y-[-1rem] animate-fade-in opacity-0 [--animation-delay:200ms]">The First Language for Building Agents</h1><p class="mb-6 sm:mb-8 text-base sm:text-lg tracking-tight text-muted-foreground md:text-xl text-balance translate-y-[-1rem] animate-fade-in opacity-0 [--animation-delay:400ms]">Typescript made JavaScript 10x more reliable.<br/><span class="text-secondary font-bold">BAML</span> makes your ai pipelines 10x more reliable.</p><div class="translate-y-[-1rem] animate-fade-in opacity-0 ease-in-out [--animation-delay:600ms] space-y-3"><div class="max-w-lg items-center justify-center block w-full"><div class="w-full space-y-2"><div class="mb-2 flex items-center"><div class="relative w-full"><div class="inline-flex w-full overflow-x-auto rounded-md border border-border text-xs scrollbar-hide"><div class="flex items-center flex-shrink-0"><button class="inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-primary" data-slot="button">python<div class="absolute inset-x-0 bottom-[1px] mx-auto h-0.5 w-[90%] bg-primary"></div></button></div><div class="flex items-center flex-shrink-0"><div aria-hidden="true" class="h-4 w-px bg-border"></div><button class="inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-muted-foreground" data-slot="button">typescript</button></div><div class="flex items-center flex-shrink-0"><div aria-hidden="true" class="h-4 w-px bg-border"></div><button class="inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-muted-foreground" data-slot="button">ruby</button></div><div class="flex items-center flex-shrink-0"><div aria-hidden="true" class="h-4 w-px bg-border"></div><button class="inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-muted-foreground" data-slot="button">go</button></div><div class="flex items-center flex-shrink-0"><div aria-hidden="true" class="h-4 w-px bg-border"></div><button class="inline-flex items-center justify-center text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-8 gap-1.5 has-[&gt;svg]:px-2.5 hover:text-accent-foreground relative rounded-none bg-background px-2 py-1 hover:bg-background whitespace-nowrap text-muted-foreground" data-slot="button">other</button></div></div></div></div><div class="relative flex items-center"><div class="w-full grow font-mono">uv add baml-py &amp;&amp; uv run baml-cli init</div></div></div></div><div class="flex gap-4"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-10 rounded-md px-6 has-[&gt;svg]:px-4 bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80" data-slot="button">Try BAML in your browser</button><a href="https://docs.boundaryml.com/home" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-10 rounded-md px-6 has-[&gt;svg]:px-4 border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground" data-slot="button">Get Started</a></div></div></div><div class="relative animate-fade-up opacity-0 [--animation-delay:400ms] [perspective:2000px]"><div class="rounded-xl border border-border bg-white bg-opacity-[0.01] before:absolute before:bottom-1/2 before:left-0 before:top-0 before:h-full before:w-full before:opacity-0 before:[filter:blur(180px)] before:[background-image:linear-gradient(to_bottom,var(--secondary),var(--secondary),transparent_40%)] "><div class="pointer-events-none absolute inset-0 rounded-[inherit] border-transparent [mask-clip:padding-box,border-box] [mask-composite:intersect] [mask-image:linear-gradient(transparent,transparent),linear-gradient(#000,#000)] border-(length:--border-beam-width)" style="--border-beam-width:1px"><div class="absolute aspect-square bg-gradient-to-l from-[var(--color-from)] via-[var(--color-to)] to-transparent" style="width:200px;offset-path:rect(0 auto auto 0 round 200px);--color-from:var(--color-one);--color-to:var(--secondary);offset-distance:0%"></div></div><div class="w-full text-left relative z-10"><div class="w-full max-w-full min-h-[280px] sm:min-h-[360px] rounded-lg overflow-hidden shadow-lg"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen="" class="w-full h-full min-h-[280px] sm:min-h-[360px] relative z-10" frameBorder="0" src="https://www.youtube.com/embed/gxckvkNg6KM" title="BoundaryML Demo"></iframe></div></div></div></div></div><div class="mt-16 sm:mt-24 mb-8 translate-y-[-1rem] animate-fade-in opacity-0 [--animation-delay:800ms]"><div class="grid grid-cols-1 md:grid-cols-2 gap-8 max-w-4xl mx-auto px-4 sm:px-0"><div class="text-center"><p class="font-medium text-muted-foreground mb-4 sm:mb-6 tracking-wide text-sm sm:text-base">Works with every LLM provider</p><div class="flex justify-center items-center gap-3 sm:gap-6 flex-wrap"><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:900ms"><img alt="OpenAI" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/openai.com/w/512/h/512/theme/dark/symbol?c=1idQbe1D_SxVi_WjGRi"/></div><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:1000ms"><img alt="Anthropic" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/anthropic.com/w/512/h/512/theme/dark/symbol?c=1idQbe1D_SxVi_WjGRi"/></div><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:1100ms"><img alt="Google" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/google.com/w/501/h/512/symbol?c=1idQbe1D_SxVi_WjGRi"/></div><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:1200ms"><img alt="Microsoft" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/microsoft.com/w/512/h/512/symbol?c=1idQbe1D_SxVi_WjGRi"/></div><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:1300ms"><img alt="Meta" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/meta.com/w/400/h/400?c=1idQbe1D_SxVi_WjGRi"/></div></div></div><div class="text-center"><p class="font-medium text-muted-foreground mb-4 sm:mb-6 tracking-wide text-sm sm:text-base">And every language</p><div class="flex justify-center items-center gap-3 sm:gap-6 flex-wrap"><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:900ms"><img alt="Typescript" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/typescriptlang.org/w/256/h/256?c=1idQbe1D_SxVi_WjGRi"/></div><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:1000ms"><img alt="Python" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/python.org/w/467/h/512/logo?c=1idQbe1D_SxVi_WjGRi"/></div><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:1100ms"><img alt="Go" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/go.dev/w/512/h/192/logo?c=1idQbe1D_SxVi_WjGRi"/></div><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:1200ms"><img alt="Ruby" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/ruby-lang.org/w/512/h/511/logo?c=1idQbe1D_SxVi_WjGRi"/></div><div class="w-10 h-10 sm:w-12 sm:h-12 rounded-lg bg-white/5 border border-border flex items-center justify-center transition-all duration-300 hover:bg-border/50 hover:scale-110" style="animation-delay:1300ms"><img alt="Java" class="w-5 h-5 sm:w-6 sm:h-6 object-contain filter grayscale opacity-70 hover:grayscale-0 hover:opacity-100 transition-all duration-300" src="https://cdn.brandfetch.io/java.com/w/379/h/512/logo?c=1idQbe1D_SxVi_WjGRi"/></div></div></div></div></div><div class="[--color:var(--secondary)] pointer-events-none relative -z-[2] mx-auto h-[50rem] overflow-hidden [mask-image:radial-gradient(ellipse_at_center_center,#000,transparent_50%)] my-[-10rem] md:my-[-21.8rem] before:absolute before:inset-0 before:h-full before:w-full before:opacity-40 before:[background-image:radial-gradient(circle_at_bottom_center,var(--color),transparent_70%)] after:absolute after:-left-1/2 after:top-1/2 after:aspect-[1/0.7] after:w-[200%] after:rounded-[50%] after:border-t after:border-[hsl(var(--border))] after:bg-background after:z-50"><div class="absolute inset-0 flex flex-col items-center justify-center pointer-events-auto"><div class="relative z-0" style="opacity:0;transform:translateY(200px)"><div class="size-32 rounded-full flex items-center justify-center flex flex-col w-full"><img alt="BAML Lamb Logo" width="96" height="96" decoding="async" data-nimg="1" class="size-24 object-contain" style="color:transparent" srcSet="/_next/image?url=%2Flamb.png&amp;w=96&amp;q=75 1x, /_next/image?url=%2Flamb.png&amp;w=256&amp;q=75 2x" src="/_next/image?url=%2Flamb.png&amp;w=256&amp;q=75"/></div></div><div class="relative z-60 mt-8 md:mt-12" style="opacity:0;transform:translateY(100px)"><div class="text-center px-4"><div class="md:text-lg mb-1 md:mb-2 text-primary">Baaaaaaaaaaml</div><p class="text-sm md:text-lg text-primary tracking-wide"><span class="text-secondary font-bold">B</span>asically<!-- --> <span class="text-secondary font-bold">A</span> <span class="text-secondary font-bold">M</span>ade-Up<!-- --> <span class="text-secondary font-bold">L</span>anguage</p></div></div></div></div></section><section class="flex flex-col items-center justify-center gap-10 pt-20 w-full relative" id="company"><div class="flex w-full flex-col items-center justify-center gap-x-4 gap-y-8 px-12 pt-0"><div class="text-xl font-light text-muted-foreground">Trusted by developers at</div><div class="flex flex-wrap lg:flex-nowrap justify-center gap-x-3 gap-y-0 opacity-50 grayscale"><div class="relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]"><img alt="Aer Compliance" decoding="async" data-nimg="fill" class="object-contain" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(max-width: 768px) 140px, 160px" srcSet="/_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Faer_compliance_logo.png&amp;w=3840&amp;q=75"/></div><div class="relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]"><img alt="PMMI" decoding="async" data-nimg="fill" class="object-contain" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(max-width: 768px) 140px, 160px" srcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Flogos%2Fpmmi.png&amp;w=3840&amp;q=75"/></div><div class="relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]"><img alt="Product Hunt" decoding="async" data-nimg="fill" class="object-contain" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(max-width: 768px) 140px, 160px" srcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Flogos%2Fproduct-hunt.png&amp;w=3840&amp;q=75"/></div><div class="relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]"><img alt="SAP" decoding="async" data-nimg="fill" class="object-contain" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(max-width: 768px) 140px, 160px" srcSet="/_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Flogos%2FsapLogo.png&amp;w=3840&amp;q=75"/></div><div class="relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]"><img alt="AI Tinkerers" decoding="async" data-nimg="fill" class="object-contain" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(max-width: 768px) 140px, 160px" srcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Flogos%2Fai-tinkerers.png&amp;w=3840&amp;q=75"/></div><div class="relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]"><img alt="Cerebral Valley" decoding="async" data-nimg="fill" class="object-contain" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(max-width: 768px) 140px, 160px" srcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Flogos%2Fcerebral.png&amp;w=3840&amp;q=75"/></div><div class="relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]"><img alt="Vetrec" decoding="async" data-nimg="fill" class="object-contain" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="(max-width: 768px) 140px, 160px" srcSet="/_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Flogos%2Fvetrec.png&amp;w=3840&amp;q=75"/></div></div></div></section><section class="flex flex-col items-center justify-center gap-5 w-full relative" id="features"><div class="w-full h-full p-8 md:p-14"><div class="max-w-xl mx-auto flex flex-col items-center justify-center gap-2"><h2 class="text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance">Complete Development Workflow</h2><p class="text-muted-foreground text-center text-balance font-medium">Discover how BAML transforms AI development in four easy steps</p></div></div><div class="w-full"><div class="w-full"><div class="flex w-full flex-col items-center justify-center max-w-7xl mx-auto" style="opacity:0"><div class="flex flex-col gap-16 px-10 md:px-20 w-full"><div class="flex flex-col gap-8 lg:gap-12 items-center lg:flex-row" style="opacity:0;transform:scale(0.95)"><div class="flex flex-col gap-4 lg:w-1/2 lg:pr-8" style="opacity:0;transform:translateX(-50px)"><div class="flex flex-col gap-3"><h2 class="text-2xl lg:text-3xl font-bold tracking-tight" style="opacity:0;transform:translateY(20px)"><div>Define your<!-- --> <span class="line-through text-destructive/80">prompts</span> <span class="text-secondary">functions</span></div></h2><div class="text-base lg:text-lg text-muted-foreground leading-relaxed" style="opacity:0;transform:translateY(20px)"><div class="text-base lg:text-lg text-muted-foreground leading-relaxed">Yes, Cursor, Claude, already know BAML.<br/>Yes, we made a whole VSCode extension for BAML.</div></div></div></div><div class="lg:w-1/2 w-full" style="opacity:0;transform:scale(0.95)"><div class="w-full aspect-video rounded-xl border border-border overflow-hidden shadow-lg"><video autoPlay="" class="w-full h-full object-cover" loop="" muted="" playsInline="" preload="auto" src="/define-agents.mp4"></video></div></div></div><div class="flex flex-col gap-8 lg:gap-12 items-center lg:flex-row-reverse" style="opacity:0;transform:scale(0.95)"><div class="flex flex-col gap-4 lg:w-1/2 lg:pl-8" style="opacity:0;transform:translateX(50px)"><div class="flex flex-col gap-3"><h2 class="text-2xl lg:text-3xl font-bold tracking-tight" style="opacity:0;transform:translateY(20px)"><div>Test your<!-- --> <span class="line-through text-destructive/80">prompts</span> <span class="text-secondary">functions</span></div></h2><div class="text-base lg:text-lg text-muted-foreground leading-relaxed" style="opacity:0;transform:translateY(20px)">Do it in VSCode, or the editor of your choice. Or in CI/CD with baml-cli test</div></div></div><div class="lg:w-1/2 w-full" style="opacity:0;transform:scale(0.95)"><div class="w-full aspect-video rounded-xl border border-border overflow-hidden shadow-lg"><video autoPlay="" class="w-full h-full object-cover" loop="" muted="" playsInline="" preload="auto" src="/test-agent.mp4"></video></div></div></div><div class="flex flex-col gap-8 lg:gap-12 items-center lg:flex-row" style="opacity:0;transform:scale(0.95)"><div class="flex flex-col gap-4 lg:w-1/2 lg:pr-8" style="opacity:0;transform:translateX(-50px)"><div class="flex flex-col gap-3"><h2 class="text-2xl lg:text-3xl font-bold tracking-tight" style="opacity:0;transform:translateY(20px)"><div>Call your<!-- --> <span class="line-through text-destructive/80">prompts</span> <span class="text-secondary">functions</span> from any programming language you love</div></h2><div class="text-base lg:text-lg text-muted-foreground leading-relaxed" style="opacity:0;transform:translateY(20px)"><div><pre>baml-cli generate</pre> <div class="flex flex-row gap-1 items-center">converts BAML functions to native functions in<!-- --> <div class="overflow-hidden py-2"><h1 class="text-secondary" style="opacity:0;transform:translateY(-50px)">Python</h1></div></div></div></div></div></div><div class="lg:w-1/2 w-full" style="opacity:0;transform:scale(0.95)"><div class="w-full rounded-xl border border-border overflow-hidden bg-background shadow-lg"><div class="rounded-xl shadow-2xl overflow-hidden border border-gray-200 w-full"><div class="flex items-center h-8 px-3 border-b border-gray-200 bg-gray-100"><div class="flex items-center gap-2 mr-3"><span class="w-3 h-3 rounded-full bg-[#ff5f57]"></span><span class="w-3 h-3 rounded-full bg-[#ffbd2f]"></span><span class="w-3 h-3 rounded-full bg-[#28c940]"></span></div><span class="text-xs text-[#9ca3af]">main.py<!-- --> — <!-- -->Python<!-- --> — Visual Studio Code</span></div><div class="flex items-center h-9 text-sm bg-gray-100 text-[#111827] border-b border-gray-200"><button class="px-3 h-full flex items-center border-r border-gray-200 bg-white transition-colors" type="button">main.py</button><button class="px-3 h-full flex items-center border-r border-gray-200 bg-transparent hover:bg-white/10 transition-colors" type="button">main.ts</button><button class="px-3 h-full flex items-center border-r border-gray-200 bg-transparent hover:bg-white/10 transition-colors" type="button">main.rb</button><button class="px-3 h-full flex items-center border-r border-gray-200 bg-transparent hover:bg-white/10 transition-colors" type="button">main.go</button></div><div class="flex w-full bg-white text-[#111827]"><div class="flex-1 flex overflow-hidden text-sm leading-6"><div class="select-none px-3 py-2 text-right text-[#9ca3af] border-r border-gray-200 bg-gray-100 whitespace-pre"><div>1</div><div>2</div><div>3</div><div>4</div><div>5</div><div>6</div></div><div class="flex-1 overflow-auto px-4 py-2"><pre class="whitespace-pre"><code>from baml_client import b

result = b.AnalyzeCodebase(&quot;&lt;html&gt;...&lt;/html&gt;&quot;)

print(result)
</code></pre></div></div></div></div></div></div></div><div class="flex flex-col gap-8 lg:gap-12 items-center lg:flex-row-reverse" style="opacity:0;transform:scale(0.95)"><div class="flex flex-col gap-4 lg:w-1/2 lg:pl-8" style="opacity:0;transform:translateX(50px)"><div class="flex flex-col gap-3"><h2 class="text-2xl lg:text-3xl font-bold tracking-tight" style="opacity:0;transform:translateY(20px)"><div>Deploy your <span class="text-secondary">Agent</span></div></h2><div class="text-base lg:text-lg text-muted-foreground leading-relaxed" style="opacity:0;transform:translateY(20px)"><div>Do nothing special for BAML. Since BAML generates native code in your language of choice, you can use it in any way you want.</div></div></div></div><div class="lg:w-1/2 w-full" style="opacity:0;transform:scale(0.95)"><div class="w-full rounded-xl border border-border overflow-hidden bg-background shadow-lg"><div class="flex justify-center p-4"><div class="w-full max-w-sm"><div class="mb-6" style="opacity:0;transform:translateY(-10px)"><div class="flex justify-between items-center mb-2"><span class="text-sm font-medium text-gray-700 dark:text-gray-300">Multi-Cloud Deployment</span><span class="text-sm text-gray-500 dark:text-gray-400">0<!-- -->%</span></div><div class="w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden"><div class="h-full bg-gradient-to-r from-blue-500 via-purple-500 to-green-500 rounded-full" style="width:0px"></div></div></div><div class="grid grid-cols-2 md:grid-cols-3 gap-4 mb-6"><div class="relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700" style="opacity:0;transform:scale(0.9)"><div class="relative z-10"><div class="flex items-center justify-between mb-3"><div class="flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"><div class="size-4 rounded-full border-2 border-gray-300"></div></div></div><div class="flex items-center space-x-2 mb-2"><div class="p-1 rounded bg-gray-100 dark:bg-gray-800"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server size-4" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg></div><span class="text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400">AWS Lambda</span></div></div></div><div class="relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700" style="opacity:0;transform:scale(0.9)"><div class="relative z-10"><div class="flex items-center justify-between mb-3"><div class="flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"><div class="size-4 rounded-full border-2 border-gray-300"></div></div></div><div class="flex items-center space-x-2 mb-2"><div class="p-1 rounded bg-gray-100 dark:bg-gray-800"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket size-4" aria-hidden="true"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg></div><span class="text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400">Vercel</span></div></div></div><div class="relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700" style="opacity:0;transform:scale(0.9)"><div class="relative z-10"><div class="flex items-center justify-between mb-3"><div class="flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"><div class="size-4 rounded-full border-2 border-gray-300"></div></div></div><div class="flex items-center space-x-2 mb-2"><div class="p-1 rounded bg-gray-100 dark:bg-gray-800"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cloud size-4" aria-hidden="true"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"></path></svg></div><span class="text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400">Google Cloud</span></div></div></div><div class="relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700" style="opacity:0;transform:scale(0.9)"><div class="relative z-10"><div class="flex items-center justify-between mb-3"><div class="flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"><div class="size-4 rounded-full border-2 border-gray-300"></div></div></div><div class="flex items-center space-x-2 mb-2"><div class="p-1 rounded bg-gray-100 dark:bg-gray-800"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database size-4" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg></div><span class="text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400">Azure Functions</span></div></div></div><div class="relative p-4 rounded-lg border transition-all duration-500 bg-gray-50 border-gray-200 dark:bg-gray-900 dark:border-gray-700" style="opacity:0;transform:scale(0.9)"><div class="relative z-10"><div class="flex items-center justify-between mb-3"><div class="flex items-center justify-center w-8 h-8 rounded-full border transition-colors duration-500 bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600"><div class="size-4 rounded-full border-2 border-gray-300"></div></div></div><div class="flex items-center space-x-2 mb-2"><div class="p-1 rounded bg-gray-100 dark:bg-gray-800"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield size-4" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></div><span class="text-sm font-medium transition-colors duration-300 text-gray-600 dark:text-gray-400">Railway</span></div></div></div></div></div></div></div></div></div></div></div></div></div></section><section class="flex flex-col items-center justify-center w-full relative px-2 md:px-10" id="bento"><div class="mx-2 md:mx-10 relative"><div class="w-full h-full p-8 md:p-14"><div class="max-w-xl mx-auto flex flex-col items-center justify-center gap-2"><h2 class="text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance pb-1">Empower Your AI Development</h2><p class="text-muted-foreground text-center text-balance font-medium">Build AI applications with type safety, generate TypeScript types, and validate your schemas.</p></div></div><div class="grid grid-cols-1 md:grid-cols-2 overflow-hidden"><div class="flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[&#x27;&#x27;] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[&#x27;&#x27;] group"><div class="relative flex size-full items-center justify-center h-full"><div class="jsx-1c4d191002af0141 w-full flex flex-col items-center justify-center gap-6 relative"><div class="w-full max-w-md" style="opacity:0;transform:translateY(30px)"><div class="not-prose flex w-full flex-col overflow-clip border border-border bg-card text-card-foreground rounded-xl mb-2 shadow-lg mt-2"><div class="flex items-center border-b border-border bg-accent text-sm text-foreground"><div class="flex items-center p-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file mr-2 size-4" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg>resume.baml</div></div><pre class="jsx-1c4d191002af0141 text-[14px] font-mono text-primary leading-relaxed p-4"><code class="jsx-1c4d191002af0141">class Resume {
  name string
  title string
}

function ExtractResume(resume: string) -&gt; Resume</code></pre></div></div><div class="w-full max-w-md" style="opacity:0;transform:translateY(30px)"><div class="not-prose flex w-full flex-col overflow-clip border border-border bg-card text-card-foreground rounded-xl mb-2 relative shadow-lg"><div class="flex items-center border-b border-border bg-accent text-sm text-foreground"><div class="flex items-center w-full"><button class="flex items-center px-3 py-2 hover:bg-accent-foreground/5 transition-colors border-r border-border bg-background" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file mr-2 size-4" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg>main.py</button><button class="flex items-center px-3 py-2 hover:bg-accent-foreground/5 transition-colors border-r border-border" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file mr-2 size-4" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg>main.ts</button><button class="flex items-center px-3 py-2 hover:bg-accent-foreground/5 transition-colors border-r border-border" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file mr-2 size-4" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg>main.rb</button><button class="flex items-center px-3 py-2 hover:bg-accent-foreground/5 transition-colors border-r border-border" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file mr-2 size-4" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg>main.go</button></div></div><div class="w-full"><pre class="text-[14px] font-mono text-primary leading-relaxed p-4"><code><div>resume = b.ExtractResume(resume)</div><div>print(resume<span class="error-underline">.education</span>)</div></code></pre></div></div><div class="flex items-center gap-2 mt-2 ml-2 mb-6 text-xs text-destructive font-mono" style="opacity:0;transform:translateY(10px)"><svg aria-label="Error icon" fill="none" height="16" viewBox="0 0 24 24" width="16"><title>Error icon</title><circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="2"></circle><path d="M12 8v4m0 4h.01" stroke="currentColor" stroke-linecap="round" stroke-width="2"></path></svg>Property &#x27;education&#x27; does not exist on type &#x27;Resume&#x27;.</div></div></div></div><div class="flex-1 flex-col gap-2 p-6"><h3 class="text-lg tracking-tighter font-semibold">Type-Safe AI Interfaces</h3><p class="text-muted-foreground">Define AI interfaces with confidence. Write BAML schemas that generate TypeScript types automatically.</p></div></div><div class="flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[&#x27;&#x27;] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[&#x27;&#x27;] group"><div class="relative flex size-full items-center justify-center h-full"><div class="w-full h-full p-4 flex flex-col items-center justify-center gap-5"><div class="pointer-events-none absolute bottom-0 left-0 h-20 w-full bg-gradient-to-t from-background to-transparent z-20"></div><div class="max-w-md mx-auto w-full flex flex-col gap-2"><div class="flex items-end justify-end gap-3"><div class="max-w-[280px] bg-secondary text-white p-4 rounded-2xl ml-auto shadow-[0_0_10px_rgba(0,0,0,0.05)]" style="opacity:0;transform:translateX(20px)"><p class="text-sm">Extract the person&#x27;s name and job title from this resume text...</p></div><div class="flex items-center bg-background rounded-full w-fit border border-border flex-shrink-0"><img alt="User Avatar" class="size-8 rounded-full flex-shrink-0" src="https://randomuser.me/api/portraits/men/32.jpg"/></div></div><div class="flex items-start gap-2"><div class="flex items-center bg-background rounded-full size-10 flex-shrink-0 justify-center shadow-[0_0_10px_rgba(0,0,0,0.05)] border border-border"><img alt="Baml" loading="lazy" width="42" height="24" decoding="async" data-nimg="1" class="size-4" style="color:transparent" srcSet="/_next/image?url=%2Flamb.png&amp;w=48&amp;q=75 1x, /_next/image?url=%2Flamb.png&amp;w=96&amp;q=75 2x" src="/_next/image?url=%2Flamb.png&amp;w=96&amp;q=75"/></div><div class="relative"><div class="absolute left-0 top-0 bg-background p-4 rounded-2xl border border-border" style="opacity:0;transform:translateX(-20px)"><div class="flex gap-1"><div class="w-2 h-2 bg-primary/50 rounded-full"></div><div class="w-2 h-2 bg-primary/50 rounded-full"></div><div class="w-2 h-2 bg-primary/50 rounded-full"></div></div></div></div></div></div></div></div><div class="flex-1 flex-col gap-2 p-6"><h3 class="text-lg tracking-tighter font-semibold">Structured Outputs</h3><p class="text-muted-foreground">Get type-safe, validated responses from any LLM. Support for JSON, XML, YAML, and more output formats.</p></div></div><div class="flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[&#x27;&#x27;] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[&#x27;&#x27;] group"><div class="relative flex size-full items-center justify-center h-full"><div class="w-full max-w-full h-full font-mono p-4"><div class="relative z-0 h-full max-h-[400px] max-w-lg rounded-xl border border-border bg-background w-full min-h-[250px] font-mono shadow-lg"><div class="terminal-header relative z-10 flex flex-col gap-y-2 border-b border-border px-4 py-2"><div class="flex flex-row gap-x-2 items-center"><div class="h-2 w-2 rounded-full bg-red-500"></div><div class="h-2 w-2 rounded-full bg-yellow-500"></div><div class="h-2 w-2 rounded-full bg-green-500"></div></div></div><pre class="terminal-content relative z-0 py-4 px-6 md:px-4 md:py-4"><code class="grid gap-y-1 overflow-auto"><span class="text-sm font-normal tracking-tight"></span><div class="grid text-sm font-normal tracking-tight" style="opacity:0;transform:translateY(-5px)"><span class="text-muted-foreground font-mono">✅ Testing ResumeParser...</span></div><div class="grid text-sm font-normal tracking-tight" style="opacity:0;transform:translateY(-5px)"><span class="text-muted-foreground font-mono">✅ Testing SentimentAnalyzer...</span></div><div class="grid text-sm font-normal tracking-tight" style="opacity:0;transform:translateY(-5px)"><span class="text-muted-foreground font-mono">✅ Testing CodeReviewer...</span></div><div class="grid text-sm font-normal tracking-tight" style="opacity:0;transform:translateY(-5px)"><span class="text-muted-foreground font-mono">✅ All Agents tested successfully</span></div></code></pre></div></div></div><div class="flex-1 flex-col gap-2 p-6"><h3 class="text-lg tracking-tighter font-semibold">Test Your Agents in CI/CD</h3><p class="text-muted-foreground">Test your agents in CI/CD pipelines to ensure they are working as expected.</p></div></div><div class="flex flex-col items-start justify-end min-h-[600px] md:min-h-[500px] p-0.5 relative before:absolute before:-left-0.5 before:top-0 before:z-10 before:h-screen before:w-px before:bg-border before:content-[&#x27;&#x27;] after:absolute after:-top-0.5 after:left-0 after:z-10 after:h-px after:w-screen after:bg-border after:content-[&#x27;&#x27;] group"><div class="relative flex size-full items-center justify-center h-full"><div class="w-full h-full flex flex-col relative"><div class="absolute inset-0 flex -z-10 [mask:linear-gradient(180deg,transparent,black_40%,black_40%,transparent)] "><div class=" w-1/2 h-full flex items-start justify-between"><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div></div><div class="w-1/2 h-full border-x border-border/70 border-dashed flex items-start justify-between"><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div></div><div class=" w-1/2 h-full flex items-start justify-between"><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div></div><div class="w-1/2 h-full border-x border-border/70 border-dashed flex items-start justify-between"><div class="w-px h-5 bg-primary first:bg-transparent "></div><div class="w-px h-5 bg-primary first:bg-transparent "></div><div class="w-px h-5 bg-primary first:bg-transparent "></div><div class="w-px h-5 bg-primary first:bg-transparent "></div><div class="w-px h-5 bg-primary first:bg-transparent "></div></div><div class=" w-1/2 h-full flex items-start justify-between"><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div></div><div class="w-1/2 h-full border-x border-border/70 border-dashed flex items-start justify-between"><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div></div><div class=" w-1/2 h-full flex items-start justify-between"><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div></div><div class="w-1/2 h-full border-x border-border/70 border-dashed flex items-start justify-between"><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div><div class="w-px h-5 bg-primary first:bg-transparent"></div></div></div><div class="absolute top-4 left-0 right-0 flex justify-between max-w-md mx-auto px-8 text-sm text-gray-500"><span>10:00</span><span>10:01</span><span>10:02</span><span>10:03</span><span>10:04</span></div><div class="absolute top-10 w-[2px] h-[calc(100%-80px)] bg-gradient-to-b from-black dark:from-accent to-transparent z-10" style="opacity:0;transform:translateX(-50%)"></div><div class="absolute top-14 bg-black dark:bg-accent h-6 z-20 flex items-center justify-center text-xs p-2 rounded-md shadow-[0px_2.2px_6.6px_0px_rgba(18,43,105,0.04),0px_1.1px_2.2px_0px_rgba(18,43,105,0.08),0px_0px_0px_1.1px_rgba(18,43,105,0.08),0px_1.1px_0px_0px_rgba(255,255,255,0.20)_inset,0px_4.4px_6.6px_0px_rgba(255,255,255,0.01)_inset]" style="opacity:0;transform:translateX(-50%)"><span class="text-white">10:00 AM</span></div><div class="w-full absolute grid gap-10 top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/3"></div></div></div><div class="flex-1 flex-col gap-2 p-6"><h3 class="text-lg tracking-tighter font-semibold">Automatic Retry and Fallback</h3><p class="text-muted-foreground">Automatically retry failed requests and provide fallback responses when errors occur.</p></div></div></div></div></section><section class="flex flex-col items-center justify-center w-full" id="testimonials"><div class="w-full h-full p-8 md:p-14"><div class="max-w-xl mx-auto flex flex-col items-center justify-center gap-2"><h2 class="text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance">People love BAML</h2><p class="text-muted-foreground text-center text-balance font-medium">And so do agents</p></div></div><div class="h-full"><div class="px-10"><div class="relative max-h-[750px] overflow-hidden"><div class="gap-0 md:columns-2 xl:columns-3"><div class="group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:10s]"><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="1"><div class="select-none leading-relaxed font-normal text-primary/60"><p>BAML is amazing. I&#x27;ve used it in Python and Typescript.<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">It&#x27;s a game changer.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Adam Gitzes" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Adam Gitzes</p><p class="text-xs font-normal text-muted-foreground">Amazon</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="2"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Just set up baml for my project, 10/10 experience and<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">much faster than langchain</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Jason Fan" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Jason Fan</p><p class="text-xs font-normal text-muted-foreground">Finic.ai</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="3"><div class="select-none leading-relaxed font-normal text-primary/60"><p>It&#x27;s amazing!! Was able to<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">cut down my tokens and time-to-first-token significantly without compromising results</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Ray del Vecchio" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Ray del Vecchio</p><p class="text-xs font-normal text-muted-foreground">Cerebral Valley</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="1"><div class="select-none leading-relaxed font-normal text-primary/60"><p>BAML is amazing. I&#x27;ve used it in Python and Typescript.<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">It&#x27;s a game changer.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Adam Gitzes" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Adam Gitzes</p><p class="text-xs font-normal text-muted-foreground">Amazon</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="2"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Just set up baml for my project, 10/10 experience and<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">much faster than langchain</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Jason Fan" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Jason Fan</p><p class="text-xs font-normal text-muted-foreground">Finic.ai</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="3"><div class="select-none leading-relaxed font-normal text-primary/60"><p>It&#x27;s amazing!! Was able to<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">cut down my tokens and time-to-first-token significantly without compromising results</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Ray del Vecchio" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Ray del Vecchio</p><p class="text-xs font-normal text-muted-foreground">Cerebral Valley</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="1"><div class="select-none leading-relaxed font-normal text-primary/60"><p>BAML is amazing. I&#x27;ve used it in Python and Typescript.<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">It&#x27;s a game changer.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Adam Gitzes" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Adam Gitzes</p><p class="text-xs font-normal text-muted-foreground">Amazon</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="2"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Just set up baml for my project, 10/10 experience and<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">much faster than langchain</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Jason Fan" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Jason Fan</p><p class="text-xs font-normal text-muted-foreground">Finic.ai</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="3"><div class="select-none leading-relaxed font-normal text-primary/60"><p>It&#x27;s amazing!! Was able to<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">cut down my tokens and time-to-first-token significantly without compromising results</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Ray del Vecchio" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Ray del Vecchio</p><p class="text-xs font-normal text-muted-foreground">Cerebral Valley</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="1"><div class="select-none leading-relaxed font-normal text-primary/60"><p>BAML is amazing. I&#x27;ve used it in Python and Typescript.<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">It&#x27;s a game changer.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Adam Gitzes" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fuser1.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Adam Gitzes</p><p class="text-xs font-normal text-muted-foreground">Amazon</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="2"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Just set up baml for my project, 10/10 experience and<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">much faster than langchain</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Jason Fan" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjason.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Jason Fan</p><p class="text-xs font-normal text-muted-foreground">Finic.ai</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="3"><div class="select-none leading-relaxed font-normal text-primary/60"><p>It&#x27;s amazing!! Was able to<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">cut down my tokens and time-to-first-token significantly without compromising results</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Ray del Vecchio" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fray.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Ray del Vecchio</p><p class="text-xs font-normal text-muted-foreground">Cerebral Valley</p></div></div></div></div></div><div class="group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:8s]"><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="4"><div class="select-none leading-relaxed font-normal text-primary/60"><p>BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">it just works!!!</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Hankel Bao" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Hankel Bao</p><p class="text-xs font-normal text-muted-foreground">Coldreach.ai</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="5"><div class="select-none leading-relaxed font-normal text-primary/60"><p>The test case and playground is quite literally the BEST feature. It has<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">improved the iteration speed and quality by an order of magnitude</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Joseph Tutera" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Joseph Tutera</p><p class="text-xs font-normal text-muted-foreground">Docucare AI</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="6"><div class="select-none leading-relaxed font-normal text-primary/60"><p>I really really like what Baml offers [...] I think it&#x27;s a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.<br/>I also think<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">the dedicated testing playground is awesome.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Gabe" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Gabe</p><p class="text-xs font-normal text-muted-foreground">Zenfetch</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="4"><div class="select-none leading-relaxed font-normal text-primary/60"><p>BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">it just works!!!</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Hankel Bao" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Hankel Bao</p><p class="text-xs font-normal text-muted-foreground">Coldreach.ai</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="5"><div class="select-none leading-relaxed font-normal text-primary/60"><p>The test case and playground is quite literally the BEST feature. It has<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">improved the iteration speed and quality by an order of magnitude</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Joseph Tutera" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Joseph Tutera</p><p class="text-xs font-normal text-muted-foreground">Docucare AI</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="6"><div class="select-none leading-relaxed font-normal text-primary/60"><p>I really really like what Baml offers [...] I think it&#x27;s a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.<br/>I also think<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">the dedicated testing playground is awesome.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Gabe" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Gabe</p><p class="text-xs font-normal text-muted-foreground">Zenfetch</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="4"><div class="select-none leading-relaxed font-normal text-primary/60"><p>BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">it just works!!!</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Hankel Bao" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Hankel Bao</p><p class="text-xs font-normal text-muted-foreground">Coldreach.ai</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="5"><div class="select-none leading-relaxed font-normal text-primary/60"><p>The test case and playground is quite literally the BEST feature. It has<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">improved the iteration speed and quality by an order of magnitude</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Joseph Tutera" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Joseph Tutera</p><p class="text-xs font-normal text-muted-foreground">Docucare AI</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="6"><div class="select-none leading-relaxed font-normal text-primary/60"><p>I really really like what Baml offers [...] I think it&#x27;s a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.<br/>I also think<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">the dedicated testing playground is awesome.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Gabe" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Gabe</p><p class="text-xs font-normal text-muted-foreground">Zenfetch</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="4"><div class="select-none leading-relaxed font-normal text-primary/60"><p>BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">it just works!!!</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Hankel Bao" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fhankel.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Hankel Bao</p><p class="text-xs font-normal text-muted-foreground">Coldreach.ai</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="5"><div class="select-none leading-relaxed font-normal text-primary/60"><p>The test case and playground is quite literally the BEST feature. It has<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">improved the iteration speed and quality by an order of magnitude</span>.</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Joseph Tutera" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fjoseph.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Joseph Tutera</p><p class="text-xs font-normal text-muted-foreground">Docucare AI</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="6"><div class="select-none leading-relaxed font-normal text-primary/60"><p>I really really like what Baml offers [...] I think it&#x27;s a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.<br/>I also think<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">the dedicated testing playground is awesome.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Gabe" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fgabe.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Gabe</p><p class="text-xs font-normal text-muted-foreground">Zenfetch</p></div></div></div></div></div><div class="group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:12s]"><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="7"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">Clean, elegant, beautiful.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Paulo Rossi" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Paulo Rossi</p><p class="text-xs font-normal text-muted-foreground">Magnaplay</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="8"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Just got the categorizer to work first try.<br/>Felt like landing a kickflip</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Eitan Borgnia" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Eitan Borgnia</p><p class="text-xs font-normal text-muted-foreground">Squack</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="7"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">Clean, elegant, beautiful.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Paulo Rossi" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Paulo Rossi</p><p class="text-xs font-normal text-muted-foreground">Magnaplay</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="8"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Just got the categorizer to work first try.<br/>Felt like landing a kickflip</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Eitan Borgnia" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Eitan Borgnia</p><p class="text-xs font-normal text-muted-foreground">Squack</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="7"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">Clean, elegant, beautiful.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Paulo Rossi" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Paulo Rossi</p><p class="text-xs font-normal text-muted-foreground">Magnaplay</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="8"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Just got the categorizer to work first try.<br/>Felt like landing a kickflip</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Eitan Borgnia" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Eitan Borgnia</p><p class="text-xs font-normal text-muted-foreground">Squack</p></div></div></div></div><div class="flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col"><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="7"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.<!-- --> <span class="p-1 py-0.5 font-medium dark:font-semibold text-secondary">Clean, elegant, beautiful.</span></p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Paulo Rossi" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Fpaulo.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Paulo Rossi</p><p class="text-xs font-normal text-muted-foreground">Magnaplay</p></div></div></div><div class="flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]" id="8"><div class="select-none leading-relaxed font-normal text-primary/60"><p>Just got the categorizer to work first try.<br/>Felt like landing a kickflip</p></div><div class="flex w-full select-none items-center justify-start gap-3.5"><img alt="Eitan Borgnia" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="size-8 rounded-full" style="color:transparent" sizes="32px" srcSet="/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=16&amp;q=75 16w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=32&amp;q=75 32w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=48&amp;q=75 48w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=64&amp;q=75 64w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=96&amp;q=75 96w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=128&amp;q=75 128w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=256&amp;q=75 256w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=384&amp;q=75 384w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Ftestimonials%2Fpeople%2Feitan.png&amp;w=3840&amp;q=75"/><div><p class="font-medium text-primary/90">Eitan Borgnia</p><p class="text-xs font-normal text-muted-foreground">Squack</p></div></div></div></div></div></div><div class="pointer-events-none absolute inset-x-0 bottom-0 h-1/6 md:h-1/5 w-full bg-gradient-to-t from-background from-20%"></div><div class="pointer-events-none absolute inset-x-0 top-0 h-1/6 md:h-1/5 w-full bg-gradient-to-b from-background from-20%"></div></div></div></div><div class="mt-8 flex justify-center"><a href="https://github.com/BoundaryML/site/issues/new?template=testimonial.yml" rel="noopener noreferrer" target="_blank" class="inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-10 rounded-md px-6 has-[&gt;svg]:px-4 border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground gap-2" data-slot="button"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github h-4 w-4" aria-hidden="true"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg>Share your story</a></div></section><section class="flex flex-col items-center justify-center w-full" id="cta"><div class="w-full"><div class="h-[400px] md:h-[400px] overflow-hidden shadow-xl w-full border border-border rounded-xl bg-secondary relative z-20"><img alt="Agent CTA Background" decoding="async" data-nimg="fill" class="absolute inset-0 w-full h-full object-cover object-right md:object-center" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/image?url=%2Fagent-cta-background.png&amp;w=640&amp;q=75 640w, /_next/image?url=%2Fagent-cta-background.png&amp;w=750&amp;q=75 750w, /_next/image?url=%2Fagent-cta-background.png&amp;w=828&amp;q=75 828w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1080&amp;q=75 1080w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1200&amp;q=75 1200w, /_next/image?url=%2Fagent-cta-background.png&amp;w=1920&amp;q=75 1920w, /_next/image?url=%2Fagent-cta-background.png&amp;w=2048&amp;q=75 2048w, /_next/image?url=%2Fagent-cta-background.png&amp;w=3840&amp;q=75 3840w" src="/_next/image?url=%2Fagent-cta-background.png&amp;w=3840&amp;q=75"/><div class="absolute inset-0 -top-32 md:-top-40 flex flex-col items-center justify-center"><h1 class="text-white text-4xl md:text-7xl font-medium tracking-tighter max-w-xs md:max-w-xl text-center">Build AI Applications with Confidence</h1><div class="absolute bottom-10 flex flex-col items-center justify-center gap-2"><a class="bg-white text-black font-semibold text-sm h-10 w-fit px-4 rounded-full flex items-center justify-center shadow-md" href="https://calendly.com/boundaryml/meeting-with-founders?back=1&amp;month=2023-12&amp;utm_source=marketing-site&amp;utm_medium=cta-button">Book a meeting with us</a><span class="text-white text-sm">Start building type-safe AI applications in minutes</span></div></div></div></div></section><footer class="w-full pb-0" id="footer"><div class="grid grid-cols-1 md:grid-cols-[minmax(0,320px)_1fr] gap-y-10 md:gap-x-16 p-10 items-start"><div class="flex flex-col items-start gap-y-5 max-w-xs mx-0"><a class="flex items-center gap-2" href="/"><p class="text-xl font-semibold text-primary">Boundary</p></a><p class="tracking-tight text-muted-foreground font-medium">Open source toolkit for AI development. Build type-safe AI applications with your team - all with confidence and reliability.</p><div class="flex items-center gap-2 dark:hidden"></div><div class="dark:flex items-center gap-2 hidden"></div></div><div class="w-full"><div class="grid grid-cols-2 xl:grid-cols-4 gap-y-6 gap-x-8"><ul class="flex flex-col gap-y-2"><li class="mb-2 text-sm font-semibold text-primary">Company</li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="/who-are-we">About Us</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="https://gloochat.notion.site/benefits-of-baml">Why BAML?</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="/privacy-policy">Privacy Policy</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="/tos">Terms of Service</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li></ul><ul class="flex flex-col gap-y-2"><li class="mb-2 text-sm font-semibold text-primary">Resources</li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="https://docs.boundaryml.com/changelog/changelog">Changelog</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="https://docs.boundaryml.com">Docs</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="/jobs">Jobs</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li></ul><ul class="flex flex-col gap-y-2"><li class="mb-2 text-sm font-semibold text-primary">Social</li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="https://github.com/boundaryml">GitHub</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="https://twitter.com/boundaryml">Twitter</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="https://boundaryml.com/discord">Discord</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="https://linkedin.com/company/boundaryml">LinkedIn</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li><li class="group inline-flex cursor-pointer items-center justify-start gap-1 text-[15px]/snug text-muted-foreground"><a href="https://youtube.com/@boundaryml">YouTube</a><div class="flex size-4 items-center justify-center border border-border rounded translate-x-0 transform opacity-0 transition-all duration-300 ease-out group-hover:translate-x-1 group-hover:opacity-100"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="size-4"><path d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></div></li></ul></div></div></div><div class="w-full h-48 md:h-64 relative z-0"><div class="absolute inset-0 bg-gradient-to-t from-transparent to-background z-10 from-40%"></div><div class="absolute inset-0 mx-6"><div class="h-full w-full"><canvas class="pointer-events-none" style="height:0;width:0"></canvas></div></div></div></footer></main></div><!--$--><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><script>$RB=[];$RV=function(b){$RT=performance.now();for(var a=0;a<b.length;a+=2){var c=b[a],e=b[a+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&g._reactRetry()}}b.length=0};
$RC=function(b,a){if(a=document.getElementById(a))(b=document.getElementById(b))?(b.previousSibling.data="$~",$RB.push(b,a),2===$RB.length&&(b="number"!==typeof $RT?0:$RT,a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:b+300-a))):a.parentNode.removeChild(a)};$RC("B:0","S:0")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"$Sreact.suspense\"\n3:I[35272,[\"3470\",\"static/chunks/3470-e5756a9f299017f6.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"7177\",\"static/chunks/app/layout-619eeaec3ccb6442.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"AnalyticsProvider\"]\n4:I[36079,[\"3470\",\"static/chunks/3470-e5756a9f299017f6.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"7177\",\"static/chunks/app/layout-619eeaec3ccb6442.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"ThemeProvider\"]\n5:I[60009,[],\"\"]\n6:I[71597,[],\"\"]\n8:I[64271,[],\"OutletBoundary\"]\na:I[70853,[],\"AsyncMetadataOutlet\"]\nc:I[64271,[],\"ViewportBoundary\"]\ne:I[64271,[],\"MetadataBoundary\"]\n10:I[88763,[],\"\"]\n:HL[\"/_next/static/media/028c0d39d2e8f589-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/5b01f339abf2f1a5.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/e5ae0da699f83dc7.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"style\"]\n:HL[\"/_next/static/css/a2f7a122f90eae85.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"7F7GqcI15tmbQ71cBpxd9\",\"p\":\"\",\"c\":[\"\",\"index\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e5ae0da699f83dc7.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a2f7a122f90eae85.css?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"bg-background text-foreground relative min-h-screen font-sans antialiased __variable_fb8f2c __variable_f910ec\",\"children\":[\"$\",\"$2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"attribute\":\"class\",\"defaultTheme\":\"light\",\"enableSystem\":false,\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$L7\",null,[\"$\",\"$L8\",null,{\"children\":[\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$2\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"white\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"black\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"11:I[97501,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"b:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"BAML\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"BAML is a tool for developers to build AI applications with type safety and reliability\"}],[\"$\",\"link\",\"2\",{\"rel\":\"canonical\",\"href\":\"https://boundaryml.com\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"BAML\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"BAML is a tool for developers to build AI applications with type safety and reliability\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:url\",\"content\":\"https://boundaryml.com\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:site_name\",\"content\":\"BAML\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://boundaryml.com/opengraph-image?6211fa5edcebd025\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:site\",\"content\":\"@boundaryml\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:creator\",\"content\":\"@boundaryml\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:title\",\"content\":\"Boundary | The best way to get structured data with LLMs\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:description\",\"content\":\"Boundary makes it easy to build, test, and develop LLM applications.\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://boundaryml.com/twitter-image?6211fa5edcebd025\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/favico.ico\"}],[\"$\",\"$L11\",\"23\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$b:metadata\"\n"])</script><script>self.__next_f.push([1,"12:I[54207,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"Navbar\",1]\n13:I[8649,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"default\"]\n14:I[21773,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"Image\"]\n15:I[33647,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=d"])</script><script>self.__next_f.push([1,"pl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"Feature\"]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"div\",null,{\"className\":\"max-w-7xl mx-auto border-x relative\",\"children\":[[\"$\",\"$L12\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex flex-col items-center justify-center min-h-screen w-full gap-12 sm:gap-20\",\"children\":[[\"$\",\"$L13\",null,{\"nextEvent\":null}],[\"$\",\"section\",null,{\"className\":\"flex flex-col items-center justify-center gap-10 pt-20 w-full relative\",\"id\":\"company\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex w-full flex-col items-center justify-center gap-x-4 gap-y-8 px-12 pt-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-xl font-light text-muted-foreground\",\"children\":\"Trusted by developers at\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap lg:flex-nowrap justify-center gap-x-3 gap-y-0 opacity-50 grayscale\",\"children\":[[\"$\",\"div\",\"Aer Compliance\",{\"className\":\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\",\"children\":[\"$\",\"$L14\",null,{\"alt\":\"Aer Compliance\",\"className\":\"object-contain\",\"fill\":true,\"priority\":true,\"sizes\":\"(max-width: 768px) 140px, 160px\",\"src\":\"/testimonials/aer_compliance_logo.png\"}]}],[\"$\",\"div\",\"PMMI\",{\"className\":\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\",\"children\":[\"$\",\"$L14\",null,{\"alt\":\"PMMI\",\"className\":\"object-contain\",\"fill\":true,\"priority\":true,\"sizes\":\"(max-width: 768px) 140px, 160px\",\"src\":\"/testimonials/logos/pmmi.png\"}]}],[\"$\",\"div\",\"Product Hunt\",{\"className\":\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\",\"children\":[\"$\",\"$L14\",null,{\"alt\":\"Product Hunt\",\"className\":\"object-contain\",\"fill\":true,\"priority\":true,\"sizes\":\"(max-width: 768px) 140px, 160px\",\"src\":\"/testimonials/logos/product-hunt.png\"}]}],[\"$\",\"div\",\"SAP\",{\"className\":\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\",\"children\":[\"$\",\"$L14\",null,{\"alt\":\"SAP\",\"className\":\"object-contain\",\"fill\":true,\"priority\":true,\"sizes\":\"(max-width: 768px) 140px, 160px\",\"src\":\"/testimonials/logos/sapLogo.png\"}]}],[\"$\",\"div\",\"AI Tinkerers\",{\"className\":\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\",\"children\":[\"$\",\"$L14\",null,{\"alt\":\"AI Tinkerers\",\"className\":\"object-contain\",\"fill\":true,\"priority\":true,\"sizes\":\"(max-width: 768px) 140px, 160px\",\"src\":\"/testimonials/logos/ai-tinkerers.png\"}]}],[\"$\",\"div\",\"Cerebral Valley\",{\"className\":\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\",\"children\":[\"$\",\"$L14\",null,{\"alt\":\"Cerebral Valley\",\"className\":\"object-contain\",\"fill\":true,\"priority\":true,\"sizes\":\"(max-width: 768px) 140px, 160px\",\"src\":\"/testimonials/logos/cerebral.png\"}]}],[\"$\",\"div\",\"Vetrec\",{\"className\":\"relative h-[60px] w-[140px] md:h-[80px] md:w-[160px]\",\"children\":[\"$\",\"$L14\",null,{\"alt\":\"Vetrec\",\"className\":\"object-contain\",\"fill\":true,\"priority\":true,\"sizes\":\"(max-width: 768px) 140px, 160px\",\"src\":\"/testimonials/logos/vetrec.png\"}]}]]}]]}]}],[\"$\",\"section\",null,{\"className\":\"flex flex-col items-center justify-center gap-5 w-full relative\",\"id\":\"features\",\"children\":[[\"$\",\"div\",null,{\"className\":\"w-full h-full p-8 md:p-14\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-xl mx-auto flex flex-col items-center justify-center gap-2\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance\",\"children\":\"Complete Development Workflow\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-center text-balance font-medium\",\"children\":\"Discover how BAML transforms AI development in four easy steps\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"w-full\",\"children\":[\"$\",\"$L15\",null,{\"featureItems\":[{\"content\":[\"$\",\"div\",null,{\"className\":\"text-base lg:text-lg text-muted-foreground leading-relaxed\",\"children\":[\"Yes, Cursor, Claude, already know BAML.\",[\"$\",\"br\",null,{}],\"Yes, we made a whole VSCode extension for BAML.\"]}],\"id\":1,\"title\":[\"$\",\"div\",null,{\"children\":[\"Define your\",\" \",[\"$\",\"span\",null,{\"className\":\"line-through text-destructive/80\",\"children\":\"prompts\"}],\" \",[\"$\",\"span\",null,{\"className\":\"text-secondary\",\"children\":\"functions\"}]]}],\"video\":\"/define-agents.mp4\"},{\"content\":\"Do it in VSCode, or the editor of your choice. Or in CI/CD with baml-cli test\",\"id\":2,\"title\":[\"$\",\"div\",null,{\"children\":[\"Test your\",\" \",[\"$\",\"span\",null,{\"className\":\"line-through text-destructive/80\",\"children\":\"prompts\"}],\" \",[\"$\",\"span\",null,{\"className\":\"text-secondary\",\"children\":\"functions\"}]]}],\"video\":\"/test-agent.mp4\"},{\"component\":\"$L16\",\"content\":\"$L17\",\"id\":3,\"title\":\"$L18\"},{\"component\":\"$L19\",\"content\":\"$L1a\",\"id\":4,\"title\":\"$L1b\"}]}]}]]}],\"$L1c\",\"$L1d\",\"$L1e\",\"$L1f\"]}]]}]\n"])</script><script>self.__next_f.push([1,"20:I[490,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"VSCodeMock\",1]\n21:I[33688,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"SyntaxTypingAnimation\",1]\n22:I[22346,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"WordRotate\"]\n23:I[54142,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1"])</script><script>self.__next_f.push([1,"115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"DeploymentStatus\"]\n24:I[92369,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"BentoSection\",1]\n2f:I[97132,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"\"]\n30:I[98417,[\"4056\",\"static/chunks/fa5fb511-efbb1624ce722d40.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"9258\",\"static/chunks/259952ef-7a228fa30e6dd82b.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3038\",\"static/chunks/3038-f4a49f17e0aae3de.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"1842\",\"static/chunks/1842-b9e7aa46339e7555.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"3839\",\"static/chunks/3839-1115d4668e009856.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\",\"8974\",\"static/chunks/app/page-46dd7612520b8adb.js?dpl=dpl_FhpUYvAWEpdx8KuYYVKhA7gLaZwC\"],\"FooterSection\",1]\n"])</script><script>self.__next_f.push([1,"16:[\"$\",\"$L20\",null,{\"className\":\"w-full\",\"dark\":false,\"files\":[{\"code\":\"from baml_client import b\\n\\nresult = b.AnalyzeCodebase(\\\"\u003chtml\u003e...\u003c/html\u003e\\\")\\n\\nprint(result)\\n\",\"filename\":\"main.py\",\"language\":\"Python\"},{\"code\":\"import { b } from \\\"baml_client\\\"\\n\\nconst result = b.AnalyzeCodebase(\\\"\u003chtml\u003e...\u003c/html\u003e\\\")\\n\\nconsole.log(result)\\n\",\"filename\":\"main.ts\",\"language\":\"TypeScript\"},{\"code\":\"require \\\"baml_client\\\"\\n\\nresult = b.AnalyzeCodebase(\\\"\u003chtml\u003e...\u003c/html\u003e\\\")\\n\\nprint(result)\\n\",\"filename\":\"main.rb\",\"language\":\"Ruby\"},{\"code\":\"import \\\"baml_client\\\"\\n\\nresult := b.AnalyzeCodebase(\\\"\u003chtml\u003e...\u003c/html\u003e\\\")\\n\\nfmt.Println(result)\\n\",\"filename\":\"main.go\",\"language\":\"Go\"}],\"lineNumbers\":true,\"showSidebar\":false,\"showStatusBar\":false,\"showTerminal\":true,\"terminalContent\":[\"$\",\"$L21\",null,{\"code\":\"{\\n  \\\"endpoints\\\": [\\n    \\\"https://api.example.com/auth/login\\\",\\n    \\\"https://api.example.com/auth/logout\\\"\\n  ]\\n}\",\"delay\":1000,\"duration\":30}],\"terminalHeight\":200}]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"div\",null,{\"children\":[[\"$\",\"pre\",null,{\"children\":\"baml-cli generate\"}],\" \",[\"$\",\"div\",null,{\"className\":\"flex flex-row gap-1 items-center\",\"children\":[\"converts BAML functions to native functions in\",\" \",[\"$\",\"$L22\",null,{\"className\":\"text-secondary\",\"words\":[\"Python\",\"TypeScript\",\"Ruby\",\"Go\"]}]]}]]}]\n18:[\"$\",\"div\",null,{\"children\":[\"Call your\",\" \",[\"$\",\"span\",null,{\"className\":\"line-through text-destructive/80\",\"children\":\"prompts\"}],\" \",[\"$\",\"span\",null,{\"className\":\"text-secondary\",\"children\":\"functions\"}],\" from any programming language you love\"]}]\n19:[\"$\",\"div\",null,{\"className\":\"flex justify-center p-4\",\"children\":[\"$\",\"$L23\",null,{\"autoStart\":true,\"className\":\"w-full max-w-sm\"}]}]\n1a:[\"$\",\"div\",null,{\"children\":\"Do nothing special for BAML. Since BAML generates native code in your language of choice, you can use it in any way you want.\"}]\n1b:[\"$\",\"div\",null,{\"children\":[\"Deploy your \",[\"$\",\"span\",null,{\"className\":\"text-secondary\",\"children\":\"Agent\"}]]}]\n1c:[\"$\",\"$L24\",null,{}]\n"])</script><script>self.__next_f.push([1,"1d:[\"$\",\"section\",null,{\"className\":\"flex flex-col items-center justify-center w-full\",\"id\":\"testimonials\",\"children\":[[\"$\",\"div\",null,{\"className\":\"w-full h-full p-8 md:p-14\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-xl mx-auto flex flex-col items-center justify-center gap-2\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-3xl md:text-4xl font-medium tracking-tighter text-center text-balance\",\"children\":\"People love BAML\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground text-center text-balance font-medium\",\"children\":\"And so do agents\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"px-10\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative max-h-[750px] overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"gap-0 md:columns-2 xl:columns-3\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:10s]\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":[[\"$\",\"div\",\"1\",{\"className\":\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\",\"id\":\"1\",\"children\":[[\"$\",\"div\",null,{\"className\":\"select-none leading-relaxed font-normal text-primary/60\",\"children\":[\"$\",\"p\",null,{\"children\":[\"BAML is amazing. I've used it in Python and Typescript.\",\" \",[\"$\",\"span\",null,{\"className\":\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\",\"children\":\"It's a game changer.\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex w-full select-none items-center justify-start gap-3.5\",\"children\":[[\"$\",\"$L14\",null,{\"alt\":\"Adam Gitzes\",\"className\":\"size-8 rounded-full\",\"height\":32,\"sizes\":\"32px\",\"src\":\"/testimonials/people/user1.png\",\"width\":32}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium text-primary/90\",\"children\":\"Adam Gitzes\"}],[\"$\",\"p\",null,{\"className\":\"text-xs font-normal text-muted-foreground\",\"children\":\"Amazon\"}]]}]]}]]}],[\"$\",\"div\",\"2\",{\"className\":\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\",\"id\":\"2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"select-none leading-relaxed font-normal text-primary/60\",\"children\":[\"$\",\"p\",null,{\"children\":[\"Just set up baml for my project, 10/10 experience and\",\" \",[\"$\",\"span\",null,{\"className\":\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\",\"children\":\"much faster than langchain\"}],\".\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex w-full select-none items-center justify-start gap-3.5\",\"children\":[[\"$\",\"$L14\",null,{\"alt\":\"Jason Fan\",\"className\":\"size-8 rounded-full\",\"height\":32,\"sizes\":\"32px\",\"src\":\"/testimonials/people/jason.png\",\"width\":32}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium text-primary/90\",\"children\":\"Jason Fan\"}],[\"$\",\"p\",null,{\"className\":\"text-xs font-normal text-muted-foreground\",\"children\":\"Finic.ai\"}]]}]]}]]}],[\"$\",\"div\",\"3\",{\"className\":\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\",\"id\":\"3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"select-none leading-relaxed font-normal text-primary/60\",\"children\":\"$L25\"}],\"$L26\"]}]]}],\"$L27\",\"$L28\",\"$L29\"]}],\"$L2a\",\"$L2b\"]}],\"$L2c\",\"$L2d\"]}]}]}],\"$L2e\"]}]\n"])</script><script>self.__next_f.push([1,"1e:[\"$\",\"section\",null,{\"className\":\"flex flex-col items-center justify-center w-full\",\"id\":\"cta\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"h-[400px] md:h-[400px] overflow-hidden shadow-xl w-full border border-border rounded-xl bg-secondary relative z-20\",\"children\":[[\"$\",\"$L14\",null,{\"alt\":\"Agent CTA Background\",\"className\":\"absolute inset-0 w-full h-full object-cover object-right md:object-center\",\"fill\":true,\"priority\":true,\"sizes\":\"100vw\",\"src\":\"/agent-cta-background.png\"}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 -top-32 md:-top-40 flex flex-col items-center justify-center\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-white text-4xl md:text-7xl font-medium tracking-tighter max-w-xs md:max-w-xl text-center\",\"children\":\"Build AI Applications with Confidence\"}],[\"$\",\"div\",null,{\"className\":\"absolute bottom-10 flex flex-col items-center justify-center gap-2\",\"children\":[[\"$\",\"$L2f\",null,{\"className\":\"bg-white text-black font-semibold text-sm h-10 w-fit px-4 rounded-full flex items-center justify-center shadow-md\",\"href\":\"https://calendly.com/boundaryml/meeting-with-founders?back=1\u0026month=2023-12\u0026utm_source=marketing-site\u0026utm_medium=cta-button\",\"children\":\"Book a meeting with us\"}],[\"$\",\"span\",null,{\"className\":\"text-white text-sm\",\"children\":\"Start building type-safe AI applications in minutes\"}]]}]]}]]}]}]}]\n"])</script><script>self.__next_f.push([1,"1f:[\"$\",\"$L30\",null,{}]\n"])</script><script>self.__next_f.push([1,"25:[\"$\",\"p\",null,{\"children\":[\"It's amazing!! Was able to\",\" \",[\"$\",\"span\",null,{\"className\":\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\",\"children\":\"cut down my tokens and time-to-first-token significantly without compromising results\"}],\".\"]}]\n26:[\"$\",\"div\",null,{\"className\":\"flex w-full select-none items-center justify-start gap-3.5\",\"children\":[[\"$\",\"$L14\",null,{\"alt\":\"Ray del Vecchio\",\"className\":\"size-8 rounded-full\",\"height\":32,\"sizes\":\"32px\",\"src\":\"/testimonials/people/ray.png\",\"width\":32}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium text-primary/90\",\"children\":\"Ray del Vecchio\"}],[\"$\",\"p\",null,{\"className\":\"text-xs font-normal text-muted-foreground\",\"children\":\"Cerebral Valley\"}]]}]]}]\n27:[\"$\",\"div\",\"1\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$1d:props:children:1:props:children:props:children:props:children:0:props:children:0:props:children:0:props:children\"}]\n28:[\"$\",\"div\",\"2\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$1d:props:children:1:props:children:props:children:props:children:0:props:children:0:props:children:0:props:children\"}]\n29:[\"$\",\"div\",\"3\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$1d:props:children:1:props:children:props:children:props:children:0:props:children:0:props:children:0:props:children\"}]\n"])</script><script>self.__next_f.push([1,"2a:[\"$\",\"div\",\"1\",{\"className\":\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:8s]\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":[[\"$\",\"div\",\"4\",{\"className\":\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\",\"id\":\"4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"select-none leading-relaxed font-normal text-primary/60\",\"children\":[\"$\",\"p\",null,{\"children\":[\"BAML is definitely a must have if you want any structured data from LLM; no more BS/long paragraphs describing what the output should be like, \",[\"$\",\"span\",null,{\"className\":\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\",\"children\":\"it just works!!!\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex w-full select-none items-center justify-start gap-3.5\",\"children\":[[\"$\",\"$L14\",null,{\"alt\":\"Hankel Bao\",\"className\":\"size-8 rounded-full\",\"height\":32,\"sizes\":\"32px\",\"src\":\"/testimonials/people/hankel.png\",\"width\":32}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium text-primary/90\",\"children\":\"Hankel Bao\"}],[\"$\",\"p\",null,{\"className\":\"text-xs font-normal text-muted-foreground\",\"children\":\"Coldreach.ai\"}]]}]]}]]}],[\"$\",\"div\",\"5\",{\"className\":\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\",\"id\":\"5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"select-none leading-relaxed font-normal text-primary/60\",\"children\":[\"$\",\"p\",null,{\"children\":[\"The test case and playground is quite literally the BEST feature. It has\",\" \",[\"$\",\"span\",null,{\"className\":\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\",\"children\":\"improved the iteration speed and quality by an order of magnitude\"}],\".\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex w-full select-none items-center justify-start gap-3.5\",\"children\":[[\"$\",\"$L14\",null,{\"alt\":\"Joseph Tutera\",\"className\":\"size-8 rounded-full\",\"height\":32,\"sizes\":\"32px\",\"src\":\"/testimonials/people/joseph.png\",\"width\":32}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium text-primary/90\",\"children\":\"Joseph Tutera\"}],[\"$\",\"p\",null,{\"className\":\"text-xs font-normal text-muted-foreground\",\"children\":\"Docucare AI\"}]]}]]}]]}],[\"$\",\"div\",\"6\",{\"className\":\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\",\"id\":\"6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"select-none leading-relaxed font-normal text-primary/60\",\"children\":[\"$\",\"p\",null,{\"children\":[\"I really really like what Baml offers [...] I think it's a step-wise improvement over Marvin. Having complete control over the prompt WITH strong type guarantees is fantastic.\",[\"$\",\"br\",null,{}],\"I also think\",\" \",[\"$\",\"span\",null,{\"className\":\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\",\"children\":\"the dedicated testing playground is awesome.\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex w-full select-none items-center justify-start gap-3.5\",\"children\":[\"$L31\",\"$L32\"]}]]}]]}],\"$L33\",\"$L34\",\"$L35\"]}]\n"])</script><script>self.__next_f.push([1,"2b:[\"$\",\"div\",\"2\",{\"className\":\"group flex overflow-hidden p-2 [--gap:1rem] [gap:var(--gap)] flex-col [--duration:12s]\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":[[\"$\",\"div\",\"7\",{\"className\":\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\",\"id\":\"7\",\"children\":[[\"$\",\"div\",null,{\"className\":\"select-none leading-relaxed font-normal text-primary/60\",\"children\":[\"$\",\"p\",null,{\"children\":[\"Code is hella clean now. Look at [the] folder structure, and each folder for a respective pipeline. Each file just a prompt.\",\" \",[\"$\",\"span\",null,{\"className\":\"p-1 py-0.5 font-medium dark:font-semibold text-secondary\",\"children\":\"Clean, elegant, beautiful.\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex w-full select-none items-center justify-start gap-3.5\",\"children\":[[\"$\",\"$L14\",null,{\"alt\":\"Paulo Rossi\",\"className\":\"size-8 rounded-full\",\"height\":32,\"sizes\":\"32px\",\"src\":\"/testimonials/people/paulo.png\",\"width\":32}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium text-primary/90\",\"children\":\"Paulo Rossi\"}],[\"$\",\"p\",null,{\"className\":\"text-xs font-normal text-muted-foreground\",\"children\":\"Magnaplay\"}]]}]]}]]}],[\"$\",\"div\",\"8\",{\"className\":\"flex w-full break-inside-avoid flex-col items-center justify-between gap-6 rounded-xl p-4 bg-accent/20 shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_8px_12px_-4px_rgba(15,12,12,0.08),0px_1px_2px_0px_rgba(15,12,12,0.10)] dark:shadow-[0px_0px_0px_1px_rgba(250,250,250,0.1),0px_0px_0px_1px_#18181B,0px_8px_12px_-4px_rgba(15,12,12,0.3),0px_1px_2px_0px_rgba(15,12,12,0.3)]\",\"id\":\"8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"select-none leading-relaxed font-normal text-primary/60\",\"children\":[\"$\",\"p\",null,{\"children\":[\"Just got the categorizer to work first try.\",[\"$\",\"br\",null,{}],\"Felt like landing a kickflip\"]}]}],[\"$\",\"div\",null,{\"className\":\"flex w-full select-none items-center justify-start gap-3.5\",\"children\":[[\"$\",\"$L14\",null,{\"alt\":\"Eitan Borgnia\",\"className\":\"size-8 rounded-full\",\"height\":32,\"sizes\":\"32px\",\"src\":\"/testimonials/people/eitan.png\",\"width\":32}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium text-primary/90\",\"children\":\"Eitan Borgnia\"}],[\"$\",\"p\",null,{\"className\":\"text-xs font-normal text-muted-foreground\",\"children\":\"Squack\"}]]}]]}]]}]]}],[\"$\",\"div\",\"1\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$2b:props:children:0:props:children\"}],[\"$\",\"div\",\"2\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$2b:props:children:0:props:children\"}],[\"$\",\"div\",\"3\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$2b:props:children:0:props:children\"}]]}]\n"])</script><script>self.__next_f.push([1,"2c:[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-x-0 bottom-0 h-1/6 md:h-1/5 w-full bg-gradient-to-t from-background from-20%\"}]\n2d:[\"$\",\"div\",null,{\"className\":\"pointer-events-none absolute inset-x-0 top-0 h-1/6 md:h-1/5 w-full bg-gradient-to-b from-background from-20%\"}]\n"])</script><script>self.__next_f.push([1,"2e:[\"$\",\"div\",null,{\"className\":\"mt-8 flex justify-center\",\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/BoundaryML/site/issues/new?template=testimonial.yml\",\"rel\":\"noopener noreferrer\",\"target\":\"_blank\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-github h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"tonef\",{\"d\":\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"}],[\"$\",\"path\",\"9comsn\",{\"d\":\"M9 18c-4.51 2-5-2-7-2\"}],\"$undefined\"]}],\"Share your story\"],\"className\":\"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg:not([class*='size-'])]:size-4 shrink-0 [\u0026_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive h-10 rounded-md px-6 has-[\u003esvg]:px-4 border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground gap-2\",\"data-slot\":\"button\",\"ref\":null}]}]\n"])</script><script>self.__next_f.push([1,"31:[\"$\",\"$L14\",null,{\"alt\":\"Gabe\",\"className\":\"size-8 rounded-full\",\"height\":32,\"sizes\":\"32px\",\"src\":\"/testimonials/people/gabe.png\",\"width\":32}]\n32:[\"$\",\"div\",null,{\"children\":[[\"$\",\"p\",null,{\"className\":\"font-medium text-primary/90\",\"children\":\"Gabe\"}],[\"$\",\"p\",null,{\"className\":\"text-xs font-normal text-muted-foreground\",\"children\":\"Zenfetch\"}]]}]\n33:[\"$\",\"div\",\"1\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$2a:props:children:0:props:children\"}]\n34:[\"$\",\"div\",\"2\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$2a:props:children:0:props:children\"}]\n35:[\"$\",\"div\",\"3\",{\"className\":\"flex shrink-0 justify-around [gap:var(--gap)] animate-marquee-vertical flex-col\",\"children\":\"$2a:props:children:0:props:children\"}]\n"])</script></body></html>