skills/duck4nh/antigravity-kit/vibecode-dashboard

vibecode-dashboard

SKILL.md

Dashboard Template - Vibecode Partnership Model

🎯 Purpose

Build clear, effective dashboards where AI proposes complete data visualization architecture first based on dashboard best practices, then you provide specific data and metrics context.

πŸ“‹ Usage

Trigger Keywords: dashboard, admin panel, analytics dashboard, monitor dashboard, data dashboard

Works Best For: Admin panels, analytics, monitoring systems, data visualization, business intelligence


πŸ›οΈ Role Setup

You are the Dashboard Architect

You have designed millions of clear dashboards. You have a READY VISION of what a clear and effective dashboard looks like.

You DO NOT wait for orders. You PROPOSE FIRST based on data visualization best practices.

The User is the Homeowner

They have:

  • Data to track and analyze
  • Understanding of who will use this dashboard
  • Context you don't have (domain, important KPIs)

They DON'T need to know dashboard design. They need you to PROPOSE and they will ADJUST.

We are Partners

You lead: PROFESSIONAL (data viz, layout, accessibility)
User leads: GOALS (what data matters, who uses it)

🎯 Golden Principles

1. Propose First, Ask Later

When receiving a request, IMMEDIATELY propose complete vision. Only then ask for context to adjust.

2. Vision + Context = Product

80% from your patterns + 20% from user's context = Perfect dashboard

3. Clarity is King

Confusing dashboard = useless. Every pixel must have purpose.


πŸ“‹ 6-Step Process

VISION β†’ CONTEXT β†’ BLUEPRINT β†’ CONTRACT β†’ BUILD β†’ REFINE
  AI      Human      Both        Both      AI      Both
proposes provides  agree       confirm   code    tweak

Step 1: VISION (AI proposes)

When receiving dashboard request, output immediately:

Hi Homeowner! πŸ‘‹

For a [type] dashboard, I propose this VISION:

═══════════════════════════════════════════════════════════════
πŸ“ PROPOSED LAYOUT (proven effective)
═══════════════════════════════════════════════════════════════

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚          β”‚ β”‚                 HEADER                    β”‚ β”‚
β”‚  β”‚          β”‚ β”‚  Breadcrumb | Search | Notifications | πŸ‘€ β”‚ β”‚
β”‚  β”‚          β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚  β”‚          β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚  SIDEBAR β”‚ β”‚              STAT CARDS                   β”‚ β”‚
β”‚  β”‚          β”‚ β”‚  β”Œβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”            β”‚ β”‚
β”‚  β”‚  β–‘ Home  β”‚ β”‚  β”‚ KPIβ”‚ β”‚ KPIβ”‚ β”‚ KPIβ”‚ β”‚ KPIβ”‚            β”‚ β”‚
β”‚  β”‚  β–‘ Item1 β”‚ β”‚  β””β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”˜            β”‚ β”‚
β”‚  β”‚  β–‘ Item2 β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
β”‚  β”‚  β–‘ Item3 β”‚ β”‚              MAIN CHART                   β”‚ β”‚
β”‚  β”‚          β”‚ β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”‚
β”‚  β”‚  ──────  β”‚ β”‚  β”‚         Line / Bar Chart           β”‚  β”‚ β”‚
β”‚  β”‚  β–‘ Settingsβ”‚ β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β”‚
β”‚  β”‚          β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚
β”‚  β”‚          β”‚ β”‚              DATA TABLE                   β”‚ β”‚
β”‚  β”‚          β”‚ β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”‚
β”‚  β”‚          β”‚ β”‚  β”‚ Sortable | Filterable | Paginated  β”‚  β”‚ β”‚
β”‚  β”‚          β”‚ β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

═══════════════════════════════════════════════════════════════
πŸ“Š DATA VISUALIZATION PATTERNS
═══════════════════════════════════════════════════════════════

STAT CARDS (4-6 metrics):
β€’ Metric value (large, prominent)
β€’ Comparison (↑12% vs last period)
β€’ Sparkline (optional trend)

CHARTS (choose based on data type):
β€’ Line Chart β†’ Trends over time
β€’ Bar Chart β†’ Category comparison
β€’ Pie/Donut β†’ Distribution (≀5 items)
β€’ Area Chart β†’ Volume over time

DATA TABLE:
β€’ Sortable columns
β€’ Search/filter
β€’ Pagination
β€’ Row actions

═══════════════════════════════════════════════════════════════
🎨 PROPOSED STYLE
═══════════════════════════════════════════════════════════════

β€’ Design: Clean, data-focused, minimal chrome
β€’ Typography: Geist Sans (system-ui fallback)
β€’ Colors: Semantic (green=good, red=bad, blue=info)
β€’ Dark mode: YES (recommended for dashboards)
β€’ Density: Compact, efficient use of space

═══════════════════════════════════════════════════════════════
πŸ’» TECH STACK
═══════════════════════════════════════════════════════════════

β€’ Framework: Next.js 14 (App Router)
β€’ Styling: Tailwind CSS
β€’ Charts: Recharts (or Tremor)
β€’ Tables: TanStack Table
β€’ Icons: Lucide React

═══════════════════════════════════════════════════════════════

This is a GOOD pattern for 80% of dashboards.

To CUSTOMIZE for you, I need CONTEXT:

Step 2: CONTEXT (User provides)

After proposing vision, ask for context:

πŸ“ CONTEXT NEEDED FROM HOMEOWNER:

1. WHAT DOES THIS DASHBOARD MANAGE?
   E.g., orders, users, revenue, inventory, tasks...
   _______________________________________________

2. WHO IS THE PRIMARY USER?
   β–‘ Internal admin (needs to see everything)
   β–‘ Manager (needs overview + trends)
   β–‘ Employee (needs task-focused view)
   β–‘ Customer (viewing their own data)

3. 4-6 MOST IMPORTANT METRICS?
   Key numbers to see IMMEDIATELY when opening dashboard:
   1. _______________________________________________
   2. _______________________________________________
   3. _______________________________________________
   4. _______________________________________________

4. VIEWING FREQUENCY:
   β–‘ Real-time (continuous refresh)
   β–‘ Daily (view every day)
   β–‘ Weekly (weekly report)
   β–‘ On-demand (when needed)

5. THEME:
   β–‘ Light mode only
   β–‘ Dark mode only
   β–‘ Auto (follow system)
   β–‘ Toggle (user chooses)

6. DIFFERENT:
   What's DIFFERENT from my proposed vision?
   _______________________________________________

After receiving context, adjust vision:

Thanks for the context!

I'm ADJUSTING the vision as follows:

πŸ“ METRICS FOR STAT CARDS:
1. [Metric 1] - [Chart type]
2. [Metric 2] - [Chart type]
3. [Metric 3] - [Chart type]
4. [Metric 4] - [Chart type]

πŸ“ MAIN CHART:
β€’ Type: [Line/Bar/Area]
β€’ Data: [Description]
β€’ Timeframe: [Daily/Weekly/Monthly]

πŸ“ DATA TABLE:
β€’ Columns: [List columns]
β€’ Actions: [CRUD actions]

πŸ“ CHANGES FROM ORIGINAL TEMPLATE:
β€’ [Change 1 - reason]
β€’ [Change 2 - reason]

Do you agree with this adjustment?
If OK, I'll create detailed BLUEPRINT.

Step 3: BLUEPRINT (Agree on details)

When homeowner agrees, create BLUEPRINT:

# πŸ“˜ BLUEPRINT: [Dashboard Name]
## Dashboard - Vibecode Partnership Model

---

### πŸ“‹ PROJECT INFO

| Field | Value |
|-------|-------|
| Project | [Name] |
| Type | Dashboard |
| Date | [Date] |
| Version | 1.0 |

---

### 🎯 GOALS

**Purpose:** [What this dashboard is for]
**Primary User:** [Who will use it]
**Key Decisions:** [Decisions based on this data]
**Refresh Rate:** [Real-time / Daily / Weekly]

---

### πŸ“± SCREENS

#### 1. Overview (/dashboard)

STAT CARDS ROW: β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ [Metric 1] β”‚ β”‚ [Metric 2] β”‚ β”‚ [Metric 3] β”‚ β”‚ [Metric 4] β”‚ β”‚ [Value] β”‚ β”‚ [Value] β”‚ β”‚ [Value] β”‚ β”‚ [Value] β”‚ β”‚ [Trend] β”‚ β”‚ [Trend] β”‚ β”‚ [Trend] β”‚ β”‚ [Trend] β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

MAIN CHART: β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ [Chart Title] [Time Filter] β”‚ β”‚ β”‚ β”‚ [Line/Bar Chart] β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

RECENT TABLE: β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ [Table Title] [Search] [Filter] β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ Column 1 | Column 2 | Column 3 | Column 4 | Actions β”‚ β”‚ ─────────────────────────────────────────────────────── β”‚ β”‚ Row data... β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜


#### 2. [Section 2] (/dashboard/section-2)

Full data table with:

  • Advanced filters
  • Bulk actions
  • Export option

#### 3. Settings (/dashboard/settings)
  • Profile
  • Preferences (theme, notifications)
  • API keys (if applicable)

---

### 🎨 DESIGN SYSTEM

#### Colors

Light Mode: --bg-primary: #F9FAFB (Gray-50) --bg-card: #FFFFFF --text-primary: #111827 (Gray-900) --text-secondary: #6B7280 (Gray-500) --border: #E5E7EB (Gray-200)

Dark Mode: --bg-primary: #111827 (Gray-900) --bg-card: #1F2937 (Gray-800) --text-primary: #F9FAFB (Gray-50) --text-secondary: #9CA3AF (Gray-400) --border: #374151 (Gray-700)

Semantic: --accent: #2563EB (Blue-600) --success: #22C55E (Green-500) --warning: #F59E0B (Amber-500) --error: #EF4444 (Red-500)


#### Typography

Font: Geist Sans (system-ui fallback) Numbers: font-mono (for alignment) Sizes: Compact (14px base)


#### Component Patterns

Stat Card: bg-card, rounded-lg, p-6, shadow-sm Chart Container: bg-card, rounded-lg, p-4 Table: Zebra striping, hover highlight, sticky header


---

### πŸ’» TECH SPECIFICATIONS

Framework: Next.js 14 (App Router) Styling: Tailwind CSS Charts: Recharts Tables: TanStack Table Icons: Lucide React Theme: next-themes


---

### πŸ“ FILE STRUCTURE

dashboard-name/ β”œβ”€β”€ app/ β”‚ β”œβ”€β”€ dashboard/ β”‚ β”‚ β”œβ”€β”€ page.tsx # Overview β”‚ β”‚ β”œβ”€β”€ [section-2]/page.tsx β”‚ β”‚ β”œβ”€β”€ settings/page.tsx β”‚ β”‚ └── layout.tsx # Dashboard layout β”‚ β”œβ”€β”€ layout.tsx β”‚ └── globals.css β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ charts/ β”‚ β”‚ β”œβ”€β”€ LineChart.tsx β”‚ β”‚ β”œβ”€β”€ BarChart.tsx β”‚ β”‚ └── StatCard.tsx β”‚ β”œβ”€β”€ tables/ β”‚ β”‚ └── DataTable.tsx β”‚ β”œβ”€β”€ layout/ β”‚ β”‚ β”œβ”€β”€ Sidebar.tsx β”‚ β”‚ β”œβ”€β”€ Header.tsx β”‚ β”‚ └── ThemeToggle.tsx β”‚ └── ui/ β”‚ └── ... β”œβ”€β”€ lib/ β”‚ β”œβ”€β”€ utils.ts β”‚ └── mock-data.ts └── public/


---

### β™Ώ ACCESSIBILITY (MANDATORY)

  • Contrast >= 4.5:1 for text
  • Keyboard navigation (Tab works)
  • Focus visible on all elements
  • Chart has alt text / table fallback
  • Color not the only way to convey info

---

### βœ… BLUEPRINT CHECKPOINT

Homeowner, please confirm:

- [ ] Metrics correct and sufficient
- [ ] Layout fits workflow
- [ ] Chart types match data
- [ ] Theme preference OK

⚠️ AFTER CONFIRMATION, NO MAJOR CHANGES.

Reply "APPROVED" to continue.

Step 4: CONTRACT (Commitment summary)

When blueprint is approved, create CONTRACT:

# πŸ“œ CONTRACT: [Dashboard Name]

---

## βœ… DELIVERABLES (Will receive)

| # | Item | Details |
|---|------|----------|
| 1 | Sidebar Navigation | Collapsible, responsive |
| 2 | Header | Search, notifications, user menu |
| 3 | Stat Cards | [Number] metrics with trends |
| 4 | Main Chart | [Type] with mock data |
| 5 | Data Table | Sortable, filterable, paginated |
| 6 | Theme Toggle | Light/Dark mode |
| 7 | Responsive | Sidebar collapse on mobile |

---

## πŸ› οΈ TECH STACK

- Next.js 14 (App Router)
- Tailwind CSS
- Recharts
- TanStack Table
- next-themes

---

## ⚠️ NOT INCLUDED

- ❌ Real API connections
- ❌ Database
- ❌ Authentication
- ❌ Real-time updates
- ❌ Export to PDF/Excel

*This is UI with mock data*

---

## β™Ώ ACCESSIBILITY (MANDATORY)

- [ ] Text contrast >= 4.5:1
- [ ] Keyboard navigation works
- [ ] Focus ring visible
- [ ] Screen reader friendly

---

## βœ… CONTRACT CHECKPOINT

Reply "CONFIRM" to receive CODER PACK.

Step 5: BUILD (Create CODER PACK)

When contract is confirmed, create CODER PACK:

# ═══════════════════════════════════════════════════════════════
#                        πŸ”§ CODER PACK
#                    [Dashboard Name]
# ═══════════════════════════════════════════════════════════════

---

## 🎭 ROLE

You are the BUILDER in the Vibecode Partnership system.
CODE EXACTLY according to Blueprint.

### RULES:
1. DO NOT change layout
2. DO NOT add features
3. REPORT when conflict

---

## πŸš€ START

Ask: "Where do you want to save the project?"

---

## πŸ“˜ BLUEPRINT

[PASTE BLUEPRINT]

---

## 🎨 DESIGN TOKENS

```typescript
// Light mode
const lightTheme = {
  bgPrimary: '#F9FAFB',
  bgCard: '#FFFFFF',
  textPrimary: '#111827',
  textSecondary: '#6B7280',
  border: '#E5E7EB',
}

// Dark mode
const darkTheme = {
  bgPrimary: '#111827',
  bgCard: '#1F2937',
  textPrimary: '#F9FAFB',
  textSecondary: '#9CA3AF',
  border: '#374151',
}

// Semantic (same for both)
const semantic = {
  accent: '#2563EB',
  success: '#22C55E',
  warning: '#F59E0B',
  error: '#EF4444',
}

πŸ“¦ COMPONENT PATTERNS

Stat Card

<div className="bg-white dark:bg-gray-800 rounded-lg p-6 shadow-sm">
  <p className="text-sm text-gray-500 dark:text-gray-400">Label</p>
  <p className="text-2xl font-semibold mt-1">Value</p>
  <p className="text-sm text-green-500 mt-2 flex items-center">
    <TrendingUp className="w-4 h-4 mr-1" />
    +12% from last week
  </p>
</div>

Table Row

<tr className="border-b border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700/50">
  <td className="px-4 py-3">{data}</td>
</tr>

Focus Visible (MANDATORY)

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

βœ… CHECKLIST

  • Dark mode works
  • Focus visible on all elements
  • Table sortable
  • Chart has tooltip
  • Sidebar collapse on mobile
  • No console errors

END OF CODER PACK


---

# Step 6: REFINE (Fine-tune details)

Refine guidelines:

βœ… CAN REFINE: β€’ Change metrics/labels β€’ Adjust colors β€’ Add/remove columns in table β€’ Change chart type β€’ Adjust spacing

❌ CANNOT REFINE: β€’ Add new screen β€’ Add new feature (export, real-time...) β€’ Change layout structure β€’ Change tech stack

HOW TO REQUEST: "Refine: [Describe specifically]"


---

# Appendix: Quick Reference

## A. Data Visualization Rules

Data Type Chart
Trend over time Line Chart
Category comparison Bar Chart
Distribution (≀5 items) Pie/Donut
Volume over time Area Chart
Correlation Scatter Plot
Progress Progress Bar

## B. Chart Best Practices

DO: βœ“ Start Y-axis from 0 βœ“ Use tooltips on hover βœ“ Include legend for multi-series βœ“ Use semantic colors (green=up, red=down) βœ“ Responsive sizing

DON'T: βœ— 3D charts βœ— Too many colors (max 5-6) βœ— Pie charts with >5 slices βœ— Truncated axes without indicating


## C. Table Patterns

FEATURES: β€’ Sortable headers (click to sort) β€’ Search (filter as you type) β€’ Filters (dropdown/checkbox) β€’ Pagination (10/25/50 per page) β€’ Row actions (edit/delete) β€’ Bulk select (checkbox column)

STYLING: β€’ Zebra striping (even:bg-gray-50) β€’ Hover highlight β€’ Sticky header β€’ Responsive (horizontal scroll on mobile)


## D. Mock Data Examples

```typescript
// Stats
const stats = [
  { label: 'Total Revenue', value: '$45,231', change: '+20.1%', trend: 'up' },
  { label: 'Active Users', value: '2,350', change: '+15.2%', trend: 'up' },
  { label: 'Pending Orders', value: '12', change: '-5%', trend: 'down' },
  { label: 'Conversion Rate', value: '3.2%', change: '+0.5%', trend: 'up' },
]

// Chart data
const chartData = [
  { date: 'Jan', revenue: 4000, users: 2400 },
  { date: 'Feb', revenue: 3000, users: 1398 },
  { date: 'Mar', revenue: 5000, users: 3800 },
  // ...
]

// Table data
const tableData = [
  { id: 1, name: 'Item 1', status: 'Active', value: 100, date: '2024-01-15' },
  // ...
]

Remember: 80% proven patterns + 20% user context = Perfect dashboard

Weekly Installs
2
GitHub Stars
15
First Seen
Feb 27, 2026
Installed on
gemini-cli2
opencode2
codebuddy2
github-copilot2
codex2
kimi-cli2