Recent submissions

Comment · 2 years ago
That's very cool :-)
Comment · 2 years ago
This looks awesome! Thanks for making it open source.

We are currently using SQLite heavily in our stack and DuckDB has been on my list of things to explore for a while. What's been your primary use case at TigerEye?

Will definitely dive into this more. Embedded DBs are a breath of fresh air when you're building full-stack.

Comment · 2 years ago
The ecosystem support is improving, and still needs help. I think we can drive both in parallel so that the framework feeds use cases to the ecosystem which then lead to more complex backends. It's hard to put one before the other, but can be a really powerful flywheel.

Although it's not listed on my landing, it is absolutely a goal of Celest to be a funnel for these use cases and partner with the community as we go to fill the gaps.

Comment · 2 years ago
Comment · 2 years ago
Flutter is currently required for the parent app, but I'll be lifting that requirement very soon. Stay tuned!
Comment · 2 years ago
Ah, gotcha! The choice to use Flutter Web in the demo was just for presentational effect. Celest is built to work with all of the Flutter platforms equally.
Comment · 2 years ago
Right now, we're using Docusaurus, which has been working well: https://github.com/celest-dev/website

Though, Flutter Web has come a long ways recently, especially with the WASM work that's underway [1][2]. Flutter is very well positioned, I think, for web applications requiring a lot of interactivity and complex layouts--the DX is phenomenal. For static sites, it's very hard to beat a pure HTML/CSS/JS stack in terms of speed and optimization potential.

That being said, I think there's a good chance we'll see more work on Dart web frameworks going forward. Projects like Zap[3] and Jaspr[4] and doing great work in this area already. And it's safe to say we may see a Celest Web framework one day!

[1] https://flutter.dev/wasm

[2] https://flutterweb-wasm.web.app

[3] https://pub.dev/packages/zap

[4] https://pub.dev/packages/jaspr

Comment · 2 years ago
Nice! Glad to hear it :-)
Comment · 2 years ago
> It could be part of the service contract.

Agreed. I'll look into how we can add that.

Comment · 2 years ago
Cheers!
Comment · 2 years ago
> How do you handle versioning? Are there any guidelines/rules one must abide by?

Versioning is not fully fleshed out yet, but we have an open issue for it here: https://github.com/celest-dev/celest/issues/4

It's a problem I want to tackle correctly, so that you'd need to put as little thought into it as possible. It should "just work". Vercel's skew protection [1] stands out as a recent example of doing this well.

> It looks like you using Flutter's Dart<=>JSON serialization; do you recommend using built_value for immutable data structures?

JSON was chosen as the primary serialization format for the reasons mentioned here [2]. Primarily, familiarity to Flutter developers, availability of JSON-compatible types in the wild, and integration with non-Dart clients.

The JSON structure is outlined here (working on a full spec): https://celest.dev/docs/functions/http-requests

built_value types can be used in Celest currently by giving the class `fromJson`/`toJson` methods. I haven't implemented auto-serialization for them, yet, but it should be straightforward. I've used built_value heavily in the past and agree there's no better alternative for some use cases.

> Do you support protobuf/cap'n'proto?

In the future, I plan to support more serialization formats, including protobuf and binary protocols. I will check out cap'n'proto, it was not yet on my radar.

[1] https://vercel.com/docs/deployments/skew-protection

[2] https://x.com/dillonthedev/status/1749806407510381054

Comment · 2 years ago
Great points.

My immediate plan for reducing lock-in is to provide the option to deploy into a cloud account you manage. This has the upside of making your deployed infrastructure independent of Celest and letting you use your cloud credits.

Self-hosting is another option I'm considering, but I don't have a good sense yet of what that could look like. Any thoughts? Is spitting out a binary/Dockerfile sufficient to alleviate risk?

If I get shut down, I'll be open-sourcing all my code. And regardless, I plan to open source more and more of the platform over time.

Comment · 2 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton