안녕하세요.
경험과 경험을 잇는
|
개발자 권선영입니다.
경력
-
2024.11 ~ 현재
주식회사 식자재쿡 선임연구원 · 프론트엔드
자영업자 대상 식자재 커머스 앱 식자재쿡, 프랜차이즈 전용 플랫폼 브랜드쿡, 실시간 주식 시그널 앱 에어포인트 개발을 담당했습니다.
-
2023.08 ~ 2024.05
어메이징티켓(주) 사원 · 프론트엔드 · 디자인
위치 기반 지점 관리 앱 어메이징티켓의 브랜드 리뉴얼 및 기능 개발을 담당했습니다.
-
2022.07 ~ 2023.08
주식회사 그래마케팅랩 사원 · 개발
Next.js로 회사 홈페이지를 제작하고 Vercel로 배포했으며, Cafe24 기반 쇼핑몰을 JS로 자체 커스터마이징했습니다.
기술 스택
프로젝트
식자재쿡 자영업자 대상 식자재 커머스 플랫폼
2024.11 ~ 현재렌더링 최적화 및 아키텍처 설계
문제 장바구니 추가 시 리스트 전체가 리렌더링되며 스크롤이 초기화되고, JS 스레드 집중으로 프레임 드랍이 발생했습니다.
해결 3-Layer 아키텍처(Screen → Logic Hook → Action Hook → Layout Component)로 데이터·UI 로직을 분리하고, Reanimated의 useSharedValue로 애니메이션을 UI 스레드로 이관했습니다.
성과 리스트 리렌더링 오류 해결 및 애니메이션 성능 60fps 달성
네비게이션 마이그레이션: Expo Router → React Native Navigation
문제 파일 기반 라우팅 환경에서 복잡한 비즈니스 로직 처리 시 JS 스레드 병목으로 헤더 깜빡임(Flickering)과 부자연스러운 화면 전환이 발생했습니다.
해결 네이티브 레벨에서 화면 스택을 제어하는 react-native-navigation으로 전면 마이그레이션하고, 커머스 도메인 특유의 다중 WebView 중첩 및 명령형 네비게이션 구조를 재설계했습니다.
성과 화면 전환 시 Flickering 제거 및 네이티브 수준의 전환 성능 확보
결제 시스템 고도화: Toss Payments 전환 및 무결성 검증 플로우 재설계
문제 기존 PG 모듈(다날)의 유지보수 한계와 포인트·예치금 등 복합 결제 대응이 요구되었습니다.
해결 [사전 검증 → PG 결제 → 서버 승인 → 앱 리다이렉트] 플로우를 구축하고, WebView의 onShouldStartLoadWithRequest로 결제 완료 URL을 인터셉트했습니다. debounce 처리로 중복 결제도 방지했습니다.
성과 결제 성공률 개선 및 CS 응대 시간 단축
에어포인트 실시간 주식 시그널 매매 모바일 앱
2025.01 ~ 현재실시간 시그널 및 채팅 시스템 고도화
문제 백그라운드 전환 후 복귀 시 Zustand 내 데이터가 최신화되지 않아 실시간 정합성이 깨졌습니다.
해결 AppState와 useIsFocused를 결합한 훅을 구현하여 포그라운드 진입 시 즉시 동기화하고, 소켓 재연결 전략과 Polling을 병행해 네트워크 탄력성을 확보했습니다.
성과 실기기 환경에서 백그라운드 복귀 시 데이터 지연 없는 실시간성 확보
Custom OTA Server 구축 및 배포 전략 내재화
문제 금융 앱 특성상 긴급 패치가 빈번했으나 매번 스토어 심사를 거치는 방식으로는 대응 속도에 한계가 있었습니다.
해결 Expo OTA 기능을 자체 서버와 연동해 배포 프로세스를 내재화하고, 네이티브 코드 변경 여부에 따른 Runtime Versioning 전략으로 크래시 위험을 사전 차단했습니다.
성과 스토어 심사 없는 긴급 패치 환경 구축 및 배포 주기 단축
인앱 구독 시스템 및 App Store 심사 전략 수립
문제 금융 서비스 특성상 Apple/Google의 까다로운 인앱 결제 정책과 개인정보 처리 가이드라인으로 심사 리젝 위험이 높았습니다.
해결 베이직/프리미엄 등급별 권한 분기와 서버 사이드 영수증 검증(Receipt Validation)을 구현하고, 리젝 사유 분석 및 소명 문서를 작성해 재심사를 주도했습니다.
성과 금융 가이드라인 준수를 통한 재심사 통과 및 서비스 런칭
브랜드쿡 프랜차이즈 전용 식자재 배송 플랫폼
2025.03 ~ 2025.08브랜드별 동적 UI 시스템 및 애니메이션 스플래시 구현
문제 프랜차이즈마다 다른 BI(로고, 컬러, 무드)를 하나의 코드 베이스로 제공해야 했고, 기존 Native Splash Screen만으로는 정교한 브랜드별 인트로 애니메이션 구현에 한계가 있었습니다.
해결 Native Splash 이후 Reanimated 기반 인앱 애니메이션 스플래시 단계를 추가하고, 테마 컬러·로고·인트로 모션을 Config 값에 따라 런타임에 동적으로 교체하는 아키텍처를 설계했습니다.
성과 코드 수정 없이 설정값 변경만으로 브랜드 최적화 가능 → 신규 프랜차이즈 입점 비율 30% 증가
B2B 폐쇄몰 App Store 심사 리젝 대응 및 승인 전략
문제 특정 가맹점주만 사용하는 폐쇄형 서비스 특성으로 인해 '폐쇄형 마켓플레이스' 오인 리젝이 발생했습니다.
해결 서비스 비즈니스 모델과 가맹점주-본사 관계를 상세히 설명하는 소명 문서를 작성하고, 심사팀 이해를 위한 시연 영상을 제작하며 Apple Review 팀과 직접 커뮤니케이션했습니다.
성과 정책 오해 해소 및 최종 승인 확보, 유사 폐쇄형 서비스 배포 가이드라인 수립
예치금 기반 B2B 결제 프로세스 설계
문제 대규모 식자재 거래가 빈번한 프랜차이즈 환경에서 매번 카드 결제를 진행하는 번거로움을 줄일 필요가 있었습니다.
해결 가상계좌 기반 예치금 충전 기능을 구현하고, 주문 시 예치금 잔액을 실시간으로 확인하여 차감하는 결제 플로우를 구축했습니다.
성과 재구매가 잦은 B2B 고객의 결제 편의성 향상 및 서비스 리텐션 확보
어메이징티켓 위치 기반 지점 관리 및 브랜드 리뉴얼
2023.08 ~ 2024.05실시간 위치 기반 정보 제공으로 오프라인 지점 접근성 강화
문제 사용자가 가장 가까운 지점을 찾으려면 직접 검색하거나 리스트를 탐색해야 하는 번거로움이 있었습니다.
해결 expo-location으로 실시간 GPS 좌표를 수집해 최근접 지점을 자동 추천하는 로직을 구현했고, 위치 권한 거부 시에도 서비스가 정상 작동하는 권한 대응 프로세스를 설계했습니다.
성과 오프라인 지점 정보 접근 단계 단축 및 UX 개선
CS 게시판 시스템 구축 및 UI/UX 인터랙션 개편
문제 앱 내 직접적인 문의 창구가 없어 사용자가 불편 사항을 해결하려면 지점 전화를 이용해야 했고, 중앙 모달 방식의 UI는 한 손 조작이 불편했습니다.
해결 문의 작성·답변 조회 기능을 갖춘 CS 게시판을 구현하고, 중앙 모달에서 바텀 시트(Bottom Sheet) 체제로 인터랙션을 전면 개편했습니다.
성과 앱 내 직접 소통 창구 마련, 고객 피드백 루프 강화, 한 손 조작 편의성 향상
버그와 함께 춤을