Hi HN! I’m Dillon, the founder of Celest (
https://celest.dev). Celest is a
backend-as-a-service that lets you build full-stack Flutter and Dart apps
without leaving your IDE. There’s a short demo video here:
https://www.youtube.com/watch?v=Evs1f0zHpzkAt AWS, I built the Amplify Flutter framework and saw the extraordinary power
(and complexity) the modern cloud presents. I wore many hats in that role, but
the hat I most disliked was devops. I just wanted to write my business logic and
have it work.
As a Flutter developer, I love writing Dart, and I want to use it everywhere.
But in order to do so today, it requires stringing together Docker, Terraform
and a healthy dose of cloud expertise to make it work.
I built Celest so that I never have to use anything but Dart in my
backends, and so other Flutter developers won’t either!
Celest brings infrastructure-from-code to Dart in a way that’s fun to write.
Cloud functions are just top-level Dart functions and the inputs and outputs are
automatically serialized for you. Run celest start to spin up a local
environment with hot reload, and celest deploy to deploy to our managed cloud
in under a few minutes. A type-safe client is generated for you as you build to
create an RPC-like interface for your backend.
Celest currently offers serverless functions, authentication, and authorization.
Our goal for the coming months is to further offer an offline-first SQL database
and ORM. One cool thing about our authorization mechanism is a novel token
format which combines Google’s Macaroons [1] with the Cedar policy language [2]
for expressing caveats. I call them Corks!
https://github.com/celest-dev/celest/tree/main/packages/cork...
You can download the CLI at https://celest.dev and play in a local environment
for free with no sign ups. The client runtime is open-sourced as BSD at
https://github.com/celest-dev/celest. There are some examples here:
https://github.com/celest-dev/celest/tree/main/examples.
Check us out and let us know what you think!
[1] https://research.google/pubs/macaroons-cookies-with-contextu...
[2] https://www.cedarpolicy.com/en
Is the ecosystem support improving here? People end up needing libraries for all kinds of backend stuff, not just auth and SQL like you have on your roadmap. What about sending emails, hooking into payment providers / billing, queues/pubsub, observability...? Doesn't this need to exist first, to make building backends in Dart feasible, before building a framework that makes it easier?