# 🎨 UI/UX Design Mastery Guide for QuickPost **Compiled:** 2026-02-05 **Purpose:** Build beautiful, modern web designs before starting MVP --- ## πŸ“ CORE DESIGN PRINCIPLES (2026) ### 1. **Mobile-First, Always** - Start with 320px width (smallest phone) - Progressive enhancement for larger screens - Breakpoints: 576px (phone), 768px (tablet), 992px (laptop), 1200px (desktop) - Single-column layout default, expand only when space allows ### 2. **Visual Hierarchy** **The Goal:** Guide user attention to what matters most **Techniques:** - **Size:** Larger = more important (H1 > H2 > body text) - **Color:** Bright/contrasting = attention (CTAs should pop) - **Whitespace:** More space around = more emphasis - **Proximity:** Related items grouped together - **Contrast:** Dark on light or light on dark (never low contrast) **Reading Patterns:** - **Z-pattern:** Logo (top-left) β†’ CTA (top-right) β†’ Content (middle-left) β†’ Final CTA (bottom-right) - **F-pattern:** Scan headline, then first line of each section ### 3. **Whitespace is Your Weapon** **Never fear empty space.** It's not wastedβ€”it's intentional. **Rules:** - More whitespace = premium feel (Apple, Stripe vibes) - Crowded design = stress, cheap, overwhelming - Space elements in multiples of 8px (8, 16, 24, 32, 48, 64) - Breathing room between sections: 48-64px minimum - Padding inside cards: 24-32px **Hick's Law:** More choices = slower decisions. Use whitespace to limit visual noise. --- ## 🎨 COLOR SYSTEM ### The Formula Build a **primary color scale** (50-900) for consistency: **Example: Blue Primary** ``` blue-50: #eff6ff (lightest, backgrounds) blue-100: #dbeafe blue-200: #bfdbfe blue-300: #93c5fd blue-400: #60a5fa blue-500: #3b82f6 (base brand color) blue-600: #2563eb blue-700: #1d4ed8 blue-800: #1e40af blue-900: #1e3a8a (darkest, text on light backgrounds) ``` **Palette Structure:** 1. **Primary:** Your brand color (CTAs, links, active states) 2. **Neutrals:** Grays 50-900 (text, backgrounds, borders) 3. **Success:** Green (confirmations, checkmarks) 4. **Error:** Red (warnings, destructive actions) 5. **Warning:** Yellow/Orange (alerts) **Modern 2026 Trends:** - **Soft gradients** as backgrounds (not loud 2015 gradients, subtle ambient color shifts) - **Cinematic color fields** (inspired by lighting/fog effects) - **High saturation for CTAs** (makes them unmissable) **Tools:** - Huevy.app (generates complete palettes) - Coolors.co (palette generator) - Adobe Color (harmony rules) --- ## πŸ“ TYPOGRAPHY ### Scale (8px baseline) Use a **modular scale** for consistent hierarchy: ``` text-xs: 12px / 16px line-height text-sm: 14px / 20px text-base: 16px / 24px (body text default) text-lg: 18px / 28px text-xl: 20px / 28px text-2xl: 24px / 32px text-3xl: 30px / 36px (section headers) text-4xl: 36px / 40px text-5xl: 48px / 1 (hero titles) ``` ### Font Pairing **2 fonts max:** 1. **Sans-serif** for UI (buttons, labels, body) β€” Inter, SF Pro, Geist 2. **Serif** (optional) for headings if premium feel β€” Playfair, Merriweather **Safe System Stack (no web fonts, blazing fast):** ```css font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; ``` ### Readability Rules - **Line length:** 50-75 characters per line (anything longer = hard to read) - **Line height:** 1.5x for body text, 1.2x for headings - **Letter spacing:** Tight for headings (-0.02em), normal for body --- ## πŸ—οΈ LAYOUT PATTERNS ### CSS Grid (Page Structure) Use for **2D layouts** (header, sidebar, main, footer): ```css .dashboard { display: grid; gap: 1rem; /* Mobile: stack everything */ grid-template-areas: "header" "nav" "main"; /* Tablet: side nav */ @media (min-width: 768px) { grid-template-areas: "header header" "nav main"; grid-template-columns: 250px 1fr; } /* Desktop: three columns */ @media (min-width: 1024px) { grid-template-areas: "header header header" "nav main sidebar"; grid-template-columns: 250px 1fr 300px; } } ``` ### Flexbox (Components) Use for **1D layouts** (rows/columns within cards): ```css /* Card with image + content side-by-side */ .card { display: flex; gap: 1rem; align-items: center; /* vertically center */ } /* Responsive: stack on mobile */ @media (max-width: 576px) { .card { flex-direction: column; } } ``` ### Responsive Grid (Auto-fit) **No media queries needed** for simple grids: ```css .grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); } ``` Auto-wraps when items don't fit! --- ## ⚑ MICRO-INTERACTIONS Subtle animations that make UI feel alive (not distracting). ### When to Use - **Hover:** Buttons scale up 1.05x (feels clickable) - **Click:** Buttons scale down to 0.95x (tactile feedback) - **Loading:** Skeleton screens or pulse animations - **Success:** Checkmark fade-in, confetti (for big wins) - **Error:** Shake animation (subtle, 2px left-right) ### Framer Motion (React) ```jsx Schedule Post ``` ### CSS Transitions (Simple) ```css .button { transition: all 0.2s ease-in-out; } .button:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(0,0,0,0.15); } ``` ### Best Practices - **Keep it subtle:** 0.2-0.3s duration max - **Spring physics > linear:** Feels more natural - **Avoid animation overload:** Only animate meaningful interactions - **Performance:** Animate `transform` and `opacity` only (GPU accelerated) --- ## β™Ώ ACCESSIBILITY (WCAG 2.2) ### Contrast Ratios (MANDATORY) Test every color combination: - **Normal text (16px):** 4.5:1 minimum - **Large text (24px or 19px bold):** 3:1 minimum - **UI components (buttons, inputs):** 3:1 minimum **Tool:** WebAIM Contrast Checker (https://webaim.org/resources/contrastchecker/) ### Keyboard Navigation **Every interactive element must be keyboard-accessible:** - Tab through in logical order - Focus states visible (3:1 contrast vs unfocused) - Enter/Space activates buttons - Escape closes modals ```css /* Visible focus indicator */ button:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; } ``` ### ARIA Labels ```jsx QuickPost - Social media scheduler ``` ### Screen Reader Testing - Install NVDA (Windows) or VoiceOver (Mac) - Navigate your UI with screen reader on - Fix anything confusing or unlabeled --- ## 🎨 SHADCN/UI + TAILWIND STACK ### Why This Combo? - **Shadcn/ui:** Pre-built, accessible components (buttons, modals, dropdowns) - **Tailwind CSS:** Utility-first styling (no custom CSS files) - **Radix UI:** Unstyled, accessible primitives (under the hood) ### Setup (Next.js) ```bash npx create-next-app@latest quickpost --typescript --tailwind --app cd quickpost npx shadcn@latest init ``` Choose: - **Style:** Default - **Base color:** Blue (or custom) - **CSS variables:** Yes ### Adding Components ```bash npx shadcn@latest add button npx shadcn@latest add card npx shadcn@latest add dialog npx shadcn@latest add calendar ``` Components appear in `components/ui/` β€” **you own the code, customize freely.** ### Component Structure ``` /components /ui # Shadcn components (button, card, etc.) /layout # Navbar, footer, sidebar /features # Upload, calendar, post-preview /shared # Reusable custom components ``` ### Tailwind Best Practices **Use design tokens (not arbitrary values):** ```jsx // ❌ Bad (arbitrary)
// βœ… Good (system tokens)
``` **Responsive design:** ```jsx
``` --- ## πŸ“¦ COMPONENT LIBRARY TEMPLATES ### 1. **Mosaic (Cruip)** - Premium Tailwind dashboard template - Beautiful data visualizations (Chart.js) - Dark mode built-in - Free & Pro versions - **Use for:** SaaS dashboards, analytics ### 2. **TailAdmin** - 500+ components - CRM, e-commerce, analytics layouts - Open source - React, Next.js, Vue, Angular support - **Use for:** Admin panels, CRMs ### 3. **Flowbite** - 50+ example pages - Kanban boards, calendars, CRUD pages - Built on Tailwind - **Use for:** Full-stack admin UIs ### 4. **Horizon UI** - Modern, gradient-heavy design - Dark mode - TypeScript + React - **Use for:** Trendy, colorful interfaces --- ## 🎯 QUICKPOST-SPECIFIC DESIGN DECISIONS ### Design Philosophy **"Buffer quality, but dead simple"** - Clean, minimal UI (no bloat) - Fast interactions (< 3 clicks to schedule) - Visual feedback at every step - Mobile-first (creators post from phones) ### Color Palette ``` Primary (Brand): Purple #8b5cf6 (creative, modern) Success: Green #10b981 (post scheduled!) Neutral: Gray 50-900 (backgrounds, text) Background: White #ffffff / Dark #0f172a ``` ### Key Screens 1. **Upload:** Drag-and-drop zone (large, obvious) 2. **Caption:** Textarea with character counter 3. **Calendar:** Visual picker (shadcn calendar component) 4. **Preview:** Show exactly how post will look 5. **Success:** Checkmark animation + confirmation ### Typography - **Headings:** Inter 600 (semi-bold) - **Body:** Inter 400 (regular) - **Monospace:** Jetbrains Mono (for metadata, timestamps) ### Micro-interactions - **Upload zone:** Pulse border on hover - **Schedule button:** Scale 1.05 on hover, confetti on success - **Calendar:** Smooth slide-in animation - **Image preview:** Lazy load with blur-up effect --- ## βœ… PRE-BUILD CHECKLIST Before writing code, confirm: - [ ] Color palette defined (primary + 4 neutrals minimum) - [ ] Typography scale chosen (6-8 sizes) - [ ] Component library picked (Shadcn + Tailwind) - [ ] Mobile breakpoints planned (576px, 768px, 992px) - [ ] Accessibility contrast ratios checked (4.5:1 text, 3:1 UI) - [ ] Micro-interaction list (hover, click, success states) - [ ] Grid layout sketched (mobile β†’ desktop progression) --- ## πŸš€ INSPIRATION SOURCES **Real Products to Study:** - **Linear** (linear.app) β€” Best keyboard-first UI, subtle animations - **Stripe Dashboard** β€” Clean data visualization, perfect spacing - **Vercel** β€” Minimalist, fast, modern gradients - **Notion** β€” Intuitive drag-and-drop, clear hierarchy - **Loom** β€” Video upload flow (great for QuickPost upload UX) **Design Systems:** - Material Design 3 (Google) - Human Interface Guidelines (Apple) - Radix Themes (our base) - Tailwind UI (paid, but worth studying) **Dribbble Tags:** - "social media scheduler" - "SaaS dashboard" - "upload interface" - "calendar UI" --- ## πŸ“š FURTHER READING **Must-Read Articles:** 1. "The Ultimate Guide to UI Design in 2026" β€” Web Designer Depot (Medium) 2. "Designing Overview of Scheduled Content for Buffer" β€” UX Collective (case study) 3. "Visual Hierarchy: Key UX Principles" β€” Sessions College 4. "Creating Micro-Interactions with Framer Motion" β€” egghead.io **Tools:** - **Figma:** Design mockups before coding - **Contrast Checker:** WebAIM (accessibility) - **Color Palette Generator:** Coolors, Huevy - **Component Inspector:** Inspect real sites (Chrome DevTools) --- ## 🎨 FINAL DESIGN PRINCIPLES **The 5 Laws of Beautiful UI:** 1. **Contrast creates hierarchy** (big vs small, dark vs light) 2. **Whitespace creates calm** (never fear empty space) 3. **Consistency builds trust** (same patterns repeated) 4. **Feedback confirms action** (animations, success messages) 5. **Accessibility includes everyone** (contrast, keyboard, screen readers) --- **STATUS:** βœ… Ready to build QuickPost with world-class UI/UX **Next Step:** Review this guide, then signal to start coding. πŸ’₯