Sextant
shadcn registry · 65 intelligent widgets · 9 verticals

Charts for the numbers you'll be held accountable for.

Defensible forecasts, honest uncertainty and anomaly detection — for the board deck, the investor update, the customer-facing dashboard. A shadcn/ui registry of intelligent chart widgets across product, growth, finance and ops, with loading, empty and error states baked in and a one-sentence narrative on every chart. No LLM, no chart wiring.

npx shadcn add @sextant/chart-anomaly-timeseries
Built onNext.jsTailwind v4Rechartsshadcn/uiTypeScriptOKLCH
What's inside

Five reasons Sextant beats roll-your-own.

Defensible by design

Forecast bands are model-derived — ETS residual σ, not decoration — backtested for calibration and shown with the coverage number, so they hold up when someone asks how you got them. The same honest stats run on any metric: revenue, retention, uptime, headcount.

Stress-test it on your data →

Charts that explain themselves

Every widget computes a one-sentence narrative — the anomaly that matters, the biggest driver, the months of runway — in deterministic TypeScript. No LLM, no API key, no hallucination.

Every state, handled

Loading, empty, error and — the one nobody ships — stale. Each widget renders all four out of the box, so a dashboard you'll be held accountable for never silently shows wrong or out-of-date numbers.

Adapts to any size

One widget re-composes itself from a KPI sparkline to a full board chart — not a shrunk SVG, but the right information density at every size. Drop it in a tile or a hero slot; it fits.

Drop-in via the shadcn CLI

npx shadcn add @sextant/<widget>. Namespaced, license-validated, dependencies resolve automatically, inherits your theme — plus an MCP server so AI agents can install it.

Signature interaction

Drill down without leaving the chart.

A modal drill-down covers the chart you just clicked — you read the detail and lose the comparison that made you click. Sextant's floating panels drag a bar out of the plot into a draggable, resizable panel beside it: a table, another chart, a note, even a live what-if that re-derives the bars. Open as many as you like and arrange them around the plot. Mouse, touch and keyboard.

Every bar, column and waterfall widget exposes it behind one prop, off by default — a widget you've already installed is byte-identical until you opt in.

<ChartMrrWaterfall floatingPanels />

ARR movement · Acme · Q2 2026 · Jun 2026

$4,398,000

+$198,000 net · +4.7%

  • Gains
  • Losses
  • Anchors

MRR grew +4.7% Q2 2026 · Jun 2026 to $4.4M — +6.8pts from new business, −4.6pts from churn.

Acme analytics · updated daily

Live — drag a movement bar out of the plot (or focus one and press Enter).

Pricing

Own the code. Pay for it staying correct.

Every widget's source installs into your repo with npx shadcn add @sextant/... — you own it. The subscription keeps it current: new widgets, refinements, and fixes as React and Next move underneath you. Cancel anytime and keep what you've installed, frozen. The core widgets are free — start without a license.

Indie

One-time

For solo devs and a single product.

$99once

One-time payment of $99 — it does not renew and you will not be charged again. It includes 12 months of updates; after that the key stops installing new versions and everything you already installed stays yours.

  • Full catalog — source you own
  • One product, personal or employer
  • 12 months of updates & new widgets
  • Keep what you installed, forever
  • Community support
Get Indie
Recommended

Product

Annual

For one product embedding analytics.

$490/ product / year

Renews automatically at $490 per product every 12 months until you cancel. Cancel anytime using the link on your receipt.

  • Everything in Indie
  • New widgets & refinements while active
  • Framework-churn maintenance (Next / React)
  • Email support
Get Product

Business

Annual

For customer-facing & multi-product teams.

$1490/ year

Renews automatically at $1,490 every 12 months until you cancel. Cancel anytime using the link on your receipt.

  • Everything in Product
  • Up to 5 products
  • Embed & ship to your customers
  • Priority support + canary-fix SLA
Get Business

A product is one application you ship, with all of its environments and releases — dev, staging, and production together count as one. An internal tool counts as one. Launch rates · subject to change as the catalog grows. Indie is a single charge that does not renew and installs updates for 12 months. The annual tiers renew automatically at the price shown every 12 months until you cancel; cancel anytime using the link on your receipt, effective at the end of the paid period. Either way, widgets already in your repo stay yours to use and ship — see the license. Every purchase is covered by our 14-day money-back guarantee. All prices in USD. EU VAT handled by merchant of record.

FAQ

Questions, answered.

What is Sextant?
Sextant is a paid shadcn/ui component registry of intelligent chart widgets for React across product, growth, finance and ops — conversion funnels, retention curves, revenue and NRR waterfalls, cash runway, forecasting, and anomaly detection. Every widget ships with built-in loading, empty, error and stale states and a one-sentence narrative that explains the chart automatically. Install any widget with `npx shadcn add @sextant/<widget>`.
How do I add a cash runway chart to a React or Next.js app?
Run `npx shadcn add @sextant/fpa-cash-runway`. The CLI copies a typed React/Recharts component into your project that renders monthly cash balance, a projected depletion line, a runway-in-months figure, and an auto-generated narrative. Pass your own data through the typed prop — no chart wiring required.
How is Sextant different from Tremor or raw shadcn charts?
Tremor and the built-in shadcn chart primitives give you generic chart shapes — you still build the domain logic, the loading/empty/error states, and the explanation yourself. Sextant ships domain-specific widgets across product, growth, finance and ops with the math, production states, and a deterministic narrative already baked in, so a retention curve or cash-runway card is one install instead of a day of work.
Do Sextant charts need an LLM or API key to generate insights?
No. Every narrative — anomaly callouts, forecast bands, variance drivers, cohort highlights — is computed by pure, deterministic TypeScript (z-scores, Holt linear forecasting, waterfall bridges). There is no LLM, no API key, no network call, and no hallucination risk — which is what teams shipping production dashboards need.
Which stack does Sextant work with?
Sextant targets React 19, Next.js, Tailwind CSS v4, Recharts 3, and shadcn/ui. Widgets install through the standard shadcn CLI, resolve their dependencies automatically, and inherit your existing shadcn theme tokens — plus a chart-first theme builder for tuning the chart palette.
Can AI coding agents like Cursor or Claude Code install Sextant widgets?
Yes. Sextant ships an MCP server so AI agents can search the catalog, inspect a widget's data contract, bind your data, and emit a ready-to-paste `npx shadcn add @sextant/<widget>` command. The widgets are also fully documented for agents that read `/llms.txt`.
Why a subscription if the code installs into my repo?
You're not paying for the code — you own that after one install. You're paying for it to stay correct: new widgets, refinements, and fixes as React and Next change underneath you. Cancel anytime and you keep every widget you've already installed, frozen at its current version; the subscription only gates pulling new and updated ones. Solo devs and single products can instead buy the Indie tier once — no subscription, and it installs updates and new widgets for 12 months, after which the widgets in your repo stay yours and are frozen the same way.
See all FAQs →