diff --git a/apps/docs/content/guides/platform/migrating-to-supabase/firebase-auth.mdx b/apps/docs/content/guides/platform/migrating-to-supabase/firebase-auth.mdx
index e33c787357..bc3dd362df 100644
--- a/apps/docs/content/guides/platform/migrating-to-supabase/firebase-auth.mdx
+++ b/apps/docs/content/guides/platform/migrating-to-supabase/firebase-auth.mdx
@@ -88,4 +88,4 @@ For more advanced migrations, including the use of a middleware server component
## Enterprise
-[Contact us](https://forms.supabase.com/enterprise) if you need more help migrating your project.
+[Contact us](https://forms.supabase.com/firebase-migration) if you need more help migrating your project.
diff --git a/apps/docs/content/guides/platform/migrating-to-supabase/firebase-storage.mdx b/apps/docs/content/guides/platform/migrating-to-supabase/firebase-storage.mdx
index 3704d6dd6f..345e3e6daf 100644
--- a/apps/docs/content/guides/platform/migrating-to-supabase/firebase-storage.mdx
+++ b/apps/docs/content/guides/platform/migrating-to-supabase/firebase-storage.mdx
@@ -67,4 +67,4 @@ If the bucket doesn't exist, it's created as a `non-public` bucket. You must set
## Enterprise
-[Contact us](https://forms.supabase.com/enterprise) if you need more help migrating your project.
+[Contact us](https://forms.supabase.com/firebase-migration) if you need more help migrating your project.
diff --git a/apps/docs/content/guides/platform/migrating-to-supabase/firestore-data.mdx b/apps/docs/content/guides/platform/migrating-to-supabase/firestore-data.mdx
index 063eecdbad..3121f96901 100644
--- a/apps/docs/content/guides/platform/migrating-to-supabase/firestore-data.mdx
+++ b/apps/docs/content/guides/platform/migrating-to-supabase/firestore-data.mdx
@@ -211,4 +211,4 @@ The result is two separate JSON files:
## Enterprise
-[Contact us](https://forms.supabase.com/enterprise) if you need more help migrating your project.
+[Contact us](https://forms.supabase.com/firebase-migration) if you need more help migrating your project.
diff --git a/apps/www/_alternatives/supabase-vs-firebase.mdx b/apps/www/_alternatives/supabase-vs-firebase.mdx
index 3bb86c83e1..17470aa777 100644
--- a/apps/www/_alternatives/supabase-vs-firebase.mdx
+++ b/apps/www/_alternatives/supabase-vs-firebase.mdx
@@ -1,69 +1,121 @@
---
title: Supabase vs Firebase
description: Supabase is the Postgres development platform with a SQL based Database, Auth, and Cloud Functions
-author: ant_wilson
+author: prashant
tags:
- comparison
-date: '2022-05-26'
+date: '2025-08-20'
toc_depth: 3
---
-## What is Firebase?
-
-Now owned by Google, Firebase is a collection of tools aimed at mobile and web developers. At its core is the Firestore database.
-
-Firestore allows you to store “documents”. These are collections of key:value pairs where the value can be another sub-document. Document based storage is perfect for unstructured data, since two documents in a collection do not necessarily need to have the same structure.
-
-Firebase also offers other things that web developers find useful like an auth service for user management, and wrappers for other Google services such as Cloud Functions, and File Storage.
+Firebase and Supabase both promise to give teams a full‑featured backend without managing servers. Firebase, owned by Google, combines a NoSQL database with authentication, file storage and serverless functions. Supabase is an open‑source alternative [built on Postgres](/docs/guides/database/overview) that offers similar services—[auth](/docs/guides/auth), [storage](/docs/guides/storage), [real‑time](/docs/guides/realtime), and [functions](/docs/guides/functions), but with the predictability of SQL and the freedom to self‑host. Choosing between them depends on how your application models data, how you plan to scale, and your tolerance for vendor lock‑in.
## What is Supabase?
-Supabase is the Postgres development platform. Instead of being built around a document-based datastore, Supabase offers a relational database management system called PostgreSQL. This comes with a few advantages:
+Supabase is an open‑source backend platform that runs on **Postgres**. Each project comes with a dedicated Postgres database, an auto‑generated REST and GraphQL API, real‑time subscriptions, and storage, all tied together with **Row‑Level Security (RLS)**. RLS policies are written in SQL and allow you to define granular access rules using the same language you use for your data. Because Supabase’s core services are built on open technologies like Postgres and GoTrue, you can run Supabase locally or host it yourself using Docker or community tools such as Kubernetes or Terraform.
-- It’s open source, so there is zero lock in.
-- You can query it with SQL, a proven and powerful query language.
-- It has a long track record of being used at scale.
-- It’s the database of choice for transactional workloads (think apps and websites, or other things that require near-instant responses to queries).
-- It comes with decades of [useful postgres extensions and plug-ins](https://supabase.com/docs/guides/database/extensions).
+## What is Firebase?
-At Supabase we’ve always been huge fans of Firebase - so we started adding a few things on top of PostgreSQL in an attempt to reach feature parity, including:
+Firebase is a managed platform owned by Google. It includes Cloud Firestore (a document‑oriented NoSQL database), authentication, Cloud Storage for files and Cloud Functions for backend logic. Firestore stores data as JSON‑like documents grouped in collections. The SDKs automatically cache documents on the device so apps can read, write and listen to data while offline; changes are synchronized when the device reconnects[.](https://firebase.google.com/docs/firestore/manage-data/enable-offline#:~:text=Cloud%20Firestore%20supports%20offline%20data,to%20the%20Cloud%20Firestore%20backend) Firestore supports *collection group queries*, which let you query across collections with the same name. To handle relational data you often denormalize documents or perform multiple queries in code.
-- Auto-generated API - [query your data straight from the client](https://supabase.com/docs/guides/api#rest-api-overview).
-- Realtime - [changes in your data will be streamed directly to your application](https://supabase.com/docs/reference/dart/subscribe).
-- Auth - [a simple to integrate auth system and SQL based rules engine](https://supabase.com/auth).
-- Functions - [javascript and typescript functions that deploy out globally](https://supabase.com/edge-functions).
-- Storage - [hosting images, videos, and pdfs easily](https://supabase.com/storage).
+## Core architecture and database
-## How are they similar?
+| Feature | Firebase | Supabase |
+| ------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
+| **Database type** | Document database (Cloud Firestore) | Relational database (Postgres) |
+| **Data model** | Schemaless JSON; subcollections; no native joins | Structured tables with foreign keys and indexes |
+| **Transactions** | Supports transactions and batched writes | Full ACID transactions built into Postgres; you can execute complex joins, subqueries and data transformations in SQL |
+| **Offline support** | Firestore caches actively used data on the client so you can read/write while offline; changes sync when connectivity returns | Supabase clients use Postgres directly; offline access requires your own caching strategy and works with Zero, Electric, |
+| **API access** | Client SDKs for web, Android, iOS and server environments; REST/gRPC endpoints | Auto‑generated REST API via PostgREST and GraphQL API via pg_graphql |
+| **Self‑hosting** | Not supported; services run on Google Cloud | Fully self‑hostable via Docker or on your own cloud |
-Both Firebase and Supabase are based on the idea of bringing a superior developer experience to databases. With both platforms you can spin up a new project from directly inside the browser without the need to download any extra tools or software to your machine. Both platforms come with a useful dashboard UI for debugging your data in realtime, which is especially useful for fast iterations when in development.
+Firestore’s schemaless design makes it easy to prototype. As data relationships grow more complex, you must handle joins in the client or denormalize your data. Supabase’s Postgres foundation gives you SQL’s expressive power, foreign keys, and indexes from day one.
-Both Firebase and Supabase have invested heavily in client side libraries so you can communicate with your database directly from the client. Firebase has their [Firebase Javascript SDK](https://github.com/firebase/firebase-js-sdk) and Supabase has [supabase-js an isomorphic client](https://github.com/supabase/supabase-js/) that can be used both on the client also on the server in a node-js environment.
+## Authentication and user management
-## How are they different?
+| Feature | Firebase | Supabase |
+| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
+| **Login methods** | Email/password, phone, anonymous and OAuth providers; additional SAML and OpenID Connect support requires upgrading to *Firebase Authentication with Identity Platform* | Email/password, OAuth providers (Google, GitHub, Apple, etc.), SMS and custom providers |
+| **Enterprise auth** | The Identity Platform upgrade enables multi‑factor auth, SAML and OIDC | SSO, SAML and OIDC are available on Pro and Enterprise plans without changing SDKs |
+| **Access control** | Security Rules use a domain‑specific language and differ for Firestore, Storage and Functions | Row‑Level Security (RLS) policies written in SQL control access across the database |
+| **Offline auth** | The client SDK persists auth tokens locally and handles session renewal | Session management integrates with Postgres; tokens are validated on the server |
+| **Customization** | Custom auth requires writing Cloud Functions or backend services | You can write custom policies and logic in SQL; column‑level security enables field‑level restrictions |
-Firebase and Supabase differ in several ways. The main one being that Firebase is a document store, whereas Supabase is based on PostgreSQL - a relational, SQL-based database management system.
+Firebase Authentication is easy to set up for email/password and social logins. Enterprise features such as SAML/OIDC and blocking functions require upgrading to the Identity Platform and come with new usage limits[.](https://firebase.google.com/docs/auth#:~:text=iOS%20%20%20135%20Web,192%20Unity) Supabase Auth integrates with Postgres, so you can enforce complex policies using SQL and upgrade to SSO or enterprise auth features without changing products.
-There are some other important differences.
+## Serverless functions and backend logic
-### Open Source
+| Feature | Firebase | Supabase |
+| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
+| **Runtime** | Cloud Functions run on Google’s infrastructure. You write code in JavaScript or TypeScript and deploy through the Firebase CLI; Python support is available in the second‑generation runtime | Edge Functions run on Deno and are globally distributed at the edge for low‑latency execution |
+| **Languages** | JavaScript, TypeScript and Python (2nd gen) | TypeScript (via Deno); you can also call third‑party APIs or write SQL from functions |
+| **Triggers** | HTTP requests, Firestore, auth events, Storage, pub/sub and scheduled jobs | HTTP requests, scheduled jobs and other triggers; functions can call Postgres directly through the `supabase-js` client |
+| **Cold start** | Functions run in a managed environment; cold starts can vary depending on region and load | Edge Functions start quickly because Deno’s runtime is lightweight and runs close to users |
-Supabase is open source. Along with the hosted cloud platform, you can also take the Supabase stack and host it inside your own cloud or run it locally on your machine. There is no vendor lock in.
+Firebase Cloud Functions integrate tightly with other Firebase products and support a wide range of triggers. Supabase Edge Functions are TypeScript functions that run on Deno at edge locations. They talk directly to your Postgres database, which simplifies tasks like handling webhooks or building custom APIs.
-### Pricing
+## Storage and file management
-[Firebase charges for reads, writes and deletes](https://firebase.google.com/pricing), which can lead to some unpredictability, especially in the early stages of a project when your application is in heavy development. Supabase [charges based on the amount of data stored](https://supabase.com/pricing), with breathing room for unlimited API requests and an unlimited number of Auth users.
+| Feature | Firebase | Supabase |
+| ----------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
+| **Underlying platform** | Cloud Storage for Firebase (built on Google Cloud Storage) | S3‑compatible object store integrated with Postgres |
+| **Resumable uploads** | The web SDK provides `uploadBytesResumable()`and methods to pause, resume or cancel an upload | Built‑in support for resumable uploads; each upload is recorded in a Postgres table |
+| **Access control** | Security Rules use a separate rules language for Storage | Storage metadata is stored in Postgres and protected by the same RLS policies as the rest of your data |
+| **Image tools** | No built‑in transformations (you can add Firebase Extensions for resizing) | Built‑in image transformations and CDN delivery |
+| **Free tier** | Spark plan includes 5 GB of Cloud Storage in select regions; additional usage is billed by region and operation | Free plan allows files up to 50 MB and 1 GB total storage; Pro/Team plans allow up to 500 GB per file and include CDN |
-### Performance
+Firebase Storage is reliable and integrates with the auth SDK. Pricing depends on region and includes separate charges for storage, bandwidth and operations. Supabase Storage integrates with Postgres: metadata is stored in a table, so you can apply the same RLS policies you use elsewhere[.](/docs/guides/storage/security/access-control#:~:text=Supabase%20Storage%20is%20designed%20to,RLS) Free plans include 50 MB per file, and Pro plans raise that limit to hundreds of gigabytes.
-We created a benchmarking repo where you can compare the performance of both services in different scenarios. Our most recent results show that [Supabase outperforms Firebase by up to 4x](https://github.com/supabase/benchmarks/issues/8) on number of reads per second, and 3.1x on writes per second.
+## Open source vs. proprietary
-## How do I migrate from Firebase to Supabase?
+| Feature | Firebase | Supabase |
+| ------------------ | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Core platform** | Proprietary managed services hosted by Google; client SDKs are open source. No self-hosting option. | Fully open source; core components such as Postgres, GoTrue and PostgREST are licensed under permissive licenses, and you can run Supabase yourself |
+| **Self‑hosting** | Not available | Supported via CLI and Docker; community tools exist for Kubernetes, Terraform and other platforms |
+| **Governance** | Maintained by Google | Community‑driven with a public roadmap and contribution model |
+| **Vendor lock‑in** | Tight coupling to Google Cloud products | Portable architecture; you can move between Supabase Cloud and self‑hosted deployments without rewriting your app |
-Since Firebase is document based, migrating into a relational database requires you to map your data structure across into a SQL schema. Luckily we’ve built a [handy conversion tool to do it for you](https://supabase.com/docs/guides/migrations/firestore-data).
+Firebase provides a polished, fully managed experience. Supabase embraces open source: you can inspect the code, contribute to improvements and, if needed, host your own Supabase instance.
-We also have guides and tools for [migrating Firebase Auth to Supabase Auth](https://supabase.com/docs/guides/migrations/firebase-auth) for [migrating Firebase Storage files to Supabase Storage](https://supabase.com/docs/guides/migrations/firebase-storage).
+## Pricing and cost comparison
-These are by far the most complete Firebase to Postgres migration tools available anywhere on the web.
+| Feature | Firebase | Supabase |
+| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| **Free tier** | Spark plan includes a limited free quota—for example, Firestore allows 50,000 document reads and 20,000 writes per day, Storage includes 5 GB in select regions and Cloud Functions are limited | Supabase’s free plan includes unlimited API requests, 50,000 monthly active users, 500 MB database storage, 1 GB file storage and 5 GB bandwidth |
+| **Billing model** | Pay‑as‑you‑go; you pay per document read, write, delete and per function invocation[.](https://firebase.google.com/docs/firestore/pricing#:~:text=Document%20reads%2050%2C000%20per%20day,transfer%2010%20GiB%20per%20month) Pricing varies by region and can be hard to predict | Transparent tiered pricing: pay for database storage, file storage, and compute. There are no charges for API requests, and you can track usage from the dashboard |
+| **Self‑hosting** | Not supported | Available—self‑hosting lets you control costs and comply with regulatory requirements |
-You can [try Supabase for free](https://supabase.com/dashboard). If you require Enterprise level support with your project or migration, please get in touch using our [Enterprise contact form](https://forms.supabase.com/enterprise).
+Firebase’s usage‑based pricing can surprise teams as their apps grow because every document read, write or listener contributes to cost[.](https://firebase.google.com/docs/firestore/pricing#:~:text=Document%20reads%2050%2C000%20per%20day,transfer%2010%20GiB%20per%20month) Supabase offers predictable tiers and does not bill per request, which can simplify budgeting[.](/pricing#:~:text=Get%20started%20with%3A)
+
+## Ecosystem, extensibility and community
+
+| Feature | Firebase | Supabase |
+| ------------------------ | --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
+| **Platform integration** | Deep integration with Google Cloud services such as BigQuery, Cloud Functions and Firebase ML | Built on Postgres; you can leverage Postgres extensions, listen to database events and integrate with third‑party services |
+| **Extensions** | Firebase Extensions provide pre‑built functionality (e.g., image resizing, Stripe sync) | Postgres extensions (50+ preconfigured) add features like full‑text search, vector similarity and custom data types |
+| **SDKs** | Official SDKs for web, Android, iOS, Unity, C++ and more | Official JavaScript client and community clients for Go, Rust, Dart and other languages |
+| **Community** | Support via GitHub issues, Stack Overflow and Firebase Summit | Active open‑source community with GitHub discussions, the SupaSquad advocacy program and third‑party integrations |
+| **Self‑hosting tools** | None | Community‑maintained packages for Terraform, Kubernetes and BYO cloud |
+
+Firebase benefits from Google’s ecosystem and has mature SDKs for many platforms. Supabase leverages the Postgres ecosystem and open‑source contributions; you can extend it with Postgres extensions or third‑party packages.
+
+## Scalability and performance
+
+Firestore scales automatically and handles real‑time synchronization for simple use cases. Queries are shallow and cannot traverse relationships; collection group queries allow searching across collections with the same name[.](https://firebase.blog/posts/2019/06/understanding-collection-group-queries/#:~:text=In%20the%20past%2C%20you%20could,are%20in%20a%20single%20subcollection) Firestore caches data on the client so offline access is good. Deep querying often requires multiple reads or denormalized data, which can increase costs[.](https://firebase.google.com/docs/firestore/pricing#:~:text=Document%20reads%2050%2C000%20per%20day,transfer%2010%20GiB%20per%20month)
+
+Supabase inherits Postgres’s mature scaling features. You can perform joins, subqueries and full‑text search in a single SQL statement. Transactions guarantee consistency, and indexes keep queries fast. Real‑time updates are delivered via Postgres logical replication, and connection pooling and read replicas can be added as your load grows. Because Supabase is built on a relational database, data remains strongly consistent, and performance tuning is well understood in the Postgres ecosystem.
+
+## Migrating from Firebase to Supabase
+
+Many teams start with Firebase for fast prototyping and switch to Supabase when their data model becomes relational or costs become unpredictable. A typical migration involves two phases:
+
+1. **Run both services side by side.** Export your Firestore collections and import them into Supabase—initially as JSON or JSONB columns—while your app continues to read from Firebase. Then incrementally swap Firebase SDK calls for Supabase queries.
+2. **Normalize your data.** Refactor JSON into proper Postgres tables, add foreign keys and indexes and write RLS policies. This is when you begin to enjoy SQL’s power and simplified code.
+
+Supabase provides [open‑source migration tools](/docs/guides/platform/migrating-to-supabase). There is a utility for [migrating Firebase Authentication to Supabase Auth](/docs/guides/platform/migrating-to-supabase/firebase-auth) by exporting users and re‑creating them in Postgres, another for [copying Firestore collections to Postgres tables](/docs/guides/platform/migrating-to-supabase/firestore-data), and a tool for [migrating files from Cloud Storage to Supabase Storage](/docs/guides/platform/migrating-to-supabase/firebase-storage). These tools are maintained on GitHub and have been used by startups to migrate tens of thousands of users with minimal downtime.
+
+## Conclusion
+
+Firebase offers an excellent developer experience for prototypes and simple applications. It excels at real‑time synchronization and has a generous free tier. Supabase provides a similar developer experience with a relational core. By building on Postgres and open‑source components, Supabase gives you SQL queries, ACID transactions, RLS and the option to self‑host. For teams that anticipate complex data relationships, need fine‑grained access control, or want predictable costs and open‑source flexibility, Supabase is a compelling alternative.
+
+Need help migrating from Firebase to Supabase? [Contact](https://forms.supabase.com/firebase-migration) our Firebase Migration Team.
diff --git a/apps/www/_blog/2025-08-12-supabase-auth-build-vs-buy.mdx b/apps/www/_blog/2025-08-12-supabase-auth-build-vs-buy.mdx
new file mode 100644
index 0000000000..bcc842f0e8
--- /dev/null
+++ b/apps/www/_blog/2025-08-12-supabase-auth-build-vs-buy.mdx
@@ -0,0 +1,175 @@
+---
+title: 'Supabase Auth: Build vs. Buy'
+description: 'The reasons why (and why not) to use Supabase Auth instead of building your own.'
+categories:
+ - auth
+tags:
+ - auth
+date: '2025-08-12:10:00'
+toc_depth: 2
+author: prashant
+image: supabase-auth-build-vs-buy/supabase-auth-build-vs-buy-og.png
+thumb: supabase-auth-build-vs-buy/supabase-auth-build-vs-buy-og.png
+---
+
+Authentication appears in nearly every application but is rarely the core value proposition. Yet development teams often spend weeks or months building, testing, and maintaining auth systems. Let's explore the real costs of building authentication from scratch versus using a solution like Supabase Auth.
+
+## How Supabase Auth works under the hood
+
+Before diving into the cost analysis, it's important to understand what Supabase Auth is:
+
+1. **Postgres-native authentication**: Supabase Auth stores users directly in your Postgres database in the `auth.users` table, not in a separate service
+2. **JWT-based**: Authorization give you total control over security
+3. **Row Level Security integration**: Seamlessly connects authentication with Postgres's RLS policies
+4. **Hybrid token architecture**: Supabase Auth issues stateless JWTs for access control, while maintaining refresh tokens and session data in your Postgres database for secure, persistent login
+
+## The hidden costs of building your own auth
+
+When teams decide to build authentication, they're often thinking about the initial implementation only. But auth requires ongoing maintenance that can drain resources from your core product development. You need to consider:
+
+- The time investment required to build auth from scratch
+- The ongoing maintenance required to keep auth functioning properly
+- The security risks associated with running auth systems yourself
+- The considerable time and skills involved in adding new authentication protocols
+
+Even if you were to begin your auth investments using open-source projects, it’s typical for these open-source projects to be abandoned. This requires significant investments in upkeep and maintenance on your part.
+
+### Time investment
+
+Building basic authentication functionality typically requires:
+
+- **2-4 weeks** for a senior developer to implement email/password login, session management, and password reset functionality
+- **1-2 weeks** for implementing each additional auth provider (Google, GitHub, etc.)
+- **1-2 weeks** for security reviews and penetration testing
+- **1-3 weeks** for implementing MFA and other security features
+- **8+ weeks** for implementing SAML (which, itself, requires significant maintenance investment)
+
+This assumes you already have expertise in security best practices, JWT handling, and session management.
+
+### Ongoing maintenance
+
+Authentication isn't a "build once and forget" component:
+
+- Security vulnerabilities require immediate attention
+- Auth providers regularly update their APIs and requirements
+- Password storage standards evolve
+- Compliance requirements change over time
+- User management features grow more complex as you scale
+- New features, such as supporting one-time access codes, become more important
+
+Borrowing engineering time to maintain auth systems is a sub-optimal use of resources.
+
+### Security risks
+
+Authentication is security-critical infrastructure where mistakes can be catastrophic:
+
+- Token management vulnerabilities, such as session tokens
+- Password storage failures, such as weak hashing
+- Session handling issues
+- CSRF/XSS vulnerabilities
+
+These issues often aren't apparent until a breach occurs, with potentially devastating consequences. For most businesses, the time spent hardening and re-hardening auth systems, to say nothing of the time required and reputational hit caused by having to fix compromised auth systems, is simply not worth it when weighed against other priorities.
+
+## The Supabase Auth approach
+
+Supabase takes a different approach by providing authentication that's:
+
+1. **Integrated with your database**: Supabase Auth is deeply integrated with your Postgres instance via the `auth` schema. It stores user data in the `auth.users` table, manages tokens with Postgres functions and triggers, and integrates seamlessly with Row Level Security (RLS) for fine-grained access control, all without requiring you to manage auth logic in your own code.
+2. **Open source**: No vendor lock-in, with the ability to self-host if needed.
+3. **Developer-focused**: Simple APIs with client libraries for major frameworks.
+4. **Secure**: Supabase maintains security best practices for token issuance, password hashing (using `bcrypt`), and provider updates so you don’t have to monitor every standards update. However, developers are still responsible for securely handling user data and managing secure client environments.
+5. **Extensible**: Edge Functions enable custom auth logic to implement post-signup profile creation, role assignment based on domains, and third-party webhooks for things like sending Discord invites or syncing with your CRM.
+
+### Time to market
+
+Using Supabase Auth typically means:
+
+- **30 minutes to 2 hours**: Basic implementation time for email/password auth
+- **15-30 minutes**: Adding each additional provider (Google, GitHub, etc.)
+- **1-2 days**: Implementing row-level security policies
+- Security updates handled by Supabase
+
+This represents a 90-95% reduction in time-to-production compared to building from scratch.
+
+### Cost comparison
+
+Beyond the direct engineering time, there's the opportunity cost of resources diverted from your core product:
+
+| Activity | Build (hours) | Supabase Auth (hours) |
+| ------------------------- | ------------------ | --------------------- |
+| Initial implementation | 160-320 | 4-16 |
+| Adding social providers | 40-80 per provider | 0.5-1 per provider |
+| Security updates (yearly) | 40-120 | 0 |
+| User management features | 80-160 | 0-8 |
+| Total first year (est.) | 320-680 | 4-24 |
+
+At an average engineering cost of $150/hour, that's $47,400-$98,700 saved in the first year alone. For most companies, the 320-680 hours invested in building their own auth system could be channeled towards, at minimum, one category-defining feature.
+
+### Flexibility
+
+Supabase Auth supports:
+
+- Email/password authentication
+- Magic link (passwordless) login
+- Phone auth via Twilio integration
+- OAuth providers (Google, GitHub, Azure, Apple, etc.)
+- Custom claims and user metadata
+- JWT and session-based auth
+- Row-level security integration
+- Passkey support (coming soon)
+
+All without writing the underlying authentication code yourself.
+
+## Choosing between Supabase Auth and Auth0
+
+Many teams evaluate Supabase Auth against Auth0, another popular authentication service. Here's how they compare:
+
+| Feature | Supabase Auth | Auth0 |
+| ------------------------ | ---------------------------------------------- | ----------------------------------------- |
+| **Architecture** | Postgres-native, self-hostable | Cloud-only SaaS, proprietary |
+| **Pricing Model** | Based on compute and storage | Per monthly active user (MAU) |
+| **Database Integration** | Direct Postgres RLS | Separate system from your database |
+| **Enterprise Features** | Self-hosting for compliance | Built-in SAML, LDAP, compliance tools |
+| **Developer Experience** | Code-first, flexible APIs, Supabase UI Library | Dashboard-driven, extensive UI components |
+| Open Source | Fully open source | Closed source |
+| **Customization** | Full source code access | Rules, Actions, and Hooks |
+
+**Choose Supabase Auth when:**
+
+- You're already using Postgres and want direct database integration
+- You need cost predictability at scale (no per-user pricing)
+- You value open source and potential self-hosting
+- You prefer a code-first, API-driven approach
+
+**Choose Auth0 when:**
+
+- You need enterprise features like SAML and LDAP out of the box
+- You have complex multi-tenant B2B requirements
+- You need extensive compliance certifications immediately
+
+Both are excellent choices, but Supabase Auth typically offers significant cost advantages at scale while providing deeper database integration.
+
+## When should you build your own auth?
+
+Despite the advantages of Supabase Auth, there are legitimate reasons to build your own:
+
+1. **Specialized compliance requirements**: If you have unique regulatory needs that off-the-shelf solutions don't address
+2. **Deep integration with legacy systems**: When you need authentication tightly coupled with existing proprietary systems
+3. **Extremely unique authentication flows**: For highly specialized authentication requirements not supported by existing providers
+
+## Making the decision
+
+When considering whether to build or buy authentication, ask yourself:
+
+1. Is authentication a core differentiator for our product?
+2. Do we have security expertise on our team?
+3. Are we prepared to maintain this critical infrastructure indefinitely?
+4. Could the engineering time be better spent on our core value proposition?
+
+For most applications, authentication is essential infrastructure but not a competitive advantage. Using Supabase Auth lets you focus on what makes your application unique while leveraging battle-tested security.
+
+## Getting started
+
+- [Read the documentation](/docs/guides/auth). Implementing Supabase Auth takes just a few lines of code.
+- Try our [quickstart guide](/docs/guides/getting-started/quickstarts/nextjs). Supabase offers framework-specific packages that handle auth state, protected routes, and server-side rendering.
+- [Contact us](/contact/sales) if you want a more detailed analysis of Supabase Auth for your business, including pricing estimates and comparisons.
diff --git a/apps/www/public/images/blog/supabase-auth-build-vs-buy/supabase-auth-build-vs-buy-og.png b/apps/www/public/images/blog/supabase-auth-build-vs-buy/supabase-auth-build-vs-buy-og.png
new file mode 100644
index 0000000000..21ff7ad72b
Binary files /dev/null and b/apps/www/public/images/blog/supabase-auth-build-vs-buy/supabase-auth-build-vs-buy-og.png differ
diff --git a/apps/www/public/images/logos/publicity/fixed-width/soshi.svg b/apps/www/public/images/logos/publicity/fixed-width/soshi.svg
new file mode 100644
index 0000000000..b9d17d7026
--- /dev/null
+++ b/apps/www/public/images/logos/publicity/fixed-width/soshi.svg
@@ -0,0 +1,4 @@
+
diff --git a/apps/www/public/images/logos/publicity/soshi.svg b/apps/www/public/images/logos/publicity/soshi.svg
new file mode 100644
index 0000000000..274049317c
--- /dev/null
+++ b/apps/www/public/images/logos/publicity/soshi.svg
@@ -0,0 +1,4 @@
+
diff --git a/apps/www/public/rss.xml b/apps/www/public/rss.xml
index 8ec0f09ffe..e9c5ad184c 100644
--- a/apps/www/public/rss.xml
+++ b/apps/www/public/rss.xml
@@ -5,9 +5,16 @@
https://supabase.com
Latest news from Supabaseen
- Fri, 18 Jul 2025 00:00:00 -0700
+ Tue, 12 Aug 2025 00:00:00 -0700
+ https://supabase.com/blog/supabase-auth-build-vs-buy
+ Supabase Auth: Build vs. Buy
+ https://supabase.com/blog/supabase-auth-build-vs-buy
+ The reasons why (and why not) to use Supabase Auth instead of building your own.
+ Tue, 12 Aug 2025 00:00:00 -0700
+
+https://supabase.com/blog/launch-week-15-top-10Top 10 Launches of Launch Week 15
https://supabase.com/blog/launch-week-15-top-10