#Has anyone used Supabase with Gleam/Lustre?

1 messages · Page 1 of 1 (latest)

arctic blade
#

I'm wanting to build an app using Lustre and wondered if anyone has any experience using Supabase with it and how their experience has been?

#

I found some mentions of Supabase in here but couldn't see this specific question. @white jasper have you been able to since this post? #1257996316357693533 message

frozen geyser
#

are you looking for any particular insight

white jasper
arctic blade
#

Thanks @white jasper!

@frozen geyser mostly how easy was it to integrate with. I haven't touched Supabase in a while and I am very new to Gleam/BEAM/functional programming, so I wondered how hard it would be to get up and running using Gleam with Supabase as the backend/db.

fallen stump
#

I was a very heavy user of Supabase and am also a heavy user of Gleam in the same and different apps. I write 70-80% of https://nestful.app in Gleam. It used to be that all the data was in Supabase Postgres, but I've migrated to Yjs which now syncs using a mix of Supabase Storage, "Realtime", and Edge Functions. I also use Supabase Auth.

The current interaction with Supabase is only a few hundred lines of TypeScript glue code, and I intend on keeping it that way. Had I kept the full-blown Postgres implementation I would have probably written an FFI.

Since I've never written one I can't say how smooth of a sailing it would have been. It's certainly easier in some of their products than others.

For the Postgres product, I'd say it's not going to be too bad to bind to the utilities themselves, the functions are chainable so they lend themselves to a Gleam pipe API where you'd send the instance along.

But encoding/decoding and especially error handling... that's going to be a different story.

I'd say be optimistic but approach with caution

#

Let me know if you have any other questions

bronze dagger
#

Works fine. No TS glue, just REST calls directly.
The only thing I don't like is that I don't have any static guarantees. i.e. changing something in supabase will just break the FE.