Solution · Dashboards

A dashboard that fits the way you work.

Arrange KPI widgets, compare a reporting period and explore the data with filters. The live board runs on fictional data, entirely in your browser. The metric-card and filter-bar components shown here were released in @texuli/data 0.18.0.

Status: in development

Explore a dashboard, then arrange it

Try this

  • Choose product analytics, support operations or a sales pipeline.
  • Change the reporting period or clear the Region filter to update the sample KPIs.
  • Use Move and Resize handles with the keyboard, or drag a widget by its handle.

Use Reset to return to the starting example.

Product analytics

Mar 1–10, 2026

Active users

4,670

↑ 8.4% vs. previous period

Activation rate

42.0%

↑ 2.1 pts vs. previous period

Returning users

31.0%

→ 0.3 pts vs. previous period

Support tickets

163

↓ 5.2% vs. previous period

Activation and returning users across fictional product regions.

Region eq North
Add filter
Filters
of these conditions
  • Condition 1

Unsaved changes

Product analytics loaded with the North region filter.

Press Space or Enter to pick up. Use the arrow keys to move one column or row, Space or Enter to drop, Escape to cancel.

Press Space or Enter to resize. Left and right arrows change the width, up and down the height. Space or Enter to finish, Escape to cancel.

  • Active users

    Active users

    3,350

    Up: 8.4% vs. previous period · 10 days

    Active users trend for Product analytics2 values; decreased from 1,840 to 1,510. Period: 10-day reporting period.
  • Activation rate

    Activation rate

    43.0%

    Up: 2.1 pts vs. previous period · 10 days

    Activation rate trend for Product analytics2 values; increased from 0.42 to 0.44. Period: 10-day reporting period.
  • Returning users

    Returning users

    32.5%

    Flat: 0.3 pts vs. previous period · 10 days

    Returning users trend for Product analytics2 values; increased from 0.31 to 0.34. Period: 10-day reporting period.
  • Support tickets

    Support tickets

    64

    Down: 5.2% vs. previous period · 10 days

    Support tickets trend for Product analytics2 values; decreased from 34 to 30. Period: 10-day reporting period.

Layout changes stay in this preview and are not saved.

If the interactive demo cannot load, use the static preview above.

One board, several ways to see the work

See product signals together.

Compare active users, activation and retention in one board. The sample responds to the selected date range and region filter.

  • KPI widgets
  • Filters and date range

Spot support pressure early.

Review incoming tickets, first response time and customer satisfaction, then rearrange the widgets to put the urgent signals first.

  • Arrange widgets
  • KPI widgets

Keep the pipeline in view.

Read pipeline value, win rate and deal volume together. Move or resize cards using pointer gestures or the keyboard handles.

  • Arrange widgets
  • Filters and date range

From sample rows to a board you can arrange.

  1. Choose a view

    Select product analytics, support operations or a sales pipeline.

  2. Set the period

    Pick a reporting range; the preview scales the fictional sample to that window.

  3. Filter the rows

    Apply a Region condition, inspect its chip, or clear filters to restore all sample rows.

  4. Arrange the board

    Move and resize each widget with a pointer or the keyboard.

    Package: @texuli/data

Dashboards is built from @texuli/data, on texuli, @texuli/tokens, @texuli/primitives, @texuli/core and @texuli/drag.

Solution

Dashboards

Packages

  • L4@texuli/dataDashboard grid, layout engine, filter builder and filter barSubpaths: ./dashboard · ./dashboard/engine · ./filter-builder · ./filter-bar

Built on

  • L3texuli (Styled components)
  • L2@texuli/tokens (Theme tokens)
  • L1@texuli/primitives (Headless primitives)
  • L0@texuli/core (Texels and the URL policy)
  • L0@texuli/drag (Drag engine)

Build with Dashboards

Start with a widget grid

Install

pnpm add @texuli/data

Compose a dashboard

<script lang="ts">
  import { Dashboard, DashboardWidget } from '@texuli/data/dashboard';
</script>

<Dashboard label="Operations" editable>
  <DashboardWidget id="revenue" title="Revenue" x={0} y={0} w={6} h={2}>
    <p>$48,290</p>
  </DashboardWidget>
</Dashboard>

Verified by the @texuli/data/dashboard API and the dashboard behavior suite

Keep building

For agents

The catalog can describe dashboard layouts as data. The interactive demo itself uses only local fictional rows and does not contact a service.

  • data-dashboarddata-dashboard: In development

    Catalog component for a host-rendered dashboard layout.

  • data-dashboard-widgetdata-dashboard-widget: In development

    Catalog component for a dashboard widget in a validated blueprint.

Platforms

  • Web

    Web: In development

    Svelte 5 packages published on npm (pre-1.0).

  • Compose Desktop

    Compose Desktop: Planned

    Kotlin Multiplatform renderer on the JVM, built in this repository.

  • Android

    Android: Planned

    Native renderer target.

  • iOS

    iOS: Planned

    Native renderer target.

How the native renderer works

Start building with Dashboards

KPI boards people arrange, from the keyboard too.

A low horizon of stacked cubes rising to one glowing pearl cube under a wide open skyA low horizon of stacked cubes rising to one glowing pearl cube under a wide open sky