Pencil.dev로 디자인과 개발을 동시에 작업하기

by 유훈식 교수

Pencil.dev는 무엇인가?

디지털 제품 개발 과정에서 디자인과 엔지니어링 사이의 간극은 단순한 소통의 문제를 넘어 프로젝트 전체의 효율성을 결정짓는 핵심적인 요소로 작용해왔다. 전통적인 워크플로우에서 디자이너는 시각적 도구를 사용하여 정적인 목업을 제작하고, 개발자는 이를 해석하여 코드로 재구현하는 과정을 거친다. 이러한 방식은 필연적으로 맥락의 파편화와 데이터의 손실을 초래하며, 실제 개발 환경과 디자인 도구 사이의 끊임없는 '핸드오프(Handoff)' 과정을 유발한다. Pencil.dev는 이러한 근본적인 분절을 해결하기 위해 등장한 혁신적인 AI 기반 디자인 시스템으로, 별도의 브라우저나 독립된 애플리케이션이 아닌 통합 개발 환경(IDE) 내부에 직접 내장되어 작동하는 무한한 캔버스를 제공한다.

image.png

Pencil.dev의 본질은 디자인을 단순한 그림이 아닌 '코드의 한 형태'로 취급하는 데 있다. 이 도구는 커서(Cursor), VS 코드, 클로드 코드와 같은 현대적인 개발 도구 안에서 '디자인 모드' 역할을 수행하며, 디자인 파일이 소스 코드와 함께 공존할 수 있도록 설계되었다. 기술적으로 Pencil.dev는 .pen이라는 독자적이면서도 개방된 파일 형식을 사용한다. 이 파일은 JSON 기반의 텍스트 데이터로 구성되어 있어 사람이 읽을 수 있을 뿐만 아니라, 깃(Git)과 같은 버전 관리 시스템에서 텍스트 기반의 차이점(Diff)을 확인하고 병합할 수 있는 특성을 가진다. 이는 소프트웨어 공학의 엄격한 버전 관리 원칙을 디자인 영역으로 확장한 것으로, 코드가 롤백되면 디자인도 함께 롤백되는 완벽한 동기화를 가능하게 한다.

image.png

또한 Pencil.dev는 모델 컨텍스트 프로토콜(MCP, Model Context Protocol)을 통해 인공지능 에이전트와 소통한다. MCP는 인공지능이 디자인 캔버스의 내용을 읽고 직접 요소를 배치하거나 수정할 수 있게 해주는 표준 인터페이스다. 이를 통해 인공지능은 캔버스 위의 시각적 맥락을 정확히 인지하게 되며, 사용자는 자연어로 디자인을 명령하고 그 결과를 즉시 코드와 연결할 수 있는 '바이브 코딩(Vibe Coding)'의 시각적 실행 레이어를 확보하게 된다. 결국 Pencil.dev는 시각적 창의성과 논리적 구현이 단일한 문맥 안에서 상호작용하도록 돕는 차세대 개발 생태계의 핵심 플랫폼이다.


Pencil.dev의 주요 기능

Pencil.dev는 디자인과 개발의 경계를 허물기 위해 인공지능의 협업 능력과 전통적인 디자인 도구의 사용성을 결합한 다채로운 기능을 제공한다. 가장 핵심적인 기능은 인공지능 에이전트 기반의 '에이전틱 캔버스(Agentic Canvas)'다. 사용자는 캔버스 위에서 Cmd+K 단축키를 사용하여 프롬프트 창을 열고, 인공지능에게 복잡한 UI 레이아웃 생성이나 특정 컴포넌트의 수정을 직접 요청할 수 있다. 인공지능은 단순히 텍스트를 제안하는 수준을 넘어 MCP 툴을 활용해 캔버스 위의 벡터 요소를 직접 조작하고 배치한다.

image.png

양방향 동기화(Two-Way Sync) 역시 Pencil.dev가 자랑하는 강력한 기능 중 하나다. 디자인에서 코드를 생성하는 '디자인 투 코드(Design to Code)' 기능은 물론, 기존 프로젝트의 소스 코드를 분석하여 이를 캔버스 위에 시각적으로 재현하는 '코드 투 디자인(Code to Design)' 기능을 모두 지원한다. 예를 들어 프로젝트 내에 존재하는 React 버튼 컴포넌트 파일을 지정하여 캔버스로 불러오면, 인공지능은 해당 코드의 속성과 스타일을 분석하여 캔버스 위에 시각적 요소로 변환해준다. 사용자는 캔버스에서 이를 시각적으로 수정한 뒤 다시 인공지능에게 명령하여 원본 코드를 업데이트하도록 요청할 수 있다.


디자인 자산의 운용 측면에서는 피그마(Figma)와의 매끄러운 연동이 돋보인다. 피그마에서 작업한 프레임, 텍스트, 스타일, 벡터 경로 등을 복사하여 Pencil 캔버스에 붙여넣으면 레이어 계층 구조와 오토 레이아웃 속성이 최대한 보존된 상태로 이식된다. 비록 복잡한 오토 레이아웃의 경우 일부 미세한 조정이 필요할 수 있으나, 전반적인 스타일 값과 간격 설정은 1px 수준의 높은 정확도를 보여준다. 이는 기존의 디자인 자산을 포기하지 않으면서도 개발 워크플로우로 자연스럽게 전환할 수 있는 통로를 제공한다.

image.png

버전 관리 기능은 Pencil.dev를 다른 디자인 도구와 차별화하는 결정적인 요소다. 디자인 파일인.pen 파일이 코드 저장소에 물리적으로 위치하기 때문에, 깃(Git) 브랜치를 생성하여 새로운 기능을 개발할 때 디자인 실험도 해당 브랜치 내에서 독립적으로 진행할 수 있다. 디자인과 코드가 같은 커밋 기록을 공유하므로 팀원들은 특정 시점에 디자인이 어떻게 변했고 그에 따른 코드 구현이 어떻게 이루어졌는지 완벽한 투명성을 가지고 파악할 수 있다.


마지막으로 수동 편집 기능과 인공지능 가이드의 조화가 뛰어나다. Pencil.dev는 레이어 패널과 CSS 기반의 속성 편집기를 갖추고 있어 디자이너들이 친숙한 방식으로 직접 시각적 요소를 조정할 수 있게 한다. 인공지능에게 명령하기 애매한 미세한 픽셀 조정이나 텍스트 변경은 수동으로 처리함으로써 인공지능 토큰 비용을 절약하고 작업의 속도를 높일 수 있다. 또한 캔버스 상에 '스티키 노트(Sticky Notes)'를 배치하여 인공지능에게 실행 가능한 지시사항을 남기거나 팀원들과 소통하는 워크스페이스 기능을 통해 협업의 질을 높인다.


Pencil.dev로 피그마와 커서 연결하는 방법

Pencil.dev를 활용하여 피그마의 디자인을 커서(Cursor) 기반의 개발 워크플로우에 이식하는 과정은 설정, 데이터 전송, 그리고 코드 구현의 세 단계로 구체화된다. 이 과정은 단순히 파일을 옮기는 것이 아니라 디자인의 맥락을 인공지능이 이해할 수 있는 환경을 구축하는 과정이다.

image.png

첫 번째 단계는 개발 환경의 물리적 준비다. 사용자는 커서의 확장 프로그램 메뉴에서 Pencil을 검색하여 설치해야 한다. 동시에 핵심 엔진 역할을 하는 클로드 코드(Claude Code) CLI가 시스템에 설치되어 있어야 하며, 'claude'명령어를 통해 인증이 완료된 상태여야 한다. Pencil의 AI 기능은 로컬에서 실행되는 MCP 서버를 기반으로 하므로, 커서 설정의 'Tools & MCP' 탭에서 Pencil 서버가 정상적으로 활성화되었는지 확인하는 절차가 필수적이다. 설정이 완료되면 프로젝트 루트 디렉토리에.pen 확장자를 가진 파일을 생성하여 디자인 캔버스를 활성화한다.

image.png

두 번째 단계는 피그마로부터 디자인을 가져오는 과정이다. 웹이나 데스크톱 앱에서 피그마 프로젝트를 열고 필요한 UI 요소나 프레임을 선택한 뒤 복사(Cmd+C)를 수행한다. 이후 커서 내의 Pencil 캔버스로 돌아와 붙여넣기(Cmd+V)를 하면 디자인이 즉시 캔버스에 나타난다. 이때 주의할 점은 이미지는 현재 직접 복사되지 않으므로 SVG 형식으로 변환하거나 별도로 임포트해야 한다는 것이다. 또한 피그마의 디자인 토큰이나 CSS 변수가 담긴 표를 스크린샷으로 찍거나 텍스트로 복사하여 프롬프트 창에 입력하면, 인공지능이 이를 해석하여 Pencil 내의 디자인 변수로 자동 등록해준다.


세 번째 단계는 인공지능을 통한 코드 생성과 최적화다. 캔버스에 배치된 디자인 요소를 선택한 상태에서 Cmd+K를 눌러 AI 프롬프트 패널을 활성화한다. 사용자는 "이 카드 컴포넌트를 Tailwind CSS와 TypeScript를 사용하는 React 컴포넌트로 구현해줘"와 같이 구체적인 명령을 내릴 수 있다. 인공지능은 캔버스 위의 시각적 구조를 읽어내어 실제 소스 코드 파일(.tsx 등)을 생성하거나 기존 파일에 코드를 삽입한다. 이때 인공지능은 프로젝트 내의 다른 파일들을 참조하여 기존 코딩 컨벤션이나 스타일 가이드를 준수하는 코드를 생산한다.


이 과정에서 발생할 수 있는 오류를 방지하기 위해 몇 가지 모범 사례를 준수해야 한다. .pen 파일은 반드시 작업 중인 소스 코드와 동일한 워크스페이스 내에 위치해야 인공지능이 두 파일 사이의 관계를 인지할 수 있다. 또한 Pencil은 현재 자동 저장 기능을 지원하지 않으므로 작업 중간에 수동으로 저장(Cmd+S)하는 습관이 중요하며, 주기적인 깃 커밋을 통해 변경 이력을 관리해야 한다. 만약 MCP 서버 연결이 원활하지 않다면 커서를 재시작하거나 클로드 CLI의 로그인 상태를 재확인하는 방식으로 해결이 가능하다.


Pencil.dev가 만드는 디자인과 개발 연결의 가치

Pencil.dev가 제공하는 가장 즉각적인 가치는 디자인과 개발 사이의 '맥락 전환 비용(Context Switching Cost)'의 획기적인 감소다. 맥킨지의 연구에 따르면 중소규모 팀에서 디자인 핸드오프 과정은 전체 프로젝트 일정의 15~20%를 소비한다. Pencil.dev는 디자인 캔버스를 개발 도구 안으로 가져옴으로써 개발자가 브라우저, 메모 앱, 디자인 툴 사이를 끊임없이 오가는 비효율적인 행위를 제거한다. 실제로 특정 로그인 페이지의 프로토타이핑과 코딩 작업을 수행했을 때, 기존 방식으로는 1시간이 걸리던 작업이 Pencil.dev 환경에서는 20분 만에 완료되는 등 약 3배의 생산성 향상이 보고되었다.

image.png

Pencil.dev가 가져오는 또 하나의 가치는 디자인의 엔지니어링적 자산화다. Pencil.dev를 통해 디자인은 더 이상 파편화된 이미지 파일이 아니라 버전 관리가 가능한 코드의 일부가 된다.pen 파일이 깃 저장소에 포함됨에 따라 디자인에 대한 코드 리뷰가 가능해지고, 개발팀은 디자인 변경 사항을 소스 코드의 변화와 동일한 수준의 엄밀함으로 관리할 수 있다. 이는 '코드로서의 디자인(Design as Code)' 사상을 실천함으로써 프로젝트의 장기적인 유지보수성을 높이고, 디자인과 코드 사이의 불일치로 인해 발생하는 기술 부채를 방지한다.


Pencil.dev는 특정 벤더에 종속되지 않는 개방형 파일 형식을 지향하며, MCP를 통해 다른 AI 도구나 외부 데이터 소스와 자유롭게 연결될 수 있다. 사용자는 데이터베이스, API, 심지어 브라우저 자동화 도구인 Playwright 등과 Pencil 캔버스를 연결하여 실제 데이터를 실시간으로 반영하는 동적인 디자인 환경을 구축할 수 있다. 이러한 확장성은 Pencil.dev가 단순한 정적 디자인 도구를 넘어 실제 제품의 동작을 설계하고 검증하는 통합 시뮬레이션 환경으로 발전할 수 있는 토대를 제공한다.

결론적으로 인공지능과 함께하는 자동화 디자인은 인간의 전문성을 증폭시키는 방향으로 흐르고 있다. 창작자는 세세한 구문 작성과 수동적인 배치 작업에서 해방되어, 더 높은 수준의 디자인 의도와 전략적 판단에 집중할 수 있게 된다. Pencil.dev는 이러한 거대한 변화의 흐름을 가장 앞서서 실천하고 있는 도구이며, 디자인과 개발이 완전히 하나로 융합된 '에이전틱 엔지니어링' 시대의 표준을 제시하고 있다. 이제 디자이너와 개발자는 각자의 도구라는 장벽을 넘어, 인공지능과 함께 하나의 캔버스 위에서 미래의 디지털 경험을 창조해 나가는 동료로서 마주하게 될 것이다.



AI를 활용하여 UX/UI 디자인을 공부하고 AI디자인 자격증도 취득하고 싶다면?

image.png
image.png

https://onoffmix.com/ch/aidesign

AI를 활용하는 UXUI 디자이너들과 함께 소통하며 성장하고 싶다면?

https://litt.ly/aidesign

AI를 활용한 UX/UI 디자인을 책으로 공부하고 싶다면?

https://www.yes24.com/product/goods/148121780

AI 시대에 나만의 AI스타트업/비즈니스 시스템을 만들고 싶다면?

https://www.smit.ac.kr/major/ai-startup-introduce.php





keyword
매거진의 이전글AI시대 바둑으로 본 디자인의 미래