CINXE.COM
How Hasura took Leonardo.Ai from first code commit to production in 30 days
<!DOCTYPE html><html><head><link rel="shortcut icon" href="https://res.cloudinary.com/dh8fp23nd/image/upload/v1687352664/v3-website/favicon_y4jpfl.png"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta charSet="utf-8"/><title>How Hasura took Leonardo.Ai from first code commit to production in 30 days</title><meta name="title" content="How Hasura took Leonardo.Ai from first code commit to production in 30 days"/><meta name="description" content="“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” "/><meta property="og:type" content="website"/><meta property="og:title" content="How Hasura took Leonardo.Ai from first code commit to production in 30 days"/><meta property="og:description" content="“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” "/><meta property="og:image" content="https://res.cloudinary.com/dh8fp23nd/image/upload/c_fit,l_text:arial_80_medium_letter_spacing_1_line_height_1.5:How Hasura took Leonardo.Ai from first code commit to production in 30 days,co_rgb:fff,w_1100,x_-320,y_200/v1709018001/v3-blog/og-templates/og-thu_nr46ko.png"/><meta name="twitter:image" content="https://res.cloudinary.com/dh8fp23nd/image/upload/c_fit,l_text:arial_80_medium_letter_spacing_1_line_height_1.5:How Hasura took Leonardo.Ai from first code commit to production in 30 days,co_rgb:fff,w_1100,x_-320,y_200/v1709018001/v3-blog/og-templates/og-thu_nr46ko.png"/><meta name="twitter:description" content="“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” "/><link rel="canonical" href="https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days"/><meta name="next-head-count" content="14"/><link rel="preload" href="/blog/_next/static/css/93160408211c7784.css" as="style" crossorigin=""/><link rel="stylesheet" href="/blog/_next/static/css/93160408211c7784.css" crossorigin="" data-n-g=""/><link rel="preload" href="/blog/_next/static/css/55ff383a7ac1a8e1.css" as="style" crossorigin=""/><link rel="stylesheet" href="/blog/_next/static/css/55ff383a7ac1a8e1.css" crossorigin="" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" crossorigin="" nomodule="" src="/blog/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/blog/_next/static/chunks/webpack-07aabb34844e2fe3.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/framework-5429a50ba5373c56.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/main-7f270fe80537bc25.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/pages/_app-07c17df3abd6dc1a.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/156ce2c2-583b3f45a30c4dd3.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/fec483df-592570857f02aa2d.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/797-44fe7bc734dcdcde.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/328-059dc0eaca37a0a2.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/439-f9812487e9c2b30d.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/914-54d1763ba61b9092.js" defer="" crossorigin=""></script><script src="/blog/_next/static/chunks/pages/%5Bslug%5D-16a124c342bcebe0.js" defer="" crossorigin=""></script><script src="/blog/_next/static/cIBK6IMEmzD8CW8VOkGXn/_buildManifest.js" defer="" crossorigin=""></script><script src="/blog/_next/static/cIBK6IMEmzD8CW8VOkGXn/_ssgManifest.js" defer="" crossorigin=""></script></head><body><div id="__next"><div class="__className_0cd39b"><div id="viewport" class="block h-screen overflow-x-hidden overflow-y-auto tb-l:in tb-l:h-auto tb-l:overflow-x-clip tb-l:overflow-y-clip"><div class="bg-neutral-100 px-4 db:px-6"><div class="py-6"><div class="bg-neutral-0 flex justify-between relative rounded-2xl tb:rounded-full shadow p-3 tb:justify-center tb:items-center"><div class="tb:items-center flex tb:justify-center"><a href="https://promptql.hasura.io/" class="block pb-0"><div class="text-hds-m-body2-medium tb:text-hds-t-body2-medium db:text-hds-d-body2-medium text-neutral-600 group flex items-center [&>div]:inline-block">Announcing PromptQL: Build AI apps with Agentic Data Access <div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class=" hds-hidden tb:block w-6 h-6 stroke-[2px] ml-3 transition ease-in-out group-hover:translate-x-[5px] stroke-blue-500 undefined"><path d="M4 12h16m0 0-6-6m6 6-6 6"></path></svg></div></div></a></div><div class="static mt-[2px] tb:mt-0 ml-3 tb:ml-0 tb:absolute top-1/2 tb:-translate-y-1/2 tb:left-3 cursor-pointer w-5 h-5 min-w-[20px] tb:w-8 tb:min-w-[32px] tb:h-8 rounded-full bg-neutral-100 flex items-center justify-center"><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="block w-4 h-4 tb:w-6 tb:h-6 stroke-[2px] transition ease-in-out stroke-neutral-800 undefined"><path d="M18 6 6 18M6 6l12 12"></path></svg></div></div></div></div></div><div class="z-[1000] tb-l:static shadow tb-l:shadow-none transition-all duration-300 ease-in-out bg-neutral-100"><div class="px-4"><div class="transition-all duration-300 ease-in-out tb-l:py-3"><div class="max-w-7xl mx-auto z-[2] relative"><div class="relative mx-auto"><div class="flex items-center justify-between py-4 db:py-3 tb-l:justify-start"><div class="flex flex-row justify-between items-center w-full tb-l:w-fit"><div><a href="/" class="flex items-center"><img class="min-w-[103px] w-[103px] h-[33px]" src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1686659126/website%20v3/hasura-primary_y9cdnn.svg" alt="Hasura Logo"/></a></div><div class="hds-hidden-tbl flex z-[10] items-center gap-6"><div class="h-full "><div class=""><div class="max-w-7xl mx-auto"><div class="w-full cursor-pointer gap-0.5 flex items-center"><p class="-mt-1">/<!-- --> </p><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-4 w-4 stroke-2 stroke-neutral-1000 undefined"><path d="m21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z"></path></svg></div></div></div></div></div><div class="h-5 w-5 mt-3" style="opacity:0"><div class=" h-5 cursor-pointer"><div aria-hidden="true" class=" block absolute h-[2px] w-[15px] bg-neutral-800 transform transition duration-500 ease-in-out"></div><div aria-hidden="true" class="translate-y-[5.8px] block absolute h-0.5 w-[15px] bg-neutral-800 transform transition duration-500 ease-in-out"></div></div></div></div></div><div class="hds-hidden tb-l:flex flex-row w-full justify-between items-center"><nav class="hds-hidden items-baseline relative tb-l:pl-8 tb-l:flex tb-l:space-x-6"><div id="dropdown_0"><div class="relative"><div class="group inline-flex items-center rounded-md bg-white hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 text-gray-500"><div class="flex flex-col items-center cursor-pointer"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium hover:text-blue-600">Product </div></div></div><div></div></div></div><div id="dropdown_1"><div class="relative"><div class="group inline-flex items-center rounded-md bg-white hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 text-gray-500"><div class="flex flex-col items-center cursor-pointer"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium hover:text-blue-600">Developer </div></div></div><div></div></div></div><div id="dropdown_2"><div class="relative"><div class="group inline-flex items-center rounded-md bg-white hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 text-gray-500"><div class="flex flex-col items-center cursor-pointer"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium hover:text-blue-600">Resources </div></div></div><div></div></div></div><a href="/customers"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium hover:text-blue-600 cursor-pointer">Customers </div></a><a href="/pricing"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium hover:text-blue-600 cursor-pointer">Pricing </div></a><div class="hidden"><a href="https://hasura.io/products">What is Hasura?</a><a href="https://hasura.io/pricing">Compare Plans</a><a href="https://console.hasura.io/">Get started</a><p>Connectors</p><a href="https://hasura.io/graphql/database/postgresql">PostgreSQL</a><a href="https://hasura.io/graphql/database/mysql">MySQL</a><a href="https://hasura.io/graphql/database/elasticsearch">Elasticsearch</a><a href="https://hasura.io/graphql/database/sql-server">SQL Server</a><a href="https://hasura.io/graphql/database/mongodb">MongoDB</a><a href="https://hasura.io/graphql/database/snowflake">Snowflake</a><a href="https://hasura.io/graphql/database/clickhouse">Clickhouse</a><a href="https://hasura.io/connectors">More</a><p>Developer</p><a href="https://hasura.io/docs/3.0/index/">Documentation</a><a href="https://hasura.io/connectors">Connector Hub</a><a href="https://hasura.io/learn/">Tutorials</a><a href="https://hasura.io/community">Community</a><a href="https://discord.com/invite/hasura">Discord</a><a href="https://github.com/hasura/graphql-engine/discussions">Discussions</a><a href="https://www.meetup.com/pro/hasura/">Meetups</a><a href="https://hasura.io/events/community-call/latest">Hasura Community Call</a><p>Resources</p><a href="https://hasura.io/blog">Blogs</a><a href="https://hasura.io/events?category=Webinar#wall-section">Webinars</a><a href="https://hasura.io/graphql/">Graphql Hub</a><a href="https://hasura.io/events">Events</a><a href="https://hasura.io/resources">Whitepapers</a><a href="https://supergraph.io/">Supergraph Manifesto</a></div></nav><div class="hds-hidden tb-l:flex flex-row items-center gap-x-4 "><div class=""><div class="max-w-7xl mx-auto"><div class="w-full cursor-pointer gap-0.5 flex items-center"><p class="-mt-1">/<!-- --> </p><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-4 w-4 stroke-2 stroke-neutral-1000 undefined"><path d="m21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z"></path></svg></div></div></div></div><a href="/contact-us" class="hds-hidden db:flex"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium text-neutral-800 hover:text-blue-600">Contact Us</div></a><a href="https://console.hasura.io/?pg=how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days"><div><button type="button" class="inline-flex items-center whitespace-pre rounded-full text-hds-d-body3c-medium py-1.5 pr-2.5 pl-4 rounded-full group db:w-fit tb:w-fit w-full justify-center justify-center bg-blue-500 text-neutral-0 hover:bg-blue-700 hover:text-neutral-0 hover:shadow-md hover:shadow hover:transition-all hover:ease-out hover:duration-300 focus:bg-blue-600 focus:shadow-[0_0px_0px_4px_#DFE8FF] focus:text-neutral-0 focus:outline-none active:bg-blue-600 active:text-neutral-0 active:outline-none hds-hidden tb:flex hover:text-neutral-0 ">Get Started<div class="group-hover:transition-all group-hover:stroke-neutral-0"><div style="stroke:#ffffff"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 group-hover:stroke-neutral-0 z-10 stroke-2 group-hover:translate-x-[0.15rem] group-hover:transition-all group-hover:duration-300"><path d="m9 18 6-6-6-6"></path></svg></div><div style="stroke:#ffffff"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 -mt-5 group-hover:stroke-neutral-0 invisible stroke-2 group-hover:transition-all group-hover:delay-100 group-hover:visible "><path d="M7 12h10"></path></svg></div></div></button></div></a></div></div><div class="hds-hidden-tbl overflow-auto flex "><div class="bg-neutral-100 shadow-sh1 hds-hidden-tbl block fixed w-full tb:max-w-[480px] tb:left-auto tb:right-0 mx-auto left-4 top-0 transform transition duration-500 ease-in-out h-[calc(100%-1px)] max-h-screen overflow-y-auto translate-x-[1240px]"><div class="bg-neutral-100 h-[calc(100%-80px)] rounded-2xl overflow-y-scroll scrollbar-hide"><div class="pt-6 pb-4 tb:mr-[12px] mr-[30px] min-h-[36px] flex flex-row justify-between items-center sticky top-0 bg-neutral-100 z-50 "><div class="w-full justify-center flex " style="opacity:0"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium text-neutral-900"></div></div></div><div class="mt-7 flex flex-col gap-6 ml-4" style="opacity:1"><div class="flex flex-col mr-[50px] mb-m:items-center items-end"><img class="inline-block max-w-[242px] w-full" src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1705670474/website%20v3/customers/mutations_1_tdh5ir_yf6n7k.png" alt="hasura-header-illustration" loading="lazy"/></div><nav class="grid divide-y mr-8 tb:mr-4 bg-neutral-0 divide-neutral-200 border border-neutral-200 rounded-3xl mb-6"><div class="flex justify-between items-center p-4 cursor-pointer group"><div class="flex items-center justify-center gap-2"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium text-neutral-700 hover:text-neutral-1000 transition-all duration-300 ease-in-out">Product</div></div><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 stroke-[1.5px] group-hover:translate-x-1 ease-in-out transition duration-300 stroke-neutral-500 undefined"><path d="m9 18 6-6-6-6"></path></svg></div></div><div class="flex justify-between items-center p-4 cursor-pointer group"><div class="flex items-center justify-center gap-2"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium text-neutral-700 hover:text-neutral-1000 transition-all duration-300 ease-in-out">Developer</div></div><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 stroke-[1.5px] group-hover:translate-x-1 ease-in-out transition duration-300 stroke-neutral-500 undefined"><path d="m9 18 6-6-6-6"></path></svg></div></div><div class="flex justify-between items-center p-4 cursor-pointer group"><div class="flex items-center justify-center gap-2"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium text-neutral-700 hover:text-neutral-1000 transition-all duration-300 ease-in-out">Resources</div></div><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 stroke-[1.5px] group-hover:translate-x-1 ease-in-out transition duration-300 stroke-neutral-500 undefined"><path d="m9 18 6-6-6-6"></path></svg></div></div><a href="https://hasura.io/customers"><div class="flex justify-between items-center p-4 cursor-pointer group"><div class="flex items-center justify-center gap-2"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium text-neutral-700 hover:text-neutral-1000 transition-all duration-300 ease-in-out">Customers</div></div><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 stroke-[1.5px] group-hover:translate-x-1 ease-in-out transition duration-300 stroke-neutral-500 undefined"><path d="m9 18 6-6-6-6"></path></svg></div></div></a><a href="https://hasura.io/contact-us"><div class="flex justify-between items-center p-4 cursor-pointer group"><div class="flex items-center justify-center gap-2"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium text-neutral-700 hover:text-neutral-1000 transition-all duration-300 ease-in-out">Contact Us</div></div><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 stroke-[1.5px] group-hover:translate-x-1 ease-in-out transition duration-300 stroke-neutral-500 undefined"><path d="m9 18 6-6-6-6"></path></svg></div></div></a></nav></div></div><div class="py-6 shadow-sh1 bg-neutral-0 pl-4 pr-8 self-end w-full"><div class="flex flex-row justify-around"><div class="w-full flex gap-2"><a href="https://console.hasura.io/?pg=how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days" class="w-full"><div><button type="button" class="inline-flex items-center whitespace-pre rounded-full text-hds-d-body3c-medium py-1.5 pr-2.5 pl-4 rounded-full group db:w-fit tb:w-fit w-full justify-center justify-center bg-blue-500 text-neutral-0 hover:bg-blue-700 hover:text-neutral-0 hover:shadow-md hover:shadow hover:transition-all hover:ease-out hover:duration-300 focus:bg-blue-600 focus:shadow-[0_0px_0px_4px_#DFE8FF] focus:text-neutral-0 focus:outline-none active:bg-blue-600 active:text-neutral-0 active:outline-none !w-full hover:text-neutral-0 ">Get Started<div class="group-hover:transition-all group-hover:stroke-neutral-0"><div style="stroke:#ffffff"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 group-hover:stroke-neutral-0 z-10 stroke-2 group-hover:translate-x-[0.15rem] group-hover:transition-all group-hover:duration-300"><path d="m9 18 6-6-6-6"></path></svg></div><div style="stroke:#ffffff"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 -mt-5 group-hover:stroke-neutral-0 invisible stroke-2 group-hover:transition-all group-hover:delay-100 group-hover:visible "><path d="M7 12h10"></path></svg></div></div></button></div></a></div></div></div></div></div></div></div></div></div></div></div><div class="sticky z-[1] top-0"><div class="transition-all w-full duration-300 tb-l:bg-transparent tb-l:top-0 ease-out z-[2] border-neutral-200 tb-l:translate-y-0 bg-neutral-100 border-t"><div class="transition-all px-4 duration-300 ease-in-out border-neutral-300"><div class="flex flex-row max-w-7xl mx-auto justify-between py-4 tb-l:py-4"><div class="flex items-center overflow-scroll scrollbar-hide no-scrollbar"><div class=" "><div class="flex gap-2"><a class="px-3 py-1 rounded-[48px] hover:text-neutral-0 transition-all duration-100 bg-purple-500 " href="/blog"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium relative z-10 w-max transition-all duration-100 text-neutral-0">All</div></a><a class="px-3 py-1 rounded-[48px] hover:text-neutral-0 transition-all duration-100 hover:bg-neutral-500/30 " href="/blog#wall-section"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium relative z-10 w-max transition-all duration-100 text-neutral-400 hover:text-neutral-0">Latest Stories</div></a><a class="px-3 py-1 rounded-[48px] hover:text-neutral-0 transition-all duration-100 hover:bg-neutral-500/30 " href="/blog/tagged/apis"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium relative z-10 w-max transition-all duration-100 text-neutral-400 hover:text-neutral-0">APIs</div></a><a class="px-3 py-1 rounded-[48px] hover:text-neutral-0 transition-all duration-100 hover:bg-neutral-500/30 " href="/blog/tagged/authorization"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium relative z-10 w-max transition-all duration-100 text-neutral-400 hover:text-neutral-0">Authorization</div></a><a class="px-3 py-1 rounded-[48px] hover:text-neutral-0 transition-all duration-100 hover:bg-neutral-500/30 " href="/blog/tagged/performance"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium relative z-10 w-max transition-all duration-100 text-neutral-400 hover:text-neutral-0">Performance</div></a><a class="px-3 py-1 rounded-[48px] hover:text-neutral-0 transition-all duration-100 hover:bg-neutral-500/30 " href="/blog/tagged/security"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium relative z-10 w-max transition-all duration-100 text-neutral-400 hover:text-neutral-0">Security</div></a></div></div></div><div class="transition-all hidden tb-l:flex ease-linear tb-l:opacity-0 tb-l:invisible"><div class=""><div class="max-w-7xl mx-auto"><div class="w-full cursor-pointer gap-0.5 flex items-center"><div class=" bg-neutral-0 py-2 px-4 cursor-text rounded-full border border-neutral-200 flex flex-row justify-between items-center "><div class="text-hds-m-body1c tb:text-hds-t-body1c db:text-hds-d-body1c text-neutral-500 pr-4 hidden db-s:flex db:pr-20">Search for a blog</div><div class="flex items-center"><p class="-mt-1">/ </p><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-4 w-4 stroke-2 stroke-neutral-1000 undefined"><path d="m21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0Z"></path></svg></div></div></div></div></div></div></div></div></div></div></div><div class="bg-neutral-100"><main><div><div class="tb-m:block hidden"><div class="scroll-indicator fixed bg-discord top-[0px] w-full h-[4px] z-[2]" style="transform-origin:left;transform:scaleX(0) translateZ(0)"></div></div><div class="px-4"><div class="max-w-7xl mx-auto"><div class="py-8 tb-m:py-11 z-1 relative"><nav class="flex" aria-label="Breadcrumb"><ol role="list" class="flex items-center"><li><div><a href="/blog"><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="w-5 h-5 stroke-[1.5px] stroke-neutral-600 undefined"><path d="M8 17h8M11.018 2.764 4.235 8.039c-.453.353-.68.53-.843.75a2 2 0 0 0-.318.65C3 9.704 3 9.991 3 10.565V17.8c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C4.52 21 5.08 21 6.2 21h11.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C21 19.48 21 18.92 21 17.8v-7.235c0-.574 0-.861-.074-1.126a2.002 2.002 0 0 0-.318-.65c-.163-.22-.39-.397-.843-.75l-6.783-5.275c-.351-.273-.527-.41-.72-.462a1 1 0 0 0-.523 0c-.194.052-.37.189-.721.462Z"></path></svg></div><span class="sr-only">Home</span></a></div></li><li><div class="flex items-center"><div class="mx-2"><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="w-5 h-5 stroke-[1.5px] stroke-neutral-300 undefined"><path d="m9 18 6-6-6-6"></path></svg></div></div><a href="/blog/tagged/customer-story"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium hover:text-blue-700 capitalize text-neutral-600 truncate max-w-[110px] mb-m:max-w-[140px] tb:max-w-none">Customer Story</div></a></div></li><li><div class="flex items-center"><div class="mx-2"><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="w-5 h-5 stroke-[1.5px] stroke-neutral-300 undefined"><path d="m9 18 6-6-6-6"></path></svg></div></div><a href="/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days" aria-current="page"><div class="text-hds-m-body3c-medium tb:text-hds-t-body3c-medium db:text-hds-d-body3c-medium hover:text-blue-700 capitalize text-blue-600 truncate max-w-[110px] mb-m:max-w-[140px] tb:max-w-[280px]">How Hasura took Leonardo.Ai from first code commit to production in 30 days</div></a></div></li></ol></nav></div><div class="bg-neutral-0 rounded-3xl shadow"><div class="px-6 tb:px-12 tb-l:px-16 db:px-20"><div class="tb-xl:flex gap-10 tb-l:gap-12 db:gap-20 flex-row justify-between"><div class="py-6 tb:py-12 tb-l:py-16 db:py-20"><div class="flex flex-1 flex-col gap-4 max-w-[689px]"><h1 class="text-hds-m-h2 tb:text-hds-t-h2 db:text-hds-d-h2 pb-6 article-title">How Hasura took Leonardo.Ai from first code commit to production in 30 days</h1><div class="article-wrapper"><html><head></head><body><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/fR-Bj6UibGqlv8nR_r_xdwv0vbZm0TZ1OyCS6Xg3GYfi-1czIYePhklzs9g02kMTaw3BZY87ZYeidThUDSP_JeYC-TLEYhq6yQQICAE1TecAgULgJqF3sU4SDn7hLlV4ERaGHyRHxjv-wDuCGVa7EJU" class="kg-image" alt="" loading="lazy"></figure><ul class="list-disc pl-6 pb-6"><li class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 py-1"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000">Time to market cut in half</strong></strong></strong></li><li class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 py-1"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000">700 million AI images generated by 6 million users</strong></strong></strong></li><li class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 py-1"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000">All website user functions route through Hasura</strong></strong></strong></li></ul><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Heralded by some as the next Canva, the hottest GenAI startup in Australia today is <a href="https://leonardo.ai/" class="text-blue-500 hover:text-blue-700 transition-all [&>strong]:text-blue-500 [&>strong]:hover:text-blue-700">Leonardo.Ai</a>. The breakthrough app for AI-driven image generation is in a period of explosive growth. In just under a year after launching, the generative AI content production app is creating 4.5 million new images a day, amassing more than 700 million images generated by a worldwide community of generative AI adopters and enthusiasts. </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">With the drive to move fast and the vision for both scaling up and expanding its offering to multiple clients, such as iOS, the engineers at Leonardo.Ai rely on <a href="https://hasura.io/" class="text-blue-500 hover:text-blue-700 transition-all [&>strong]:text-blue-500 [&>strong]:hover:text-blue-700">Hasura</a> to be the glue that holds everything together.<br></p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/4-NA37f4ESFOC8mVP3GXgD4PVrloel01sk0IfRY-_4JQtSM0AVCcoVzm3V4s_8zE7lvQ-0PtG_RlgfIf1U7JOwhb1ioSHSEQ71uNl5dxKvoum3xOIEydJhPofPnIka0eTCbsbEsdzgUdirw6GclYPC0" class="kg-image" alt="" loading="lazy"></figure><h3 id="the-origin-story-breaking-the-bottleneck-with-ai" class="pb-1 tex-neutral-700 text-hds-m-h5 [&>strong]:text-hds-m-h5 tb:text-hds-t-h5 tb:[&>strong]:text-hds-t-h5 db:text-hds-d-h5 db:[&>strong]:text-hds-d-h5">The origin story: Breaking the bottleneck with AI</h3><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Leonardo's founders met while working at a video game company. Facing high production costs and long development cycles, they looked at emerging AI tools and ways to incorporate generative AI into their game development workflow, especially on the visual creative process. </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">“As we started thinking about how we could leverage the tech through a lens of production use cases for professional use, we came to realize that interacting with AI as a black box would soon lose its novelty. Then there would be a real need for having more control in the process,” said Jachin Bhasme Co-Founder and COO at Leonardo.Ai. “So we started building out a platform to enable creators to use generative AI for production use cases.”</p><h3 id="beyond-the-prompt-a-better-black-box" class="pb-1 tex-neutral-700 text-hds-m-h5 [&>strong]:text-hds-m-h5 tb:text-hds-t-h5 tb:[&>strong]:text-hds-t-h5 db:text-hds-d-h5 db:[&>strong]:text-hds-d-h5">Beyond the prompt: A better black box</h3><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Leonard.Ai’s solution was to start with the familiar, accessible prompt box seen on popular consumer large language models (LLMs) like ChatGPT and Bard, and build on that to bring a new level of control and fine-tuning to the image creation process. Expanding beyond the prompt, they added features like control nets and a powerful image editor built into the app. </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">“Quickly, people started to realize the versatility of the platform,” Bhasme said. “So within a few months, we started getting organic traction and the platform started to blow up. In terms of our user base, it grew beyond just game development to fashion, architecture, marketing, interior design… a whole range of industries.” </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">In its first year on the market, Leonardo.Ai had 7 million registered users generating images for practically any use case imaginable.</p><h3 id="shipping-an-early-christmas-present-with-hasura" class="pb-1 tex-neutral-700 text-hds-m-h5 [&>strong]:text-hds-m-h5 tb:text-hds-t-h5 tb:[&>strong]:text-hds-t-h5 db:text-hds-d-h5 db:[&>strong]:text-hds-d-h5">Shipping an early Christmas present with Hasura</h3><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">On November 24, 2022, Peter Runham made the first commit to Leonardo.Ai’s code repository. A month later, on Christmas Eve, the code was pushed up to production. “Our priority was time to market,” Runham, Leonardo.Ai’s CTO and Co-Founder, said.</p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Runham and his co-founders coded and crunched at a breakneck speed, but they needed Hasura to meet their goals.</p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">“We had to develop very rapidly. Hasura, with its ease of use, easy permission settings, and configuration, let us achieve that very quickly,” Runham said. “We can just plug it in straight to our database and get to work very quickly.”</p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Hosted on AWS, the Leonardo.Ai web application uses PostgreSQL as its primary database. Hasura also provides an internal API for the Leonardo.Ai website. Any action a user does on the website routes through Hasura.</p><figure class="kg-card kg-image-card"><img src="https://lh7-us.googleusercontent.com/k2Rnc5fnvV3DgbRR0UEhuEGJbQE-qEevXAJxV6Rc67H1u_2uwN0DRvOB-RQK7gnEQsCSr69ZkxHqAp6cchth_EbNZlIT_Mnsmh-0KtlF63x6QvbbgK5PJHH1eJdmr0HE5EbelbGtNWtOFY9GWwJsb48" class="kg-image" alt="" loading="lazy"></figure><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">“Hasura is the glue between our frontend and backend workloads,” Runham continued. “So whenever you're generating an image on the platform, the platform is talking to Hasura, Hasura then invokes it through an Action, it talks to one of our serverless Lambda functions, which then goes to our AI workloads.” </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">The B2B API available to Leonardo.Ai customers, which uses features including REST endpoints, is also created using Hasura. Creating the B2B API was easy, Runham said, because they could reuse a lot of metadata from their existing Hasura instance. </p><h3 id="why-leonardoai-chose-hasura" class="pb-1 tex-neutral-700 text-hds-m-h5 [&>strong]:text-hds-m-h5 tb:text-hds-t-h5 tb:[&>strong]:text-hds-t-h5 db:text-hds-d-h5 db:[&>strong]:text-hds-d-h5">Why Leonardo.Ai chose Hasura</h3><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">A common strategy when developing a web app using Next.js is to also use Next.js APIs, but the Leonardo.Ai team had a vision for the future of their app, and they recognized they needed a different approach. A web app was only the beginning. An iOS and Android app was on their roadmap as well. </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">“One of the core reasons that we chose Hasura is because we knew we wanted to support multiple clients and to have a universal API across that,” Runham said. “So it was important to have something that we could pick up on our iOS client and any other future clients that we may have.”</p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Runham said that, while the team knew they didn’t want to use Next.js APIs, they did want something with a similar developer experience. </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">“Rather than having to handcraft a REST endpoint for every single function on the platform, we wanted a GraphQL API – that would make it a lot easier to integrate quickly and not always require separate API development. You can just modify permissions, and for more complex business logic it's trivial to set up actions and events that point to serverless functions.,” Runham said. “Hasura was an easy choice that filled all those requirements.” </p><h3 id="%E2%80%9Ckiller%E2%80%9D-permissions-management-2x-speed-to-market" class="pb-1 tex-neutral-700 text-hds-m-h5 [&>strong]:text-hds-m-h5 tb:text-hds-t-h5 tb:[&>strong]:text-hds-t-h5 db:text-hds-d-h5 db:[&>strong]:text-hds-d-h5">“Killer” permissions management, 2x speed to market</h3><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Hasura’s functionality to granularly manage permissions from a convenient place is another key feature the Leonardo.Ai team needed. “Working out how permissions are going to work on each individual function basis gets quite complex,” Runham said. “So being able to do that in a central location with Hasura is probably the killer feature that ultimately pushed us to use it.” </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Runham added that, because Hasura connects to their database, the team can easily see what data they want to expose and exclude in the APIs they create. “Being able to secure custom Lambda functions behind a permissions matrix is incredibly powerful and we use that feature a lot,” he said.</p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">By automating API generation and configuration, Hasura allows developers to focus on what they do best. To facilitate growth in the early stages of the project, Runham said it was very important that the team could easily offload that extra engineering work to enable rapid development. “There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” </p><h3 id="the-future-of-generative-ai-needs-hasura" class="pb-1 tex-neutral-700 text-hds-m-h5 [&>strong]:text-hds-m-h5 tb:text-hds-t-h5 tb:[&>strong]:text-hds-t-h5 db:text-hds-d-h5 db:[&>strong]:text-hds-d-h5"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000">The future of generative AI needs Hasura</strong></h3><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Leonardo.Ai is revolutionizing content creation, empowering its global community to effortlessly generate ideas and realistic images with its advanced <a href="https://leonardo.ai/" class="text-blue-500 hover:text-blue-700 transition-all [&>strong]:text-blue-500 [&>strong]:hover:text-blue-700">AI art generator</a>. The use cases for generative AI are wide-ranging, spanning from environments to portraits suitable for videos, games, and websites across a variety of industries.</p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">Hundreds of millions of images have already been generated with Leonardo.Ai, and the app has one of the largest generative AI communities globally with a Discord server with more than 1.8 million members; it is the third largest Discord community worldwide. </p><p class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 text-neutral-700 pb-8 last:pb-0 [&>.button]:mt-4">As Leonardo.Ai continues to evolve, they’ll do it with Hasura. Runham said he’s excited about Hasura v3 and the enhancements that will come along with the next release. “I'm looking forward to the future of Hasura,” he said.</p><h3 id="sign-up-now-for-hasura-cloud-to-get-started" class="pb-1 tex-neutral-700 text-hds-m-h5 [&>strong]:text-hds-m-h5 tb:text-hds-t-h5 tb:[&>strong]:text-hds-t-h5 db:text-hds-d-h5 db:[&>strong]:text-hds-d-h5"><strong class="text-hds-m-body1-bold tb:text-hds-t-body1-bold db:text-hds-d-body1-semi-bold text-neutral-1000"><a href="https://cloud.hasura.io/signup" class="text-blue-500 hover:text-blue-700 transition-all [&>strong]:text-blue-500 [&>strong]:hover:text-blue-700">Sign up</a> now for Hasura Cloud to get started!</strong></h3></div></div></div><div class="flex flex-col tb-l:pl-10 tb-l:border-l border-neutral-200 py-6 tb:py-12 tb-l:py-16 db:py-20"><div class="flex mt-10 tb-l:mt-0 flex-col min-w-[267px] tb:max-w-[267px] gap-[23px] pl-0 justify-start divide-y divide-neutral-200 "><div class="pt-[23px] first:pt-0"><a href="/blog/@hasurahq" class="whitespace-break-spaces avathor-img avathor-item-start"><div class="group block flex-shrink-0"><div class="flex items-center"><div><img class="h-12 w-12 min-w-[48px] shadow rounded-full rounded inline-block" src="https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png" alt="Hasura"/></div><div class="ml-3"><div class="text-hds-m-body1-semi-bold tb:text-hds-t-body1-semi-bold db:text-hds-d-body1-semi-bold text-neutral-800">Hasura</div><div class="text-hds-m-body2 tb:text-hds-t-body2 db:text-hds-d-body2 text-neutral-600">Instant GraphQL API on all your data. G...</div></div></div></div></a></div><div class="flex gap-3 pt-[23px]"><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-700 uppercase">08 Jan, 2024</p><div class="flex items-center "><p class="w-1 h-1 rounded-full bg-neutral-1000 flex items-center justify-center"></p><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-700 pl-3">5 MIN READ</p></div></div><div class="pt-[23px]"><div class="flex items-center"><h6 class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 uppercase text-neutral-700 contents mr-6">Share</h6><div class="flex items-center pl-6"><a class="mr-5" href="https://twitter.com/intent/tweet?&text=How Hasura took Leonardo.Ai from first code commit to production in 30 days&url=https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/" target="_blank" rel="noopener noreferrer"><svg class=" w-[18px]" width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.8614 0.384766H18.8487L12.3225 8.13689L19.9999 18.6848H13.9882L9.27978 12.288L3.89158 18.6848H0.902642L7.8829 10.3938L0.518066 0.384766H6.68203L10.938 6.23238L15.8614 0.384766ZM14.8127 16.8267H16.4685L5.78304 2.14575H4.00654L14.8127 16.8267Z" fill="#9DA4AE"></path></svg></a><a class="mr-5" href="http://www.linkedin.com/shareArticle?mini=true&url=https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/&title=How Hasura took Leonardo.Ai from first code commit to production in 30 days&summary=How Hasura took Leonardo.Ai from first code commit to production in 30 days&source=https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/" target="_blank" rel="noopener noreferrer"><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.25242 2.64892C4.25242 3.71764 3.41271 4.55735 2.34398 4.55735C1.27526 4.55735 0.435547 3.71764 0.435547 2.64892C0.435547 1.58019 1.27526 0.740479 2.34398 0.740479C3.41271 0.740479 4.25242 1.58019 4.25242 2.64892ZM4.25242 6.0841H0.435547V18.2981H4.25242V6.0841ZM10.3594 6.0841H6.54254V18.2981H10.3594V11.8857C10.3594 8.29789 14.9397 7.99254 14.9397 11.8857V18.2981H18.7565V10.588C18.7565 4.55735 11.9625 4.78636 10.3594 7.76353V6.0841Z" fill="#9DA4AE"></path></svg></a><a class="" href="https://www.facebook.com/sharer/sharer.php?u=https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/" target="_blank" rel="noopener noreferrer"><svg width="10" height="19" viewBox="0 0 10 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.28723 6.52563H0.0419922V9.51929H2.28723V18.5002H6.0293V9.51929H8.72358L9.02295 6.52563H6.0293V5.25333C6.0293 4.57976 6.17898 4.2804 6.85255 4.2804H9.02295V0.53833H6.17898C3.48469 0.53833 2.28723 1.73579 2.28723 3.98103V6.52563Z" fill="#9DA4AE"></path></svg></a></div></div></div><div class="flex flex-row flex-wrap gap-4 pt-[23px]"><a class="group cursor-pointer group/badge" href="/blog/tagged/customer-story"><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-700"><button class=" cursor-pointer py-1 px-3 border border-neutral-400 group-hover/badge:bg-purple-500 group-hover/badge:text-neutral-0 group-hover/badge:border-opacity-0 transition-all duration-100 ease-in-out inline-flex items-center rounded-full" aria-pressed="false"><div class="text-hds-m-body3c tb:text-hds-t-body3c db:text-hds-d-body3c text-neutral-600 group-hover/badge:text-neutral-0">Customer Story</div></button></p></a><a class="group cursor-pointer group/badge" href="/blog/tagged/graphql-apis"><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-700"><button class=" cursor-pointer py-1 px-3 border border-neutral-400 group-hover/badge:bg-purple-500 group-hover/badge:text-neutral-0 group-hover/badge:border-opacity-0 transition-all duration-100 ease-in-out inline-flex items-center rounded-full" aria-pressed="false"><div class="text-hds-m-body3c tb:text-hds-t-body3c db:text-hds-d-body3c text-neutral-600 group-hover/badge:text-neutral-0">GraphQL APIs</div></button></p></a><a class="group cursor-pointer group/badge" href="/blog/tagged/enterprise"><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-700"><button class=" cursor-pointer py-1 px-3 border border-neutral-400 group-hover/badge:bg-purple-500 group-hover/badge:text-neutral-0 group-hover/badge:border-opacity-0 transition-all duration-100 ease-in-out inline-flex items-center rounded-full" aria-pressed="false"><div class="text-hds-m-body3c tb:text-hds-t-body3c db:text-hds-d-body3c text-neutral-600 group-hover/badge:text-neutral-0">Enterprise</div></button></p></a><a class="group cursor-pointer group/badge" href="/blog/tagged/genai"><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-700"><button class=" cursor-pointer py-1 px-3 border border-neutral-400 group-hover/badge:bg-purple-500 group-hover/badge:text-neutral-0 group-hover/badge:border-opacity-0 transition-all duration-100 ease-in-out inline-flex items-center rounded-full" aria-pressed="false"><div class="text-hds-m-body3c tb:text-hds-t-body3c db:text-hds-d-body3c text-neutral-600 group-hover/badge:text-neutral-0">GenAI</div></button></p></a></div></div><div class="tb:pt-16 pt-10 tb:max-w-[267px] tb-xl:sticky tb-xl:top-[12px] tb-xl:self-start"><a target="_self" rel="" href="https://hasura.io/resources/supergraph-architecture-guide"><div class="bg-neutral-0 rounded-3xl py-8 group"><img loading="lazy" src="https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1717758885/sg_arch_guide_b3b306a1af_2d0d85fc1d.png" alt="banner-illustration-image"/><h2 class="text-hds-m-h5 tb:text-hds-t-h5 db:text-hds-d-h5 text-neutral-800 px-6 pt-6"></h2><div><button type="button" class="inline-flex items-center whitespace-pre rounded-full text-neutral-0 focus:text-neutral-0 text-hds-d-body3c-medium rounded-full group db:w-fit tb:w-fit w-full justify-center focus:text-neutral-900 focus:outline-none focus:shadow-[0px_0px_0px_4px_#E5E7EB] px-6 pt-4 hover:text-neutral-0 ">Read the guide<div class="group-hover:transition-all group-hover:stroke-neutral-0"><div style="stroke:#ffffff"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 group-hover:stroke-neutral-0 z-10 stroke-2 group-hover:translate-x-[0.15rem] group-hover:transition-all group-hover:duration-300"><path d="m9 18 6-6-6-6"></path></svg></div><div style="stroke:#ffffff"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 -mt-5 group-hover:stroke-neutral-0 invisible stroke-2 group-hover:transition-all group-hover:delay-100 group-hover:visible "><path d="M7 12h10"></path></svg></div></div></button></div></div></a></div></div></div></div><div class="pt-0 p-6 tb:p-12 tb:pt-0 tb-l:p-16 tb-l:pt-0 db:p-20 db:pt-0 border-t border-neutral-200"><div class=" tb-m:pt-16 pt-10"><div class="flex items-center justify-between"><div class="flex divide-x first:pl-0"><div class="flex gap-2 px-8 first:pl-0 last:pr-0"><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="w-6 h-6 stroke-neutral-700 stroke-[2px]"><path d="m12 21-.1-.15c-.695-1.042-1.042-1.563-1.5-1.94a4 4 0 0 0-1.378-.737C8.453 18 7.827 18 6.575 18H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 16.48 2 15.92 2 14.8V6.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 3 4.08 3 5.2 3h.4c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C12 6.04 12 7.16 12 9.4M12 21V9.4M12 21l.1-.15c.695-1.042 1.042-1.563 1.5-1.94a3.999 3.999 0 0 1 1.378-.737C15.547 18 16.173 18 17.425 18H18.8c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 16.48 22 15.92 22 14.8V6.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 3 19.92 3 18.8 3h-.4c-2.24 0-3.36 0-4.216.436a4 4 0 0 0-1.748 1.748C12 6.04 12 7.16 12 9.4"></path></svg></div><div class="text-hds-m-body1-medium tb:text-hds-t-body1-medium db:text-hds-d-body1-medium text-neutral-700">Blog</div></div><div class="flex gap-2 px-8 first:pl-0 last:pr-0"><div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="w-6 h-6 stroke-neutral-700 stroke-[2px]"><path d="M21 10H3m13-8v4M8 2v4m-.2 16h8.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 19.72 21 18.88 21 17.2V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 4 17.88 4 16.2 4H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 6.28 3 7.12 3 8.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 22 6.12 22 7.8 22Z"></path></svg></div><div class="text-hds-m-body1-medium tb:text-hds-t-body1-medium db:text-hds-d-body1-medium text-neutral-700">08 Jan, 2024</div></div></div><div class="hidden tb-l:block"><div class="flex items-center"><h6 class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 uppercase text-neutral-700 contents mr-6">Share</h6><div class="flex items-center pl-6"><a class="mr-5" href="https://twitter.com/intent/tweet?&text=How Hasura took Leonardo.Ai from first code commit to production in 30 days&url=https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/" target="_blank" rel="noopener noreferrer"><svg class=" w-[18px]" width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.8614 0.384766H18.8487L12.3225 8.13689L19.9999 18.6848H13.9882L9.27978 12.288L3.89158 18.6848H0.902642L7.8829 10.3938L0.518066 0.384766H6.68203L10.938 6.23238L15.8614 0.384766ZM14.8127 16.8267H16.4685L5.78304 2.14575H4.00654L14.8127 16.8267Z" fill="#9DA4AE"></path></svg></a><a class="mr-5" href="http://www.linkedin.com/shareArticle?mini=true&url=https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/&title=How Hasura took Leonardo.Ai from first code commit to production in 30 days&summary=How Hasura took Leonardo.Ai from first code commit to production in 30 days&source=https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/" target="_blank" rel="noopener noreferrer"><svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.25242 2.64892C4.25242 3.71764 3.41271 4.55735 2.34398 4.55735C1.27526 4.55735 0.435547 3.71764 0.435547 2.64892C0.435547 1.58019 1.27526 0.740479 2.34398 0.740479C3.41271 0.740479 4.25242 1.58019 4.25242 2.64892ZM4.25242 6.0841H0.435547V18.2981H4.25242V6.0841ZM10.3594 6.0841H6.54254V18.2981H10.3594V11.8857C10.3594 8.29789 14.9397 7.99254 14.9397 11.8857V18.2981H18.7565V10.588C18.7565 4.55735 11.9625 4.78636 10.3594 7.76353V6.0841Z" fill="#9DA4AE"></path></svg></a><a class="" href="https://www.facebook.com/sharer/sharer.php?u=https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/" target="_blank" rel="noopener noreferrer"><svg width="10" height="19" viewBox="0 0 10 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.28723 6.52563H0.0419922V9.51929H2.28723V18.5002H6.0293V9.51929H8.72358L9.02295 6.52563H6.0293V5.25333C6.0293 4.57976 6.17898 4.2804 6.85255 4.2804H9.02295V0.53833H6.17898C3.48469 0.53833 2.28723 1.73579 2.28723 3.98103V6.52563Z" fill="#9DA4AE"></path></svg></a></div></div></div></div></div></div></div><div class="mt-10 tb-l:mt-16 db:mt-20"><div class="text-hds-m-h4 tb:text-hds-t-h4 db:text-hds-d-h4 text-neutral-1000 text-center">Related reading</div><div class="pt-10 grid tb-l:grid-cols-2 db:grid-cols-3 gap-8"><div class="bg-neutral-0 rounded-3xl px-7 py-8 shadow"><div class="flex items-center pb-10"><a class="mx-2 first:ml-0 last:mr-0" href="/blog/tagged/customer-story"><div class="bg-blue-500 hover:bg-blue-700 transition-all ease-in-out px-3 py-1 rounded-full"><div class="text-hds-m-body2 tb:text-hds-t-body2 db:text-hds-d-body2 text-neutral-0 line-clamp-1">Customer Story</div></div></a><a class="mx-2 first:ml-0 last:mr-0" href="/blog/tagged/graphql"><div class="bg-blue-400 hover:bg-blue-600 transition-all ease-in-out px-3 py-1 rounded-full"><div class="text-hds-m-body2 tb:text-hds-t-body2 db:text-hds-d-body2 text-neutral-0 line-clamp-1">GraphQL</div></div></a></div><a href="/blog/modernizing-api-architecture-isoss-journey-with-hasura"><div class="flex gap-3"><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-500 uppercase">05 Oct, 2024</p><div class="flex items-center pb-2"><p class="w-1 h-1 rounded-full bg-neutral-500 flex items-center justify-center"></p><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-500 pl-3">5 MIN READ</p></div></div><h5 class="text-hds-m-h5 tb:text-hds-t-h5 db:text-hds-d-h5 line-clamp-2 pb-2">Modernizing API architecture: ISOS’s journey with Hasura</h5><div class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 line-clamp-2">By adopting Hasura, ISOS has elevated the quality and performance of its digital services. This positions ISOS to better serve clients and uphold their mission of saving lives.</div></a></div><div class="bg-neutral-0 rounded-3xl px-7 py-8 shadow"><div class="flex items-center pb-10"><a class="mx-2 first:ml-0 last:mr-0" href="/blog/tagged/customer-story"><div class="bg-blue-500 hover:bg-blue-700 transition-all ease-in-out px-3 py-1 rounded-full"><div class="text-hds-m-body2 tb:text-hds-t-body2 db:text-hds-d-body2 text-neutral-0 line-clamp-1">Customer Story</div></div></a><a class="mx-2 first:ml-0 last:mr-0" href="/blog/tagged/data-access"><div class="bg-blue-400 hover:bg-blue-600 transition-all ease-in-out px-3 py-1 rounded-full"><div class="text-hds-m-body2 tb:text-hds-t-body2 db:text-hds-d-body2 text-neutral-0 line-clamp-1">Data Access</div></div></a></div><a href="/blog/transforming-data-management-in-biopharma-with-hasura"><div class="flex gap-3"><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-500 uppercase">09 Sep, 2024</p><div class="flex items-center pb-2"><p class="w-1 h-1 rounded-full bg-neutral-500 flex items-center justify-center"></p><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-500 pl-3">4 MIN READ</p></div></div><h5 class="text-hds-m-h5 tb:text-hds-t-h5 db:text-hds-d-h5 line-clamp-2 pb-2">Transforming data management in biopharma with Hasura</h5><div class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 line-clamp-2">The director of the data platform team explains that Hasura far surpasses traditional catalogs by providing critical integration with data warehouses – an essential capability for effective governance and self-serve access. </div></a></div><div class="bg-neutral-0 rounded-3xl px-7 py-8 shadow"><div class="flex items-center pb-10"><a class="mx-2 first:ml-0 last:mr-0" href="/blog/tagged/customer-story"><div class="bg-blue-500 hover:bg-blue-700 transition-all ease-in-out px-3 py-1 rounded-full"><div class="text-hds-m-body2 tb:text-hds-t-body2 db:text-hds-d-body2 text-neutral-0 line-clamp-1">Customer Story</div></div></a><a class="mx-2 first:ml-0 last:mr-0" href="/blog/tagged/data-connector"><div class="bg-blue-400 hover:bg-blue-600 transition-all ease-in-out px-3 py-1 rounded-full"><div class="text-hds-m-body2 tb:text-hds-t-body2 db:text-hds-d-body2 text-neutral-0 line-clamp-1">Data Connector</div></div></a></div><a href="/blog/for-modern-classrooms-hmhs-journey-to-faster-applications-with-hasura"><div class="flex gap-3"><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-500 uppercase">19 Jul, 2024</p><div class="flex items-center pb-2"><p class="w-1 h-1 rounded-full bg-neutral-500 flex items-center justify-center"></p><p class="text-hds-m-h6 tb:text-hds-t-h6 db:text-hds-d-h6 text-neutral-500 pl-3">6 MIN READ</p></div></div><h5 class="text-hds-m-h5 tb:text-hds-t-h5 db:text-hds-d-h5 line-clamp-2 pb-2">For modern classrooms: HMH's journey to faster applications with Hasura</h5><div class="text-hds-m-body1 tb:text-hds-t-body1 db:text-hds-d-body1 line-clamp-2">In the first implementation, HMH leveraged Hasura's Snowflake connector with Snowflake data warehouse to provide a lightweight API for service-to-service use cases within the organization.</div></a></div></div></div></div></div></div></main><div id="subscribe" class="pt-10 px-4 mb-10 db:mb-16 tb:mb-16 tb-l:pt-16 db:pt-20"><div class="max-w-7xl mx-auto"><div class="w-full"><div class="rounded-3xl bg-neutral-0 shadow grid grid-cols-1 tb-l:grid-cols-2 gap-10 tb:gap-0"><div class="tb-l:border-r border-neutral-200 p-4 tb:p-10 db:p-20 self-center"><div class="pb-6"><img loading="lazy" class="max-h-[96px]" src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1686839086/v3-website/mail_yhjkr4.png" alt="Email"/></div><div class="text-hds-m-sub1 tb:text-hds-t-sub1 db:text-hds-d-sub1 text-neutral-600 pb-4">Subscribe to stay up-to-date on all things Hasura. One newsletter, once a month.</div><div class="marketoFormWrapper"><h5 class="text-hds-m-h5 tb:text-hds-t-h5 db:text-hds-d-h5 text-neutral-800 font-medium py-8 tb:py-12">Loading...</h5><div data-prefill-inherit="1" data-no-scroll="1" id="hf-subscribe" data-paperform-id="hf-subscribe" data-spinner="1"></div></div></div><div class="p-4 tb:p-10 db:p-20"><div class="pb-6"><img loading="lazy" class="max-h-[96px]" src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1686839086/v3-website/illu_vqqsdb.png" alt="v3-pattern"/></div><div class="text-hds-m-sub1 tb:text-hds-t-sub1 db:text-hds-d-sub1 text-neutral-600">Accelerate development and data access with radically reduced complexity.</div><a href="https://console.hasura.io/?pg=how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days&plcmt=pre-footer&cta=get-started-for-free&tech=default"><div><button type="button" class="inline-flex items-center whitespace-pre rounded-full text-hds-d-body3c-medium rounded-full py-2.5 pl-5 pr-3 group db:w-fit tb:w-fit w-full justify-center border-2 border-blue-500 text-blue-500 hover:text-neutral-0 hover:bg-blue-700 hover:border-2 hover:border-blue-700 hover:shadow-md hover:shadow hover:transition-all hover:ease-out hover:duration-200 focus:bg-blue-200 focus:text-blue-500 focus:border-2 border-blue-500 focus:shadow-[0px_0px_0px_4px_#DFE8FF] focus:outline-none focus:text-blue-500 mt-4 hover:text-neutral-0 ">Get started for free<div class="group-hover:transition-all group-hover:stroke-neutral-0"><div style="stroke:#3970FD"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 group-hover:stroke-neutral-0 z-10 stroke-2 group-hover:translate-x-[0.15rem] group-hover:transition-all group-hover:duration-300"><path d="m9 18 6-6-6-6"></path></svg></div><div style="stroke:#3970FD"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="1em" height="1em" class="h-5 w-5 -mt-5 group-hover:stroke-neutral-0 invisible stroke-2 group-hover:transition-all group-hover:delay-100 group-hover:visible "><path d="M7 12h10"></path></svg></div></div></button></div></a></div></div></div></div></div><div class="px-4"><div class="max-w-7xl mx-auto pb-10 tb:pb-16 pt-10"><div class="w-full"><div><div class="db-s:flex justify-between gap-10 db-s:gap-20 db:gap-40"><div class="pb-10 db-s:pb-0 px-4 tb:px-0"><a href="https://hasura.io/" class=""><img class="max-w-[125px]" src="https://res.cloudinary.com/dh8fp23nd/image/upload/v1686659126/website%20v3/hasura-primary_y9cdnn.svg" loading="lazy" alt="Hasura"/></a></div><div class="flex justify-between px-4 tb:px-0 tb:justify-start tb-l:justify-between flex-1 flex-wrap gap-y-10 tb:gap-y-16 lg:max-w-[712px] 2xl:max-w-[756px]"><div class="min-w-[130px] db-s:min-w-fit"><div class="text-hds-m-body3c-semi-bold tb:text-hds-t-body3c-semi-bold db:text-hds-d-body3c-semi-bold text-neutral-600">Platform</div><a href="https://hasura.io/products"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Hasura DDN</div></a><a href="https://hasura.io/connectors"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Connectors</div></a><a href="https://hasura.io/pricing"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Pricing</div></a><a href="https://hasura.io/security/"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Security</div></a></div><div class="min-w-[130px] db-s:min-w-fit"><div class="text-hds-m-body3c-semi-bold tb:text-hds-t-body3c-semi-bold db:text-hds-d-body3c-semi-bold text-neutral-600">Build</div><a href="https://hasura.io/docs/3.0/index/"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Docs</div></a><a href="https://hasura.io/learn/"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Tutorials</div></a><a href="https://github.com/hasura"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">GitHub</div></a></div><div class="min-w-[130px] db-s:min-w-fit"><div class="text-hds-m-body3c-semi-bold tb:text-hds-t-body3c-semi-bold db:text-hds-d-body3c-semi-bold text-neutral-600">Learn</div><a href="https://hasura.io/blog"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Blog</div></a><a href="https://hasura.io/events"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Events</div></a><a href="https://supergraph.io/"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Supergraph.io</div></a><a href="https://hasura.io/graphql/"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">GraphQL Hub</div></a></div><div class="min-w-[130px] db-s:min-w-fit"><div class="text-hds-m-body3c-semi-bold tb:text-hds-t-body3c-semi-bold db:text-hds-d-body3c-semi-bold text-neutral-600">Company</div><a href="https://hasura.io/about/"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Our Story</div></a><a href="https://hasura.io/careers/"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Careers</div></a><a href="https://hasura.io/partners"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Partners</div></a><a href="https://hasura.io/legal"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Legal</div></a><a href="https://hasura.io/legal/hasura-cookie-policy"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Cookie Policy</div></a><a href="https://hasura.io/legal/hasura-privacy-policy"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Privacy Policy</div></a></div><div class="min-w-[130px] db-s:min-w-fit"><div class="text-hds-m-body3c-semi-bold tb:text-hds-t-body3c-semi-bold db:text-hds-d-body3c-semi-bold text-neutral-600">Connect</div><a href="https://hasura.io/community"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Community</div></a><a href="https://discord.com/invite/hasura"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Discord</div></a><a href="https://github.com/hasura/graphql-engine/discussions"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Forum</div></a><a href="https://www.meetup.com/pro/hasura/"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Meetups</div></a><a href="https://hasura.io/events/community-call/latest"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Monthly call</div></a><a href="https://hasura.io/support-hub"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Support</div></a><a href="https://hasura.io/contact-us"><div class="text-hds-m-body3 tb:text-hds-t-body3 db:text-hds-d-body3 text-neutral-600 mt-2 tb:mt-4 hover:text-neutral-1000">Contact Us</div></a></div></div></div><div class="flex flex-col tb-m:flex-row items-center justify-between tb:pt-24"><div class="flex items-center justify-center pt-10 tb-m:pt-0 pb-4 tb-m:pb-0 tb-m:justify-start"><a href="https://www.linkedin.com/company/hasura/" class="mx-2 tb-l:mx-4 first:ml-0 last:mr-0 [&>svg>path]:fill-neutral-400 [&>svg>path]:hover:fill-neutral-600 "><svg width="26" height="32" viewBox="0 0 26 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.31687 9.12914C7.31687 10.1979 6.47716 11.0376 5.40844 11.0376C4.33971 11.0376 3.5 10.1979 3.5 9.12914C3.5 8.06042 4.33971 7.2207 5.40844 7.2207C6.47716 7.2207 7.31687 8.06042 7.31687 9.12914ZM7.31687 12.5643H3.5V24.7783H7.31687V12.5643ZM13.4239 12.5643H9.607V24.7783H13.4239V18.366C13.4239 14.7781 18.0041 14.4728 18.0041 18.366V24.7783H21.821V17.0682C21.821 11.0376 15.027 11.2666 13.4239 14.2438V12.5643Z"></path></svg></a><a href="https://www.youtube.com/channel/UCZo1ciR8pZvdD3Wxp9aSNhQ" class="mx-2 tb-l:mx-4 first:ml-0 last:mr-0 [&>svg>path]:fill-neutral-400 [&>svg>path]:hover:fill-neutral-600 "><svg width="26" height="32" viewBox="0 0 26 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M21.087 8.93655L21.087 8.93659L21.1002 8.93761C21.9378 9.00203 22.3817 9.16101 22.6263 9.30672C22.827 9.42628 23.0039 9.59975 23.1728 9.98218C23.3636 10.4144 23.5265 11.0801 23.6296 12.1242C23.7315 13.1571 23.7646 14.4356 23.7646 16.0392C23.7646 17.6426 23.7315 18.9284 23.6294 19.9704C23.5261 21.0243 23.3626 21.7015 23.17 22.1417C22.9987 22.5332 22.8229 22.7001 22.6368 22.8096C22.4079 22.9441 21.9795 23.0951 21.1534 23.1375L21.1534 23.1374L21.1445 23.1379C17.4729 23.3419 9.22945 23.3423 5.5387 23.1392C4.71481 23.0738 4.27627 22.9162 4.03377 22.7718C3.8331 22.6522 3.65613 22.4787 3.4873 22.0963C3.29651 21.6641 3.13358 20.9984 3.03051 19.9542C2.92855 18.9213 2.8955 17.6429 2.8955 16.0392C2.8955 14.4356 2.92855 13.1571 3.03051 12.1242C3.13358 11.0801 3.29651 10.4144 3.4873 9.98219C3.65613 9.59975 3.8331 9.42628 4.03377 9.30672C4.27834 9.16101 4.7223 9.00203 5.55985 8.93761L5.55985 8.93765L5.5731 8.93655C9.21419 8.63312 17.4459 8.63312 21.087 8.93655ZM0.808594 16.0392C0.808594 22.5087 1.33032 24.9086 5.39979 25.2216C9.15622 25.4303 17.5039 25.4303 21.2603 25.2216C25.3298 25.0129 25.8515 22.5087 25.8515 16.0392C25.8515 9.56983 25.3298 7.16988 21.2603 6.85685C17.5039 6.54381 9.15622 6.54381 5.39979 6.85685C1.33032 7.16988 0.808594 9.56983 0.808594 16.0392ZM11.71 19.4583C11.0162 19.8052 10.1999 19.3006 10.1999 18.525V13.554C10.1999 12.7783 11.0162 12.2738 11.71 12.6207L16.6809 15.1062C17.45 15.4907 17.45 16.5882 16.6809 16.9728L11.71 19.4583Z"></path></svg></a><a href="https://www.facebook.com/HasuraHQ" class="mx-2 tb-l:mx-4 first:ml-0 last:mr-0 [&>svg>path]:fill-neutral-400 [&>svg>path]:hover:fill-neutral-600 "><svg width="26" height="32" viewBox="0 0 26 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.755 13.0059H8.50977V15.9995H10.755V24.9805H14.4971V15.9995H17.1914L17.4907 13.0059H14.4971V11.7336C14.4971 11.06 14.6468 10.7606 15.3203 10.7606H17.4907V7.01855H14.6468C11.9525 7.01855 10.755 8.21602 10.755 10.4613V13.0059Z"></path></svg></a><a href="https://twitter.com/hasurahq" class="mx-2 tb-l:mx-4 first:ml-0 last:mr-0 [&>svg>path]:fill-neutral-400 [&>svg>path]:hover:fill-neutral-600 py-1"><svg class="w-[21px] h-5" width="1200" height="1227" viewBox="0 0 1200 1227" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" fill="white"></path></svg></a><a href="https://www.instagram.com/hasurahq/?hl=en" class="mx-2 tb-l:mx-4 first:ml-0 last:mr-0 [&>svg>path]:fill-neutral-400 [&>svg>path]:hover:fill-neutral-600 "><svg width="26" height="32" viewBox="0 0 26 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3394 7.2359C16.2009 7.2359 16.5586 7.2359 17.7212 7.32532C20.6722 7.41475 22.0135 8.84554 22.103 11.7071C22.1924 12.8696 22.1924 13.1379 22.1924 15.9995C22.1924 18.8611 22.1924 19.2188 22.103 20.2919C22.0135 23.1535 20.5828 24.5843 17.7212 24.6737C16.5586 24.7631 16.2904 24.7631 13.3394 24.7631C10.4778 24.7631 10.1201 24.7631 9.04697 24.6737C6.09596 24.5843 4.75459 23.1535 4.66517 20.2919C4.57574 19.1294 4.57574 18.8611 4.57574 15.9995C4.57574 13.1379 4.57574 12.7802 4.66517 11.7071C4.75459 8.84554 6.18538 7.41475 9.04697 7.32532C10.1201 7.2359 10.4778 7.2359 13.3394 7.2359ZM13.3394 5.26855C10.3883 5.26855 10.0306 5.26855 8.95755 5.35798C5.02286 5.53683 2.87667 7.68302 2.69782 11.6177C2.6084 12.6908 2.6084 13.0485 2.6084 15.9995C2.6084 18.9505 2.6084 19.3082 2.69782 20.3813C2.87667 24.316 5.02286 26.4622 8.95755 26.641C10.0306 26.7305 10.3883 26.7305 13.3394 26.7305C16.2904 26.7305 16.6481 26.7305 17.7212 26.641C21.6558 26.4622 23.802 24.316 23.9809 20.3813C24.0703 19.3082 24.0703 18.9505 24.0703 15.9995C24.0703 13.0485 24.0703 12.6908 23.9809 11.6177C23.802 7.68302 21.6558 5.53683 17.7212 5.35798C16.6481 5.26855 16.2904 5.26855 13.3394 5.26855ZM13.3394 10.4552C10.2989 10.4552 7.79503 12.9591 7.79503 15.9995C7.79503 19.0399 10.2989 21.5438 13.3394 21.5438C16.3798 21.5438 18.8837 19.0399 18.8837 15.9995C18.8837 12.9591 16.3798 10.4552 13.3394 10.4552ZM13.3394 19.5765C11.372 19.5765 9.76237 17.9669 9.76237 15.9995C9.76237 14.0322 11.372 12.4225 13.3394 12.4225C15.3067 12.4225 16.9163 14.0322 16.9163 15.9995C16.9163 17.9669 15.3067 19.5765 13.3394 19.5765ZM19.0625 9.02439C18.3471 9.02439 17.8106 9.56094 17.8106 10.2763C17.8106 10.9917 18.3471 11.5283 19.0625 11.5283C19.7779 11.5283 20.3145 10.9917 20.3145 10.2763C20.3145 9.56094 19.7779 9.02439 19.0625 9.02439Z"></path></svg></a></div><div class="flex flex-col md:flex-row justify-between items-center w-full lg:max-w-[716px] 2xl:max-w-[756px]"><div><div class="text-hds-m-body3c tb:text-hds-t-body3c db:text-hds-d-body3c text-neutral-600 pt-4 tb-m:pt-0">© <!-- -->2024<!-- --> Hasura Inc. All rights reserved</div></div></div></div></div></div></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"bannerData":[{"attributes":{"bannerType":"thin_strip_banner","bannerTitle":"Announcing PromptQL: Build AI apps with Agentic Data Access","linkUrl":"/promptql","isExternalLink":false,"isGeneralAvailableBanner":true,"isActiveOnBlog":false,"isDarkMode":false,"bgColor":"#000","tagsAndURLSlugs":null,"button":null,"bannerLogoImg":{"data":null},"bannerIllustrationBgImg":{"data":null}}},{"attributes":{"bannerType":"thin_strip_banner","bannerTitle":"Announcing PromptQL: Build AI apps with Agentic Data Access ","linkUrl":"https://promptql.hasura.io/","isExternalLink":true,"isGeneralAvailableBanner":true,"isActiveOnBlog":true,"isDarkMode":false,"bgColor":"#000","tagsAndURLSlugs":null,"button":null,"bannerLogoImg":{"data":null},"bannerIllustrationBgImg":{"data":null}}},{"attributes":{"bannerType":"blog_card","bannerTitle":null,"linkUrl":"https://hasura.io/resources/supergraph-architecture-guide","isExternalLink":false,"isGeneralAvailableBanner":true,"isActiveOnBlog":true,"isDarkMode":false,"bgColor":"#fff","tagsAndURLSlugs":"the-future-of-api-is-composability","button":{"text":"Read the guide","url":"https://hasura.io/resources/supergraph-architecture-guide","type":"secondaryLink"},"bannerLogoImg":{"data":null},"bannerIllustrationBgImg":{"data":{"attributes":{"url":"https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1717758885/sg_arch_guide_b3b306a1af_2d0d85fc1d.png"}}}}}],"__N_SSG":true,"pageProps":{"pageData":{"isAuthor":false,"slug":"how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days","id":"659bf951b56b8a48e0017da2","uuid":"6b898004-7901-4117-b35d-5fd04b8d198f","title":"How Hasura took Leonardo.Ai from first code commit to production in 30 days","html":"\u003cfigure class=\"kg-card kg-image-card\"\u003e\u003cimg src=\"https://lh7-us.googleusercontent.com/fR-Bj6UibGqlv8nR_r_xdwv0vbZm0TZ1OyCS6Xg3GYfi-1czIYePhklzs9g02kMTaw3BZY87ZYeidThUDSP_JeYC-TLEYhq6yQQICAE1TecAgULgJqF3sU4SDn7hLlV4ERaGHyRHxjv-wDuCGVa7EJU\" class=\"kg-image\" alt loading=\"lazy\"\u003e\u003c/figure\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003e\u003cstrong\u003e\u003cstrong\u003eTime to market cut in half\u003c/strong\u003e\u003c/strong\u003e\u003c/strong\u003e\u003c/li\u003e\u003cli\u003e\u003cstrong\u003e\u003cstrong\u003e\u003cstrong\u003e700 million AI images generated by 6 million users\u003c/strong\u003e\u003c/strong\u003e\u003c/strong\u003e\u003c/li\u003e\u003cli\u003e\u003cstrong\u003e\u003cstrong\u003e\u003cstrong\u003eAll website user functions route through Hasura\u003c/strong\u003e\u003c/strong\u003e\u003c/strong\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eHeralded by some as the next Canva, the hottest GenAI startup in Australia today is \u003ca href=\"https://leonardo.ai/\"\u003eLeonardo.Ai\u003c/a\u003e. The breakthrough app for AI-driven image generation is in a period of explosive growth. In just under a year after launching, the generative AI content production app is creating 4.5 million new images a day, amassing more than 700 million images generated by a worldwide community of generative AI adopters and enthusiasts. \u003c/p\u003e\u003cp\u003eWith the drive to move fast and the vision for both scaling up and expanding its offering to multiple clients, such as iOS, the engineers at Leonardo.Ai rely on \u003ca href=\"https://hasura.io/\"\u003eHasura\u003c/a\u003e to be the glue that holds everything together.\u003cbr\u003e\u003c/p\u003e\u003cfigure class=\"kg-card kg-image-card\"\u003e\u003cimg src=\"https://lh7-us.googleusercontent.com/4-NA37f4ESFOC8mVP3GXgD4PVrloel01sk0IfRY-_4JQtSM0AVCcoVzm3V4s_8zE7lvQ-0PtG_RlgfIf1U7JOwhb1ioSHSEQ71uNl5dxKvoum3xOIEydJhPofPnIka0eTCbsbEsdzgUdirw6GclYPC0\" class=\"kg-image\" alt loading=\"lazy\"\u003e\u003c/figure\u003e\u003ch3 id=\"the-origin-story-breaking-the-bottleneck-with-ai\"\u003eThe origin story: Breaking the bottleneck with AI\u003c/h3\u003e\u003cp\u003eLeonardo's founders met while working at a video game company. Facing high production costs and long development cycles, they looked at emerging AI tools and ways to incorporate generative AI into their game development workflow, especially on the visual creative process. \u003c/p\u003e\u003cp\u003e“As we started thinking about how we could leverage the tech through a lens of production use cases for professional use, we came to realize that interacting with AI as a black box would soon lose its novelty. Then there would be a real need for having more control in the process,” said Jachin Bhasme Co-Founder and COO at Leonardo.Ai. “So we started building out a platform to enable creators to use generative AI for production use cases.”\u003c/p\u003e\u003ch3 id=\"beyond-the-prompt-a-better-black-box\"\u003eBeyond the prompt: A better black box\u003c/h3\u003e\u003cp\u003eLeonard.Ai’s solution was to start with the familiar, accessible prompt box seen on popular consumer large language models (LLMs) like ChatGPT and Bard, and build on that to bring a new level of control and fine-tuning to the image creation process. Expanding beyond the prompt, they added features like control nets and a powerful image editor built into the app. \u003c/p\u003e\u003cp\u003e“Quickly, people started to realize the versatility of the platform,” Bhasme said. “So within a few months, we started getting organic traction and the platform started to blow up. In terms of our user base, it grew beyond just game development to fashion, architecture, marketing, interior design… a whole range of industries.” \u003c/p\u003e\u003cp\u003eIn its first year on the market, Leonardo.Ai had 7 million registered users generating images for practically any use case imaginable.\u003c/p\u003e\u003ch3 id=\"shipping-an-early-christmas-present-with-hasura\"\u003eShipping an early Christmas present with Hasura\u003c/h3\u003e\u003cp\u003eOn November 24, 2022, Peter Runham made the first commit to Leonardo.Ai’s code repository. A month later, on Christmas Eve, the code was pushed up to production. “Our priority was time to market,” Runham, Leonardo.Ai’s CTO and Co-Founder, said.\u003c/p\u003e\u003cp\u003eRunham and his co-founders coded and crunched at a breakneck speed, but they needed Hasura to meet their goals.\u003c/p\u003e\u003cp\u003e“We had to develop very rapidly. Hasura, with its ease of use, easy permission settings, and configuration, let us achieve that very quickly,” Runham said. “We can just plug it in straight to our database and get to work very quickly.”\u003c/p\u003e\u003cp\u003eHosted on AWS, the Leonardo.Ai web application uses PostgreSQL as its primary database. Hasura also provides an internal API for the Leonardo.Ai website. Any action a user does on the website routes through Hasura.\u003c/p\u003e\u003cfigure class=\"kg-card kg-image-card\"\u003e\u003cimg src=\"https://lh7-us.googleusercontent.com/k2Rnc5fnvV3DgbRR0UEhuEGJbQE-qEevXAJxV6Rc67H1u_2uwN0DRvOB-RQK7gnEQsCSr69ZkxHqAp6cchth_EbNZlIT_Mnsmh-0KtlF63x6QvbbgK5PJHH1eJdmr0HE5EbelbGtNWtOFY9GWwJsb48\" class=\"kg-image\" alt loading=\"lazy\"\u003e\u003c/figure\u003e\u003cp\u003e“Hasura is the glue between our frontend and backend workloads,” Runham continued. “So whenever you're generating an image on the platform, the platform is talking to Hasura, Hasura then invokes it through an Action, it talks to one of our serverless Lambda functions, which then goes to our AI workloads.” \u003c/p\u003e\u003cp\u003eThe B2B API available to Leonardo.Ai customers, which uses features including REST endpoints, is also created using Hasura. Creating the B2B API was easy, Runham said, because they could reuse a lot of metadata from their existing Hasura instance. \u003c/p\u003e\u003ch3 id=\"why-leonardoai-chose-hasura\"\u003eWhy Leonardo.Ai chose Hasura\u003c/h3\u003e\u003cp\u003eA common strategy when developing a web app using Next.js is to also use Next.js APIs, but the Leonardo.Ai team had a vision for the future of their app, and they recognized they needed a different approach. A web app was only the beginning. An iOS and Android app was on their roadmap as well. \u003c/p\u003e\u003cp\u003e“One of the core reasons that we chose Hasura is because we knew we wanted to support multiple clients and to have a universal API across that,” Runham said. “So it was important to have something that we could pick up on our iOS client and any other future clients that we may have.”\u003c/p\u003e\u003cp\u003eRunham said that, while the team knew they didn’t want to use Next.js APIs, they did want something with a similar developer experience. \u003c/p\u003e\u003cp\u003e“Rather than having to handcraft a REST endpoint for every single function on the platform, we wanted a GraphQL API – that would make it a lot easier to integrate quickly and not always require separate API development. You can just modify permissions, and for more complex business logic it's trivial to set up actions and events that point to serverless functions.,” Runham said. “Hasura was an easy choice that filled all those requirements.” \u003c/p\u003e\u003ch3 id=\"%E2%80%9Ckiller%E2%80%9D-permissions-management-2x-speed-to-market\"\u003e“Killer” permissions management, 2x speed to market\u003c/h3\u003e\u003cp\u003eHasura’s functionality to granularly manage permissions from a convenient place is another key feature the Leonardo.Ai team needed. “Working out how permissions are going to work on each individual function basis gets quite complex,” Runham said. “So being able to do that in a central location with Hasura is probably the killer feature that ultimately pushed us to use it.” \u003c/p\u003e\u003cp\u003eRunham added that, because Hasura connects to their database, the team can easily see what data they want to expose and exclude in the APIs they create. “Being able to secure custom Lambda functions behind a permissions matrix is incredibly powerful and we use that feature a lot,” he said.\u003c/p\u003e\u003cp\u003eBy automating API generation and configuration, Hasura allows developers to focus on what they do best. To facilitate growth in the early stages of the project, Runham said it was very important that the team could easily offload that extra engineering work to enable rapid development. “There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” \u003c/p\u003e\u003ch3 id=\"the-future-of-generative-ai-needs-hasura\"\u003e\u003cstrong\u003eThe future of generative AI needs Hasura\u003c/strong\u003e\u003c/h3\u003e\u003cp\u003eLeonardo.Ai is revolutionizing content creation, empowering its global community to effortlessly generate ideas and realistic images with its advanced \u003ca href=\"https://leonardo.ai/\"\u003eAI art generator\u003c/a\u003e. The use cases for generative AI are wide-ranging, spanning from environments to portraits suitable for videos, games, and websites across a variety of industries.\u003c/p\u003e\u003cp\u003eHundreds of millions of images have already been generated with Leonardo.Ai, and the app has one of the largest generative AI communities globally with a Discord server with more than 1.8 million members; it is the third largest Discord community worldwide. \u003c/p\u003e\u003cp\u003eAs Leonardo.Ai continues to evolve, they’ll do it with Hasura. Runham said he’s excited about Hasura v3 and the enhancements that will come along with the next release. “I'm looking forward to the future of Hasura,” he said.\u003c/p\u003e\u003ch3 id=\"sign-up-now-for-hasura-cloud-to-get-started\"\u003e\u003cstrong\u003e\u003ca href=\"https://cloud.hasura.io/signup\"\u003eSign up\u003c/a\u003e now for Hasura Cloud to get started!\u003c/strong\u003e\u003c/h3\u003e","comment_id":"659bf951b56b8a48e0017da2","feature_image":"https://hasura.io/blog/content/images/2024/01/LeonardoAI-og.png","featured":false,"visibility":"public","created_at":"2024-01-08T19:02:01.000+05:30","updated_at":"2024-04-16T20:59:24.000+05:30","published_at":"2024-01-08T19:11:24.000+05:30","custom_excerpt":"“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” ","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"1","name":"Hasura","slug":"hasurahq","profile_image":"https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png","cover_image":"https://hasura.io/blog/content/images/2019/01/hasura_blog_cover_image.jpeg","bio":"Instant GraphQL API on all your data. Get Authorization, Caching, Performance and Monitoring benefits for all new and existing GraphQL APIs.","website":null,"location":null,"facebook":"hasurahq","twitter":"@hasurahq","meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@hasurahq/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"64b6a767b56b8a48e001672a","name":"GraphQL APIs","slug":"graphql-apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-apis/"},{"id":"5c4311591998b51f7f483f94","name":"Enterprise","slug":"enterprise","description":"Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.","feature_image":null,"visibility":"public","meta_title":"Enterprise | Enterprise Software | Hasura GraphQL","meta_description":"Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/enterprise/"},{"id":"6525513cb56b8a48e00175f2","name":"GenAI","slug":"genai","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/genai/"}],"primary_author":{"id":"1","name":"Hasura","slug":"hasurahq","profile_image":"https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png","cover_image":"https://hasura.io/blog/content/images/2019/01/hasura_blog_cover_image.jpeg","bio":"Instant GraphQL API on all your data. Get Authorization, Caching, Performance and Monitoring benefits for all new and existing GraphQL APIs.","website":null,"location":null,"facebook":"hasurahq","twitter":"@hasurahq","meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@hasurahq/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/","excerpt":"“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” ","reading_time":5,"access":true,"send_email_when_published":false,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"meta_title":"How Hasura took Leonardo.Ai from first code commit to production in 30 days","meta_description":"“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” ","email_subject":null,"frontmatter":null},"bannerData":[{"attributes":{"bannerType":"thin_strip_banner","bannerTitle":"Announcing PromptQL: Build AI apps with Agentic Data Access","linkUrl":"/promptql","isExternalLink":false,"isGeneralAvailableBanner":true,"isActiveOnBlog":false,"isDarkMode":false,"bgColor":"#000","tagsAndURLSlugs":null,"button":null,"bannerLogoImg":{"data":null},"bannerIllustrationBgImg":{"data":null}}},{"attributes":{"bannerType":"thin_strip_banner","bannerTitle":"Announcing PromptQL: Build AI apps with Agentic Data Access ","linkUrl":"https://promptql.hasura.io/","isExternalLink":true,"isGeneralAvailableBanner":true,"isActiveOnBlog":true,"isDarkMode":false,"bgColor":"#000","tagsAndURLSlugs":null,"button":null,"bannerLogoImg":{"data":null},"bannerIllustrationBgImg":{"data":null}}},{"attributes":{"bannerType":"blog_card","bannerTitle":null,"linkUrl":"https://hasura.io/resources/supergraph-architecture-guide","isExternalLink":false,"isGeneralAvailableBanner":true,"isActiveOnBlog":true,"isDarkMode":false,"bgColor":"#fff","tagsAndURLSlugs":"the-future-of-api-is-composability","button":{"text":"Read the guide","url":"https://hasura.io/resources/supergraph-architecture-guide","type":"secondaryLink"},"bannerLogoImg":{"data":null},"bannerIllustrationBgImg":{"data":{"attributes":{"url":"https://res.cloudinary.com/hasura-cms-uploads/image/upload/v1717758885/sg_arch_guide_b3b306a1af_2d0d85fc1d.png"}}}}}],"taggedPost":{"posts":[{"id":"67003cb502924104cdf1c289","uuid":"52a2266a-6ad5-4b40-927e-d523d5ccd570","title":"Modernizing API architecture: ISOS’s journey with Hasura","slug":"modernizing-api-architecture-isoss-journey-with-hasura","comment_id":"67003cb502924104cdf1c289","feature_image":null,"featured":false,"visibility":"public","created_at":"2024-10-05T00:36:29.000+05:30","updated_at":"2024-10-05T00:54:09.000+05:30","published_at":"2024-10-05T00:54:09.000+05:30","custom_excerpt":"By adopting Hasura, ISOS has elevated the quality and performance of its digital services. This positions ISOS to better serve clients and uphold their mission of saving lives.","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"5c4311591998b51f7f483d47","name":"GraphQL","slug":"graphql","description":"GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.","feature_image":null,"visibility":"public","meta_title":"GraphQL | Get Production-ready GraphQL APIs | Hasura GraphQL","meta_description":"GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql/"},{"id":"5f6c7036d82db608a4d95970","name":"GraphQL Performance","slug":"graphql-performance","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-performance/"}],"primary_author":{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/modernizing-api-architecture-isoss-journey-with-hasura/","excerpt":"By adopting Hasura, ISOS has elevated the quality and performance of its digital services. This positions ISOS to better serve clients and uphold their mission of saving lives.","reading_time":5,"access":true,"send_email_when_published":false,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"meta_title":"Modernizing API architecture: ISOS’s journey with Hasura","meta_description":"Learn how ISOS elevated the quality and performance of its digital services with Hasura to better serve clients and uphold their mission of saving lives.","email_subject":null,"frontmatter":null},{"id":"66defa5b02924104cdf1c233","uuid":"0b773535-f9f2-442a-9c75-dc87f4f46875","title":"Transforming data management in biopharma with Hasura","slug":"transforming-data-management-in-biopharma-with-hasura","comment_id":"66defa5b02924104cdf1c233","feature_image":null,"featured":false,"visibility":"public","created_at":"2024-09-09T19:08:35.000+05:30","updated_at":"2024-09-09T19:13:15.000+05:30","published_at":"2024-09-09T19:13:15.000+05:30","custom_excerpt":"The director of the data platform team explains that Hasura far surpasses traditional catalogs by providing critical integration with data warehouses – an essential capability for effective governance and self-serve access. ","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"5f579e0171916e1766107d7d","name":"Data Access","slug":"data-access","description":"Data access is the ability to access, modify, and manipulate data with different levels of access control for different users.","feature_image":null,"visibility":"public","meta_title":"Data Access","meta_description":"Data access is the ability to access, modify, and manipulate data with different levels of access control for different users.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/data-access/"},{"id":"64b6a767b56b8a48e001672a","name":"GraphQL APIs","slug":"graphql-apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-apis/"}],"primary_author":{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/transforming-data-management-in-biopharma-with-hasura/","excerpt":"The director of the data platform team explains that Hasura far surpasses traditional catalogs by providing critical integration with data warehouses – an essential capability for effective governance and self-serve access. ","reading_time":4,"access":true,"send_email_when_published":false,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"meta_title":"Transforming data management in biopharma with Hasura","meta_description":"The director of the data platform team explains that Hasura far surpasses traditional catalogs by providing critical integration with data warehouses. ","email_subject":null,"frontmatter":null},{"id":"669a93b002924104cdf1c056","uuid":"3cddae8d-0fa7-41c4-a580-2acec7918bb1","title":"For modern classrooms: HMH's journey to faster applications with Hasura","slug":"for-modern-classrooms-hmhs-journey-to-faster-applications-with-hasura","comment_id":"669a93b002924104cdf1c056","feature_image":null,"featured":false,"visibility":"public","created_at":"2024-07-19T21:56:24.000+05:30","updated_at":"2024-08-27T16:43:26.000+05:30","published_at":"2024-07-19T22:02:51.000+05:30","custom_excerpt":"In the first implementation, HMH leveraged Hasura's Snowflake connector with Snowflake data warehouse to provide a lightweight API for service-to-service use cases within the organization.","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"638f83a6f4931d3be0ec6984","name":"Data Connector","slug":"data-connector","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/data-connector/"},{"id":"64b6a767b56b8a48e001672a","name":"GraphQL APIs","slug":"graphql-apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-apis/"}],"primary_author":{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/for-modern-classrooms-hmhs-journey-to-faster-applications-with-hasura/","excerpt":"In the first implementation, HMH leveraged Hasura's Snowflake connector with Snowflake data warehouse to provide a lightweight API for service-to-service use cases within the organization.","reading_time":6,"access":true,"send_email_when_published":false,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"meta_title":"For modern classrooms: HMH's journey to faster applications with Hasura","meta_description":"Learn how HMH has accelerated their development cycles and enhanced the overall quality and performance of their digital offerings with Hasura. ","email_subject":null,"frontmatter":null},{"id":"668fe4a002924104cdf1bfc4","uuid":"f3a1bfd5-3f1d-437f-a9fb-b94339153a91","title":"European sports betting leader company slashes API delivery time with Hasura","slug":"leading-sports-betting-company-slashes-api-delivery-time-with-hasura","comment_id":"668fe4a002924104cdf1bfc4","feature_image":null,"featured":false,"visibility":"public","created_at":"2024-07-11T19:26:48.000+05:30","updated_at":"2024-08-12T23:02:02.000+05:30","published_at":"2024-07-11T19:34:00.000+05:30","custom_excerpt":"\"With Hasura, we're not just keeping pace; we're setting the pace, offering new features and experiences faster than ever before,\" said the Head of Data Architecture, capturing the transformative effect of Hasura on the company’s data operations.","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"64b6a767b56b8a48e001672a","name":"GraphQL APIs","slug":"graphql-apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-apis/"},{"id":"5c51ead64f4cca2a1bbb9ae8","name":"Authorization","slug":"authorization","description":"Learn how to integrate different access control patterns, authorization rules, role based permission system with Hasura GraphQL and authentication providers.","feature_image":null,"visibility":"public","meta_title":"Authorization with Hasura GraphQL","meta_description":"Learn how to integrate different access control patterns, authorization rules, role-based permission system with Hasura GraphQL and authentication providers.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/authorization/"}],"primary_author":{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/leading-sports-betting-company-slashes-api-delivery-time-with-hasura/","excerpt":"\"With Hasura, we're not just keeping pace; we're setting the pace, offering new features and experiences faster than ever before,\" said the Head of Data Architecture, capturing the transformative effect of Hasura on the company’s data operations.","reading_time":4,"access":true,"send_email_when_published":false,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"meta_title":"Leading sports betting company slashes API delivery time with Hasura","meta_description":"Discover how this leading sports better company uses Hasura and GraphQL APIs to set the pace and offer new features and other experiences faster than ever.","email_subject":null,"frontmatter":null},{"id":"668417af02924104cdf1bea7","uuid":"ddc7cc30-05a8-4e14-aeb4-cfdd926dda8f","title":"Banking on good data: How Hasura transformed data access for a Global Bank","slug":"banking-on-good-data-how-hasura-transformed-data-access-for-a-global-bank","comment_id":"668417af02924104cdf1bea7","feature_image":null,"featured":false,"visibility":"public","created_at":"2024-07-02T20:37:27.000+05:30","updated_at":"2024-08-12T23:02:21.000+05:30","published_at":"2024-07-02T20:52:26.000+05:30","custom_excerpt":"For GraphQL adoption to become viable for the organization, they needed Hasura's connect-and-compile approach. Hasura not only made GraphQL feasible but also satisfied additional criteria the organization had established for their chosen GraphQL solution.","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"5f579e0171916e1766107d7d","name":"Data Access","slug":"data-access","description":"Data access is the ability to access, modify, and manipulate data with different levels of access control for different users.","feature_image":null,"visibility":"public","meta_title":"Data Access","meta_description":"Data access is the ability to access, modify, and manipulate data with different levels of access control for different users.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/data-access/"},{"id":"5c4311591998b51f7f483d47","name":"GraphQL","slug":"graphql","description":"GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.","feature_image":null,"visibility":"public","meta_title":"GraphQL | Get Production-ready GraphQL APIs | Hasura GraphQL","meta_description":"GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql/"}],"primary_author":{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/banking-on-good-data-how-hasura-transformed-data-access-for-a-global-bank/","excerpt":"For GraphQL adoption to become viable for the organization, they needed Hasura's connect-and-compile approach. Hasura not only made GraphQL feasible but also satisfied additional criteria the organization had established for their chosen GraphQL solution.","reading_time":3,"access":true,"send_email_when_published":false,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"meta_title":"How Hasura transformed data access for a Global Bank","meta_description":"Hasura not only made GraphQL feasible but also satisfied additional criteria the organization had established for their chosen GraphQL solution.","email_subject":null,"frontmatter":null},{"id":"6659ed3202924104cdf1bcfb","uuid":"4f6be691-c157-4604-95ea-d06e97d429ee","title":"8x faster: A huge win for Lumanu’s development velocity with Hasura","slug":"8x-faster-a-huge-win-for-lumanus-development-velocity-with-hasura","comment_id":"6659ed3202924104cdf1bcfb","feature_image":"https://hasura.io/blog/content/images/2024/05/HasLumanu-Blog-cover-1.png","featured":false,"visibility":"public","created_at":"2024-05-31T21:00:58.000+05:30","updated_at":"2024-08-12T23:03:06.000+05:30","published_at":"2024-05-31T21:50:09.000+05:30","custom_excerpt":"When migrating to Hasura, the team had not set explicit targets for speed, other than “not worse.” And the team has blown that goal away by an order of magnitude.","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"64b6a767b56b8a48e001672a","name":"GraphQL APIs","slug":"graphql-apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-apis/"},{"id":"5c4311591998b51f7f483de7","name":"Microservices","slug":"microservices","description":"Microservices are a development technique that arranges an application as a collection of loosely coupled fine-grained services with lightweight protocols.","feature_image":null,"visibility":"public","meta_title":"Microservices | Microservice Architectural Style | Hasura GraphQL","meta_description":"Microservices are a development technique that arranges an application as a collection of loosely coupled fine-grained services with lightweight protocols.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/microservices/"}],"primary_author":{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/8x-faster-a-huge-win-for-lumanus-development-velocity-with-hasura/","excerpt":"When migrating to Hasura, the team had not set explicit targets for speed, other than “not worse.” And the team has blown that goal away by an order of magnitude.","reading_time":5,"access":true,"send_email_when_published":false,"og_image":"https://hasura.io/blog/content/images/2024/05/HasLumanu-Blog-og-1.png","og_title":null,"og_description":null,"twitter_image":"https://hasura.io/blog/content/images/2024/05/HasLumanu-Blog-og.png","twitter_title":null,"twitter_description":null,"meta_title":"8x faster: A huge win for Lumanu’s development velocity with Hasura","meta_description":"Discover how Lumanu's team smashed speed improvement goals after migrating to Hasura and eliminated an entire development cycle. ","email_subject":null,"frontmatter":null},{"id":"662913d80806ee513ba16c94","uuid":"5d8a98c8-d45f-484c-bba2-4553bfbe7c57","title":"Why Hasura is a must-have in the tech stack for this engineering firm","slug":"why-hasura-is-a-must-have-in-the-tech-stack-for-this-engineering-firm","comment_id":"662913d80806ee513ba16c94","feature_image":"https://hasura.io/blog/content/images/2024/04/TactabIe-Blog-cover-1.png","featured":false,"visibility":"public","created_at":"2024-04-24T19:44:48.000+05:30","updated_at":"2024-05-31T21:12:16.000+05:30","published_at":"2024-04-24T19:54:20.000+05:30","custom_excerpt":"Toronto-based engineering firm Tactable was first drawn to the overall value Hasura brings to backend development, and they’ve leveraged Hasura to deliver successful projects for major brands, including Shopify, Rakuten, and Walmart.","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"1","name":"Hasura","slug":"hasurahq","profile_image":"https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png","cover_image":"https://hasura.io/blog/content/images/2019/01/hasura_blog_cover_image.jpeg","bio":"Instant GraphQL API on all your data. Get Authorization, Caching, Performance and Monitoring benefits for all new and existing GraphQL APIs.","website":null,"location":null,"facebook":"hasurahq","twitter":"@hasurahq","meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@hasurahq/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"5c4311591998b51f7f483d47","name":"GraphQL","slug":"graphql","description":"GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.","feature_image":null,"visibility":"public","meta_title":"GraphQL | Get Production-ready GraphQL APIs | Hasura GraphQL","meta_description":"GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql/"},{"id":"5f579e0171916e1766107d7d","name":"Data Access","slug":"data-access","description":"Data access is the ability to access, modify, and manipulate data with different levels of access control for different users.","feature_image":null,"visibility":"public","meta_title":"Data Access","meta_description":"Data access is the ability to access, modify, and manipulate data with different levels of access control for different users.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/data-access/"}],"primary_author":{"id":"1","name":"Hasura","slug":"hasurahq","profile_image":"https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png","cover_image":"https://hasura.io/blog/content/images/2019/01/hasura_blog_cover_image.jpeg","bio":"Instant GraphQL API on all your data. Get Authorization, Caching, Performance and Monitoring benefits for all new and existing GraphQL APIs.","website":null,"location":null,"facebook":"hasurahq","twitter":"@hasurahq","meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@hasurahq/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/why-hasura-is-a-must-have-in-the-tech-stack-for-this-engineering-firm/","excerpt":"Toronto-based engineering firm Tactable was first drawn to the overall value Hasura brings to backend development, and they’ve leveraged Hasura to deliver successful projects for major brands, including Shopify, Rakuten, and Walmart.","reading_time":5,"access":true,"send_email_when_published":false,"og_image":"https://hasura.io/blog/content/images/2024/04/TactabIe-Blog-og-1.png","og_title":null,"og_description":null,"twitter_image":"https://hasura.io/blog/content/images/2024/04/TactabIe-Blog-og.png","twitter_title":null,"twitter_description":null,"meta_title":"Hasura is a tech stack must-have for this engineering firm","meta_description":"Tactable was drawn to the overall value Hasura brings to backend development, and they’ve leveraged Hasura to deliver successful projects for major brands.","email_subject":null,"frontmatter":null},{"id":"65d649eab56b8a48e0017ea9","uuid":"ee753f4f-2db5-474a-b271-1de73e3be05b","title":"OpusFlow: Enterprise resource planning software brought to life fast with Hasura","slug":"opusflow-enterprise-resource-planning-software-brought-to-life-fast-with-hasura","comment_id":"65d649eab56b8a48e0017ea9","feature_image":"https://hasura.io/blog/content/images/2024/02/OpusFlow-cover.png","featured":false,"visibility":"public","created_at":"2024-02-22T00:37:22.000+05:30","updated_at":"2024-08-12T23:03:50.000+05:30","published_at":"2024-02-22T00:57:28.000+05:30","custom_excerpt":"The Dutch cloud-based enterprise resource planning (ERP) system uses Hasura to offload tedious backend development. With Hasura in its tech stack and handling so much of the backend, the OpusFlow team can focus on its core work of streamlining business operations for its clients. ","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"}],"tags":[{"id":"64b6a767b56b8a48e001672a","name":"GraphQL APIs","slug":"graphql-apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-apis/"},{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"5c4311591998b51f7f483f94","name":"Enterprise","slug":"enterprise","description":"Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.","feature_image":null,"visibility":"public","meta_title":"Enterprise | Enterprise Software | Hasura GraphQL","meta_description":"Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/enterprise/"}],"primary_author":{"id":"65676004b56b8a48e0017b65","name":"Aditi Phadke","slug":"aditi","profile_image":"https://hasura.io/blog/content/images/2023/11/T7GHF0SM9-U05FWHC3MJT-1849d736dd7f-512.jpg","cover_image":null,"bio":null,"website":null,"location":null,"facebook":null,"twitter":null,"meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@aditi/"},"primary_tag":{"id":"64b6a767b56b8a48e001672a","name":"GraphQL APIs","slug":"graphql-apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-apis/"},"url":"https://hasura.io/blog/opusflow-enterprise-resource-planning-software-brought-to-life-fast-with-hasura/","excerpt":"The Dutch cloud-based enterprise resource planning (ERP) system uses Hasura to offload tedious backend development. With Hasura in its tech stack and handling so much of the backend, the OpusFlow team can focus on its core work of streamlining business operations for its clients. ","reading_time":4,"access":true,"send_email_when_published":false,"og_image":"https://hasura.io/blog/content/images/2024/02/OpusFlow-og-2.png","og_title":null,"og_description":null,"twitter_image":"https://hasura.io/blog/content/images/2024/02/OpusFlow-og-1.png","twitter_title":null,"twitter_description":null,"meta_title":"OpusFlow: ERP software brought to life fast with Hasura","meta_description":"With Hasura in its tech stack and handling so much of the backend, the OpusFlow team can focus on its core work of streamlining operations for its clients. ","email_subject":null,"frontmatter":null},{"id":"659bf951b56b8a48e0017da2","uuid":"6b898004-7901-4117-b35d-5fd04b8d198f","title":"How Hasura took Leonardo.Ai from first code commit to production in 30 days","slug":"how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days","comment_id":"659bf951b56b8a48e0017da2","feature_image":"https://hasura.io/blog/content/images/2024/01/LeonardoAI-og.png","featured":false,"visibility":"public","created_at":"2024-01-08T19:02:01.000+05:30","updated_at":"2024-04-16T20:59:24.000+05:30","published_at":"2024-01-08T19:11:24.000+05:30","custom_excerpt":"“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” ","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"1","name":"Hasura","slug":"hasurahq","profile_image":"https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png","cover_image":"https://hasura.io/blog/content/images/2019/01/hasura_blog_cover_image.jpeg","bio":"Instant GraphQL API on all your data. Get Authorization, Caching, Performance and Monitoring benefits for all new and existing GraphQL APIs.","website":null,"location":null,"facebook":"hasurahq","twitter":"@hasurahq","meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@hasurahq/"}],"tags":[{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"64b6a767b56b8a48e001672a","name":"GraphQL APIs","slug":"graphql-apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/graphql-apis/"},{"id":"5c4311591998b51f7f483f94","name":"Enterprise","slug":"enterprise","description":"Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.","feature_image":null,"visibility":"public","meta_title":"Enterprise | Enterprise Software | Hasura GraphQL","meta_description":"Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/enterprise/"},{"id":"6525513cb56b8a48e00175f2","name":"GenAI","slug":"genai","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/genai/"}],"primary_author":{"id":"1","name":"Hasura","slug":"hasurahq","profile_image":"https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png","cover_image":"https://hasura.io/blog/content/images/2019/01/hasura_blog_cover_image.jpeg","bio":"Instant GraphQL API on all your data. Get Authorization, Caching, Performance and Monitoring benefits for all new and existing GraphQL APIs.","website":null,"location":null,"facebook":"hasurahq","twitter":"@hasurahq","meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@hasurahq/"},"primary_tag":{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},"url":"https://hasura.io/blog/how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days/","excerpt":"“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” ","reading_time":5,"access":true,"send_email_when_published":false,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"meta_title":"How Hasura took Leonardo.Ai from first code commit to production in 30 days","meta_description":"“There's no way we could have got to the market as quickly as we did without it,” he said. “We definitely got to market at least twice as fast because of Hasura.” ","email_subject":null,"frontmatter":null},{"id":"651581feb56b8a48e00172db","uuid":"565c9150-d333-4578-a6dc-9ef240e7ba6a","title":"Scaling telehealth to millions: Hasura tips and tricks from Henry Meds","slug":"scaling-telehealth-to-millions-hasura-tips-and-tricks-from-henry-meds","comment_id":"651581feb56b8a48e00172db","feature_image":"https://hasura.io/blog/content/images/2023/09/Henry-blog-cover-1.png","featured":false,"visibility":"public","created_at":"2023-09-28T19:09:10.000+05:30","updated_at":"2024-03-29T02:45:29.000+05:30","published_at":"2023-09-28T19:21:10.000+05:30","custom_excerpt":"As backend engineers, they spent a lot of time figuring out how to connect routes to controllers, controllers to services, and services to the data access level. All of this work is replaced by Hasura.","codeinjection_head":null,"codeinjection_foot":null,"custom_template":null,"canonical_url":null,"email_recipient_filter":"none","authors":[{"id":"1","name":"Hasura","slug":"hasurahq","profile_image":"https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png","cover_image":"https://hasura.io/blog/content/images/2019/01/hasura_blog_cover_image.jpeg","bio":"Instant GraphQL API on all your data. Get Authorization, Caching, Performance and Monitoring benefits for all new and existing GraphQL APIs.","website":null,"location":null,"facebook":"hasurahq","twitter":"@hasurahq","meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@hasurahq/"}],"tags":[{"id":"608adbd2daa55e06c65e49cf","name":"HasuraCon","slug":"hasuracon","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/hasuracon/"},{"id":"6477884db56b8a48e0015b0e","name":"health care","slug":"health-care","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/health-care/"},{"id":"61432131f4931d3be0ec2f80","name":"APIs","slug":"apis","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/apis/"},{"id":"659bf9ebb56b8a48e0017dbf","name":"Customer Story","slug":"customer-story","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/customer-story/"},{"id":"5c4311591998b51f7f483f94","name":"Enterprise","slug":"enterprise","description":"Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.","feature_image":null,"visibility":"public","meta_title":"Enterprise | Enterprise Software | Hasura GraphQL","meta_description":"Enterprise software is computer software used to satisfy the needs of an organization rather than individual users.","og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/enterprise/"}],"primary_author":{"id":"1","name":"Hasura","slug":"hasurahq","profile_image":"https://hasura.io/blog/content/images/2022/02/profile_picture_standard.png","cover_image":"https://hasura.io/blog/content/images/2019/01/hasura_blog_cover_image.jpeg","bio":"Instant GraphQL API on all your data. Get Authorization, Caching, Performance and Monitoring benefits for all new and existing GraphQL APIs.","website":null,"location":null,"facebook":"hasurahq","twitter":"@hasurahq","meta_title":null,"meta_description":null,"url":"https://hasura.io/blog/@hasurahq/"},"primary_tag":{"id":"608adbd2daa55e06c65e49cf","name":"HasuraCon","slug":"hasuracon","description":null,"feature_image":null,"visibility":"public","meta_title":null,"meta_description":null,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"codeinjection_head":null,"codeinjection_foot":null,"canonical_url":null,"accent_color":null,"url":"https://hasura.io/blog/tagged/hasuracon/"},"url":"https://hasura.io/blog/scaling-telehealth-to-millions-hasura-tips-and-tricks-from-henry-meds/","excerpt":"As backend engineers, they spent a lot of time figuring out how to connect routes to controllers, controllers to services, and services to the data access level. All of this work is replaced by Hasura.","reading_time":6,"access":true,"send_email_when_published":false,"og_image":null,"og_title":null,"og_description":null,"twitter_image":null,"twitter_title":null,"twitter_description":null,"meta_title":"Scaling telehealth to millions: Hasura tips from Henry Meds","meta_description":"Henry spent a lot of time figuring out how to connect routes to controllers, controllers to services, and services to the data access level. All of this work is replaced by Hasura.","email_subject":null,"frontmatter":null}],"page":{"page":1,"limit":10,"pages":2,"total":14,"next":2,"prev":null}}}},"page":"/[slug]","query":{"slug":"how-hasura-took-leonardo-ai-from-first-code-commit-to-production-in-30-days"},"buildId":"cIBK6IMEmzD8CW8VOkGXn","assetPrefix":"/blog","isFallback":false,"gsp":true,"appGip":true,"scriptLoader":[]}</script></body></html>