Shaper is an open source dashboarding product.
Now Anthropic released Claude Dashboards.
What does that mean for Shaper?
The last days everyone on Data Analytics LinkedIn has been talking about how Claude Dashboards just killed the need for BI software.
This whole discussion only partially affects Shaper though:
The Business Intelligence market has been crowded even two years ago when I started building Shaper.
Shaper never tried to compete with traditional BI tooling:
The problem Shaper solves:
You want to share dashboards and reports with customers,
but you are working with sensitive personal data that must stay in-house,
and you need to be able to verify and audit results for correctness.
That’s why Shaper:
focuses on embedded analytics,
is fully open source and runs in your infrastructure,
and defines dashboards as SQL code you store in Git.
None of these problems are solved by Claude Dashboards or the tools that came before it.
I don’t expect that any healthcare company or finance org I work with to be willing to send PII to Claude or share AI generated dashboards with customers without a review process to approve the underlying analytics.
Claude Dashboards looks like a great tool to query less critical data and to prototype dashboards before letting Claude translate them into Shaper SQL.
If you like to Shaper and want the ease of Claude to generate dashboards, checkout how to use our AI Agent Workflow to generate dashboards with Claude Code.
Subscribe to Newsletter
Get the new post delivered straight to your inbox.
Obviously it’s not because large organizations care so much about UX and cannot live without the convenience of not having to type a password.
Instead, it’s all about security: No weak passwords. Centralized access rights. Audit logging.
Should they care less about security? Is security something to build later on after you are already successful?
I and many others don’t think so.
That’s why there are websites like https://sso.tax/.
We decided to make SSO part of open source Shaper.
But with a nuance:
JWT-based SSO is completely open source.
You implement a single endpoint in your application and get complete control over how the user is authenticated. This is the simplest way to integrate Shaper into your existing application.
In addition to this, we provide OpenID Connect integration (OICD) and Proxy Header Auth support as part of our commercial offer.
If you have an OICD provider or an internal API gateway integrated in your infrastructure, then integrating with them requires zero custom code. But investing in this infrastructure just for Shaper is definitely more complex than creating a JWT authentication endpoint.
Please reach out if you have any feedback or if you are looking for support with implementing SSO.
Subscribe to Newsletter
Get the new post delivered straight to your inbox.
The agent itself is a simple Python application that listens to Slack messages.
When it receives a message, it uses an LLM to answer the user request.
We give the LLM tools to use Shaper’s API to generate png/pdf/xlsx files directly from SQL queries.
We then upload the generated files to Slack. While the LLM generates the SQL, it doesn’t touch the results, avoiding the risk of hallucinated data or charts.
Since we control the agent and Shaper runs in our own infrastructure, we are also in full control of what data the LLM sees and which LLM we use.
This setup can be easily adapted to fit the privacy and security needs of any organization.
Building your own agent not only means that you stay in full control of your data, but also that you can build an agent that is truly useful in practice.
You can narrow the problem scope and build an agent for exactly the workflows most useful to you, integrating it into your processes with the context it needs.
Shaper provides the foundation to access data, create charts and reports, while ensuring correctness and keeping everything reproducible.
At Taleshape, we help our customers build systems exactly like this agent.
If you’d like to learn more, don’t hesitate to reach out.
Subscribe to Newsletter
Get the new post delivered straight to your inbox.
Do you need to store and analyze large amounts of data without breaking the bank?
Do you need to run in your own infrastructure instead of relying on the big cloud providers?
You can build a simple data lake platform that scales from a $5 VM to petabytes of data with these three open source tools: DuckDB, DuckLake, and Shaper.
When you have only a small amount of data you can use DuckDB to directly query your production database such as Postgres, but as your data grows that gets slow and expensive.
One alternative is to replicate data to a data warehouse such as Snowflake, BigQuery, Redshift or even Clickhouse. But warehouses are complex to operate and expensive.
Building a data lake architecture means storing data as files in a cheap object storage such as S3.
Data is then stored in a format optimized for analytics such as Parquet files.
And DuckDB can query those files really efficiently - fast enough for most use cases even with large amounts of data.
But Parquet files are read-only. To update data you need to create a new file.
So you quickly end up with a large number of files that you need to manage and the need to rewrite files for better performance.
That’s why a data lake needs a metadata layer - a catalog of all the data.
Once you have a catalog, using a data lake feels just like using a database:
You create, update and insert into tables without thinking about Parquet files.
The catalog automatically rewrites and optimizes the files for you as needed.
If your infrastructure provider already supports Iceberg on top of its object storage and you don’t mind paying the premium for that, that’s a great option for a data lake.
However, to run your own data lake on top of any object storage, DuckLake is much simpler than running your own Iceberg implementation.
DuckLake doesn’t require any additional services to run. It works with any object storage and supports many databases for its catalog.
If you have an S3-compatible service and a Postgres database, you can start using DuckLake without any new infrastructure.
Click on “Create” at the top right and give the task a name such as “Ingest Sessions Data”.
Now click on “Run” in the top right corner.
Congrats, you’ve loaded your first data into DuckLake!
For real use cases you would want to schedule tasks to run automatically and then you would use for example MERGE INTO to update your data lake continuously.
And of course not only Shaper can access DuckLake. For more complex setups you can introduce other tools for your data pipelines such as DBT and Dagster.
If you are looking for a more affordable hosting provider or prefer a European provider over the big American cloud providers, I recommend you look into Hetzner (referral to get free 20€).
You get a VM for 3.49€ and 1TB of object storage for 4.99€, hosted in Germany.
Just be careful that there are some gotchas with Hetzner’s object storage. To make sure your setup is properly secured, check out this detailed guide by my friend Floyd:
Usually you will run Shaper on a server. Then you only need shaper dev locally when developing dashboards.
Once you configured authentication for your Shaper instance, the dev command will automatically prompt you to login and authenticate.
And instead of running deploy manually, you can use the Shaper Github Action to deploy dashboards automatically in your CI/CD pipeline.