Design System
Blocks · Marketing
Landing-page section blocks — heroes, features, stats, testimonials, pricing, FAQ, CTA, navbars, footers — each composed only from the kit components, over mock fixtures. Palette, not product: nothing here reaches a member surface.
A centered hero — eyebrow badge, large headline, subhead, two CTAs.
Build surfaces that can’t drift
One closed ladder of components, blocks, and templates — assembled server-side, honest by default, fast everywhere.
A two-column hero — copy and CTAs left, a product preview frame right.
Ship the whole page, not just the parts
Components compose into blocks, blocks fill templates, templates become pages — one system, end to end.
A hero with an inline email capture — headline, subhead, request-access form.
Join the early access list
Be first when the next wave of blocks lands. No spam — one note when it ships.
2,300 builders already on the list.
A social-proof strip — "trusted by" over a wrapped row of customer wordmarks.
Trusted by teams at
A three-column feature grid — icon, title, and one-line body per feature.
Everything the page needs
A kit that carries its own discipline, so quality is the default and not the exception.
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
Themeable
One committed token set drives light and dark — no runtime theme thrash.
Accessible
Native controls, real focus states, keyboard paths — accessibility is the default.
Deterministic
The same input yields the same bytes, so drift breaks the build and never ships quietly.
A media-and-copy feature row — a preview frame beside a titled checklist.
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
- ✓Numbers re-execute from their source. A claim never reads stronger than its evidence.
- ✓Pure server rendering, zero client weight on the critical path, instant first paint.
- ✓One committed token set drives light and dark — no runtime theme thrash.
A four-up metric band — big number, label, and a small qualifying hint each.
A stats block with a framing headline beside a grid of bordered metric cells.
Measured, not asserted
Every number on this page re-executes from its source. When it can’t, it says so.
A single centered pull-quote with the speaker's avatar, name, and role.
“We replaced three tools with one surface and shipped in a week. The team stopped arguing about layout and started building.”
A three-column testimonial grid — one quote card per customer.
Loved by the teams who ship
“We replaced three tools with one surface and shipped in a week. The team stopped arguing about layout and started building.”
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alone paid for the year.”
“It feels like a design system that actually enforces itself. Nothing half-built ever reaches our users.”
A three-tier pricing table with a highlighted popular plan and feature lists.
Simple, honest pricing
Start free. Upgrade when the team does. No usage traps.
Team
PopularFor a growing product.
- ✓Unlimited workspaces
- ✓Priority support
- ✓All blocks & templates
- ✓Audit trail
Scale
For the whole org.
- ✓Everything in Team
- ✓SSO & SCIM
- ✓Dedicated success
- ✓Custom SLAs
A frequently-asked-questions block as a native disclosure accordion.
Questions, answered
How is this different from a component library?
The library is the floor. Here the whole page — components, blocks, templates — is one closed ladder, so a surface cannot drift from the system without breaking the build.
Can I bring my own theme?
Yes. One committed token set drives everything; point it at your palette and every surface re-derives, light and dark, with no per-component overrides.
Does it work without JavaScript?
The critical path is pure server-rendered HTML. Interactive islands hydrate progressively, but the page is legible and navigable before a single byte of JS loads.
Is there a free tier?
The Starter plan is free forever for a single workspace, with the full core kit and community support.
A full-width primary-colored call-to-action band with two actions.
Ready to build a page that can’t lie?
Start with the free tier and ship your first honest surface today.
A newsletter sign-up CTA — copy beside an inline email subscribe form.
One note when something ships
New blocks, templates, and the occasional deep-dive. Never more than monthly.
A slim full-width announcement banner with an inline link-out.
A centered hero above a wide video/media placeholder frame.
See the whole system at a glance
One canvas, every surface — watch a page assemble itself from the kit.
An asymmetric bento grid of feature cells at mixed spans.
A kit with opinions
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
Themeable
One committed token set drives light and dark — no runtime theme thrash.
Feature groups switched by a tab bar over a three-up feature row.
Built for every surface
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
A copy column beside a two-column ticked list of capabilities.
Everything on, nothing to wire
The defaults are the product. You don’t assemble safety — it ships on.
- ✓Composable by design
- ✓Truth-first
- ✓Fast everywhere
- ✓Themeable
- ✓Accessible
- ✓Deterministic
A three-step how-it-works row with numbered medallions.
From source to shipped in three moves
Connect your source
Point the kit at your data. Every number it shows re-derives from there.
Assemble the page
Compose from components and blocks — the ladder keeps it coherent.
Ship with confidence
The build fails on drift, so what reaches users is what you meant.
An us-versus-others capability table with tick/dash and text cells.
How we compare
| Capability | Northwind | Others |
|---|---|---|
| Server-rendered critical path | ✓ | — |
| Numbers re-execute from source | ✓ | — |
| Light & dark from one token set | ✓ | ✓ |
| Drift breaks the build | ✓ | — |
| Runtime theme thrash | None | Common |
| Bespoke one-off screens | Never | Everywhere |
A four-up team grid — avatar, name, and role per member.
The people behind it
A small team that ships honest software.
A three-column blog index — cover, tag, title, excerpt, byline.
From the blog
Why surfaces should re-execute their own numbers
Every metric on a page is a promise. Here is how we make the page keep it — or admit it can’t.
One ladder: components to pages, end to end
The case for a single closed composition ladder instead of a pile of bespoke screens.
Drift breaks the build: a field report
Six months of shipping spec-first. What broke loudly so nothing broke quietly.
A single highlighted pricing plan callout with a centered feature list.
Team
For a growing product.
- ✓Unlimited workspaces
- ✓Priority support
- ✓All blocks & templates
- ✓Audit trail
A two-column CTA — headline left, a sign-up card right.
Start free. Upgrade when you’re ready.
No credit card, no usage traps — the whole core kit on the free tier.
Create your workspace
Free forever for one workspace.
A contact section — details left, a name/email/message form right.
Talk to us
Tell us what you’re building and we’ll help you map it onto the kit.
A centered newsletter sign-up with an inline email form.
Stay in the loop
One note a month — new blocks, templates, and the occasional deep-dive.
A centered hero over a soft top-down gradient wash.
The system that keeps itself honest
One kit, one ladder, zero drift — every page you ship is exactly what you meant.
A centered hero with a four-up metric band beneath it.
Numbers you can stand behind
Every metric re-executes from its source — measured, never asserted.
A reusable centered section heading — eyebrow, title, supporting line.
Why it matters
A heading block you can drop above any section
Eyebrow, title, and a supporting line — the connective tissue between a page’s sections.
A three-column feature grid rendered as bordered kit cards.
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
Themeable
One committed token set drives light and dark — no runtime theme thrash.
Accessible
Native controls, real focus states, keyboard paths — accessibility is the default.
Deterministic
The same input yields the same bytes, so drift breaks the build and never ships quietly.
A single-feature spotlight — a big number and copy beside a media frame.
Fewer bespoke screens
When every surface comes off the same ladder, the pile of one-off pages simply stops growing.
See how it works →An integrations grid — logo, name, and category per connected tool.
Works with your stack
Connect the tools you already use — no rip-and-replace.
A bordered logo wall — customer wordmarks in a divided grid.
Powering teams at
A plan comparison matrix — capabilities down, plans across, tick cells.
Compare plans
| Starter $0/mo | Team $29/mo | Scale $99/mo | |
|---|---|---|---|
| Workspaces | 1 | Unlimited | Unlimited |
| Support | Community | Priority | Dedicated |
| Blocks & templates | Core | All | All |
| Audit trail | — | ✓ | ✓ |
| SSO & SCIM | — | — | ✓ |
A pricing block with a monthly/annual billing toggle over three tiers.
Save with annual billing
A two-column plain FAQ — question and answer pairs, no accordion.
Common questions
How is this different from a component library?
The library is the floor. Here the whole page — components, blocks, templates — is one closed ladder, so a surface cannot drift from the system without breaking the build.
Can I bring my own theme?
Yes. One committed token set drives everything; point it at your palette and every surface re-derives, light and dark, with no per-component overrides.
Does it work without JavaScript?
The critical path is pure server-rendered HTML. Interactive islands hydrate progressively, but the page is legible and navigable before a single byte of JS loads.
Is there a free tier?
The Starter plan is free forever for a single workspace, with the full core kit and community support.
A six-up row of compact quote cards with avatar bylines.
“We replaced three tools with one surface and shipped in a week. The team stopped arguing a…”
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alo…”
“It feels like a design system that actually enforces itself. Nothing half-built ever reach…”
“We replaced three tools with one surface and shipped in a week. The team stopped arguing a…”
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alo…”
“It feels like a design system that actually enforces itself. Nothing half-built ever reach…”
A pull-quote beside a pair of bordered supporting metrics.
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alone paid for the year.”
A muted three-up metrics band — big number, label, and context.
trailing 90 days
server-side
active this month
A vertical process timeline — connected numbered steps down a rail.
How a page comes together
- Connect your source
Point the kit at your data. Every number it shows re-derives from there.
- Assemble the page
Compose from components and blocks — the ladder keeps it coherent.
- Ship with confidence
The build fails on drift, so what reaches users is what you meant.
A blog layout — one featured post card beside a compact post list.
Why surfaces should re-execute their own numbers
Every metric on a page is a promise. Here is how we make the page keep it — or admit it can’t.
A changelog announcement card — release image beside titled copy.
Templates, now generally available
Assemble a whole page from a starting template, then customise every block — all on the same honest ladder.
Read the notesA rounded gradient CTA card with a headline and a single action.
Build your first honest surface today
Free forever for one workspace. No card, no lock-in, no drift.
A split hero with copy left and a product preview frame on the right.
Ship honest surfaces, faster
One closed ladder of components and blocks — assembled server-side, fast everywhere, drift-proof by construction.
A split hero with the product preview on the left and copy on the right.
The page assembles itself
Point the kit at your data and watch a whole surface come off the same ladder — coherent, honest, ready to ship.
A centered hero with a large screenshot frame breaking the bottom edge.
See the whole system at a glance
One canvas, every surface — a page that keeps its own promises.
A split hero with a sign-up card form on the right.
Create your workspace in seconds
No credit card, no setup call — the whole core kit, free for your first workspace.
- ✓ Free forever for one workspace
- ✓ Cancel or upgrade anytime
Start free
By continuing you agree to our terms.
A centered hero topped by a row of outline capability pills.
Everything on, nothing to wire
The defaults are the product. Safety and honesty ship on — you assemble the page, not the guardrails.
A centered hero with stacked avatars and a five-star social-proof rating.
Loved by the teams who ship
Twelve thousand teams build their surfaces on one honest ladder.
A full dark inverted centered hero with two contrasting CTAs.
The system that keeps itself honest
One kit, one ladder, zero drift — every page you ship is exactly what you meant.
A spare typographic hero — one oversized headline and a single CTA.
Build surfaces that can’t drift.
A developer hero with a dark terminal-style code panel beside the copy.
One import, the whole page
Compose components into blocks into templates — all typed, all server-rendered, all from one ladder.
// assemble a page
import { Page } from '@northwind/kit'
export default () => (
<Page template="marketing" />
)A centered hero over a video panel with a round play button and duration.
Watch a page build itself
Two minutes from empty canvas to shipped surface.
A centered hero with a two-column pair of equal-weight CTAs for split audiences.
For builders and buyers alike
Start hands-on with the free kit, or talk to us about rolling it out across the org.
A centered hero led by a colored uppercase eyebrow above the headline.
Design system · 2026
One ladder from component to page
The eyebrow sets the context, the headline makes the promise, and the ladder keeps it.
A split hero pairing a headline with an inline email subscribe form.
Get the wave when it lands
New blocks, templates, and the occasional deep-dive — one note a month, no spam.
2,300 builders already on the list.
A cookie-consent bar with decline, preferences, and accept-all actions.
We use cookies to keep the product honest and the experience fast. You choose what’s optional.
A primary promo strip with a badge, message, and an inline claim link.
A muted utility top bar with a shipping note and account/help links.
A dark high-urgency flash-sale bar with a destructive discount badge.
A left-aligned page header with title, subtitle, and header actions.
Team members
Manage who can access this workspace and what they can do.
A centered page header with eyebrow badge, title, and lead paragraph.
Everything you need to build
Guides, references, and recipes for assembling honest surfaces from the kit.
A page header led by a breadcrumb trail above the title and a source action.
Button
A pressable control in five variants and three sizes.
An in-app trial-upgrade prompt bar with icon, message, and dual actions.
Upgrade now to keep your workspaces and audit trail.
A two-column feature intro — heading left, icon-led feature list right.
Everything the page needs, out of the box
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
Three centered icon-led feature columns.
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
A capability list beside a preview frame.
One kit, every capability
- ◇Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
- ◈Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
- ◆Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
- ○Themeable
One committed token set drives light and dark — no runtime theme thrash.
A single feature with copy left and a media preview on the right.
Claims that never outrun their evidence
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Learn more →A single feature with a media preview left and copy on the right.
Fast on the critical path
Pure server rendering, zero client weight on the critical path, instant first paint.
See the benchmarks →A full six-feature grid with divider borders between cells.
Built for teams that ship
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
Themeable
One committed token set drives light and dark — no runtime theme thrash.
Accessible
Native controls, real focus states, keyboard paths — accessibility is the default.
Deterministic
The same input yields the same bytes, so drift breaks the build and never ships quietly.
A centered single-feature highlight band with a CTA.
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Features paired with large ghost ordinal numbers in a two-column grid.
What sets it apart
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
Themeable
One committed token set drives light and dark — no runtime theme thrash.
Three features each over a preview image frame.
See it in every surface
The same ladder renders marketing, app, and commerce alike.
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
Two side-by-side cards contrasting the honest way against bespoke screens.
The honest way vs. the old way
With Northwind
One system, end to end.
- ✓Assembled from one ladder
- ✓Numbers re-execute
- ✓Drift breaks the build
- ✓Ships on by default
Bespoke screens
A pile of one-offs.
- —Assembled from one ladder
- —Numbers re-execute
- —Drift breaks the build
- —Ships on by default
A heading beside an accordion of expandable feature explanations.
Every capability, explained
Open any feature to see exactly what it does and why it matters.
◇ Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
◈ Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
◆ Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
○ Themeable
One committed token set drives light and dark — no runtime theme thrash.
A feature checklist paired with a grid of bordered stat tiles.
Capability, measured
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Pure server rendering, zero client weight on the critical path, instant first paint.
A vertical tab rail of capabilities with an active detail panel.
Pick a capability
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
A compact wrapped row of icon-and-label feature chips.
A hero-scale showcase frame with three supporting feature notes.
One canvas, the whole system
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
◈ Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
◆ Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
○ Themeable
One committed token set drives light and dark — no runtime theme thrash.
An asymmetric bento of four feature tiles with one tall lead cell.
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
Themeable
One committed token set drives light and dark — no runtime theme thrash.
A four-column bento mixing wide, narrow, and accent feature tiles.
A kit with opinions
Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
Fast everywhere
Themeable
One committed token set drives light and dark — no runtime theme thrash.
Three horizontal connected steps with numbered nodes.
Three moves to ship
Connect your source
Point the kit at your data. Every number it shows re-derives from there.
Assemble the page
Compose from components and blocks — the ladder keeps it coherent.
Ship with confidence
The build fails on drift, so what reaches users is what you meant.
Three step cards each led by a large ghost ordinal.
Connect your source
Point the kit at your data. Every number it shows re-derives from there.
Assemble the page
Compose from components and blocks — the ladder keeps it coherent.
Ship with confidence
The build fails on drift, so what reaches users is what you meant.
A vertical stack of icon-led steps with step-number eyebrows.
How it works
Connect your source
Point the kit at your data. Every number it shows re-derives from there.
Assemble the page
Compose from components and blocks — the ladder keeps it coherent.
Ship with confidence
The build fails on drift, so what reaches users is what you meant.
A vertical roadmap timeline with dated milestone nodes.
Where we’re headed
- 2024The kit is born
One ladder of components, blocks, and templates — assembled server-side.
- 2025Templates ship
A full page starts from a template, then every block is customisable.
- TodayHonesty by default
Numbers re-execute and drift breaks the build — the safety ships on.
- NextThe whole surface
Every product surface comes off the same honest ladder.
A grid of integration logo tiles with names.
Plays well with your stack
Connect the tools you already use — no rip-and-replace.
A divided list of integrations each with a Connect action.
Three centered how-it-works cards with icons.
From source to shipped
Connect your source
Point the kit at your data. Every number it shows re-derives from there.
Assemble the page
Compose from components and blocks — the ladder keeps it coherent.
Ship with confidence
The build fails on drift, so what reaches users is what you meant.
A six-tile grid of product use cases with icons.
Built for every use case
One system carries them all — no bespoke drift between them.
Marketing sites
Landing pages that assemble from blocks and never drift from brand.
Dashboards
Every metric re-executes from its source — measured, never asserted.
Commerce
Storefronts and checkout on the same honest ladder as everything else.
Internal tools
Ship team surfaces fast without a pile of bespoke one-off screens.
Documentation
Docs that stay in lockstep with the components they describe.
Portals
Member and partner portals with safety on by default.
A benefits pitch beside a bordered feature checklist.
The benefits compound
When every surface comes off the same ladder, quality is the default — and the pile of one-off screens stops growing.
- ✓Composable by design
Every surface is assembled from the same small kit — one ladder, no bespoke drift.
- ✓Truth-first
Numbers re-execute from their source. A claim never reads stronger than its evidence.
- ✓Fast everywhere
Pure server rendering, zero client weight on the critical path, instant first paint.
- ✓Themeable
One committed token set drives light and dark — no runtime theme thrash.
- ✓Accessible
Native controls, real focus states, keyboard paths — accessibility is the default.
- ✓Deterministic
The same input yields the same bytes, so drift breaks the build and never ships quietly.
Three testimonial cards with star ratings, quote, and attributed author.
What teams tell us
“We replaced three tools with one surface and shipped in a week. The team stopped arguing about layout and started building.”
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alone paid for the year.”
“It feels like a design system that actually enforces itself. Nothing half-built ever reaches our users.”
A single oversized pull-quote centered on a muted band with author.
It feels like a design system that actually enforces itself. Nothing half-built ever reaches our users.
A customer logo paired with their quote in a two-column split.
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alone paid for the year.”
Two bordered testimonial panels side by side.
“We replaced three tools with one surface and shipped in a week. The team stopped arguing about layout and started building.”
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alone paid for the year.”
Overlapping avatar row, star rating, and a centered social-proof quote.
“We replaced three tools with one surface and shipped in a week. The team stopped arguing about layout and started building.”
Joined by 12,000+ teams building honest surfaces.
A video-thumbnail case card beside a rated quote with a watch link.
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alone paid for the year.”
Aggregate star score above three compact star-rated review tiles.
4.9 out of 5 · 2,300 reviews
“We replaced three tools with one surface and shipped in a week. The team stopped arguing about l…”
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alone pai…”
“It feels like a design system that actually enforces itself. Nothing half-built ever reaches our…”
A single centered row of customer wordmarks.
A horizontal marquee-style strip of repeated logos under an eyebrow.
Trusted across the industry
A divided bordered grid of six customer logos.
A heading and blurb beside a compact three-column logo grid.
Backed by teams who ship
From seed-stage to enterprise, thousands of teams build on Northwind.
Four KPI stats rendered as individual cards.
Four headline stats reversed out on a primary gradient band.
By the numbers
Four divided stat columns with value, label, and hint.
Impact copy on the left with a four-up bordered stat grid on the right.
Growth you can measure
Every figure here re-executes from its source. When a number can’t be proven, it says so — never rounded up.
Read the impact report →Team members as centered avatar cards in a four-column grid.
Meet the team
A small crew that ships honest software.
Leadership as stacked rows with avatar, role, and profile link.
Team grid with per-member social links under each avatar.
Latest posts as full-width rows with tag, title, excerpt, and author.
Latest writing
Every metric on a page is a promise. Here is how we make the page keep it — or admit it can’t.
The case for a single closed composition ladder instead of a pile of bespoke screens.
Six months of shipping spec-first. What broke loudly so nothing broke quietly.
Two cover-image blog cards with tag, title, and author footer.
Why surfaces should re-execute their own numbers
Every metric on a page is a promise. Here is how we make the page keep it — or admit it can’t.
One ladder: components to pages, end to end
The case for a single closed composition ladder instead of a pile of bespoke screens.
A minimal titled list of posts with trailing dates.
A featured-in logo strip above a pulled press quote.
As featured in
“We replaced three tools with one surface and shipped in a week. The team stopped arguing about layout and started building.”
— Loomfield Review
Four bordered award badges with title and year.
A case-study card pairing a cover with quote, headline stats, and CTA.
How Cartographer cut render time 4×
“The honesty defaults caught two dashboards that were quietly rounding revenue up. That alone paid for the year.”
An author header, divider, and long-form story pull-quote with a read link.
“It feels like a design system that actually enforces itself. Nothing half-built ever reaches our users.”
Read the full story of how Kelvin moved onto Northwind.
Continue reading →Two side-by-side plan cards, free vs. featured, with a recommended ring.
Two plans, no surprises
Start free, upgrade the day the team outgrows it.
Team
RecommendedFor a growing product.
- ✓Unlimited workspaces
- ✓Priority support
- ✓All blocks & templates
- ✓Audit trail
A four-across plan grid spanning free through scale with one highlighted tier.
Priced for every stage
Free
For a first surface.
Team
For a growing product.
Business
For scaling orgs.
Scale
For the whole org.
A detailed feature-comparison table with per-column plan prices and CTAs.
Compare every plan
Starter $0/mo Start free | Team $29/mo Start trial | Scale $99/mo Contact sales | |
|---|---|---|---|
| Workspaces | 1 | Unlimited | Unlimited |
| Support | Community | Priority | Dedicated |
| Blocks & templates | Core | All | All |
| Audit trail | — | ✓ | ✓ |
| SSO & SCIM | — | — | ✓ |
| Custom SLAs | — | — | ✓ |
A single flat price with an included-features checklist and one CTA.
One price, everything included
No tiers to decode — the full kit for a flat monthly fee.
- ✓Unlimited workspaces
- ✓Priority support
- ✓All blocks & templates
- ✓Audit trail
- ✓SSO & SCIM
- ✓Priority support
14-day trial · no card required.
An enterprise pitch with a controls checklist beside a request-a-quote card.
Built for the whole organisation
Volume pricing, dedicated success, and the security controls your procurement team asks for.
- ✓SSO & SCIM provisioning
- ✓Custom SLAs & uptime
- ✓Dedicated success manager
- ✓Audit log export
- ✓Invoiced billing
- ✓Data residency options
Talk to sales
We’ll tailor a plan to your seat count and controls.
FAQ entries laid out as a two-column grid of question-and-answer cards.
Frequently asked
How is this different from a component library?
The library is the floor. Here the whole page — components, blocks, templates — is one closed ladder, so a surface cannot drift from the system without breaking the build.
Can I bring my own theme?
Yes. One committed token set drives everything; point it at your palette and every surface re-derives, light and dark, with no per-component overrides.
Does it work without JavaScript?
The critical path is pure server-rendered HTML. Interactive islands hydrate progressively, but the page is legible and navigable before a single byte of JS loads.
Is there a free tier?
The Starter plan is free forever for a single workspace, with the full core kit and community support.
A search field above an accordion of expandable questions.
How can we help?
Search the docs or browse the common questions below.
How is this different from a component library?
The library is the floor. Here the whole page — components, blocks, templates — is one closed ladder, so a surface cannot drift from the system without breaking the build.
Can I bring my own theme?
Yes. One committed token set drives everything; point it at your palette and every surface re-derives, light and dark, with no per-component overrides.
Does it work without JavaScript?
The critical path is pure server-rendered HTML. Interactive islands hydrate progressively, but the page is legible and navigable before a single byte of JS loads.
Is there a free tier?
The Starter plan is free forever for a single workspace, with the full core kit and community support.
FAQ links grouped into three topic columns with divider rules.
A plain divided list of questions with inline answers.
Questions & answers
How is this different from a component library?
The library is the floor. Here the whole page — components, blocks, templates — is one closed ladder, so a surface cannot drift from the system without breaking the build.
Can I bring my own theme?
Yes. One committed token set drives everything; point it at your palette and every surface re-derives, light and dark, with no per-component overrides.
Does it work without JavaScript?
The critical path is pure server-rendered HTML. Interactive islands hydrate progressively, but the page is legible and navigable before a single byte of JS loads.
Is there a free tier?
The Starter plan is free forever for a single workspace, with the full core kit and community support.
A centered headline with primary and outline call-to-action buttons.
Ship your first honest surface
Free forever for one workspace. No card, no lock-in, no drift.
A split CTA pairing copy and buttons with a product-preview panel.
See it on your own data
Point the kit at a live source and watch a page assemble itself — honest numbers, first paint.
A full-bleed dark band with contrasting solid and ring CTA links.
Ready when you are
Join the teams shipping surfaces that keep themselves honest.
A horizontal CTA row with copy on the left and two buttons on the right.
Start building today
Free for one workspace — upgrade only when the team grows.
A centered CTA backed by a four-across proof-point stat row.
Trusted where it counts
The numbers teams see before they switch — and after.
A boxed create-workspace signup card with name and email fields.
Create your workspace
The full core kit, free forever for one workspace.
Already have an account? Sign in
Three contact-channel cards for email, phone, and live chat.
Get in touch
Pick the channel that suits you — we answer on all of them.
Email us
hello@northwind.com
Replies within a day.
Call sales
+1 (555) 019-2837
Mon–Fri, 9–5 ET.
Live chat
Start a conversation
Average wait under 2 min.
A contact form beside a map/address panel in a two-column split.
Come say hello
We’re a small team, but we read every message.
A centered minimal contact form with email and message fields.
Contact us
Tell us what you’re building and we’ll be in touch.