westdash
is (currently just an idea for) a small/thin liberally licensed open source dashboard
framework built around web standards with a minimal set of dependencies. It is intended to be easily
embeddable into other web applications and used standalone.
westdash
is intended to be vendor neutral similar in spirit to
OpenTelemetry. Users can invest their time in learning one dashboard
system to query and visualize many backend systems. Vendors can invest their time in building out
customer-valued differentiation rather than yet another dashboard system. See below for ideas on governance and funding model.
It isn't yet clear whether the framework will focus on observability/monitoring use cases or be a more general data analytics dashboard system.
- User-centered and easy to use
- Open and transparent
- Embrace the power of web standards, e.g. use web components, HTML, Javascript, CSS (no big web frameworks)
- Vendor neutral
- Minimal runtime and devtime dependencies to simplify coding
- Ideal: other than a modern web browser, the dev toolchain is optional
- If used, the toolchain provides static types (e.g. JSDoc Typescript), type checking, and other quality and ergonomic tooling
- Uses CSS grid system for widget layout
- Adapter/translator for other dashboard systems
- Query server to proxy between browser and backend data storage and query engines
- Optionally, can statically generate a set of non-editable (but still interactive) dashboards if that's all that is needed (reason: simplify deployment and operations for some use cases)
- Users can create dashboards, widgets/charts, and custom pages in Javascript/Typescript or through configuration
- Backend system for storing config (configured dashboards, saved queries, etc.) and serving dashboards
- Data transformation utilities
- Data visualization utilities
- Optional use of Markdown, MermaidJS, and similar in dashboards (maybe just a type of widget?)
- Fully embeddable web/custom components built in vanilla HTML/JS/CSS or Lit that can be dropped-in for visualizations and dashboards
- Built to complement/work well with Shoelace and/or Component.kitchen Elix. Shoelace is a major inspiration for these components.
- Provide components for multiple visualization libraries
- Fully embrace web standards
- Easy to wire up with reactivity
- Easy to do dashboard layouts
- Easy to do exploratory query layouts
- Easy to do notebook layouts
- Empower end users to assemble dashboards easily
- Server-side service that is basically a query proxy to observability/monitoring backends, databases, data analytics backends
- Handles authentication to the service(s) being queried
- Query translators should be modular and easy to express
- Do this either in a toolchain that compiles to WASM or in Typescript
- Open question as to which runtime this will execute in
Server-side service that provides users, authorization, control plane/administration, sharing/collaboration, versioning, etc.
Components and interface that embrace the semantic conventions of OpenTelemetry.
Adapter for using existing Grafana dashboard, plugin, and query configuration to drive Westdash dashboards.
Adapter for using existing Kibana dashboard, plugin, and query configuration to drive Westdash dashboards.
Adapter for using DBT definitions to generate dashboards, queries, etc.
Adapter for using Metabase dashboard and query configuration to drive Westdash dashboards
- Vendors and users sponsor (example: the DuckDB Foundation)
- Setup a company to offer enterprise-oriented functionality (multi-user, access control, commercial adapters, etc.)
- Might compromise the vision of being vendor neutral
- Setup a consulting/support/development-oriented company
- Provide Bring Your Own Cloud (BYOC) and/or SaaS hosting
- Sell non-OSS licenses