인하우스 및 B2B 고객사의 전기차 충전소, 충전기 관리를 위한 다국어 지원 및 로컬라이징 기반 CSMS(Charge Station Management System)
기능 개발
RBAC 권한에 따른 클라이언트측 권한 관리 기능 및 동적 라우팅 생성 기능 구현
글로벌 및 미국 내 지역별 서비스를 위한 어플리케이션 내 전역 Timezone 변환 기능 구현
tiptap 기반 커스텀 WYSIWYG 에디터 개발
recharts를 활용한 각종 통계 데이터 시각화
성능 최적화
범용적으로 사용 가능한 리스트 가상화 테이블 컴포넌트를 구현하여 대용량 데이터 렌더링 최적화
상세 검색 옵션 조회에 대한 Waterfall을 병렬 요청으로 전환하여 요청 시간을 90%(200ms → 20ms) 개선
미사용 모듈에 대한 코드 스플리팅을 통해 엔트리 청크의 파일 크기를 약 60% 감소
useDailyTask 훅을 구현하여 비용이 많이 소모되는 일/월별 통계 캐싱을 통한 네트워크 요청 횟수 최소화
코드 품질 개선
국가별 현지화를 위한 모노레포 레이어 아키텍쳐를 구축하여 로컬라이징 여부에 따라 비즈니스 로직 및 UI를 빌드 타임에 결정 가능하도록 개선
사용자 경험 개선
모든 월/시간별 부하를 기입해야 하는 방식의 한전 부하 시간대 관리 Form을 계절과 시간대로 분리 및 시각적 색상 위계를 구분하여 288개의 입력 요소를 72개로 간소화
비즈니스 용어들을 인터페이스의 구현체 상수 객체로 분리 후, 관계별로 참조하도록 매핑하여 빌드 시 선택된 언어로 오버라이딩을 통해 용어의 일관성 문제 개선
DX 개선 및 협업 환경 구축
기존에 모노레포 내의 모든 패키지를 설치 후 전체 파일을 온프레미스 개발 서버로 전송하던 Jenkins 파이프라인을 빌드 결과물만을 전송하도록 개선하여 CI/CD 소요시간을 10분 → 30초로 개선
전시회 및 홈페이지에서 사용할 데모 소프트웨어를 위해 데모용 서버 및 DB를 별도로 구축하지 않고 MSW를 활용한 Mock API 기반 데모 프로젝트를 구축하여 비용 및 작업 공수 단축
Tech Stack
React
Vite
Turborepo
PNPM
React Query
Zod
tiptap
React Hook Form
recharts
Tailwind
viveEV Application (개발 중)
전기차 충전소 인프라 유저 앱 개발. Flutter 기반 외주 앱을 React Native로 마이그레이션
기능 개발
Naver Map API(국내향)와 Google Map API(해외향)로 실시간 가격, 사용 가능 여부 등 동적 데이터 및 애니메이션 마커 기반지도 서비스 개발
Native-Web 브릿지를 구성하고 Next.js Streaming SSR로 모바일 최적화 웹뷰 환경을 구축
Stripe SDK를 활용한 해외 카드 및 Apple Pay Billing 등록 및 결제 기능 구현
Firebase Cloud Messaging을 활용하여 푸시 알림 기능 구현
성능 최적화
커스텀 마커 렌더링시 View 변환 오버헤드로 인해 약 10개의 마커에서도 약 10fps까지 렌더링 병목 발생. Expo Module로 OS별 네이티브 레이어에 렌더링을 위임하고 node-canvas를 활용한 이미지 서버를 구현하여 1,000개 이상의 애니메이션이 포함된 동적 데이터 마커를 렌더링하는 과정에서도 60fps를 유지하는 성능을 보장하도록 개선
코드 품질 개선
Provider별 소셜 로그인 과정에서 이뤄지는 스텝을 구조화하여 Social Login Adapter 구성
DX 개선 및 협업 환경 구축
로컬 EAS Build에 Dev, Staging, Production 배포 환경에 따라 환경별 파이프라인 구축
Tech Stack
React Native
Expo 52
Expo Router
Kotlin
Swift
Google Map
Naver Map
React Query
Stripe SDK
FCM
Next.js
viveEV 비회원 결제 웹앱
예치금 방식의 결제 웹앱 FE/BE 개발부터 배포까지 전담하여 개발.
기능 개발
스마트로 결제 API를 활용한 결제 모듈 연동 개발
코드 품질 개선
Kafka 전송 실패, Database 에러, 결제 중 유저 탈출 등 실패 케이스에 대한 에러 코드를 정의하여 사용자의 문제 인식 과정을 개선 및 케이스별 에러 코드를 문서화
사용자 경험 개선
퍼널 스타일 유저 플로우와 버튼의 가시 영역에 비해 실제 작동 영역 확장, 터치 이벤트 기반 인터랙션 등 모바일 최적화 UX 구현
Tech Stack
Next.js
Drizzle
Smartro API
EC2
Tailwind
viveEV 및 피앤이시스템즈 홈페이지
반응형 디자인과 다국어 지원, SEO 최적화, 리소스 매니징 작업.
기능 개발
next-intl 라이브러리를 활용하여 한국어, 영어, 독일어를 지원하는 다국어 페이지 개발
framer-motion 라이브러리를 활용해 스크롤 동작에 반응하는 인터랙션 애니메이션 개발
SEO 최적화
다국어를 지원하며 이미지와 동영상 같은 미디어 콘텐츠를 포함하는 Sitemap Generator를 개발하여 SEO를 개선
Sitemap indexing를 통해 사이트맵을 Product, News, Blog로 분리하여 사이트맵 관리 편의성을 개선
DX 개선 및 협업 환경 구축
i18n-scanner를 활용하여 i18n JSON 파일과 스프레드시트를 자동 동기화 스크립트 구축
Tech Stack
Next.js
Amplify
Motion
next-intl
Supabase
Tailwind
2021-01-21-2022-07-21
대한민국 육군UH-60 승무원 / 병장
2019-07-23-2023-08-27
한국지역난방공사운영부 / 주임
Side Project
k3s 멀티 노드 홈서버
마스터 노드 1대, 워커 노드 2대로 이루어진 k3s 기반 홈서버를 구축
Cloudflare Tunnel을 통해 홈 서버 인프라에 대한 인바운드 없이 안전하게 외부에서 접속할 수 있도록 설정
ArgoCD를 통한 CD 파이프라인 구축
Tech Stack
k3s
Docker
Cloudflare Tunnel
ArgoCD
Tailscale
개인용 유틸리티 용어 검색 서비스, Vook
확장 프로그램과 브라우저 환경에서 사용되는 용어 검색 유틸리티 서비스 개발에 프론트엔드로 참여