1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9491],{2413:(e,t,s)=>{"use strict";s.d(t,{G:()=>l,W:()=>r});var a=s(45361);function r(e){let t="/"===e?"":e.replace(/\/$/,"");return`${(0,a.p)()}${t}`}function l({path:e,title:t,description:s}){return{...t?{title:t}:{},...s?{description:s}:{},canonical:r(e)}}},9438:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var a=s(53108),r=s(59363),l=s(76007),i=s(82447),n=s(53849),o=s(69179),c=s(78309),d=s(39009),x=s(2413),h=s(33910),m=s.n(h);function p(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.m,{component:"section",className:"relative pb-5 lg:pb-11",children:(0,a.jsxs)("div",{className:"mt-8 grid grid-flow-row justify-center gap-10 pt-8 md:pt-25",children:[(0,a.jsx)(n.w,{title:"The scalable Supabase alternative",subtitle:"Here's why developers building scalable, GraphQL-native, and customizable apps choose Nhost instead.",slotProps:{title:{component:"h1",className:"text-3.5xl md:text-5xl font-bold "},subtitle:{className:"max-w-2xl mx-auto text-lg text-white text-opacity-80"}}}),(0,a.jsxs)("div",{className:"flex gap-4 justify-self-center",children:[(0,a.jsxs)(r.$,{className:"text-center text-base",href:"https://app.nhost.io/signup",target:"_blank",rel:"noopener noreferrer",children:["Deploy your backend now ",(0,a.jsx)(d.f,{})]}),(0,a.jsx)(r.$,{variant:"outlined",className:"text-center text-base",href:"/blog/nhost-vs-supabase-practical-guide-for-growing-teams",children:"Read the full comparison"})]})]})}),(0,a.jsxs)(l.m,{component:"section",className:"max-w-6xl py-16",children:[(0,a.jsx)(n.w,{title:"Feature comparison",subtitle:"See how Nhost and Supabase stack up across key capabilities",className:"mb-12"}),(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full border-collapse",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-gray-700",children:[(0,a.jsx)("th",{className:"py-4 px-6 text-left font-semibold text-gray-300",children:"Feature"}),(0,a.jsx)("th",{className:"py-4 px-6 text-left font-semibold text-gray-300",children:"Supabase"}),(0,a.jsx)("th",{className:"py-4 px-6 text-left font-semibold text-blue-400",children:"Nhost"})]})}),(0,a.jsxs)("tbody",{className:"divide-y divide-gray-700",children:[(0,a.jsxs)("tr",{className:"hover:bg-gray-800/50",children:[(0,a.jsx)("td",{className:"py-4 px-6 font-medium text-white",children:"Query Language"}),(0,a.jsx)("td",{className:"py-4 px-6 text-gray-300",children:"SQL + JS client (REST + RPC)"}),(0,a.jsx)("td",{className:"py-4 px-6 font-semibold text-blue-300",children:"GraphQL-native with any GraphQL client"})]}),(0,a.jsxs)("tr",{className:"hover:bg-gray-800/50",children:[(0,a.jsx)("td",{className:"py-4 px-6 font-medium text-white",children:"Postgres Access"}),(0,a.jsx)("td",{className:"py-4 px-6 text-gray-300",children:"Root access"}),(0,a.jsx)("td",{className:"py-4 px-6 font-semibold text-blue-300",children:"Root access"})]}),(0,a.jsxs)("tr",{className:"hover:bg-gray-800/50",children:[(0,a.jsx)("td",{className:"py-4 px-6 font-medium text-white",children:"Extensibility"}),(0,a.jsx)("td",{className:"py-4 px-6 text-gray-300",children:"Edge functions (Deno-based), limited customization"}),(0,a.jsx)("td",{className:"py-4 px-6 font-semibold text-blue-300",children:"Serverless Functions (Lambda-based) + Nhost Run (bring your own containers), GraphQL federation with remote schemas"})]}),(0,a.jsxs)("tr",{className:"hover:bg-gray-800/50",children:[(0,a.jsx)("td",{className:"py-4 px-6 font-medium text-white",children:"Auth"}),(0,a.jsx)("td",{className:"py-4 px-6 text-gray-300",children:"Feature-rich, RLS-based, Complex"}),(0,a.jsx)("td",{className:"py-4 px-6 font-semibold text-blue-300",children:"Feature-rich, easy permissions with roles and field-level access"})]}),(0,a.jsxs)("tr",{className:"hover:bg-gray-800/50",children:[(0,a.jsx)("td",{className:"py-4 px-6 font-medium text-white",children:"AI agents"}),(0,a.jsx)("td",{className:"py-4 px-6 text-gray-300",children:"No native support"}),(0,a.jsx)("td",{className:"py-4 px-6 font-semibold text-blue-300",children:"AI Agents integrated
1with all Nhost core backend services"})]}),(0,a.jsxs)("tr",{className:"hover:bg-gray-800/50",children:[(0,a.jsx)("td",{className:"py-4 px-6 font-medium text-white",children:"Developer tooling"}),(0,a.jsx)("td",{className:"py-4 px-6 text-gray-300",children:"CLI + SQL migrations"}),(0,a.jsx)("td",{className:"py-4 px-6 font-semibold text-blue-300",children:"Git-based deployments + GraphQL-first DX"})]}),(0,a.jsxs)("tr",{className:"hover:bg-gray-800/50",children:[(0,a.jsx)("td",{className:"py-4 px-6 font-medium text-white",children:"Infrastructure control"}),(0,a.jsx)("td",{className:"py-4 px-6 text-gray-300",children:"Managed Postgres, multi-tenant auth & storage"}),(0,a.jsx)("td",{className:"py-4 px-6 font-semibold text-blue-300",children:"Single tenant on all services, Kubernetes-native, supports dedicated clusters"})]}),(0,a.jsxs)("tr",{className:"hover:bg-gray-800/50",children:[(0,a.jsx)("td",{className:"py-4 px-6 font-medium text-white",children:"Federation support"}),(0,a.jsx)("td",{className:"py-4 px-6 text-gray-300",children:"No support"}),(0,a.jsx)("td",{className:"py-4 px-6 font-semibold text-blue-300",children:"Native support with Remote Schemas / Nhost Run"})]})]})]})}),(0,a.jsx)("div",{className:"mt-8 text-center",children:(0,a.jsx)(r.$,{href:"/blog/nhost-vs-supabase-practical-guide-for-growing-teams",variant:"outlined",children:"View the full comparison guide"})})]}),(0,a.jsxs)(l.m,{component:"section",className:"max-w-6xl py-16",children:[(0,a.jsx)(n.w,{title:"Built for flexibility, designed for scale",subtitle:"Why growing teams choose Nhost for their production applications",className:"mb-16"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4",children:[(0,a.jsxs)(o.Z,{className:"border-gray-700 bg-gray-900/50 p-6",children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)("div",{className:"mb-4 flex h-12 w-12 items-center justify-center rounded-lg bg-black ring-1 ring-white ring-opacity-10",children:(0,a.jsx)(m(),{src:"/products/graphql.svg",width:24,height:24,alt:"GraphQL icon"})}),(0,a.jsx)("h3",{className:"mb-2 text-xl font-semibold text-white",children:"GraphQL-first developer experience"})]}),(0,a.jsx)("p",{className:"text-gray-300",children:"No wrappers, no patchwork APIs. Nhost is built from the ground up for GraphQL and frontend productivity."})]}),(0,a.jsxs)(o.Z,{className:"border-gray-700 bg-gray-900/50 p-6",children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)("div",{className:"mb-4 flex h-12 w-12 items-center justify-center rounded-lg bg-black ring-1 ring-white ring-opacity-10",children:(0,a.jsx)(m(),{src:"/products/run-cloud.svg",width:24,height:24,alt:"Nhost Run icon"})}),(0,a.jsx)("h3",{className:"mb-2 text-xl font-semibold text-white",children:"Extensible without limits"})]}),(0,a.jsx)("p",{className:"text-gray-300",children:"Deploy your own services as containers with Nhost Run. Wire up remote GraphQL APIs. Use event triggers to react to database changes."})]}),(0,a.jsxs)(o.Z,{className:"border-gray-700 bg-gray-900/50 p-6",children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)("div",{className:"mb-4 flex h-12 w-12 items-center justify-center rounded-lg bg-black ring-1 ring-white ring-opacity-10",children:(0,a.jsx)(m(),{src:"/products/platform.svg",width:24,height:24,alt:"Platform icon"})}),(0,a.jsx)("h3",{className:"mb-2 text-xl font-semibold text-white",children:"Run it your way"})]}),(0,a.jsx)("p",{className:"text-gray-300",children:"Use Nhost Cloud for top reliability, or deploy to your own infrastructure. You're not locked in, you're in control of your data and infrastructure."})]}),(0,a.jsxs)(o.Z,{className:"border-gray-700 bg-gray-900/50 p-6",children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)("div",{className:"mb-4 flex h-12 w-12 items-center justify-center rounded-lg bg-black ring-1 ring-white ring-opacity-10",children:(0,a.jsx)(m(),{src:"/products/ai-assistants.svg",width:24,height:24,alt:"AI Assistants icon"})}),(0,a.jsx)("h3",{className:"mb-2 text-xl font-semibold text-white",children:"AI workflows, baked in"})]}),(0,a.jsx)("p",{className:"text-gray-300",children:"Nhost includes an integrated AI service for creating AI agents, managing embeddings, and more, with no extra infra or setup required. Build powerful AI-native apps."})]})]})]}),(0,a.jsxs)(l.m,{component:"section",className:"max-w-4xl py-16",children:[(0,a.jsx)("div",{className:"mb-12 text-center",children:(0,a.jsx)("h2",{className:"mb-4 text-3xl font-bold text-white",children:'"Why we chose Nhost over Supabase"'})}),(0,a.jsxs)(o.Z,{className:"border-gray-700 bg-gray-900/50 p-8",children:[(0,a.jsx)("blockquote",{className:"mb-6 text-lg italic text-gray-300",children:'"One of the main issues we had with Supabase was that the generated APIs weren\'t usable straight away from the client side. This meant that we would have had to recode an entire API layer on top, which would have added unnecessary complexity and slowed down our development process." '}),(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("div",{className:"mr-4 flex h-12 w-12 items-center justify-center rounded-full bg-gradient-to-r from-blue-600 to-purple-600",children:(0,a.jsx)("span",{className:"font-semibold text-white",children:"JS"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-semibold text-white",children:"Alex"}),(0,a.jsx)("div",{className:"text-gray-400",children:"CPTO, Yalink"})]})]})]})]}),(0,a.jsxs)(l.m,{component:"section",className:"max-w-4xl py-16 text-center",children:[(0,a.jsx)("h2",{className:"mb-4 text-3xl font-bold text-white",children:"Not sure yet?"}),(0,a.jsx)("p",{className:"mb-8 text-lg text-gray-300",children:"Read our blog post for a practical evaluation for choosing a backend stack."}),(0,a.jsxs)("div",{className:"flex flex-col justify-center gap-4 sm:flex-row",children:[(0,a.jsxs)(r.$,{href:"https://app.nhost.io/signup",target:"_blank",rel:"noopener noreferrer",className:"text-center text-base",children:["Try Nhost free ",(0,a.jsx)(d.f,{})]}),(0,a.jsx)(r.$,{variant:"outlined",href:"/blog/nhost-vs-supabase-practical-guide-for-growing-teams",className:"text-center text-base",children:"Read full guide"})]})]}),(0,a.jsx)(c.w,{})]})}p.getLayout=function(e){return(0,a.jsx)(i.P,{slotProps:{nextSeo:(0,x.G)({path:"/compare/nhost-vs-supabase",title:"Nhost vs Supabase: The Scalable Alternative",description:"Compare Nhost and Supabase across key capabilities and see why growing teams choose Nhost as a scalable Supabase alternative."})},children:e})}},49647:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/compare/nhost-vs-supabase",function(){return s(9438)}])},53849:(e,t,s)=>{"use strict";s.d(t,{w:()=>i});var a=s(53108),r=s(64312),l=s(76180);
1function i({title:e,subtitle:t,className:s,slotProps:n,...o}){let{component:c,...d}=n?.title||{};return(0,a.jsxs)("div",{className:(0,l.Q)("mx-auto grid max-w-2xl grid-flow-row gap-4 text-center",n?.root?.className,s),...n?.root||{},...o,children:[(0,r.createElement)(c||"h2",{...d,className:(0,l.Q)("font-mona text-3.5xl md:text-4.5xl font-semibold",d.className)},e),t&&(0,a.jsx)("p",{...n?.subtitle||{},className:(0,l.Q)("text-xl font-normal text-white text-opacity-65",n?.subtitle?.className),children:t})]})}},69179:(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var a=s(53108),r=s(76180);function l({className:e,children:t,...s}){return(0,a.jsx)("div",{className:(0,r.Q)("overflow-hidden rounded-md border border-divider p-8",e),...s,children:t})}},78309:(e,t,s)=>{"use strict";s.d(t,{w:()=>x});var a=s(53108),r=s(33910),l=s.n(r),i=s(76180),n=s(59363),o=s(76007),c=s(39009),d=s(67088);function x({className:e,...t}){return(0,a.jsxs)(o.m,{component:"section",className:(0,i.Q)("grid grid-flow-row pt-8 pb-24 lg:pt-12 lg:pb-40",e),...t,children:[(0,a.jsx)(l(),{src:"/images/glowing-logo.png",width:588,height:420,alt:"Glowing logo of Nhost",sizes:"(max-width: 640px) 330px, (max-width: 1200px) 588px, 588px",className:"z-0 mx-auto -translate-x-4 animate-pulse"}),(0,a.jsxs)("div",{className:"z-10 mx-auto -mt-24 grid grid-flow-row content-start justify-items-center gap-4 lg:-mt-32",children:[(0,a.jsxs)("h2",{className:"text-center font-mona text-3.5xl font-semibold md:text-4.5xl",children:["Start building"," ",(0,a.jsx)("span",{className:"bg-gradient-to-br from-brand-light via-brand-main to-brand-dark bg-clip-text text-transparent",children:"your next big thing"})]}),(0,a.jsx)("p",{className:"mx-auto mb-6 max-w-lg text-center text-white text-opacity-80",children:"Get a complete backend up and running in minutes. Focus on building features your users will love, not wrestling with infrastructure. No credit card required for the free tier."}),(0,a.jsxs)("div",{className:"grid w-full max-w-2xl grid-flow-row gap-6 rounded-lg border border-divider bg-paper p-8",children:[(0,a.jsx)("p",{className:"text-center text-base font-medium",children:"Join thousands of developers shipping faster with Nhost"}),(0,a.jsxs)("div",{className:"grid grid-flow-row items-center gap-4 pt-2 md:grid-flow-col md:gap-6",children:[(0,a.jsxs)(n.$,{className:"text-base shadow-lg transition-all duration-300 hover:shadow-xl",href:"https://app.nhost.io/signup",target:"_blank",rel:"noopener noreferrer",children:["Start for free ",(0,a.jsx)(c.f,{})]}),(0,a.jsx)(n.$,{variant:"outlined",className:"text-base",href:"https://cal.com/nunopato",target:"_blank",rel:"noopener noreferrer",children:"Book a demo"}),(0,a.jsxs)("p",{className:"text-base font-medium",children:["Questions? ",(0,a.jsx)(d.N,{href:"mailto:[email protected]",children:"Talk to us"})]})]})]})]})]})}},82447:(e,t,s)=>{"use strict";s.d(t,{P:()=>d});var a=s(53108),r=s(84398),l=s.n(r),i=s(31275),n=s(76180),o=s(8228),c=s(31322);function d({className:e,children:t,slotProps:s,...r}){return(0,a.jsxs)("div",{className:(0,n.Q)("flex min-h-screen flex-col p-4 pb-0 pt-20",l().className),children:[(0,a.jsx)(c.Y,{}),(0,a.jsx)("main",{className:(0,n.Q)("flex-auto",e),...r,children:t}),(0,a.jsx)(o.w,{}),(0,a.jsx)(i.bV,{...s?.nextSeo||{}})]})}},84398:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_8b3a0b"}}},e=>{e.O(0,[5992,7139,636,6593,8792],()=>e(e.s=49647)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.