비바리퍼블리카 (토스)
2024.06 ~ 2026.06
Frontend UX Ops Engineer
UX Platform Tribe / Interaction Team
토스 디자이너와 개발자가 사용하는 데우스랠리 구조를 설계·구현하고, TDS 인터랙션 컴포넌트, interaction 패키지 현대화, 토스쇼핑 결제 모션 성능 개선을 맡았습니다.
데우스랠리
작업기록기존 데우스에서는 하나의 프레임에 하나의 모션만 담을 수 있어, 디자이너가 단순한 인터랙션도 여러 프레임을 겹쳐 구성해야 했고 개발자는 이를 다시 해석해 제품 코드로 옮겨야 했습니다. 데우스랠리는 토스 디자이너와 개발자가 GUI에서 편집한 모션 데이터를 React/Native 핸드오프 코드로 변환하는 사내 플러그인입니다.
- -토스 디자이너와 개발자가 함께 사용하는 모션 핸드오프 데이터 인터페이스를 MobX 기반 모델로 설계
- -GUI에서 만든 모션 데이터를 React/Native 코드로 변환하는 코드젠 로직과 누락/예외 케이스 처리
- -프리뷰, 타임라인 편집, 스크롤 트리거, 커스텀 easing 입력 등 모션 제작 UI 구현
TDS 인터랙션 컴포넌트
작업기록토스 디자인 시스템에서 재사용되는 인터랙션 표현을 컴포넌트로 제공하려고 ProgressiveBlur와 EdgeShadow를 구현했습니다. 시각 효과의 완성도와 지원 환경별 안정성을 함께 고려했습니다.
- -토스 디자인 시스템에서 사용하는 ProgressiveBlur를 0부터 구현하고, WebGL canvas 렌더링과 CSS fallback을 함께 구성
- -이미지 가장자리와 코너 라운드에 맞춰 흐르는 EdgeShadow를 구현하고, 투명 컨텐츠 조건을 고려해 중앙부 마스킹 처리
- -TDS 컴포넌트 API와 데우스 코드컴포넌트를 함께 정리해 같은 인터랙션 표현을 제품 코드와 디자인 도구 양쪽에서 재사용하게 구성
interaction 패키지 현대화
작업기록interaction 패키지의 빌드와 스타일 의존성을 정리해 RSC 환경을 지원하고 서비스 번들 사이즈를 최적화했습니다. Vite 기반 빌드로 전환하고 emotion 의존성을 제거해 패키지의 런타임 의존 범위를 줄였습니다.
- -여러 서비스와 컴포넌트에서 사용하는 interaction 패키지를 RSC 환경에 맞게 Vite 기반 개발/빌드 환경으로 전환
- -emotion 의존성을 제거하고 inline style 기반으로 스타일을 정리해 서비스 번들 사이즈 감소
토스쇼핑 결제 모션
작업기록토스쇼핑 결제 플로우에서 사용하는 `밀어서 결제` 모션을 개발하고, Revert 이후 재구현까지 담당했습니다. 실제 사용자 결제 흐름에서 끊김 없이 동작하도록 성능 측정과 개선을 함께 진행했습니다.
- -토스쇼핑 결제 플로우의 `밀어서 결제` 모션을 개발하고 Revert 이후 재구현까지 담당
- -6x CPU throttle 환경에서 30회 반복 측정해 클릭 직후 peak frame freeze p50을 32% 줄이고 300ms+ 멈춤 발생을 0건으로 낮춤
Frontend Developer (UX) Assistant
UX Platform Tribe / Interaction Team
인터랙션 디자이너와 개발자의 핸드오프를 돕는 Rally Editor, 토스 디자인 컨퍼런스 Simplicity 웹사이트, WikiText 컴포넌트, TDS 코드 컴포넌트 유지보수를 담당했습니다.
Simplicity 디자인 컨퍼런스
참고 링크토스 디자인 컨퍼런스 Simplicity 웹사이트에서 발표 세션을 탐색하고 전환하는 화면을 구현했습니다. 모바일 전환 모션과 데스크탑 리스트형 모션을 제작해 세션 흐름이 자연스럽게 이어지도록 다듬었습니다.
- -모바일 환경에서 세션 간 이동과 발표 흐름을 연결하는 전환 모션 구현
- -데스크탑 환경에서 리스트형 세션 탐색 경험에 맞춘 모션 구현
- -모바일/데스크탑 세션 템플릿을 구성하고 화면 크기별 인터랙션 흐름 정리
WikiText 컴포넌트
WikiText는 금융 용어처럼 본문 안에서 추가 맥락이 필요한 표현을 설명하는 컴포넌트입니다. 설명 데이터와 공통 동작은 공용 모듈로 분리해 모바일용/데스크탑용 컴포넌트를 각각 구현했습니다.
- -본문 흐름 안에서 용어나 표현의 추가 설명을 확인하는 상호작용 구현
- -설명 데이터 처리와 공통 인터랙션 로직을 공용 모듈로 분리
- -공용 모듈에서 모바일용/데스크탑용 WikiText 컴포넌트 구현
- -사용자가 문맥을 벗어나지 않고 필요한 설명을 확인하도록 컴포넌트화
Rally Editor
작업기록Rally Editor는 인터랙션 디자이너가 개발 가이드를 하나씩 수기로 작성하던 워크플로우를 GUI 기반 편집 흐름으로 바꾼 사내 에디터입니다. 디자이너가 타임라인을 구성하면 개발자가 그 수도코드로 핸드오프 코드를 만들도록 연결했습니다.
- -인터랙션 디자이너를 위한 GUI 기반 타임라인 편집 흐름과 입력 폼 구현
- -개발자 핸드오프용 타임라인 데이터를 pseudo code로 파싱하는 UI 구현
- -flatTree 구조의 데이터 인터페이스 및 전체 구조 설계·구현
- -에디터 검증을 위한 테스트/CI 흐름 구현
TDS 코드 컴포넌트 유지보수
- -interaction 패키지 문의 대응과 버그 수정
- -Rally 코드젠 테스트 작성