Hi HN! I’m Dillon, the founder of Celest (<a href="https://celest.dev">https://celest.dev</a>). 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:
<a href="https://www.youtube.com/watch?v=Evs1f0zHpzk" rel="nofollow">https://www.youtube.com/watch?v=Evs1f0zHpzk</a><p>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.<p>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!<p>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 <i>celest start</i> to spin up a local
environment with hot reload, and <i>celest deploy</i> 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.<p>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!
<a href="https://github.com/celest-dev/celest/tree/main/packages/corks_cedar">https://github.com/celest-dev/celest/tree/main/packages/cork...</a><p>You can download the CLI at <a href="https://celest.dev">https://celest.dev</a> and play in a local environment
for free with no sign ups. The client runtime is open-sourced as BSD at
<a href="https://github.com/celest-dev/celest">https://github.com/celest-dev/celest</a>. There are some examples here:
<a href="https://github.com/celest-dev/celest/tree/main/examples">https://github.com/celest-dev/celest/tree/main/examples</a>.<p>Check us out and let us know what you think!<p>[1] <a href="https://research.google/pubs/macaroons-cookies-with-contextual-caveats-for-decentralized-authorization-in-the-cloud/" rel="nofollow">https://research.google/pubs/macaroons-cookies-with-contextu...</a><p>[2] <a href="https://www.cedarpolicy.com/en" rel="nofollow">https://www.cedarpolicy.com/en</a>
I played around with Flutter a couple years ago for a project that required a mobile app, and walked away really impressed with Flutter and Dart. It's a much, much nicer language for building UI in compared to React Native and even the native languages. But the backend story with Dart was very much neglected. I got the feeling that Flutter's main developers at Google were the driving force behind Dart development, and the lack of backend adoption for Dart at Google was causing it to wither on the vine for backend purposes.<p>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?
Looks interesting. What are your plans for the backend - will self-hosting be an option?<p>Right now this looks fine for a hobby project, but massive lock-in/risk for production (what if you shut down, get bought up etc?).
I just listened to a podcast episode of the Flying High with Flutter podcast [1] where Celest founder, Dillon, was on as a guest. He came across as capable, hungry to get Celest out into the world, and focussed on solving problems around running dart in the cloud. All the best, Dillon, I'm looking forward to see where Celest goes!<p>[1] <a href="https://podcasts.apple.com/us/podcast/celest-the-flutter-cloud-platform/id1562119447?i=1000648188575" rel="nofollow">https://podcasts.apple.com/us/podcast/celest-the-flutter-clo...</a>
That looks cool, reminds me of long ago when I happily used Heroic, even though Celest is very different.<p>Question: I know a few Clojure enthusiasts who really enjoy Clojure+Dart backend. Is Celest compatible for this workflow?
Question for OP:<p>Obviously you are committed to Flutter and Dart.<p>Where do you see it going, broadly?<p>I’ve used Flutter a small amount and enjoyed it.<p>But it’s a hard sell to commit fully to it.<p>The alternatives of native tooling on iOS, Android and the web are not contentious choices.<p>Whereas suggesting to a team or decision maker that Flutter is the right choice seems like it could be an uphill battle!<p>As a solo dev making choices for clients that want a cross platform solution I can pitch Flutter as a somewhat rational choice against the cost of seperate builds for iOS and Android. Maybe, depending….<p>Then there’s the Google factor… what if they get bored and kill Flutter!?
Hey folks, I've created an open source app example using Celest, complete with tests and all. If think it demonstrates Celest use quite well. Here it is:<p><a href="https://github.com/marcglasberg/SameAppDifferentTech/tree/main/MobileAppFlutterCelest">https://github.com/marcglasberg/SameAppDifferentTech/tree/ma...</a>
Neat! Looks like you are using Flutter for the web front-end, is that right?<p>I remember folks complaining about Flutter in the browser. Did that get fixed to an acceptable degree? And does that obviate the complexity of typical SPA framework on the frontend? With similar power?
Great work Dillon!<p>As you know the current setup with langpal's API is literally just next API routes from the marketing site. Bit of a strange and hacky coupling haha.<p>Can't wait to see and use this!
Excelent news! Excuseme but where can i manage my free celest-cloud? i could run celest deploy with success but now i dont know how to use it and keep with the testings :D
The free plan says it includes
"5,000 function invocations / project"<p>I presume that's per month, not just 5000 free then pay up?<p>How does this compare to hosted AppWrite, which also lets you write backend cloud functions in Dart?