hi, dev building shaper here. shaper allows you to visualize data and build dashboards just by writing sql. the sql runs in duckdb so you can use all duckdb features. its for when you are looking for a minimal tool that allows you to just work in code. you can use shaper to build dashboards that you share internally or also for customer-facing dashboards you want to embed into another application.
shaper leans into doing everything as code. instead of using a custom UI you can use your own editor and AI agent to generate dashboards for you. shaper is for people happy to use code. it doesn't try to provide self-serve functionality.
And I think that's exactly what makes it so clever. Three years ago, I would have considered this decision risky. But with the live sync feature and "just SQL" as the language for the dashboard builder, it's so powerful—thanks to Claude Code, for example!
hi, dev building Shaper here. I agree re sending reports vs dashboards.
Many users use Shaper mostly as UI to filter data and then download a pdf, png or csv file to use elsewhere.
We are also currently working on functionality to send out those files directly as messages using Shaper's task feature.
hi, dev building Shaper here. Both, Shaper and Metabase, can be used to build dashboards for business intelligence functionality and embedded analytics. But the use cases are different: Metabase is feature-rich and has lots of functionality for self-serve that allows non-technical users to easily build their own dashboards and drill down as they please. With Shaper you define everything as code in SQL. It's much more minimal in terms of what you can configure, but if you like the SQL-based approach it can be pretty productive to treat dashboards as code.
I built Shaper following Malloy's idea of combining data queries and visualizations. But Shaper uses SQL instead of a custom language. It turns DuckDB into a dashboard builder for when you all you need is SQL.
postgres (without extensions) is slower for analytical queries since it stores data as rows, not columns. Also, duckdb is an in-memory database so it's more comparable to sqlite than postgres.
Thank you! The SQL-first approach feels great to use so far and plan to keep betting on that with more features such as scheduled workflows, Git integration and AI code generation.