At 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...