unsubbed.co

Shaper

Shaper lets you build Data Dashboards all in SQL. Powered by DuckDB entirely on your own server.

Open-source embedded analytics, honestly reviewed. No marketing fluff, just what you get when you self-host it.

TL;DR

  • What it is: Open-source (MPL-2.0) analytics dashboard platform where you build visualizations entirely in SQL, powered by DuckDB underneath [1][2].
  • Who it’s for: Developers and technical founders who want to embed dashboards into their own product without using an iframe — or small teams that already know SQL and don’t want to learn a proprietary BI query language [2].
  • Cost savings: Pricing for managed hosting is not published (contact sales), but the self-hosted path runs on a single Docker container — $5–15/mo on a basic VPS with no license cost [1][2].
  • Key strength: The SQL-as-dashboard-spec approach is genuinely different. You annotate a regular SQL query with type casts like ::BARCHART_STACKED and ::XAXIS and the chart renders. If your team already writes SQL, there’s almost no new syntax to learn [1].
  • Key weakness: Only 1,055 GitHub stars as of this writing — this is a young, small-community project. Independent reviews are nearly nonexistent. Adopting it as your analytics layer is a bet on a small vendor [1].

What is Shaper

Shaper is a self-hosted analytics dashboard builder where every visualization is defined in SQL. The project is maintained by Taleshape OÜ, a small company that describes the tool as “open source, minimal data platform to create analytics dashboards and embed them into your software” [2]. The GitHub description is blunter: “Visualize and share your data. All in SQL. Powered by DuckDB.” [1]

The pitch makes sense once you see the SQL syntax. A stacked bar chart of sessions per week looks like this:

SELECT 'Sessions per Week'::LABEL;
SELECT
  date_trunc('week', created_at)::XAXIS,
  category::CATEGORY,
  count()::BARCHART_STACKED
FROM dataset
GROUP BY ALL ORDER BY ALL;

That’s it. No drag-and-drop chart builder, no proprietary query language, no wizard. You cast your columns to chart roles using DuckDB’s type system, and Shaper renders the visualization. The entire dashboard definition lives in a SQL file, which means it can live in Git [1][2].

The database engine underneath is DuckDB, which is worth understanding. DuckDB is an in-process analytical database — it runs inside the Shaper process, not as a separate server. This means you can query Parquet files on S3, Postgres tables via extension, Google Sheets, or CSV files sitting on disk without any ETL step. DuckDB has a rich extension system, and Shaper inherits all of it [2].

The company offers managed hosting for teams that don’t want to operate the infrastructure themselves, but the core is genuinely open source under MPL-2.0, which allows use in commercial products without requiring you to open-source your application code [1][3].


Why people choose it

Independent third-party reviews of Shaper are essentially nonexistent at this writing — the project has just over 1,000 GitHub stars and no significant coverage on sites that typically review BI tools. What follows is based on primary sources: the README, documentation, and the feature set as shipped.

The profile of someone choosing Shaper over the alternatives breaks into two groups.

The SQL-first developer. Metabase, Superset, and Grafana all have visual query builders. For teams that write SQL all day, these builders are often slower than just typing the query. Shaper removes the abstraction entirely — your dashboard is your SQL, version-controlled, reviewable in a PR, deployable with your application. The Git-based workflow is a first-class feature, not an afterthought [1][2].

The embedded analytics builder. If you’re a SaaS company that wants to give customers analytics inside your product, the standard approach is an iframe embed from Metabase or a similar tool. Shaper offers a different path: JS and React SDKs that embed without an iframe, plus JWT-based row-level security to scope each user’s data access to their own rows [2]. This is a meaningful technical advantage for application developers — no iframe means no cross-origin headaches, no CSP gymnastics, and a UI that feels native rather than bolted on.

The white-labeling feature reinforces the embedded analytics use case: Shaper can be styled to match your product’s visual identity, which is harder to do cleanly with iframe-based tools [1][2].


Features

Core dashboard engine:

  • SQL-to-chart rendering via DuckDB type cast annotations (::BARCHART_STACKED, ::XAXIS, ::CATEGORY, etc.) [1][2]
  • Dynamic data filters that users can interact with at runtime [2]
  • Chart annotations generated from query data [2]
  • Conditional section visibility [2]
  • Git-based workflow — dashboard definitions are SQL files, versionable and diffable [1][2]

DuckDB query layer:

  • Query across multiple data sources in a single dashboard [2]
  • Pre-compute state as temporary tables within a session [2]
  • Full DuckDB extension support — S3, Postgres FDW, Google Sheets, Parquet, etc. [2]
  • Scheduled tasks defined in plain SQL for automated data loading and transformation [2]

Ingest and data pipeline:

  • Ingest API accepting data via HTTP or NATS in real time [2]
  • Schema inference — Shaper infers column types from incoming data [2]
  • Data storage directly in DuckDB as your warehouse grows [2]
  • Path to DBT or SQLMesh as complexity scales [2]

Embedded analytics:

  • Embed dashboards without iframe using JS and React SDKs [1][2]
  • JWT token generation for per-user row-level security [2]
  • Custom CSV and Excel download definitions per dashboard [2]
  • PDF generation of any dashboard [2]
  • White-labeling and custom styles [1][2]

Sharing and reporting:

  • Password-protected public dashboard links [1][2]
  • Scheduled alerts and reports [1]
  • PDF, PNG, CSV, and Excel export formats [1]

Operations:

  • Single Docker container deployment [1][2]
  • Runs in your own infrastructure, data never leaves your server [2]

What’s absent from the feature list: no native connectors to SaaS tools (Salesforce, HubSpot, etc.) in the way BI platforms like Metabase have them. Shaper assumes you’re querying data that’s already somewhere DuckDB can reach — your own database, an S3 bucket, a file on disk. If your data lives entirely in third-party SaaS and you haven’t built an extraction layer, Shaper won’t bridge that for you.


Pricing: SaaS vs self-hosted math

Self-hosted (Community Edition):

  • License: $0 (MPL-2.0) [1]
  • Infrastructure: $5–15/mo on a basic VPS — Shaper runs as a single Docker container so compute requirements are low [1][2]
  • Your time to set it up

Managed hosting (Taleshape):

  • Two tiers: MANAGED (full-service hosting, setup, updates, 24/7 monitoring) and DATA PARTNER (everything in MANAGED plus a fractional data engineer) [1]
  • Pricing: not published. Contact sales at taleshape.com/plans-and-pricing [3]

This opacity on managed pricing is a friction point worth naming. If you’re evaluating whether to self-host or pay for managed, you can’t run the numbers without a sales conversation.

Comparison to alternatives (self-hosted):

  • Metabase Community Edition: free, self-hosted, requires a separate database server (PostgreSQL or MySQL for the app DB)
  • Superset: free, self-hosted, significantly more complex to deploy (multiple services, Celery workers, Redis)
  • Grafana OSS: free, self-hosted, strong for time-series and infrastructure metrics, weaker for ad-hoc business analytics
  • Redash: open source but development has slowed considerably since the Databricks acquisition

For pure infrastructure cost, self-hosted Shaper is competitive with any of these. The real cost comparison is setup and maintenance time, where Shaper’s single-container model has an advantage over Superset’s multi-service deployment.


Deployment reality check

The README’s quickstart is honest about how simple the path is:

docker run --rm -it -p5454:5454 taleshape/shaper

That’s a single command to a working instance. For production, there’s a dedicated deployment guide [2].

What you actually need:

  • Docker on a Linux VPS
  • A domain and a reverse proxy (Caddy or nginx) for HTTPS
  • Basic comfort with docker run or docker compose

What Shaper bundles vs. what you bring:

  • DuckDB is embedded — no separate database server for the query engine
  • If you want to ingest from Postgres, you need a running Postgres instance; Shaper queries it remotely via DuckDB’s extension
  • SMTP for alert/report delivery if you use the scheduled reports feature

Realistic setup time: A technical user comfortable with Docker and a reverse proxy should have a working instance in 20–45 minutes. The single-container model eliminates the dependency orchestration that makes Superset painful.

Limitations to know about:

  • DuckDB is an in-process, single-writer database. It’s designed for analytics workloads with many readers and occasional bulk writes, not for high-concurrency transactional writes. If your data ingestion is high-volume and real-time, you’ll want to think about the NATS ingestion path or pre-aggregation [2].
  • The project is small. 1,055 GitHub stars means a small contributor community and limited resources for bug response. There’s no large user base generating Stack Overflow answers or YouTube tutorials for when you get stuck.
  • The MPL-2.0 license requires changes to Shaper’s own files to be open-sourced, but you can embed it in a proprietary application without that restriction. If you’re modifying Shaper’s core and don’t want to release those changes, verify with a lawyer.

Pros and cons

Pros

  • SQL is the interface. No new query language, no click-to-chart wizard. If your team knows SQL, they can build dashboards without onboarding. The learning curve for a SQL-literate developer is genuinely minimal [1][2].
  • Git-native workflow. Dashboard definitions are SQL files. They diff cleanly, review in PRs, deploy with your application, and roll back with git revert. This is rare in the BI space [1][2].
  • Embed without iframe. JS and React SDKs for native embedding, row-level security via JWT. Competitive with paid embedded analytics products [2].
  • Single Docker container. One docker run command to start. Dramatically simpler operationally than Superset or Redash [1][2].
  • DuckDB’s query power. Query Postgres, S3, Google Sheets, Parquet, CSV, and local files in a single SQL query, no ETL pipeline required [2].
  • White-labeling included in open source. No commercial license needed to brand the dashboards [1][2].
  • MPL-2.0 license. More permissive than AGPL (used by Metabase in its newer versions). You can embed in a commercial product without open-sourcing your application code [1].

Cons

  • Very small community. 1,055 stars as of this writing. Limited community resources, fewer integrations maintained by third parties, and a smaller surface area of bug reports means you may encounter rough edges that larger projects have already filed and fixed [1].
  • No third-party reviews exist. This itself is a signal. Tools with traction accumulate reviews, comparisons, and how-to guides. Shaper has almost none. You’re pioneering, not following a well-worn path.
  • Pricing for managed hosting is opaque. No public tiers or numbers on the managed plans. You need a sales conversation to evaluate the cost [3].
  • No SaaS connector library. Shaper doesn’t have a library of pre-built connectors to Salesforce, HubSpot, Stripe, etc. You need your data already in a DuckDB-accessible format (Postgres, S3, files). This is by design but limits who can use it without a data engineering layer [2].
  • Small vendor risk. Taleshape OÜ is a small company. If the project stalls or the company pivots, you own the infrastructure but may own the maintenance burden too. The MPL-2.0 license protects you from being locked out, but it doesn’t protect you from the upstream going quiet.
  • No drag-and-drop for non-technical users. The SQL-first approach that makes Shaper fast for developers makes it inaccessible for marketing teams or operations staff who don’t write SQL. This is a deliberate trade-off, not an oversight, but it limits who can own the dashboards [1][2].

Who should use this / who shouldn’t

Use Shaper if:

  • You’re building a SaaS product and want to embed analytics for your customers without an iframe — and you have a developer who writes SQL.
  • Your team is already SQL-native and you want dashboards that live in version control alongside your code.
  • You want DuckDB’s multi-source query capability (S3 + Postgres + local files in one query) without building a separate warehouse.
  • You want a single Docker container with no complex orchestration.
  • The white-labeling embedded analytics use case fits your product.

Skip it if:

  • Your non-technical marketing or operations team needs to own the dashboards — they won’t be writing SQL.
  • Your data lives entirely in SaaS tools (Salesforce, HubSpot, etc.) with no database or data warehouse yet. You need an extraction layer first.
  • You need a large support community and abundant tutorials — Shaper doesn’t have them yet.
  • You need a vendor with enterprise SLAs, published pricing, and an established track record. Taleshape is too small for that comfort level right now.
  • You’re evaluating this for a production analytics layer at 50+ users and can’t afford to bet on a small-community project.

Alternatives worth considering

  • Metabase — the most popular open-source BI tool. Has a visual query builder, requires no SQL for basic dashboards, 40,000+ GitHub stars, large community. If non-technical users need to own dashboards, Metabase is the stronger pick. AGPL license on Community Edition means you cannot embed it in a commercial SaaS product without the paid Pro license.
  • Apache Superset — powerful, highly configurable, massive feature set. Deployment is significantly more complex (multiple services, Celery, Redis). Best for data engineering teams that want full control. Apache 2.0 license.
  • Grafana — dominant for infrastructure and time-series metrics. Has a general analytics mode but feels most at home with time-series data sources. Strong community, pluggable data source system, AGPL on OSS version.
  • Redash — similar SQL-first approach to Shaper, older project, but development has slowed since acquisition. More third-party reviews and community content available.
  • Evidence — another SQL-first, code-based BI tool with markdown-based dashboards and a similar Git-native philosophy. Slightly different deployment model but worth comparing if the SQL-as-spec approach appeals to you.

For a developer-led team building embedded analytics into a product, the realistic shortlist is Shaper vs Evidence vs Metabase Pro. Shaper wins on operational simplicity and the iframe-free embed. Metabase Pro wins on the non-technical user experience and vendor stability. Evidence wins on the Markdown-driven report authoring model.


Bottom line

Shaper is technically interesting and operationally simple. The SQL-cast-to-chart approach is genuinely elegant for teams that already live in SQL, the single-container deployment beats anything in the Superset class, and the iframe-free embedded analytics path with JWT row-level security is a real competitive advantage for SaaS builders. The MPL-2.0 license is clean for commercial embedding. If those things match your use case, it deserves a serious look.

The honest caveat is the size of the bet. Taleshape is a small company, the community is small, and independent validation is thin. You won’t find a community forum full of answered questions or a YouTube tutorial for every edge case. For a solo developer’s internal tooling or a startup prototype, that’s fine. For a production analytics layer that your customers depend on, the absence of track record is real risk that larger tools don’t carry.

If the deployment is the blocker rather than the evaluation, that’s exactly what unsubbed.co’s parent studio upready.dev handles for clients — one-time setup, you own the infrastructure.


Sources

  1. GitHub — taleshape-com/shaper — README, license, and project metadata. https://github.com/taleshape-com/shaper
  2. Taleshape — Shaper Documentation — Official docs, feature list, getting started, deployment guide. https://taleshape.com/shaper/docs/
  3. Taleshape — Plans and Pricing — Managed hosting tiers (MANAGED, DATA PARTNER). https://taleshape.com/plans-and-pricing

Features

Automation & Workflows

  • Workflows

Customization & Branding

  • White-Labeling

Analytics & Reporting

  • Reports