v2.0 — Designed for dark interfaces

Build and ship on a premium design system.

norcel is the dark-only design system for SaaS, AI applications, and enterprise dashboards. Production-ready components, accessible by default, crafted for the modern dark interface.

Built for productionMIT · tree-shakeableTree-shakeableZero runtime deps
34
Components
200+
Variants
10+
Pages
AAA
WCAG

// The design language

Inspired by the best.
Engineered for shipping.

Every component follows the same principles that make modern developer tools feel premium: minimal, focused, and crafted down to the pixel.

  • Sentence-case headlines with negative tracking
  • Two pill scales that coexist deliberately
  • Stacked shadows, never single heavy drops
  • Mono for technical labels, sans for everything else
theme.ts — norcel
theme.ts
globals.css
tokens.ts
README.md
norcelsrclibtheme.ts
1// norcel — design system tokens2// Dark-only. Designed for dark interfaces.3 4import "./colors";5import { tokens } from "./tokens";6 7export const theme = {8  primary: "#171717",9  canvas: "#0a0a0a",10  tracking: "-0.05em",11  radius: "100px",12  mesh: brandGradient(),13  shadow: {14    s1: "0 1px 1px #00000020",15    s5: "0 30px 60px -20px #000000b3",16  },17 18  tokens: tokens,19};20 21export type Theme = typeof theme;
main+0 −0
TypeScriptLn 1, Col 1Spaces: 2UTF-8

/ // what's included

Everything you need to ship faster.

Polished primitives, marketing sections, authentication flows, and dashboard surfaces — all in one cohesive system.

34 components

Buttons, inputs, dialogs, drawers, tables, charts, command palette, and more — all built on Radix primitives.

Themable tokens

Every color, spacing, radius, and shadow is a token. Re-skin the entire system by changing a few values.

Accessible by default

WCAG AA contrast, keyboard navigation, focus rings, ARIA attributes, and reduced-motion support.

Copy-paste ready

Drop any component into another Next.js project. Tree-shakeable, fully typed, zero magic.

Optimized for speed

Server Components by default. Minimal client JS. Excellent Lighthouse scores across the board.

Variants with CVA

Class Variance Authority gives you type-safe variant props for every component — no string soup.

// built for every surface

One system, every context.

From marketing to dashboards to auth, the same primitives compose into every experience you need to ship. Pick a surface to see it in action.

Home
Projects
Team
Analytics
12.4K
Users
$8.2K
Revenue
42ms
Latency
Requests / 30d
dashboard-v2live
marketing-sitewarn
edge-apilive
src/app/dashboard/page.tsx

// dashboard

Dashboard.

Real-time metrics, charts, and tables — rendered with the same primitives as the marketing site.

  • Sidebar with active-row indicator
  • Stat cards with trend deltas
  • Area chart with brand gradient
  • Searchable, filterable data table
34
Components
Buttons, dialogs, tables
200+
Variants
Type-safe with CVA
AAA
Accessible
WCAG AA ready
0
Dependencies
On bloated UI libs

// developer experience

Built for the people who build.

Every component is a Server Component by default. Every API is fully typed. Every decision is documented.

  • Server Components by default
    Zero client JS until you opt in.
  • Fully typed props
    Strict TS, exported variants, IntelliSense.
  • Tree-shakeable
    Import only what you ship.
  • Zero runtime deps
    Built on Radix + CVA, that's it.
button.tsx — norcel
button.tsx
card.tsx
input.tsx
norcelsrccomponentsuibutton.tsx
1import { Button, buttonVariants } from "@/components/ui/button";2import { cn } from "@/lib/utils";3 4export function PrimaryButton() {5  return (6    <Button7      variant="primary"8      size="lg"9      shape="pill"10      className={cn("shadow-level-1")}11      onClick={handleClick}12    >13      Get started14    </Button>15  )16}
main+0 −0
TypeScriptLn 1, Col 1Spaces: 2UTF-8

// free forever

The kit is free. For everyone. Forever.

No trial, no tier, no card, no "founder pricing" countdown. Just npx shadcn@latest add https://norcel.dev/r/button and the file lands in your project.

34 components
Buttons → charts → command palette
10 marketing sections
Hero, pricing, FAQ, CTA, footer
MIT licensed
Modify, redistribute, ship
One-command install
Pull-based, never outdated
No trial
Nothing to expire
No account
Nothing to sign up for
No card
Nothing to charge
No tier
Nothing to upgrade to
// one commandTry it
$ npx shadcn@latest add https://norcel.dev/r/button
MIT licensed Tree-shakeable Zero runtime deps Production-ready

// self-referential

The site you're reading is built with the kit.

Every section on this page is made from the same components, tokens, and patterns you get. Here's what the first 30 minutes of building with norcel actually feel like.

The home page, the docs, the components catalog, this very section — every one of them is a norcel component. When you ship a system and then build the marketing site from it, the components stop being abstract. They become the product's voice.
1 site · 14 sections · 1 day
FS
norcel team
Building norcel with norcel · Self-reference
norcel.dev
The first pass at the pricing section was 4 cards in a row. After we added FreeForever with the line-through "no trial, no card, no tier" grid, the whole thing felt honest. Stripping out fake numbers did more than any design polish could.
Fakeless by default
PR
norcel team
Internal post-mortem
We tried to gate the basic Button behind a paywall in a draft. The whole site became untrustworthy in about 10 seconds. Now Button is free forever — the same as every other component we ship today.
0 paywalls
LP
norcel team
What we learned
MIT licensed
zero fake numbersbuild it in 5 min

// faq

Frequently asked questions.

Everything you need to know about norcel. Can't find what you're looking for? Reach out to our team.

34 production-ready components — buttons, inputs, dialogs, drawers, tables, charts, command palette, and the marketing sections that surround them. Every component maps 1:1 to a token in our open design system, so you can override any single value without forking the kit.

// ready to ship?

Start building with norcel today.

One command. No account, no card, no email. The whole design system — components, tokens, marketing sections — is yours to use, modify, and ship.

  • 34 production-ready components
  • 10 marketing sections
  • Dark-mode native, light opt-in
  • MIT-licensed, forever

// 34 components · 10 marketing sections · 60+ variants · MIT

v2.0 — live
~/norcel
$npxshadcn@latestaddui.norcel.dev/r/button
Installed 1 component
Wrote 1 file (Button.tsx)
Ready to use — no setup
34
Components
60+
Variants
10+
Pages
AAA
WCAG
Ready in 30 seconds
No npm install. No build. Just copy & paste.
Open the kit
MIT · free forever