ZeroOne D.O.T.S. AI · Design System 1
Every color, font, button, input, and interaction pattern — in one place. Built on Next.js + Convex. Scalable to 1M users.
Design tokens — defined in globals.css
Deep Anchors
ink
#191924
plum
#2D1B4E
charcoal
#2A2A3C
D.O.T.S Pastels
lavender
#C8B6FF
mint
#B8E0D2
peach
#FFCDB2
sky
#A2D2FF
rose
#FFB5C2
lemon
#FFF3B0
Warm Neutrals
cream-50
#FDFCFA
cream-100
#F8F7F4
sand-200
#E8E6E0
stone-500
#918D82
slate-700
#4A4842
Sidebar
sidebar-bg
#13131D
hover
#1E1E2E
active
#252538
text
#A8A6B0
Semantic
teal/accent
#4ECDC4
amber
#D4A574
gold
#F5C542
danger
#EF4444
3 fonts — display, body, mono
Instrument Serif — Display / Headings
The quick brown fox
Aa
Aa
Aa
Aa
Aa
DM Sans — Body / UI
Platform-ready design
Regular weight for body copy. Clean, readable at all sizes.
Ag
XS
Ag
SM
Ag
Base
Ag
LG
Ag
XL
Space Mono — Code / Labels
const design = "ready";
01001101 01100001 01101100 01101100
Text, textarea, select, search
Text Input
Search
Textarea
Select
With Label + Error
Please enter a valid email
Success State
Username is available
Status, role, count
Stat, info, link, hero
48,291
+12% this month
Useful for displaying contextual information about a feature or section.
Hero / featured content style card.
Ideal for charts, summaries, or wide-format data.
Mon
Tue
Wed
Thu
Readability across all backgrounds
Light / Text
Heading text
Body copy at 14px — clear and readable
Dark / Text
Heading text
Body copy at 14px — clear and readable
Lavender / Text
Heading text
Body copy at 14px — clear and readable
Plum / Lavender
Heading text
Body copy at 14px — clear and readable
Blur, grain, backdrop effects
Glassmorphism
Frosted glass panel
Dark + Grain
Film grain texture
Canvas + Overlay
Light gradient overlay
8px grid system
4px
8px
12px
16px
20px
24px
32px
40px
48px
64px
96px
Border-radius tokens and elevation
12px/lg
16px/xl
24px/2xl
full
sm
md
lg
xl
2xl
Hover, transition, and animation patterns
Lift on hover
translateY + shadow
Color shift
border + text + bg
Scale + rotate
Icon transform
Spinners, skeletons, and progress
Spinners
Skeleton Text
Skeleton Card
Progress Bar
Tooltip / Popover (Static)
Where everything lives — for a 10-year-old
design1-base/ │ ├── convex/ ← DATABASE (Convex cloud) │ ├── schema.ts ← All tables defined here │ ├── auth.ts ← Login, signup, logout, forgot password │ ├── users.ts ← Profile read & update │ ├── notifications.ts ← Notification CRUD │ ├── wallet.ts ← Credits & transactions │ └── analytics.ts ← Page view tracking │ ├── src/ │ ├── app/ ← All pages (Next.js App Router) │ │ ├── layout.tsx ← Root layout (fonts, providers) │ │ ├── page.tsx ← → redirects to /design │ │ │ │ │ ├── design/ ← 🎨 This page — design system showcase │ │ │ │ │ ├── login/ ← /login │ │ ├── signup/ ← /signup │ │ ├── forgot-password/ ← /forgot-password │ │ │ │ │ └── (platform)/ ← All authenticated platform pages │ │ ├── layout.tsx ← Sidebar + Navbar shell │ │ │ │ │ ├── profile/ ← /profile (system product) │ │ │ ├── page.tsx │ │ │ ├── info/ │ │ │ ├── avatar/ │ │ │ └── preferences/ │ │ │ │ │ ├── product-one/ ← /product-one (Sample product 1) │ │ │ └── page.tsx │ │ │ │ │ ├── product-two/ ← /product-two (Sample product 2) │ │ │ └── page.tsx │ │ │ │ │ └── billing/ ← /billing (Wallet) │ │ └── page.tsx │ │ │ ├── components/ │ │ └── shell/ │ │ ├── Icon.tsx ← Dynamic Lucide icon │ │ ├── Sidebar.tsx ← Full sidebar w/ product switcher │ │ └── Navbar.tsx ← Top bar w/ notifications + wallet │ │ │ ├── lib/ │ │ ├── utils.ts ← cn(), timeAgo(), formatCredits() │ │ └── products/ │ │ ├── types.ts ← ProductManifest, NavItem types │ │ └── registry.ts ← ⭐ EDIT THIS to add products │ │ │ ├── providers/ │ │ ├── AuthProvider.tsx ← useAuth() hook + session management │ │ └── Providers.tsx ← Convex + Auth wrappers │ │ │ └── stores/ │ └── sidebar-store.ts ← Sidebar collapse/expand state │ ├── .env.local ← CONVEX_DEPLOYMENT + NEXT_PUBLIC_CONVEX_URL └── INDEX.md ← 📖 This file (master index)
5 steps, takes 5 minutes
Edit registry.ts
Copy the product template at the bottom of src/lib/products/registry.ts. Set slug, name, color, icon, and your nav items.
Create your page file
Create src/app/(platform)/your-product/page.tsx. Export a default React component.
Add sub-pages (optional)
Create src/app/(platform)/your-product/section/page.tsx for each section listed in the registry.
Start dev server
Run: npm run dev. Your product appears instantly in the sidebar product switcher.
Connect Convex (optional)
Add your table to convex/schema.ts. Add queries/mutations. Use useQuery/useMutation in your pages.