거창하게 시작하지 않아도 되는 미니멀 디자인 시스템 구축법 - 2

"완벽한 시스템"이 아니라 "쓸 수 있는 시스템"이면 됩니다.

2026.04.05 | 조회 62 |
1
|
방구석 디자인 사수
방구석 디자인 사수

구독자님 반가워요!

방구석 디자인 사수입니다.

지난 호에 이어서

지금 당장 Figma를 열어서 시작할 수 있는 미니멀 디자인 시스템 구축법을 알려드릴게요.

 


 

3️⃣  간격 체계 (Spacing System) — 8pt 그리드가 정답이에요

디자인이 '뭔가 허접해 보이는' 원인의 80%는 간격이 제각각이기 때문이에요.

 

8pt 기반 간격 세트

토큰용도
space-22px미세 간격(아이콘 내부 등)
space-44px아이콘과 텍스트 사이
space-88px관련 요소 간격
space-1616px카드 내부 패딩
space-2424px섹션 내 간격
space-3232px섹션 내 간격
space-4848px큰 영역 구분
space-6464px페이지 레벨 여백

Figma에서 이 값들을 Number Variables로 등록하고, Auto Layout을 적용할 때 이 변수들만 사용하도록 강제하면 컴포넌트 간 여백이 통일돼요.

 

💡 사수의 팁

"간격을 얼마로 해야 하지?"라고 고민이 들 때, 이 표에서 골라 쓰기만 하면 돼요. 

개발자가에게 핸드오프할 때도 "여기 16px, 저기 24px"처럼 일관된 숫자로 전달하면 구현 속도가 훨씬 빨라져요. (7~8호에서 다뤘던 QA 체크리스트 기억나시죠?)

 


 

4️⃣  핵심 컴포넌트 5개 — 이것만 먼저 만드세요

컴포넌트를 한꺼번에 50개 만들겠다고 하면 절대 시작 못 해요.

가장 많이 쓰는 5개만 먼저 만드세요.

그리고 미니멀 시스템에서 기억할 원칙 하나!

시각적으로 장식을 덜어낸 만큼, 조작할 때의 피드백이 더 중요해요.

평상시에는 심플하고 플랫하지만, 사용자가 버튼을 눌렸을 때 확실한 변화가 느껴져야 해요.

맥북 트랙패드를 꾹 눌렀을 때의 단단한 햅틱 피드백 같은 거죠.

장식이 없는데 피드백까지 약하면, 시스템 전체가 가볍고 엉성해 보일 수 있어요.

 

미니멀 컴포넌트 스타터 키트

1) 버튼 (Button) - '누르는 맛'이 있는 버튼

Variant와 Statge:

  • Variant : Primary / Secondary / Ghost 3가지
  • State : Default / Hover / Pressed / Disabled
  • 사이즈는 Large, Medium 2개면 충분해요.

미니멀 버튼의 디테일 - 하드 섀도우(Hard Shadow) 기법

  • 부드러운 드롭 섀도우 대신, 블러(Blur)가 0인 단단한 그림자를 써 보세요.
  • Drop shadow: X:0, Y:4, Blur:0 - 이 4px의 그림자가 버튼의 '물리적인 두께'가 돼요.
  • Pressed 상태에서 이 그림자를 Y:0으로 줄이고, 버튼을 아래로 4px 이동시키면? 마치 실제 눌리는 것 같은 묵직한 타격감이 만들어져요.
버튼 타입버튼 배경그림자 컬러(Opacity 10%)이유
Primary#2563EB#1E3A8A (같은 파랑의 깊은 톤)버튼의 "옆면"처럼 보여요
Secondary#475569#1E293B (같은 슬레이트 계열)자연스러운 두께감
Ghost (테두리만)transparent#CBD5E1 (연한 뉴트럴)가벼운 깊이감만

Pressed 상태 구현 - 래퍼 프레임 + 상단 패딩 트릭

"그림자를 없애고 버튼을 아래로 이동"이라고 하면 간단할 것 같지만, 

Auto Layout안에서는 컴포넌트를 임의로 Y축 이동을 할 수 없어요. 

해결법은 다음과 같아요.

① 버튼 컴포넌트를 감싸는 래퍼 프레임을 하나 만들어요 → 래퍼 높이 = 버튼 높이 + 그림자 4px

② Variant별로 래퍼의 상단 패딩을 다르게 줘요. 

상태래퍼 상단 패딩그림자 설정(Primary 기준)체감
Default0pxX:0, Y:4, Blur:0, #1E3A8A, 100%떠 있는 느낌
Hover0pxX:0, Y:4, Blur:0, #1E3A8A, 100% + 배경색 한 단계 진하게반응하는 힌트
Pressed4pxX:0, Y:0, Blur:0, #1E3A8A, 100%꾹 눌린 느낌

③ Pressed에서 상단 패딩 4px이 생기면서 버튼이 아래로 밀려 내려가고, 동시에 그림자가 사라져요.

래퍼 높이가 고정이라 주변 레이아웃도 안 밀려요 → 그림자가 있던 4px 공간으로 버튼이 쑥 들어가면서, 물리적으로 눌린 것 같은 착시가 만들어져요.

④ Figma Interactive Components에서 Pressed 애니메이션을 100m 이하로 설정하면 즉각적인 조작감이 완성돼요.

 

2) 인풋 필드 (Input Field)

  • State : Default / Focus / Error / Disabled
  • 레이블 + 인풋 + 헬퍼 텍스트를 하나의 컴포넌트로 묶기
  • 에러 상태의 컬러와 메시지 위치를 미리 정해두세요.

 

3) 카드 (Card)

  • 이미지 + 텍스트 조합의 기본 카드 1개
  • 패딩, 라운드 값을 Sapcing 변수로 통일
  • 섀도우와 장식적 요소는 과감히 배제. 계층 구조(Hierarchy)를 설명하는 데 꼭 필요한 경우에만 최소한으로.
  • Auto Layout으로 만들어두면 내용이 늘어나도 깨지지 않아요.

 

4) 네비게이션 바 (Navigation Bar)

  • 로고 + 메뉴 + 액션 버튼의 기본 구조
  • 모바일 대응 여부는 나중에 추가해도 OK

 

5) 모달/다이얼로그 (Modal)

  • 제목 + 본문 + 버튼(확인/취소) 기본 구조 1개
  • 모달 하나만 잘 만들어두면 확인 팝업, 에러 팝업, 삭제 확인 등 다 커버돼요.

 

💡 사수의 팁

모든 컴포넌트에 공통으로 적용할 상태(State) 체크리스트가 있어요.

  • Default - 기본 상태
  • Hover - 마우스 올렸을 때
  • Focused - 키보드 포커스 (접근성에 필수!)
  • Pressed - 클릭/탭 순간
  • Disabled - 비활성
  • Error - 에러 상태

처음부터 완벽하게 다 만들려고 하지 마세요.

Default와 Hover, Disabled만 먼저 만들고, 쓰면서 나머지를 추가하는 게 가장 빠른 방법이에요.

 


 

5️⃣ 간단한 사용 가이드 — Do / Don't로 제약을 명확하게

"문서화"라고 하면 무겁게 느껴지지만, Figma 파일 안에 페이지 하나 추가하는 거예요.

여기서 핵심은 "자유롭게 쓰세요"가 아니라, 제약을 명확히 두는 것이에요.

미니멀 시스템이 일관성을 유지하려면 Do / Don't 가이드라인이 반드시 필요해요. 

예를 들면

  • ✅ Do: Primary 버튼은 한 화면에 최대 1개만 사용합니다
  • ❌ Don't: Primary 버튼을 같은 화면에 3개 배치하지 마세요
  • ✅ Do: 텍스트 컬러는 Primary / Secondary / Disabled 3단계만 사용합니다
  • ❌ Don't: 브랜드 컬러를 본문 텍스트 전체에 적용하지 마세요
  • ✅ Do: 간격은 반드시 Spacing 변수에서 선택합니다
  • ❌ Don't: "대충 20px쯤"으로 임의의 간격을 넣지 마세요

 

"📖 Guide" 페이지에 이것만 적어두세요

  • 컬러 토큰 목록 + 각 토큰의 용도
  • 텍스트 스타일 목록 + 언제 쓰는지
  • 간격 규칙 (8px 기반)
  • 컴포넌트별 Do / Don't 예시
  • 접근성 기본 규칙 (명도 대비, 터치 영역 최소 44px)

이게 왜 중요하냐면요, 나 혼자 쓰더라도 3개월 후의 내가 기억 못 하기 때문이에요.

"이 버튼 왜 이렇게 만들었지?" 하는 순간이 반드시 옵니다.

미래의 나를 위한 메모라고 생각하세요.

그리고 개발자에게도 이 페이지 링크를 공유하면 돼요.

장문의 문서 대신 "여기 보시면 됩니다" 한 마디로 끝.

 


 

일반 디자인 시스템 vs 미니멀 디자인 시스템

지금까지 설명한 내용을 표로 정리해 볼게요.

일반 디자인 시스템미니멀 디자인 시스템
컴포넌트를 최대한 다양하게핵심 컴포넌트만 선별 (5개부터 시작)
다양한 컬러 팔레트역할 기반 최소 컬러 + 여백 적극 활용
풍부한 Shadow, DecorationShadow 최소화 또는 배제, 피드백에만 집중
모든 상태 즉시 구축MVP 컴포넌트 먼저, 점진적 확장
폰트 패밀리 여러 개1개 폰트, 2개 웨이트 (Regular + Bold)
완성 후 배포쓰면서 만들고, 만들면서 고침

 


 

AI 활용하기 — 단계별로 쪼개서 물어보세요

디자인 시스템 구축에도 AI가 꽤 유용해요.

다만 여기서도 원칙은 같아요.

AI는 초안 / 검토 도구로만 쓰고, 최종 결정은 내가 하는 것.

여기서 중요한 팁 하나!

AI에게 컬러 추천 + 대비 체크 + 토큰 네이밍을 한꺼번에 물어보면 각 항목을 얕게 다루게 돼요.

단계별로 쪼개서 물어보고, 각 단계마다 내 판단으로 검증하고 수정하는 게 훨씬 정확한 결과를 줘요. 

 

Step 1 — 컬러 추천받기

나는 B2B SaaS [구체적 도메인: 예-프로젝트 관리] 대시보드를 만드는

1인 디자이너야.

제품 맥락:

- 타겟 사용자: 30~40대 직장인, 밝은 사무실 환경에서 사용

- 메인 컬러: #2563EB (파랑), 배경: #FFFFFF

- 경쟁 서비스 참고: Jira, Asana, Monday

- 톤: 신뢰감 있고 깔끔한 느낌

요청:

1. Secondary 컬러 1개 추천 (메인과 충돌하지 않는 뉴트럴 계열)

2. Success / Warning / Error 각 1개 추천

3. 각 색상을 추천한 이유를 한 줄씩 설명해줘

💡 포인트

[구체적 도메인] 자리에 내 서비스 도메인을 넣고, 타겟 사용자와 경쟁 서비스 정보를 함께 주면 AI가 맥락에 맞는 추천을 해줘요. "B2B SaaS"만으로는 금융인지 HR인지 모니터링인지 AI가 판단할 수 없거든요.

 

Step 1 결과 예시

역할색상AI의 추천 이유
Primary#2563EB(기존 메인 컬러 유지)
Secondary#475569Slate 계열로 Primary 파랑과 온도가 맞으면서 충돌하지 않음
Success#059669Emerald 계열로 파랑과 명확히 구분되면서 긍정적 신호 전달
Warning#D97706Amber 계열로 Error 빨강과 혼동 없이 주의 환기
Error#DC2626Red-600으로 배경 위 가시성이 높고 위험 신호로 직관적

→ 여기서 받은 결과를 내 화면에 직접 넣어보고, 괜찮다 싶으면 다음 단계로!

 

Step 2 — 받은 결과를 검증하기

위에서 추천한 색상들로 아래 조합의 WCAG 2.2 AA 명도 대비를 체크해줘.

 

1. #FFFFFF 배경 위에 각 색상을 텍스트로 썼을 때 대비

2. 각 색상을 버튼 배경으로 쓰고 #FFFFFF 텍스트를 올렸을 때 대비

3. 4.5:1 미만인 조합이 있으면 대안 색상도 함께 제안해줘

 

Step 2 결과 예시

색상흰 배경 위 텍스트버튼 배경 + 흰 텍스트판정
Primary #2563EB4.6 : 14.6 : 1✅ Pass
Secondary #4755697.3 : 17.3 : 1✅ Pass
Success #0596694.6 : 14.6 : 1✅ Pass
Warning #D977063.3 : 13.3 : 1⚠️ Large only
Error #DC26264.6 : 14.6 : 1✅ Pass

⚠️ Warning #D97706 주의
흰 배경 위 일반 텍스트(16px 미만)로는 AA 기준 미달!
AI가 대안으로 #B45309 (4.8:1)을 제안.
또는 Warning은 배경색+아이콘 조합으로만 사용하는 방법도 있어요.

 

Step 3 — 토큰 구조 잡기

위 색상들을 Figma Variables에 세팅하려고 해.

Primitive → Semantic 2단계 토큰 구조로 정리해줘.

 

조건:

- Primitive는 색상군/단계 형식 (예: blue/500)

- Semantic은 역할/상태 형식 (예: action/primary)

- Light 모드 기준으로 먼저 정리하고, Dark 모드 매핑은 별도로 표시해줘

 

Step 3 결과 예시

Primitive Tokens (실제 색상값)

토큰 이름색상값
blue/500#2563EB
blue/700#1D4ED8
slate/600#475569
emerald/600#059669
amber/700#B45309
red/600#DC2626
slate/800#1E293B
slate/500#64748B
white#FFFFFF
slate/50#F8FAFC

 

Semantic Tokens (Light 모드)

Semantic 토큰→ 참조하는 Primitive
action/primary→ blue/500
action/primary-hover→ blue/700
action/secondary→ slate/600
feedback/success→ emerald/600
feedback/warning→ amber/700
feedback/error→ red/600
text/primary→ slate/800
text/secondary→ slate/500
surface/default→ white
surface/elevated→ slate/50

 

Dark 모드 매핑 예시

  • text/primary → slate/100 | text/secondary → slate/400
  • surface/default → slate/900 | surface/elevated → slate/800
  • (Primitive만 바꿔 연결하면 Semantic 이름은 그대로 유지!)

 


 

AI 사용 시 주의점

  • AI가 추천한 색상은 반드시 실제 화면에 넣어서 확인하세요. 숫자로는 괜찮아 보여도 화면에서 이상할 수 있어요.
  • AI가 만든 컴포넌트 구조를 그대로 복사하지 마세요. 내 제품 맥락에 맞게 조정하는 과정이 반드시 필요해요.
  • AI는 "일반적인 좋은 사례"를 알려주지만, 우리 사용자에게 맞는 사례는 내가 판단해야 해요.

 


 

"그래도 AI로 만들면 되지 않나요?"

"요즘 AI나 플러그인으로 컬러 팔레트, 타입 스케일, 컴포넌트 세트를 뚝딱 만들 수 있는데... 굳이 직접 만들어야 해요?"

맞아요. 만들 수 있어요.

그런데 그렇게 만든 시스템은 "왜 이 색인지", "왜 이 간격인지", "왜 상태가 필요한지"를 내가 모르는 시스템이예요.

기획자가 "이 버튼 색 좀 바꿔주세요"라고 했을 때, 시스템을 직접 만든 사람은 이렇게 말할 수 있어요.

"이 색은 Primary Action 토큰이라 함부로 바꾸면 전체 CTA 일관성이 깨져요. 대신 Secondary로 내리는 건 어떨까요?"

근거 있는 대화가 되는 거죠.

내가 시스템의 구조와 이유를 알아야 "이건 취향의 영역이 아니라 시스템의 일관성 문제입니다"라고 정중히 방어할 수 있어요.

그리고 AI가 만든 시스템은 "우리 제품"을 모른다는 점도 중요해요.

AI는 일반적인 베스트 프랙티스를 줄 수는 있지만, "우리 사용자가 40대 이상이라 14px 본문은 너무 작다", "우리 서비스는 데이터 테이블이 많아서 Compact 간격이 필요하다" 같은 맥락은 판단 못 해요.

그 맥락을 읽고 시스템을 조정하는 건 결국 디자이너의 몫이에요.

유지보수 문제도 있어요.

디자인 시스템은 만드는 게 30%이고, 제품이 성장하면서 함께 업데이트 하는 게 70%예요.

내가 구조를 이해하지 못한 시스템은 뭔가 하나 바꾸려고 할 때 어디를 건드려야 할지 모르게 돼요.

"이 토큰을 바꾸면 어디까지 영향이 가는 거지?"를 판단하려면 처음에 직접 설계해본 경험이 반드시 필요해요.

처음에 한 번이라도 직접 만들어보면서 구조를 이해한 사람이, 이후에 AI나 플러그인을 검증하면서 쓸 수 있는 사람이 되는 거예요. 

직접 만들어본 경험이 있어야 AI가 뱉어 내 결과물을 보고 "이건 맞고, 이건 우리 제품에 안 맞아"를 구분할 수 있거든요.

 


 

디자인 시스템 흔한 실수 3가지

디자인 시스템을 처음 만들 때 자주 하는 실수들이에요.

실수 1: 처음부터 너무 많이 만들려고 한다

"컴포넌트 30개는 있어야 시스템이지!" → 3개월째 미완성 → 결국 안 씀

→ ✅ 핵심 5개부터. 쓰다가 필요하면 그때 추가하세요.

 

실수 2: 예쁘게 만드는 데만 집중한다

가이드 페이지를 포트폴리오처럼 꾸미느라 정작 컴포넌트는 안 만듦

→ ✅ 가이드는 읽을 수 있으면 충분해요. 예쁜 문서보다 쓸 수 있는 컴포넌트가 100배 가치 있어요.

 

실수 3: 한 번 만들고 업데이트를 안 한다

디자인 시스템은 한 번 완성되는 것이 아니에요. 제품이 변하면 시스템도 변해야 해요.

→ ✅ 간단한 Governance 규칙을 정해두세요. "새로운 패턴이 3번 이상 반복되면 컴포넌트로 만든다", "분기마다 한 번 사용하지 않는 컴포넌트 정리한다" 이 정도면 충분해요. Figma 파일 이름에 버전 날짜를 적어두면 업데이트 시점도 놓치지 않아요. (예: "DS_v1.0_2026.03")

 


 

한 줄 요약

"디자인 시스템은 '완성'하는 게 아니라 '시작'하는 거예요.
컬러 토큰 세팅하고, 텍스트 스타일 등록하고, 버튼 하나 만들기.
이게 여러분의 첫 번째 시스템입니다."

10~11호 뉴스레터에서 알려드린 5가지(컬러 토큰, 타이포그래피, 간격 체계, 핵심 컴포넌트, Do/Don't 가이드)만 갖춰도, 내일 작업할 때 체감이 확 달라질 거예요.

거창하게 시작하지 않아도 괜찮아요.

작게 시작하고, 쓰면서 키우는 게 진짜 프로의 방법이에요.

 

 

이번 주도 수고 많으셨어요.

다음 편에서 또 만나요! 💪

 

첨부 이미지

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

방구석 디자인 사수 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글 1개

의견을 남겨주세요

확인
  • 시은의 프로필 이미지

    시은

    0
    약 11시간 전

    비공개 댓글 입니다. (메일러와 댓글을 남긴이만 볼 수 있어요)

    ㄴ 답글
© 2026 방구석 디자인 사수

디자이너의 고민이 성장이 되는 시간

메일리 로고

도움말 자주 묻는 질문 오류 및 기능 관련 제보

서비스 이용 문의admin@team.maily.so 채팅으로 문의하기

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울특별시 송파구 위례광장로 199, 5층 501-8호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스