Skip to content

Commit

Permalink
Merge branch 'supabase:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
nipundev authored Aug 21, 2023
2 parents 9af353f + 838fd20 commit 982dbf9
Show file tree
Hide file tree
Showing 86 changed files with 1,958 additions and 1,296 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ export async function GET(req: NextRequest) {

### Sign out

Let's create an route handler to handle the signout from the server side.
Let's create a route handler to handle the signout from the server side.

<Tabs
scrollable
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/pages/guides/platform/maturity-model.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Resources:

Once your application is live, you should never change your database using the Dashboard. Supabase provides various [access levels](https://supabase.com/docs/guides/platform/access-control) for the Dashboard that can help enforce this. Some other important things to consider at this point include:

- Read the [Production Checklist](docs/guides/platform/going-into-prod).
- Read the [Production Checklist](/docs/guides/platform/going-into-prod).
- Make your team aware of the [Shared Responsibilities](/docs/guides/platform/shared-responsibility-model) between your organization and Supabase.
- Design a [safe workflow](https://supabase.com/docs/guides/platform/shared-responsibility-model#you-decide-your-own-workflow) for managing your database. We strongly recommend running [multiple environments](/docs/guides/cli/managing-environments) as part of your development workflow (`local` -> `staging` -> `prod`).
- As your database to grows, we strongly recommend moving to [Point-in-Time Recovery](/docs/guides/platform/backups#point-in-time-recovery). This is safer and has less impact on your database performance during maintenance windows.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ import 'https://deno.land/x/[email protected]/mod.ts'
import { createClient } from 'https://esm.sh/@supabase/[email protected]'
import GPT3Tokenizer from 'https://esm.sh/[email protected]'
import { Configuration, OpenAIApi } from 'https://esm.sh/[email protected]'
import { stripIndent } from 'https://esm.sh/[email protected]'
import { oneLine, stripIndent } from 'https://esm.sh/[email protected]'
import { supabaseClient } from './lib/supabase'

export const corsHeaders = {
Expand Down
28 changes: 16 additions & 12 deletions apps/www/_customers/berriai.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: Berri AI
title: Berri AI Boosts Productivity by Migrating from AWS RDS to Supabase with pgvector
title: Berri AI boosts productivity by migrating from AWS RDS to Supabase Vector
# Use meta_title to add a custom meta title. Otherwise it defaults to '{name} | Supabase Customer Stories':
# meta_title:
meta_title: Berri AI boosts productivity by migrating from AWS RDS to Supabase Vector
description: Learn how Berri AI overcame challenges with self-hosting their vector database on AWS RDS and successfully migrated to Supabase.
# Use meta_description to add a custom meta description. Otherwise it defaults to {description}:
meta_description: Learn how Berri AI overcame challenges with self-hosting their vector database on AWS RDS and successfully migrated to Supabase.
Expand Down Expand Up @@ -42,29 +42,31 @@ Initially, Berri AI attempted to develop with AWS RDS to reduce latency and gain

## Why they chose Supabase:

Berri AI migrated their vector database from AWS RDS to Supabase for several compelling reasons.
Berri AI migrated their vector database from AWS RDS to Supabase for several compelling reasons:

1. **Community:** After considering alternatives like pgvector, Pinecone, and Chroma, they prioritized a solution with a strong and accessible community, along with managed infrastructure.
1. **Community:** After considering alternatives like Pinecone and Chroma, they prioritized a solution with a strong and accessible community, along with [managed infrastructure](https://supabase.com/docs/guides/platform).
2. **Fewer services to manage:** Since they were already utilizing Supabase for other purposes, it made sense for Berri AI to consolidate their systems and avoid the complexities of self-hosting. One of the major pain points they faced with their previous setup was managing connection pools and handling errors with the Postgres database hosted on AWS. This involved writing extensive code and dealing with rollbacks, with each database update function requiring 40-50 lines of code. Supabase simplified this process significantly by condensing it to just one line of code, eliminating the burdens of managing dependencies and handling new errors. This significantly improved their update velocity, which had a huge impact on their productivity.
3. **Better tooling:** Berri AI experienced frustration with pg_admin. Supabase's user-friendly interface offered a seamless and efficient way to manage and read tables, eliminating the need for pg_admin and providing a simple alternative. This streamlined their workflow and saved valuable time and effort. The accessibility of Supabase's client SDKs and intuitive interface played a crucial role in their decision as well. Team members who were not database experts found it easy to navigate and make changes, reducing reliance on specialized expertise and improving their overall workflow.
4. **Simplicity:** Supabase provides the ability to add new columns in a no-code manner, which provided flexibility and agility in responding to evolving requirements. This feature empowered the team to make on-the-fly adjustments and meet their immediate needs effectively.
5. **Flexibility:** Berri AI also appreciated Supabase's flexibility in allowing them to choose their preferred embedding method, as it was not tied to a specific embedding model. This ensured compatibility and adaptability for their specific use case.
5. **Flexibility:** Berri AI also appreciated Supabase's flexibility in allowing them to choose their [preferred embedding method](https://supabase.com/docs/guides/ai/quickstarts/generate-text-embeddings), as it was not tied to a specific embedding model. This ensured compatibility and adaptability for their specific use case.

The integration of pgvector on Supabase, which facilitated efficient storage and retrieval of vectors, proved to be a significant advantage for Berri AI's operations.
The migration to [Supabase Vector](https://supabase.com/vector), which facilitated efficient storage and retrieval of vectors, proved to be a significant advantage for Berri AI's operations.

<Quote img="krrish-d.png" caption="Krrish D. - Co-Founder & CEO, Berri AI">
Switching to Supabase was a game-changer for us. The faster view times allowed me to quickly
access and debug data, enhancing my ability to analyze individual customer issues. The no-code
option to add new columns on the fly was fantastic, enabling us to adapt swiftly.
Switching to Supabase Vector was a game-changer for us. The faster view times allowed me to
quickly access and debug data, enhancing my ability to analyze individual customer issues. The
no-code option to add new columns on the fly was fantastic, enabling us to adapt swiftly.
</Quote>

## What They Built

Berri AI built a platform that enables developers to create and manage custom ChatGPT instances for each individual user, integrating seamlessly with their unique data.

![BerriAI is backed by YCombinator](/images/customers/berriai/berriai-image.jpeg)

With Berri AI, businesses can rapidly scale the power of ChatGPT to cater to the needs of every user. The platform provides an out-of-the-box solution for managing a fleet of ChatGPT instances, offering businesses the ability to deliver personalized responses to user queries. This includes answering specific questions related to order status, monthly revenue, or generating personalized learning experiences in the education technology (EdTech) sector, such as summarizing lecture slides or generating practice questions from textbooks.

The platform's integration with Supabase and pgvector empowers businesses to unlock the full potential of ChatGPT and deliver customized solutions for a wide range of use cases.
The platform's integration with Supabase empowers businesses to unlock the full potential of ChatGPT and deliver customized solutions for a wide range of use cases.

<Quote img="ishaan-jaffer.png" caption="Ishaan Jaffer - Co-Founder & CTO, Berri AI">
With Supabase, my life has become much easier. Previously, managing connection pools and dealing
Expand All @@ -77,12 +79,14 @@ The platform's integration with Supabase and pgvector empowers businesses to unl

## The Results

Berri AI achieved significant improvements in their operations by choosing Supabase with pgvector. They experienced streamlined database management, increased update velocity, and improved efficiency in accessing and debugging data. The user-friendly interface and flexibility of Supabase empowered non-experts within the team and facilitated agile adaptations to changing requirements. Overall, this decision transformed their workflow, enhancing productivity and positioning Berri AI for continued success and growth.
Berri AI achieved significant improvements in their operations by choosing Supabase Vector. They experienced streamlined database management, increased update velocity, and improved efficiency in accessing and debugging data. The user-friendly interface and flexibility of Supabase empowered non-experts within the team and facilitated agile adaptations to changing requirements. Overall, this decision transformed their workflow, enhancing productivity and positioning Berri AI for continued success and growth.

To learn more about how Supabas Vector can help you store vector embeddings at scale and build AI apps with ease, [reach out to us](https://forms.supabase.com/enterprise).

## Tech stack

- Supabase
- Zeet
- AWS
- OpenAI
- Hugging Face
- Supabase
10 changes: 6 additions & 4 deletions apps/www/_customers/happyteams.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: HappyTeams
title: HappyTeams unlocks better performance and reduces cost with Supabase.
# Use meta_title to add a custom meta title. Otherwise it defaults to '{name} | Supabase Customer Stories':
# meta_title:
meta_title: HappyTeams unlocks better performance and reduces cost with Supabase.
description: How a bootstrapped startup migrated from Heroku to Supabase in 30 minutes and never looked back.
# Use meta_description to add a custom meta description. Otherwise it defaults to {description}:
meta_description: How a bootstrapped startup migrated from Heroku to Supabase in 30 minutes and never looked back.
Expand Down Expand Up @@ -32,11 +32,11 @@ about: HappyTeams is a purpose-built solution that empowers management to unlock

> Finding a painless and hands-free database experience to support growth
[HappyTeams](https://happyteams.io/) is a growing startup with an ambitious vision. The company is bootstrapped, so technical resources are scarce. Devs need to do more with less. This means staying laser-focused on delivering features, rather than database timeouts or performance issues.
HappyTeams is a growing startup with an ambitious vision. The company is bootstrapped, so technical resources are scarce. Devs need to do more with less. This means staying laser-focused on delivering features, rather than database timeouts or performance issues.

The company launched its app on Heroku Postgres. But one year in, they were experiencing scaling issues. They needed to handle thousands of users while also shipping new features and building out integrations. Issues with database slowness and concurrent connections were holding them back.

Michael Dever, the founder and CTO of HappyTeams, realized it was time for a change. A large overhaul of the app in early 2022 presented the opportunity to do so: "When you're in that first sprint of building a product, you're kind of locked with that first database decision you make. When we did a rebuild, it was time to look at something like Supabase."
Michael Dever, founder and CTO of HappyTeams, realized it was time for a change. A large overhaul of the app in early 2022 presented the opportunity to do so: "When you're in that first sprint of building a product, you're kind of locked with that first database decision you make. When we did a rebuild, it was time to look at something like Supabase."

![HappyTeams Home Page](/images/blog/2023-02-16-case-study-happyteams/happyteams-home-page.png)

Expand All @@ -58,7 +58,7 @@ There were four main factors that led HappyTeams to switch from Heroku Postgres

## Supabase provides a fast and reliable production database

After a 30 minute migration, HappyTeams can iterate quickly, add new features, and improve their product based on customer feedback
After a 30-minute migration, HappyTeams can iterate quickly, add new features, and improve their product based on customer feedback

Once they made the decision, migrating from Heroku to Supabase was simple. HappyTeams completed their database migration in less than an hour using pg_dump and pg_restore.

Expand All @@ -74,3 +74,5 @@ Thanks to Supabase's ease of use and reliability, HappyTeams can iterate quickly
When we needed to add a comments feature to our app, we could get it done in just two days.
Supabase is really like a dream come true for a developer.
</Quote>

Supabase is one of the best free alternatives to Heroku Postgres. Migrate your Heroku Postgres database to Supabase with this [guide](https://supabase.com/docs/guides/resources/migrating-to-supabase/heroku).
36 changes: 19 additions & 17 deletions apps/www/_customers/markprompt.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Markprompt and Supabase - GDPR-Compliant AI Chatbots for Docs and Websites.
title: Markprompt and Supabase - GDPR-compliant AI chatbots for docs and websites.
name: Markprompt
description: AI-powered chatbot platform, Markprompt, empowers developers to deliver efficient and GDPR-compliant prompt experiences on top of their content, by leveraging Supabase's secure and privacy-focused database and authentication solutions.
description: AI-powered chatbot platform, Markprompt, empowers developers to deliver efficient and GDPR-compliant prompt experiences on top of their content, by leveraging Supabase's secure and privacy-focused vector database and authentication solutions.
author: paul_copplestone
author_title: Supabase
author_url: https://github.com/kiwicopple
Expand Down Expand Up @@ -33,18 +33,18 @@ Markprompt is an AI-powered chatbot platform that simplifies the process of find

## The Challenge

When developing the platform, Markprompt considered GDPR compliance crucial as it enabled them to handle user data responsibly, maintain data privacy, and foster trust and confidence among their customers. As a result, the choice of a robust database and authentication solution became vital in ensuring adherence to GDPR requirements.
When developing the platform, Markprompt considered GDPR compliance crucial as it enabled them to handle user data responsibly, maintain data privacy, and foster trust and confidence among their customers. As a result, the choice of a robust vector database and authentication solution became vital in ensuring adherence to GDPR requirements.

Markprompt has successfully indexed over half a million sections of content, with a steady influx of 10,000 - 50,000 new sections daily. This emphasizes the significance of their vector database solution in terms of reliability and scalability.
Markprompt has successfully indexed over half a million sections of content, with a steady influx of 10,000 - 50,000 new sections daily. This emphasizes the significance of [Supabase Vector](https://supabase.com/vector) in terms of reliability and scalability.

<Quote img="michael-fester.jpeg" caption="Michael Fester - Co-Founder, Markprompt">
We decided to use Supabase over other specialized vector databases because it enabled us to be
GDPR compliant from day one with little effort.
</Quote>

## Why they chose Supabase:
## Why they chose Supabase

By utilizing a trusted solution like Supabase for their database and authentication needs, Markprompt can implement access controls, user consent management, and audit trails, which are essential elements for GDPR compliance. This ensures that personal data is handled with care, protected from unauthorized access, and enables Markprompt to meet the strict data protection standards set forth by the GDPR.
By utilizing a trusted solution like Supabase for their vector database and authentication needs, Markprompt can implement access controls, user consent management, and audit trails, which are essential elements for GDPR compliance. This ensures that personal data is handled with care, protected from unauthorized access, and enables Markprompt to meet the strict data protection standards set forth by the GDPR.

Markprompt were also impressed with the ease of use and scalability of Supabase. The platform allowed them to focus on building their product, knowing that they had a powerful and reliable database solution backing them up.

Expand All @@ -55,7 +55,7 @@ Markprompt were also impressed with the ease of use and scalability of Supabase.

## What They Built

Markprompt is a set of API endpoints that allow you to train your content and create a prompt to ask questions to it, for instance for a docs site. Markprompt also designed a user-friendly web dashboard that simplifies content training, synchronization with GitHub repos or websites, access key management, and provides insights into user query statistics. Furthermore, Markprompt's UI components, available as React and Web Components, allow integration of prompts at all touch points of a company, from public websites to internal knowledge bases with just a few lines of code.
Markprompt is a set of API endpoints that allow you to train your content and create a prompt to ask questions to it, for instance for a docs site. Markprompt also designed a user-friendly web dashboard that simplifies content training, synchronization with GitHub repos or websites, access key management, and provides insights into user query statistics. Furthermore, Markprompt's UI components, available as React and Web Components, allow the integration of prompts at all touch points of a company, from public websites to internal knowledge bases with just a few lines of code.

Like Supabase, Markprompt is an open-source platform, allowing customers the freedom to host the dashboard and model backend on their own premises. Markprompt warmly welcomes contributions from the community, fostering collaboration and continuous improvement of the platform to meet the evolving needs of developers and technical users.

Expand All @@ -66,16 +66,18 @@ Like Supabase, Markprompt is an open-source platform, allowing customers the fre

## The Results

Choosing Supabase as their database and authentication solution empowered Markprompt to focus on developing innovative AI-powered solutions without compromising data security or impeding scalability. The seamless integration between Supabase and pgvector enabled them to meet the increasing demands of their expanding user base while upholding stringent GDPR requirements. Consequently, companies gain trust and confidence in the platform, solidifying its reputation as a robust enterprise offering.
Choosing Supabase as their vector database and authentication solution empowered Markprompt to focus on developing innovative AI-powered solutions without compromising data security or impeding scalability. The seamless integration between Supabase and pgvector enabled them to meet the increasing demands of their expanding user base while upholding stringent GDPR requirements. Consequently, companies gain trust and confidence in the platform, solidifying its reputation as a robust enterprise offering.

To learn more about how Supabase Vector can help you store vector embeddings at scale and build GDPR-compliant apps, [reach out to us](https://forms.supabase.com/enterprise).

## Tech stack

- Next.js - framework
- Vercel - hosting
- Typescript - language
- Tailwind - CSS
- Upstash - Redis and rate limiting
- Supabase - database and auth
- Stripe - payments
- Plain - support chat
- Fathom - analytics
- Next.js
- Vercel
- Typescript
- Tailwind
- Upstash
- Supabase
- Stripe
- Plain
- Fathom
Loading

0 comments on commit 982dbf9

Please sign in to comment.