DDevArchive
Đăng nhập

Design cho Developer: UI pro khi không có designer

Founder solo không có budget thuê designer. Nhưng user đánh giá sản phẩm qua giao diện TRƯỚC KHI dùng tính năng. App xấu = "chắc amateur làm" → không tin → không trả tiền. Bài này dạy 20% design knowledge cho 80% kết quả.

3 thứ quyết định 90% “đẹp hay xấu”

Yếu tốSai thường gặpFix nhanh
SpacingMọi thứ sát nhau, chật chộiDùng hệ 4px/8px: padding 8, 16, 24, 32, 48. Khoảng trắng = sang
Typography5 font khác nhau, size random1 font (Inter/Geist), 3 size: 14 body, 18 heading, 24 title. Xong.
ColorQuá nhiều màu, contrast yếu1 primary + 1 neutral (gray) + 1 accent (success/error). Dùng oklch hoặc HSL
// File: design-tokens.css
/* Design system tối thiểu — copy paste dùng ngay */
:root {
  /* Typography: chỉ 1 font, 4 sizes */
  --font: "Inter", system-ui, sans-serif;
  --text-xs: 0.75rem;   /* 12px - caption */
  --text-sm: 0.875rem;  /* 14px - body */
  --text-md: 1.125rem;  /* 18px - subheading */
  --text-lg: 1.5rem;    /* 24px - heading */

  /* Spacing: hệ 8px */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px;
  --sp-4: 16px; --sp-5: 24px; --sp-6: 32px;
  --sp-7: 48px; --sp-8: 64px;

  /* Color: chỉ 3 nhóm */
  --primary: oklch(0.55 0.2 250);    /* xanh dương đậm */
  --primary-soft: oklch(0.95 0.03 250);
  --neutral-900: oklch(0.15 0 0);    /* text chính */
  --neutral-600: oklch(0.45 0 0);    /* text phụ */
  --neutral-200: oklch(0.90 0 0);    /* border */
  --neutral-50: oklch(0.98 0 0);     /* background */
  --success: oklch(0.55 0.15 150);
  --error: oklch(0.55 0.2 25);

  /* Border radius */
  --radius: 8px;
}

Component library: đừng design từ đầu

LibraryStackƯu điểmDùng khi
shadcn/uiReact + TailwindCopy-paste, full control, đẹp sẵnNext.js project, cần customize
Radix UIReact (headless)Accessible, unstyled, tự themeCần brand riêng
MantineReactAll-in-one, 100+ componentsShip nhanh, ít customize
DaisyUITailwind (any)Class-based, đẹp, nhẹKhông dùng React

Figma cho dev: 30 phút học, tiết kiệm 2 ngày code

Đừng code UI rồi sửa → code lại → sửa. Vẽ trước trong Figma (miễn phí): kéo thả → xong layout → rồi mới code. 3 thao tác Figma cần biết: Frame (tạo khung), Auto Layout (flex/grid visual), Text + Rectangle (nội dung).

💡 Steal like an artist

Không cần sáng tạo — copy layout từ SaaS đẹp: Linear.app, Vercel.com, Stripe.com, Notion.so. Mở DevTools → xem spacing, font, color. Clone layout, đổi nội dung. Đây là cách designer thật sự làm.

❓ 3 yếu tố nào quyết định 90% việc UI "trông pro"?

  • Tạo file design-tokens.css với spacing + color + font
  • Chọn 1 component library phù hợp stack
  • Vẽ 1 page trong Figma trước khi code
  • Copy layout từ 1 SaaS đẹp (Linear, Vercel, Stripe)