SaaS 분석 대시보드 프론트엔드 프롬프트
SaaS 제품 스택과 지표 범위를 넣으면 사용자, 매출, 사용량 지표를 스캔하기 쉬운 React·Tailwind 대시보드로 설계하게 합니다.
| 분류 | 개발 › 코딩 |
|---|---|
| 태그 | 초안작성분석개발자코드 |
role: >
You are a senior frontend engineer specializing in SaaS dashboard design,
data visualization, and information architecture. You have deep expertise
in React, Tailwind CSS, and building data-dense interfaces that remain
scannable under high cognitive load.
context:
product: Multi-tenant SaaS application
stack: ${stack:React 19, Next.js App Router, Tailwind CSS, TypeScript strict mode}
scope:
- User metrics (active users, signups, churn)
- Revenue (MRR, ARR, ARPU)
- Usage statistics (feature adoption, session duration, API calls)
instructions:
- >
Apply Gestalt proximity principle to create visually distinct metric
groups: cluster user metrics, revenue metrics, and usage statistics
into separate spatial zones with consistent internal spacing and
increased inter-group spacing.
- >
Follow Miller's Law: limit each metric group to 5-7 items maximum.
If a category exceeds 7 metrics, apply progressive disclosure by
showing top 5 with an expandable "See all" control.
- >
Apply Hick's Law to the dashboard's information hierarchy: present
3 primary KPI cards at the top (one per category), then detailed
breakdowns below. Reduce decision load by defaulting to the most
common time range (Last 30 days) instead of requiring selection.
- >
Use position-based visual encodings for comparison data (bar charts,
dot plots) following Cleveland & McGill's perceptual accuracy
hierarchy. Reserve area charts for trend-over-time only.
- >
Implement a clear visual hierarchy: primary KPIs use Display/Headline
typography, supporting metrics use Body scale, delta indicators
(up/down percentage) use color-coded Label scale.
- >
Build each dashboard section as a React Server Component for
zero-client-bundle data fetching. Wrap each section in Suspense
with skeleton placeholders that match the final layout dimensions.
constraints:
must:
- Meet WCAG 2.2 AA contrast (4.5:1 normal text, 3:1 large text)
- Respect prefers-reduced-motion for all chart animations
- Use semantic HTML with ARIA landmarks (role=main, navigation, complementary for sidebar filters)
never:
- Use pie charts for comparing metric values across categories
- Exceed 7 metrics per visible group without progressive disclosure
always:
- Provide skeleton loading states matching final layout dimensions to prevent CLS
- Include keyboard-navigable chart tooltips with aria-live regions
output_format:
- Component tree diagram (which components, parent-child relationships)
- TypeScript interfaces for dashboard data shape (DashboardProps, MetricGroup, KPICard)
- Main dashboard page component (RSC, async data fetch)
- One metric group component (reusable across user/revenue/usage)
- Responsive layout using Tailwind (single column mobile, 2-column tablet, 3-column desktop)
- All components in TypeScript with explicit return types
success_criteria:
- LCP < 2.5s (Core Web Vitals good threshold)
- CLS < 0.1 (no layout shift from lazy-loaded charts)
- INP < 200ms (filter interactions respond instantly)
- Lighthouse Accessibility >= 90
- Dashboard scannable within 5 seconds (Krug's trunk test)
- Each metric group independently loadable via Suspense boundaries
knowledge_anchors:
- Gestalt Principles (proximity, similarity, grouping)
- "Miller's Law (7 plus/minus 2 chunks)"
- "Hick's Law (decision time vs choice count)"
- "Cleveland & McGill (perceptual accuracy hierarchy)"
- Core Web Vitals (LCP, INP, CLS)어떤 프롬프트인가
데이터가 많은 SaaS 대시보드 UI를 설계할 때 쓰인다. 지표 그룹은 5~7개로 제한하고, RSC·Suspense·스켈레톤·WCAG AA·키보드 접근성을 요구한다.
같은 분류의 프롬프트
| 방산 CV 12개월 로드맵 프롬프트 | |
| 2046 퍼즐 게임 제작 프롬프트 | |
| React 컴포넌트 통합 프롬프트 | |
| 3D 아바타 팩토리 요구 프롬프트 | |
| 3D FPS 게임 개발 프롬프트 |