Currently working on Bedevere Wise (https://bedeverewise.app), a browser-based SQL data viewer for the file formats still widely used by biostat / clinical-data people: SAS (sas7bdat, xpt), SPSS (sav), Stata (dta), plus Parquet, Excel, and CSV.
Everything runs locally: DuckDB-WASM (the SQL engine), the file parser, statistical and plot library (a DuckDB extension that I built).
I wanted a "drop file → SELECT * FROM it" and run a few other explorative queries on a dataset (provided in one of the formats mentioned above). Sometimes, it might even be a whole nested subtree with dozens of files that includes all or most of the formats I mentioned above (trust me, I've seen it many times).
I also wanted something easy to use for my colleagues: no installers, no configurations, no faff. And, most importantly, files never leave the device (which matters for clinical data).
The plotting half is GGSQL. I read Thomas Lin Pedersen / Posit's alpha release a couple of weeks ago (https://news.ycombinator.com/item?id=47833558) and that's when I realised I could add the "Grammar of Graphics inside SQL" into Bedevere.
So pasting
VISUALIZE
bill_depth_mm AS x
, bill_length_mm AS y
, species AS color
FROM penguins_clean
DRAW point
;
in the editor pops a chart without anything leaving the device.
This is the demo for the impatient (I admit I am usually one):
https://bedeverewise.app/demo
(The query is ready to be run in the editor).
I wanted a "drop file → SELECT * FROM it" and run a few other explorative queries on a dataset (provided in one of the formats mentioned above). Sometimes, it might even be a whole nested subtree with dozens of files that includes all or most of the formats I mentioned above (trust me, I've seen it many times). I also wanted something easy to use for my colleagues: no installers, no configurations, no faff. And, most importantly, files never leave the device (which matters for clinical data).
The plotting half is GGSQL. I read Thomas Lin Pedersen / Posit's alpha release a couple of weeks ago (https://news.ycombinator.com/item?id=47833558) and that's when I realised I could add the "Grammar of Graphics inside SQL" into Bedevere. So pasting
VISUALIZE bill_depth_mm AS x , bill_length_mm AS y , species AS color FROM penguins_clean DRAW point ;
in the editor pops a chart without anything leaving the device.
This is the demo for the impatient (I admit I am usually one): https://bedeverewise.app/demo (The query is ready to be run in the editor).
Feedback is very welcome.