April Beta 2021

May 5, 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.

This is also available as a blog post and a video demo.

Light Mode#

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

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:

OpenAPI spec for Storage#

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

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.

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.


_18
// After installing:
_18
// https://github.com/burggraf/SupaScript#installation
_18
_18
/**
_18
* Get all users who logged in this week.
_18
* Use in the database: select * from users_this_week();
_18
* Use in the browser: supabase.rpc('users_this_week');
_18
*/
_18
create or replace function users_this_week()
_18
returns json as $$
_18
const moment = require('https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.js', false);
_18
_18
const lastWeek = moment().subtract(7, 'days');
_18
const query = 'select * from auth.users where created_at > $1'
_18
const users = sql(query, lastWeek);
_18
_18
return users;
_18
$$ language plv8;

Community#

Supabase Github Star Growth

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.

Get started#

Build in a weekend, scale to millions