Blog post

Supabase Beta April 2021

2021-05-05

5 minute read

Supabase Beta April 2021

This month was a "gardening" month for Supabase. The team focused on stability, security, and community support. Check out what we were working on below, as well as some incredible Community contributions.

Quick demo

Watch a full demo:

Light Mode

We're a developer tool, which means that Dark Mode is extremely popular.

This poll on twitter shows that 78.5% of our developer base use Dark Mode for the IDE

While Dark mode is great, for some people it's not an option. Dark Mode is difficult to use for developers with astigmatisms, or even just working in brightly-lit environments.

So today we're shipping Light Mode. Access it in the settings of your Dashboard.

Translations

With the help of the community, we started internationalizing our main repository:

Map of the world

OpenAPI spec for Storage

We released Storage Api docs built using OpenAPI (swagger).

Storage API documentation

Stripe Sync Engine (Experimental)

We open-sourced a server which keeps any Postgres database in sync with Stripe. This is experimental only. We're evaluating other tools such as Singer, which provide a more general solution (but are less "realtime"), and we're opening it up here to gather feedback.

Stripe sync engine

Community spotlight: Threaded comments

One of the most powerful Postgres features is "recursive CTEs" which can be used for nested items (comments, pages, friend-graphs). @lawrencecchen has built a full Threaded Comments demo which you can Deploy with a single click. Want to add comments to your blog with Full Text Search? Just use Postgres.

Community spotlight: SupaScript

It looks like @burggraf2 got tired of waiting for us to ship Functions, and decided to build a whole JS ecosystem within his Supabase database. If you want to write PG functions in JS, import remote libraries from the web, and console log to your browser, check out this SupaScript repo.

// After installing:
// https://github.com/burggraf/SupaScript#installation

/**
 * Get all users who logged in this week.
 * Use in the database:  select * from users_this_week();
 * Use in the browser:   supabase.rpc('users_this_week');
 */
create or replace function users_this_week()
returns json as $$
  const moment = require('https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.js', false);

  const lastWeek = moment().subtract(7, 'days');
  const query = 'select * from auth.users where created_at > $1'
  const users = sql(query, lastWeek);

  return users;
$$ language plv8;

Community spotlight: Fireship

Fireship reviewed Supabase last week, and despite being a (self-proclaimed) Firebase fan-boy, the review was very impartial.

Community

Supabase GitHub Star Growth

Stars from github

Source: repository.surf/supabase

If you want to keep up to date, make sure you subscribe to our YouTube channel or follow us on Twitter.

Coming Next

You might have noticed our Dashboard slowly changing (improving), as we migrate the components out to our open source UI Library. This progression is an important step towards offering a UI for Local Development and Self Hosting.

We're also working on our Workflows engine. This is quite a large task, but we're making progress and aiming to ship sometime in July.

One more thing

We started hiring.

screenshot of our hiring page

Get started

Share this article

Last post

Supabase Beta May 2021

2 June 2021

Next post

Supabase Beta March 2021

6 April 2021

Related articles

How to build a real-time multiplayer game with Flutter Flame

Supabase Beta January 2023

Supabase Clippy: ChatGPT for Supabase Docs

Storing OpenAI embeddings in Postgres with pgvector

Supabase Beta December 2022

Build in a weekend, scale to millions