There's no account or sign up needed to use it. Your data stays in the browser, no upload.
Some technical aspects that might be of interest here:
- written in Rust targeting WASM with Trunk;
- Apache DataFusion for SQL engine + Arrow + Parquet;
- Apache OpenDAL for OPFS for workspace data in browser;
- Egui, an immediate mode GUI (works on WASM and native);
- computation graph is built on top of 'reactive_graph', a core component of the Leptos web framework;
- it's a dynamic functional DAG (directed acyclic graph), dependencies between nodes are determined by the engine (via SQL parsing). Modify an input and the downstream output are recomputed dynamically.
The main website: https://dagraph.com
Direct access to the early preview: https://alpha.dagraph.com/
There are a few basic examples here: https://dagraph.com/examples/
It's still very early - many more features are to be added but it's usable. It requires a modern browser (WASM and OPFS); works on desktop, tablet and phone although a bigger screen is really recommended (zooming out will allow for higher density UI to make it somewhat usable on phones).
To give a bit of context on some of the choices and possibly start discussions, in no particular order:
- dynamic UIs, graphs and analytics: it's a domain I've been interested in. Bret Victor is an inspiration;
- (most) spreadsheets hide formulas and, ironically, aren't table-first. Notebooks suffer from out-of-order evaluation;
- while working on data analytics projects using popular languages and their libraries, I would run into inconsistent APIs and I would eventually end up doing most of the work in SQL. Quite annoying are the platforms that have their own sub-par DSLs (don't get me started on DSLs built on top of YAML);
- immediate mode is an interesting approach to UIs worth experimenting with.
- in-browser app: instead of scaling up, you have to optimize down. The WASM bundle is less than 25MB, 8MB over the wire.
- Local-first: 4-fold: no account needed (it puts me off if I have to create an account when it's clearly not needed); data privacy (both for the user and for dev); as a solo-dev, very low infrastructure cost plus laptops are powerful enough for many workloads now; and no network latency.
Links to some of the projects I mentioned:
- Trunk https://trunk-rs.github.io/trunk/
- Apache Datafusion https://datafusion.apache.org
- OpenDAL https://opendal.apache.org
- Egui https://www.egui.rs
- Reactive graph https://docs.rs/leptos/latest/leptos/reactive/graph/index.ht... - Leptos https://leptos.dev
(edited for formatting)