We were using it at work (transitioning to Metabase); it's great for exploring and debugging and prototyping but it ends up too much of a tangled spaghetti mess for anything long-term. Would not recommend for user-/other-company-departments-facing reports or dashboards.
With Kavla I want to lean into the exploring/debugging phase for analytics. "Embrace the mess", in a way.
My vision is that there will be an "export to dbt" button when you're ready to standardize a dashboard.
What made you pick count? Was spaghetti the major reason you left count, or something else?
We wanted to migrate (to Streamlit, back then) to have the SQL not live locked in a tool, but inside our git repository; to be able to run tests on the logic etc. But the spaghetti mess was felt too, even if it wasn't the main reason to switch.
(But then, 1) some team changes happened that pushed us towards Metabase, and 2) we found that Streamlit managed by Snowflake is quite costly, compute-time wise. (The compute server that starts when you open a Streamlit report, stays live for tens of minutes, which was unexpected to us.)
----
Export to DBT sounds great. Count has "export to SQL" which walks the graph of the cell dependencies and collects them into a CTE. I can imagine there being a way to export into a ZIP of SQL+YML files, with one SQL file per cell.
Great take on the SQL lock in, that's something that I need to think hard about. Ideally a git integration maybe?
Kavla also traverses the DAG, psuedo code:
deps = getDeps() // recursive
for dep in deps:
if dep is query:
run: "CREAT OR REPLACE VIEW {upstream} AS {upstream.text}
if dep is source:
done
A selected chain of Kavla nodes could probably be turned into a single dbt model using CTEs!Thanks for making me think about this!
In my job I always end up with big notebooks of data exploration that get messy fast and are hard to share anything but the final result, having a canvas that embraces the non-linear nature is a great idea.
Aside from the non-linearity, what key features would make you use Kavla instead of a notebook?
What resource(s) are you using for learning SQL and DBA concepts?
I haven't really thought about Kavla as being a learning environment, maybe you are onto something!
Is that something you're doing? What pain points do you have as interviewer with existing tools?