Files
supabase/apps/www/_customers/bree.mdx
Danny White ba107edbda chore(www): clarify image paths (#41451)
## What kind of change does this PR introduce?

Frontmatter name change.

## What is the current behavior?

We repeatedly mistake `thumb` for `image` and visa versa, meaning the
wrong images are used for Open Graph and in-site thumbnails on blog
posts. Events and case studies use the same naming convention too.

## What is the new behavior?

These two bits of frontmatter are renamed for clarity:

  - Blog posts: `imgThumb` + `imgSocial`

That mapping for blog posts:

- `thumb` is now `imgThumb`
- `image` is now `imgSocial`

These related bits remain as-is:

  - Events
  - Case studies

The
[www/README.md](https://github.com/supabase/supabase/blob/dnywh/chore/blog-image-frontmatter/apps/www/README.md#best-practices)
file has been expanded to clarify all of the above. It now also provides
instructions on image optimisation.

## To test

A lot of files were touched here. Please help make sure:

- [ ] The CMS works as intended. This is the **biggest unknown**.
- [x] All blog posts render the correct image as their on-site thumbnail
and Open Graph image. You can test the latter by firing up a draft
iMessage. Online Open Graph services like Facebook cache images, so
aren’t reliable.
- [x] All events render their correct images
- [x] All case studies render their correct images
- [x] All customer stories render their correct images ([known
issue](https://supabase.slack.com/archives/C072FL5KKKP/p1768888063209359?thread_ts=1768885681.502169&cid=C072FL5KKKP),
predates this work)
2026-01-29 11:29:26 +11:00

127 lines
8.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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/bree.png
logo_inverse: /images/customers/logos/light/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](/)