현대카드와 제휴를 맺은 종합 온라인 여행 서비스입니다. 24년 12월 완료 예정인 서비스 전면 리뉴얼 프로젝트에서 항공 서비스 파트의 개발에 참여하고 있습니다. 기술 스택 선택부터 디자인 시스템 구축, 프론트엔드 개발까지 전반적인 영역을 담당 중입니다.
Next.js 14(app)
tailwind
react-query
Radix UI(shadcn)
로 구축한 디자인 시스템에서 복잡한 디자인 요구사항으로 인한 Render Delegation
방식의 한계 인식Higher order type inference from generic functions
기능을 활용하기 위해 forwardRef
의 타입을 오버로딩하여 해결server-only
로 정의되어 클라이언트에서 호출할 수 없는 문제prefetchQuery
로 데이터를 미리 불러온 후, 클라이언트 컴포넌트에서 프리페칭한 데이터를 사용하여 해결전 세계 항공권, 호텔, 투어&티켓 등 여행에 필요한 다양한 상품을 판매하는 여행 서비스 Kyte의 유지보수를 담당했습니다. 신규 기능 개발이 중단된 상황에서 기술 부채 해소에 집중했습니다.
React
emotion
react-query
node
메모리 사용량 약 13GB)rollup
을 활용한 빌드 속도 개선, deprecated 예정인 CRA의 기술 부채 해소를 목적으로 Vite 마이그레이션평균 10분 → 2분 30초
Multi-Step-Form 형태의 인공지능 작곡 및 편집 웹 서비스 LAIVE의 Zero to One 개발을 담당했습니다. 기획부터 디자인까지 폭넓게 관여하며 더 나은 제품을 만들기 위해 노력했습니다.
Next.js(page)
tailwind
react-query
BottomSheet
Modal
등 UI의 구조가 유동적인 컴포넌트는 컴파운드 패턴으로 설계하여 재사용성을 높임render props
패턴으로 List
와 Item
간의 결합도를 느슨하게 설계, 유지보수가 용이하도록 개발ErrorBoundary
기술 전파 및 적용 블로그 포스팅
react-query
에 의존하여 에러가 전역까지 전파되지만 않게 구현해 두었던 레거시 코드를 리팩토링sentry
도입 및 에러 로깅을 ErrorBoundry
와 통합Suspense
기술 전파 및 적용 블로그 포스팅
Suspense
에 위임하여 컴포넌트가 성공한 경우만 고려하도록 작성AI 배경음악 구독 서비스 VIODIO의 유지보수와 UX 개선을 담당했습니다.
React
styled-components
react-query
useInfiniteQuery
로 마이그레이션, 캐싱을 통해 서버 통신 횟수를 축소하고 유저가 스켈레톤 UI를 보는 불필요한 시간을 단축styled-components
가 런타임에 동적으로 스타일을 적용하기 위해 리렌더링 될 때마다 새로운 style tag
를 생성하면서 발생scss
로 분리하여 FOUT 개선TDS(Toss Design System) 애니메이션 컴포넌트를 제작하는 NEO-TDS에 참여하여 신규 컴포넌트를 개발하고, Framer에서 사용할 수 있도록 Framer 컴포넌트를 개발했습니다.
Tooltip
Highlight
CTA
등 각종 Web, Framer 컴포넌트 개발 및 유지보수TDS(Toss Design System)을 비롯하여 생산성을 위해 사용하고 있는 각종 사내 라이브러리를 유지보수, 개발했습니다.
framer-tds-label
및 framer-animate-label
패키지 개발토스의 모든 리소스가 모이는 Resource Center를 유지보수, 개발했습니다.
react-query
도입useInfiniteQuery
로 마이그레이션에듀테크 플랫폼 '인프런'의 개발/프로그래밍 카테고리 MD로 지식공유자 섭외 및 컨설팅, 강의 기획, 판매 전략 수립, 내부 마케팅, 고객 응대 등 강의 탄생부터 판매까지의 전 과정을 담당했습니다.
국내 1위 홈쇼핑이자 종합몰인 GS홈쇼핑(GSSHOP)에서 가공식품, 육아/교육, 가전 카테고리 MD로 상품 기획, 소싱, 협력사 소통, 마케팅, 방송 운영 등 상품이 판매되기까지의 전 과정을 담당했습니다.
React + tailwind 기반의 디자인 시스템
lerna
를 사용한 모노레포 구축 및 컴포넌트 단위의 패키지 배포로 특정 컴포넌트의 버전 고정, 롤백 등 유지보수 편의성 확보hygen
도입, 생산성 향상동료의 익명 피드백으로 자신의 성향과 장단점 등을 파악해요. 강점은 살리고, 약점은 보완하기 위한 익명의 피드백 수집 및 통계 서비스.
GA
mixpanel
을 도입하여 퍼널 분석 및 이탈률 개선Dialog
Tooltip
등 공통 컴포넌트 구현useScrollSpy
useScrollLock
useLongPress
등의 custom hooks 작성아주 심플한 플랫 디자인의 오픈소스 블로그 템플릿. 심미성이 뛰어난 블로그 템플릿을 찾지 못해 직접 만들었어요. 한 달에 하나씩 꾸준히 글을 작성하고 있어요.
hygen
을 사용해 블로그 초기 세팅 자동화 및 게시글 템플릿 생성 가능함수의 반환 타입을 명시하도록 하는 Typescript ESlint Plugin
아주 심플한 플랫 디자인의 오픈소스 포트폴리오 템플릿. 지금 보고계신 페이지도 이것을 기반으로 만들어졌어요.
Next.js
의 getStaticProps
를 사용한 SSG(Static Site Generation) 구현next-seo
를 도입markdown
과 data.json
만 작성하면 포트폴리오를 제작할 수 있도록 구성tailwind
의 theme
을 사용하여 사용자의 취향에 맞게 컬러를 커스텀할 수 있도록 개발