mirror of
https://github.com/supabase/supabase.git
synced 2026-10-10 03:45:06 +03:00
## What kind of change does this PR introduce?
Chore: rename customer logo folders and document the theme contract. No
intended visual change, aside from Phoenix Energy whose two marks were
in the wrong folders.
## What is the current behavior?
Customer logos live at:
- `/images/customers/logos/{slug}.png` (`logo`, light mode)
- `/images/customers/logos/light/{slug}.png` (`logo_inverse`, dark mode)
`light/` actually means “use me on a dark background”.
## What is the new behavior?
Same assets, clearer paths:
- `/images/customers/logos/on-light/{slug}.png` → dark/black mark →
`logo` → light mode
- `/images/customers/logos/on-dark/{slug}.png` → light/white mark →
`logo_inverse` → dark mode
Icon chips stay at `/images/customers/logos/{slug}-icon.svg`. Old
`/images/customers/logos/light/*` URLs redirect to `on-dark`. www README
now has the contract.
# To test
Use the [www
preview](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app).
Toggle light/dark from the site header on each page. Logos should stay
readable (no white-on-white or black-on-black).
1. [Customers
grid](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/customers)
— main `logo` / `logo_inverse` surface. Spot-check Juniver, Phoenix
Energy, and one other card.
2. [Phoenix Energy
story](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/customers/phoenix-energy)
— story header uses `logo` only (on-light, plus a dark-mode brightness
filter). We swapped this pair.
3.
[Homepage](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/)
— “How industry leaders…” section. Icon chips only (`*-icon.svg`); the
wordmark `logo` field is unused here.
4. [Solutions /
Agents](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/agents)
— Chatbase quote near the top shows both theme variants. Same pattern on
[/healthcare](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/healthcare),
[/finserv](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/finserv),
and
[/b2b-saas](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/b2b-saas).
5. [Contact
sales](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/contact/sales)
— Good Tape / Xendit / Chatbase wordmarks (`on-light`). Same logos on
the demo form at
[/solutions/enterprise](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/enterprise).
6.
[Enterprise](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/solutions/enterprise)
— Mozilla / Epsilon3 / Pebblely icons in the use-cases section
(`on-dark`).
7.
[Vector](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/modules/vector)
— customer quotes. This is the only page that builds `on-light` /
`on-dark` paths at runtime from the customer slug.
8. [Mobbin
event](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/events/migrating-from-firebase-mobbin)
— company logo uses event `logo` / `logo_light` (dark vs light).
Optional second:
[/events/scale-to-millions-goodtape-auth](https://zone-www-dot-com-git-dnywh-chorecustomer-logo-o-0d7bc1-supabase.vercel.app/events/scale-to-millions-goodtape-auth).
Quick extra: hover **Product** in the site nav. The customer story
thumbnail uses `imgUrl` (`on-light`).
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Documentation
- Clarified customer logo requirements, including separate light and
dark asset locations, monochrome formats, and dark PNG assets for image
generation.
## Updates
- Standardized customer logos across stories, events, sales pages,
solution pages, testimonials, and generated images.
- Improved logo rendering across light and dark themes with dedicated
variants.
- Added permanent redirects for legacy logo URLs while preserving
filename suffixes.
## Tests
- Added coverage verifying legacy logo redirects resolve correctly,
including supported exceptions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
127 lines
8.0 KiB
Plaintext
127 lines
8.0 KiB
Plaintext
---
|
||
name: Bree
|
||
title: "Bree's Migration to Supabase from Fauna"
|
||
# Use meta_title to add a custom meta title. Otherwise it defaults to '{name} | Supabase Customer Stories':
|
||
# meta_title:
|
||
description: Bree found 10X performance gains, greater developer velocity, and a better foundation for AI when switching to Supabase.
|
||
# Use meta_description to add a custom meta description. Otherwise it defaults to {description}:
|
||
meta_description: Discover how Bree found 10X performance gains, developer velocity, and a better foundation for AI when switching to Supabase.
|
||
author: prashant
|
||
author_title: Prashant Sridharan
|
||
author_url: https://github.com/CoolAssPuppy
|
||
author_image_url: https://avatars.githubusercontent.com/u/914007?v=4
|
||
logo: /images/customers/logos/on-light/bree.png
|
||
logo_inverse: /images/customers/logos/on-dark/bree.png
|
||
tags:
|
||
- supabase
|
||
date: '2025-04-08'
|
||
company_url: https://www.trybree.com
|
||
stats: [{ stat: '00,000', label: Example stat }]
|
||
misc: [{ label: 'Founded', text: 'Canada' }]
|
||
about: Helping people living paycheck-to-paycheck access better, faster financial products.
|
||
# "healthcare" | "fintech" | "ecommerce" | "education" | "gaming" | "media" | "real-estate" | "saas" | "social" | "analytics" | "ai" | "developer-tools"
|
||
industry: ['fintech', 'non-bank financial service']
|
||
# "startup" | "enterprise" | "indie_dev"
|
||
company_size: 'startup'
|
||
# "Asia" | "Europe" | "North America" | "South America" | "Africa" | "Oceania"
|
||
region: 'North America'
|
||
# "database" | "auth" | "storage" | "realtime" | "functions" | "vector"
|
||
supabase_products: ['database', 'auth', 'functions', 'vector']
|
||
---
|
||
|
||
<Quote img="ryan-han-bree.png" caption="Ryan Han, Head of Engineering and AI, Bree">
|
||
We hit scalability limits with Fauna, and Supabase was a step up across the board. The developer
|
||
experience, ecosystem, support for AI. It’s the complete package.
|
||
</Quote>
|
||
|
||
## Breaking free from the limitations of Fauna
|
||
|
||
[Bree](https://www.trybree.com) is a Canadian FinTech startup focused on helping over 20 million Canadians living paycheck to paycheck access better, faster financial products. As the company scaled, it needed to move quickly, experimenting, shipping features, and iterating on user feedback in near real time. But their initial backend stack was holding them back.
|
||
|
||
Bree had originally built their infrastructure on Fauna, a NoSQL database with a proprietary query language (FQL). The limitations quickly surfaced.
|
||
|
||
<Quote img="ryan-han-bree.png" caption="Ryan Han, Head of Engineering and AI, Bree">
|
||
Fauna’s custom language, FQL, introduced friction in our development process. It took time to
|
||
learn and made it harder for our team to iterate and ship at the speed we needed.
|
||
</Quote>
|
||
|
||
Engineering velocity suffered. Teams couldn’t iterate on product features without hitting roadblocks, and performance tuning became an ongoing challenge.
|
||
|
||
And when Fauna announced its end of life, it only added urgency. Bree needed a replacement quickly, and it had to be developer-friendly, scalable, and suitable for AI-powered product development.
|
||
|
||
## Choosing Supabase
|
||
|
||
Bree had long been aware of Supabase. Supabase had earned its reputation among builders and indie developers for its ease of use and instant setup. But what sold Bree was how well Supabase aligned with their long-term technical goals.
|
||
|
||
<Quote img="ryan-han-bree.png" caption="Ryan Han, Head of Engineering and AI, Bree">
|
||
Builders around the world use Supabase for exciting projects. It is so intuitive that developers
|
||
can start building immediately and ship production-ready features in a day.
|
||
</Quote>
|
||
|
||
After a thorough evaluation of vendors, Bree chose Supabase for several reasons:
|
||
|
||
- A fully managed Postgres foundation gave the team the performance and reliability they wanted without having to learn a new language.
|
||
- A tightly integrated suite of tools: [Auth](/auth), [Edge Functions](/edge-functions), [Vectors](/modules/vector), and more.
|
||
- A rich ecosystems of partners and plugins
|
||
|
||
<Quote img="ryan-han-bree.png" caption="Ryan Han, Head of Engineering and AI, Bree">
|
||
It’s almost the default database for AI-first development. It’s integrated with Lovable, with V0,
|
||
and with Cursor—which we use heavily. Supabase just fits.
|
||
</Quote>
|
||
|
||
Performance benchmarks and onboarding experience also played a key role. “Supabase had the best onboarding experience, the best performance benchmarks, and the best developer experience,” said Han.
|
||
|
||
Even beyond the product, Bree valued Supabase’s commitment to supporting startups. “Their attitude toward startups like us made the whole package very attractive.”
|
||
|
||
## A thoughtful migration strategy with zero downtime
|
||
|
||
Migrating from Fauna’s NoSQL architecture to a relational Postgres database required careful coordination. Bree took a phased approach, designed to minimize disruption, avoid downtime, and ensure full data integrity along the way.
|
||
|
||
Phase one focused on replicating Fauna’s schemas in Supabase using Postgres `jsonb` columns to accommodate Fauna’s document-style structure. Bree built ETL pipelines and verification scripts to ensure data consistency across both platforms. This dual-write phase ensured every read and write operation was fully synchronized.
|
||
|
||
<Admonition>
|
||
Read our blog post on [migrating from Fauna to Supabase](/blog/migrating-from-fauna-to-supabase).
|
||
</Admonition>
|
||
|
||
One of the primary challenges was handling type mismatches. Bree built conversion scripts to synchronize NoSQL data types with Postgres.
|
||
|
||
Once they verified the sync was intact, Bree were able to switch off Fauna and have Supabase as the main primary database.
|
||
|
||
Phase two, now underway, is focused on modularizing the data model, splitting large documents into normalized tables. This will allow Bree to take full advantage of Postgres performance and query flexibility.
|
||
|
||
## 10X performance gains, developer velocity, and a better foundation for AI
|
||
|
||
The results of Bree’s migration to Supabase have been immediate and measurable. Engineers can ship faster, performance is up across the board, and Supabase has become a foundational part of the team’s AI-driven development workflow.
|
||
|
||
<Quote img="ryan-han-bree.png" caption="Ryan Han, Head of Engineering and AI, Bree">
|
||
After migrating to Supabase, we saw immediate lift in developer velocity. Engineers can iterate on
|
||
features much faster by writing Postgres SQL queries.
|
||
</Quote>
|
||
|
||
Latency improvements are notable. Bree has observed double-digit reductions in response times across core functions and expects further gains as their architecture is optimized for Supabase.
|
||
|
||
<Quote img="ryan-han-bree.png" caption="Ryan Han, Head of Engineering and AI, Bree">
|
||
It already has double-digit latency improvements. With further optimization, some functions were
|
||
10x faster.
|
||
</Quote>
|
||
|
||
Supabase has also enhanced Bree’s ability to develop AI-first features. They’re able to use the [Supabase MCP Server](/docs/guides/getting-started/mcp) to power their development in Cursor. As Bree expands its AI initiatives, Supabase’s native support for vector databases and seamless integrations make it the clear choice for long-term scalability.
|
||
|
||
## Why Supabase?
|
||
|
||
Bree’s journey reflects the reasons developers and fast-moving teams choose Supabase:
|
||
|
||
- **Faster time to market** – Supabase eliminates backend friction, enabling teams to build and ship faster
|
||
- **Integrated suite of tools** – Developers get a complete platform including Postgres, Auth, Edge Functions, Vectors, and more
|
||
- **AI-native infrastructure** – Supabase supports tools like Cursor and `pgvector` out of the box, making it ideal for AI-powered development
|
||
- **Built to scale** – With high availability, backups, and a flexible Postgres foundation, Supabase is ready for growth
|
||
|
||
<Quote img="ryan-han-bree.png" caption="Ryan Han, Head of Engineering and AI, Bree">
|
||
Supabase puts your mind at ease. It has the best support experience I’ve ever seen. It’s a
|
||
disruptive technology to bring to any organization. It’s very worth switching to.
|
||
</Quote>
|
||
|
||
## **Ready to build and scale with Supabase?**
|
||
|
||
Start your journey today at [www.supabase.com](/)
|