mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25: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 -->
108 lines
6.2 KiB
Plaintext
108 lines
6.2 KiB
Plaintext
---
|
|
name: Mobbin
|
|
title: How Mobbin migrated 200,000 users from Firebase for a better authentication experience.
|
|
# Use meta_title to add a custom meta title. Otherwise it defaults to '{name} | Supabase Customer Stories':
|
|
# meta_title:
|
|
description: Mobbin helps over 200,000 creators globally search and view the latest design patterns from well-known apps.
|
|
# Use meta_description to add a custom meta description. Otherwise it defaults to {description}:
|
|
meta_description: Mobbin helps over 200,000 creators globally search and view the latest design patterns from well-known apps.
|
|
author: rory_wilding
|
|
author_title: Supabase
|
|
author_url: https://github.com/kiwicopple
|
|
author_image_url: https://avatars2.githubusercontent.com/u/10214025?s=400&u=c6775be2ae667e2acae3ccd347fed62bb3f5b3e7&v=4
|
|
logo: /images/customers/logos/on-light/mobbin.png
|
|
logo_inverse: /images/customers/logos/on-dark/mobbin.png
|
|
tags:
|
|
- supabase
|
|
date: '2023-02-14'
|
|
company_url: 'https://mobbin.design'
|
|
stats:
|
|
[
|
|
{ stat: '00,000', label: Example stat },
|
|
{ stat: '00,000', label: Example stat },
|
|
{ stat: '00,000', label: Example stat },
|
|
]
|
|
misc: [{ label: 'Founded', text: Singapore }]
|
|
about: Mobbin is a comprehensive, expert-curated library of interfaces from the best-in-class digital products that helps product designers find relevant design inspiration and references with significantly less time and effort.
|
|
# "healthcare" | "fintech" | "ecommerce" | "education" | "gaming" | "media" | "real-estate" | "saas" | "social" | "analytics" | "ai" | "developer-tools"
|
|
industry: ['saas', 'developer-tools']
|
|
# "startup" | "enterprise" | "indie_dev"
|
|
company_size: 'startup'
|
|
# "Asia" | "Europe" | "North America" | "South America" | "Africa" | "Oceania"
|
|
region: 'Asia'
|
|
# "database" | "auth" | "storage" | "realtime" | "functions" | "vector"
|
|
supabase_products: ['database', 'auth']
|
|
---
|
|
|
|
Mobbin helps over 200,000 creators globally search and view the latest design patterns from well-known apps.
|
|
Their platform allows creators to search screenshots of mobile apps to inspire product development.
|
|
Creators use Mobbin to combine inspiration and develop new experiences.
|
|
|
|
## From Idea to 30,000 users in one Product Hunt launch
|
|
|
|
The initial concept for Mobbin was just a Dropbox full of screenshots. After sharing with their early users,
|
|
the team tried organizing them into folders but this quickly became unscalable. Clear interest from users encouraged them to build a full website. They used Firebase for the backend and launched on
|
|
[Product Hunt](https://www.producthunt.com/posts/mobbin-1).
|
|
|
|
Mobbin went viral, and within the first week, they had 30,000 users. They have now more than 400,000
|
|
registered users through word of mouth. Their curation continues to attract designers and creators globally.
|
|
|
|

|
|
|
|
## Scaling issues put Mobbin growth at risk
|
|
|
|
Firebase helped the team launch quickly, but at scale, they found Firebase lacked the functionality required for a high-quality user experience.
|
|
|
|
The first problem was duplicate user logins. Firebase Authentication doesn't automatically merge users with the same email address.
|
|
For example, users cannot log in with Google and Facebook if they share the same email address.
|
|
Users struggled to upgrade to a paid account because they couldn't remember which authentication provider they signed up with.
|
|
|
|
Next, they had issues with data integrity. While Firebase has 99.95% uptime, application code can (and does) fail.
|
|
Mobbin didn't want to implement idempotence for every mutative Firebase Function. Between a failed Function execution and a retry,
|
|
a document state might change without strict validation. The team could never be confident their data had the level of integrity they required.
|
|
|
|
Finally, the team grew concerned with their increasing Firebase bill. Because of the document-based data structure,
|
|
their API requests required several round trips. At one point, they were making 5 million API requests per month.
|
|
These round trips made their website slow and led to a notable time investment hacking together a fix.
|
|
|
|

|
|
|
|
## Migrating to Supabase
|
|
|
|
Mobbin's initial product gave them a comprehensive understanding of customer requirements. For their second version,
|
|
they needed a better authentication experience, fairer pricing, and a relational database to deliver a quality
|
|
application sustainable for their business model.
|
|
|
|
The team found Supabase and realized it covered all the bases. Not only that, their team had experience with the
|
|
tools open source tools that Supabase is built with.
|
|
|
|
[Authentication](https://supabase.com/auth), built using [GoTrue](https://github.com/supabase/gotrue), instantly solved their users' login issues.
|
|
Under the hood, Supabase is just Postgres, and Jian Jie (co-founder and CTO of Mobbin) knows this is one of the best battle-tested
|
|
open source relational databases.
|
|
|
|
They decided that moving to Supabase was a no-brainer. The process itself was smooth - the real challenge was validating their
|
|
data integrity due to historical failures on their serverless functions.
|
|
|
|
Mobbin is now successfully running on top of Supabase, with superior performance compared to their old Firebase setup.
|
|
Because Supabase does not charge based on API requests, Mobbin significantly reduced their monthly spending without maintaining a custom backend.
|
|
|
|
<Quote img="jian-mobbin.jpg" caption="Jian Jie Liau, Co-founder and CTO at Mobbin.">
|
|
<p>Migrating to Supabase meant that we could instantly fix our Auth problems and save money.</p>
|
|
<p>
|
|
Just being on Supabase alone gives us confidence we can deliver on whatever users need in the
|
|
future.
|
|
</p>
|
|
<p>
|
|
The cool thing is now we know under the hood it's just Postgres, it really does feel like
|
|
anything is possible for the future of our product
|
|
</p>
|
|
</Quote>
|
|
|
|
## Supabase saves Mobbin time and money
|
|
|
|
Migrating to Supabase helped the team at Mobbin instantly improve the end-user experience and save costs.
|
|
They now add new features with confidence, and they continue to help creators all over the globe find inspiration for their next project.
|
|
You can [check out Mobbin on their website](https://mobbin.design/browse/ios/apps).
|
|
|
|
[Sign up](https://supabase.com/dashboard/) for Supabase's Free Plan and set up a scalable backend in less than 2 minutes.
|