Selected Work
세븐픽쳐스
온보딩 퍼널 재설계
2025.08 - 2026.03 · Software Engineer
신규 사용자 전환율 10% 미만 → 20% 이상
FlutterDartAmplitude
Problem
신규 가입 후 첫 동행 예약까지의 전환율이 10% 미만으로, 대다수 사용자가 중간에 이탈
Implementation
- Amplitude 퍼널 분석으로 가입→프로필→인터뷰→예약 각 단계별 이탈률을 정량 확인 → 프로필 작성 단계가 최대 드롭오프 구간
- 사용자 입장에서 '아직 서비스 가치를 체감하기 전에 정보 입력을 과도하게 요구'하는 구조가 문제
- 가설 검증: 입력 필드 축소만 적용(미미한 개선) → 퍼널 순서 자체를 재설계하여 '가치 체감 → 정보 입력' 흐름으로 전환
- 퍼널 순서 재설계: 간이 프로필(최소 정보)만 먼저 받고, 상세 프로필은 서비스 경험 이후로 이동
Results
전환율20% 이상
세븐픽쳐스
화상 인터뷰 시스템
2025.08 - 2026.03 · Software Engineer
14일 런칭
Next.jsServer ActionsTypeScriptPM2
Problem
외부 화상툴(Zoom/Meet) 기반 운영에서 피드백 연동이 번거로워 내재화 필요
Implementation
- 인터뷰 1회가 끝날 때마다 발생하는 운영 플로우와 예외 케이스를 모두 나열
- 업무가 '툴 바깥'에서 수동으로 반복되는 구조 → 누락/지연/오류가 발생
- Next.js Server Actions: 별도 백엔드 서버 없이 빠르게 구현하고 타입 안정성 확보
- Result(성공/실패) 기반으로 서버 처리 흐름을 명시해 에러 처리를 일원화
Results
런칭 기간14일
세븐픽쳐스
Flutter OOM 해결
2025.08 - 2026.03 · Software Engineer
메모리 1.5GB → 700MB (53%↓)
FlutterDartCrashlyticsDevTools
Problem
저사양 모바일 기기에서 채팅방 진입 시 앱 크래시(OOM)
Implementation
- Crashlytics로 OOM 확인 → DevTools 메모리 프로파일링 수행
- 동일 기기/동일 시나리오(채팅방 진입→스크롤)에서 크래시를 반복 재현
- DevTools Memory Profiler로 힙 스냅샷 비교 → 원본 해상도 이미지가 캐시에서 해제되지 않고 스크롤 시 누적
- 이미지 다운샘플링: 화면 표시 크기에 맞춰 리사이즈 후 캐싱
Results
메모리700MB
개선율53%↓
세븐픽쳐스
Bloc → CachedQuery 아키텍처 전환
2025.08 - 2026.03 · Software Engineer
보일러플레이트 3계층을 선언형 캐시 구조로 단순화
FlutterDartCachedQuery
Problem
Bloc의 이벤트·상태·리포지토리 3계층 구조가 기능 추가마다 보일러플레이트를 증가시키고, 캐시 전략 부재로 불필요한 API 호출 발생
Implementation
- 기능 하나 추가 시 최소 4개 파일(Event/State/Bloc/Repository) 필요 → 개발 속도 저하 + 코드 가독성 하락
- React Query의 캐시 키 기반 선언적 패턴이 같은 문제를 효과적으로 해결한 사례 참고
- 점진적 전환: Big-bang 리팩토링 대신 기능 단위로 점진 전환
- staleTime/캐시 무효화 전략 설계: 데이터 특성별 캐시 정책 분리로 불필요한 API 재요청 감소
Results
전환 완료36개
버즈빌
Web SDK 확장 & 호환성/빌드 안정화
2025.01 - 2025.04 · Frontend Intern
네이티브 앱 전용 광고 SDK를 웹으로 확장
Next.js 15TypeScriptWebpackBabel
Problem
네이티브 앱 전용 광고 SDK를 웹 환경으로 확장해 제품 커버리지 확대 필요
Implementation
- iOS 13 실기기에서 재현 → Safari 개발자 도구로 실패 지점 특정
- GitHub Issue 추적으로 알려진 이슈 확인, 자체 우회 방안 탐색
- iOS 13 Safari 호환성: Polyfill + Babel 타겟 정밀 조정으로 구형 Safari 정상 로드 확보
- Next.js 15 Turbopack 이슈: Webpack 폴백 빌드 구성으로 안정화 + 팀 내 Turbopack 도입 가이드 공유
Results
iOS 13 Safari정상 로드
빌드/배포안정화
CodeSync
2024.10 - 2024.11 · FE & Team Lead
실시간 동시편집 코드리뷰
ReactTypeScriptYjsWebRTCSocket.ioNginx
Problem
리뷰 과정에서 '설명/맥락 공유' 비용을 줄이기 위해, 동시편집+화상+채팅을 한 화면으로 통합 필요
Implementation
- Yjs CRDT 변경이 React 렌더 사이클과 동기화되지 않아 UI 지연/불일치 발생
- useEffect 기반 구독 시도 → 렌더 타이밍 불안정 확인 → React 18의 외부 스토어 동기화 API 적용 결정
- useSyncExternalStore로 Yjs 문서를 외부 스토어로 구독 → tearing 없이 상태 일관성 확보
- SocketManager 싱글턴으로 전체 실시간 채널의 연결/해제/재연결/에러 흐름을 중앙화
Results
동시편집상태 일관성 확보
NAT 환경연결 안정화
전남대 주차권 자동화 서비스
2023.10 - 2025.01 · FE Developer
오류 90%+↓ / 1년+ 운영
Next.jsTypeScriptNx Monorepo
Problem
신청 오픈/마감 수동 운영, 신청자 몰림으로 데이터 오류·중복 신청·잘못된 입력 예외 처리 어려움
Implementation
- 신청 오픈 시 트래픽 몰림으로 중복 요청·입력 오류·만료 등 운영 리스크 발생
- 요청 상태(pending/success/fail) 기반 중복 차단
- 오류 유형별 UX 표준화
- Nx 모노레포로 학생/관리자 앱 분리 + 공통 UI 라이브러리 구축
Results
신청 오류90%+↓
결과 발표15분 단축
운영 기간1년+
Econovation Recruit
2022.10 - 2025.01 · FE Lead
SEO 62→95, LCP 3.2s→1.4s (56%↓)
Next.js (App Router)TypeScriptTanStack QueryVite
Problem
CSR 구조로 SEO/초기 로딩 지연 + Google Forms/Trello 중심 운영 파편화
Implementation
- Lighthouse 측정으로 SEO 62점, LCP 3.2s 확인
- 페이지별 렌더링 전략 분리 필요성 파악 → 지원서(SSR), 소개/FAQ(SSG), 칸반(CSR+Optimistic) 전략 수립
- SSR/SSG 전환 + Hydration 불일치 해결
- TanStack Query staleTime/gcTime 최적화로 불필요한 재요청 감소
Results
SEO95
LCP1.4s
운영 규모학기당 지원자 100명+