TL;DR

Shaper là analytics dashboard tự host, viết bằng Go + TypeScript, chạy trên DuckDB. Thay vì kéo thả wizard như Metabase, bạn viết SQL với cú pháp type-cast đặc biệt (::BARCHART_STACKED, ::XAXIS) để dựng chart. Deploy một lệnh Docker. Git-native. Embed không iframe. MPL-2.0, miễn phí. Hiện ở v0.18.7 với 1,100+ GitHub stars.

Shaper - SQL-driven dashboard powered by DuckDB

Vấn đề mà Shaper giải quyết

Các BI tool truyền thống (Metabase, Superset, Grafana) đều có một điểm chung: bạn phải học GUI riêng của chúng, cấu hình từng chart qua wizard, và khi muốn embed vào app thì chỉ có iframe - nghĩa là không kiểm soát được giao diện, không có row-level security granular.

Rồi còn vấn đề data sovereignty: nhiều tool cloud-based yêu cầu kết nối data của bạn về server của họ. Với healthcare, fintech, hoặc bất kỳ domain nào có compliance requirement, đây là dealbreaker.

Với developer đã quen SQL, toàn bộ GUI wizard là ma sát không cần thiết. Shaper giải quyết bằng cách đẩy toàn bộ logic visualization vào chính câu SQL:

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;

Không cần kéo thả. Không cần config YAML. SQL là source of truth duy nhất - từ query đến visualization đến sharing.

Khả năng kỹ thuật nổi bật

Shaper xây trên DuckDB - engine analytics columnar, vectorized, hỗ trợ out-of-core processing (dataset lớn hơn RAM). Điều này có nghĩa bạn có thể join CSV local với bảng PostgreSQL production và Parquet trên S3 trong cùng một query, không cần ETL pipeline riêng.

Một số điểm kỹ thuật đáng chú ý:

  • Multi-source federation: PostgreSQL, S3, Google Sheets, CSV, Parquet, MySQL, và mọi DuckDB extension - query đồng thời không cần copy data
  • Real-time ingestion: HTTP API + NATS, auto schema inference - push event vào dashboard mà không cần setup pipeline
  • Embedded SDK: JavaScript và React library, không dùng iframe - nghĩa là bạn style được, và dùng JWT token cho row-level security per-user
  • Automated reporting: Schedule export PDF, PNG, CSV, Excel định kỳ, kèm threshold-based alerts - gửi KPI report hàng tuần mà không cần ai làm thủ công
  • Git-native: Dashboard là file code, commit được, review được, CI/CD được - toàn bộ thay đổi có audit trail
  • Temporary tables: Pre-compute state phức tạp bằng CTE hoặc temp table trước khi render chart, không bị giới hạn bởi GUI

Stack kỹ thuật: Go 51.6% (backend) + TypeScript 46.4% (frontend). 96 releases chứng minh development cycle nhanh và ổn định.

So với Metabase và Superset

Tính năngShaperMetabaseApache SupersetGrafana
Interface chínhSQL thuầnGUI + SQLGUI + SQLGUI + PromQL
Git integrationNativeHạn chếHạn chếHạn chế
Embedded analyticsJS/React SDKiframe onlyiframe onlyiframe only
Row-level securityJWT-basedPhức tạpCustom pluginHạn chế
Self-host1 Docker commandPhức tạpPhức tạpVừa phải

Điểm quan trọng nhất: Shaper là lựa chọn duy nhất trong bảng này cho phép embed dashboard vào app mà không cần iframe, với JWT row-level security granular. Đây là thứ SaaS platform cần khi build customer-facing analytics.

Ai nên thử ngay

  • Developer đang dùng DuckDB: Shaper tận dụng trực tiếp project DuckDB hiện tại - không cần migrate schema, không cần học tool mới nếu bạn đã biết SQL
  • SaaS founder cần customer analytics: Embed dashboard trực tiếp vào app với data isolation per tenant qua JWT row-level security - khách hàng chỉ thấy data của họ
  • Data team nhỏ: Toàn bộ dashboard là file code trong repo Git, review qua PR, deploy qua CI/CD như code bình thường - không cần GUI admin riêng
  • Startup ít ngân sách: Deploy trên VPS $5/tháng với một lệnh Docker, không cần license BI enterprise trả tiền hàng tháng
  • Compliance-sensitive (HIPAA/GDPR/SOC2): Self-host hoàn toàn hoặc dùng managed hosting từ Taleshape OÜ - data không rời hạ tầng của bạn
  • Executive reporting: Tự động gửi báo cáo KPI định kỳ dưới dạng PDF/Excel mà không cần setup pipeline riêng

Bắt đầu trong 30 giây

Docker quickstart:

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

Hoặc dùng npx:

npx shaper

Mở http://localhost:5454/new, paste SQL vào editor, click Create. Dashboard chạy ngay.

Dự án hiện ở v0.18.7 với 96 releases và 1,100+ GitHub stars. License MPL-2.0 - có thể dùng trong thương mại, không bắt buộc open source app của bạn.

Tiếp theo

Shaper đang phát triển tích cực (96 releases) và vừa được MotherDuck ghi nhận là "Top DuckDB Link" trong newsletter tháng 3/2026 - dấu hiệu tốt về adoption trong cộng đồng DuckDB.

Nếu bạn cần managed hosting hoặc hỗ trợ enterprise (HIPAA/GDPR/SOC2), Taleshape OÜ cung cấp dịch vụ này riêng.

Nguồn: GitHub taleshape-com/shaper, Taleshape Docs, DuckDB Ecosystem Newsletter March 2026.