하루하루 발전할 수 있도록 노력하는 개발자, 전희훈입니다.

Email
[email protected]
Phone Number
010-8950-7211
Blog
https://citytexi.tistory.com/
Github
citytexi - Overview
Portfolio
https://pleasurehun99.notion.site/portfolio
https://notion-ga.ohwhos.now.sh/collect?tid=G-4TZ9HCZ58V&host=pleasurehun99.notion.so&page=/notion-resume
Contents
간단 소개
Android 개발 만 3년, KMP · Compose Multiplatform 단일 코드베이스로 신규 앱을 두 번 런칭하고, 런칭 이후 운영까지 이어서 맡았습니다.
BLE 자체 패킷 프로토콜, RTSP 라이브 뷰, Unity 임베드처럼 하드웨어·네이티브 인접 영역도 직접 다뤘습니다.
Experience

아이나비시스템즈
Android / KMP 개발 (모빌리티개발셀)
2024.08 ~ 재직 중
주임 연구원
SKT 친구찾기
2025.08 ~ 현재
기존 출시된 10만 다운로드 친구찾기, 자녀안심 앱 서비스 리뉴얼
- KMP, Compose Multiplatform 단일 코드베이스로 만든 통신사 LBS 친구 찾기 앱
- 역할: init commit부터 합류한 코어 멤버(3~4명) 중 주요 컨트리뷰터
- 운영
- 크래시 미발생 사용자 99.34%, 비정상 종료 미발생 세션 99.74%로 운영 중
- 디자인 시스템 구축 (23개 카테고리)
- 디자이너가 따로 검수할 수 있도록 미리보기 앱을 별도 분리
- Android 전용 의존성(Firebase SDK, T-Auth)이 iOS 빌드에 새지 않도록 셸을 분리해 양 플랫폼 빌드 오류를 막음
- iNavi Maps Native SDK 를
commonMain 에 expect/actual 로 추상화
- Android + iOS xcframework cinterops 연동
- 마커·경로·원 그리기, 카메라 이벤트, 라이프사이클 등 Composable 7종
- 통신사 인증: KMC 본인확인 WebView JS Bridge를 양 플랫폼에 구현하고, T-Auth·T-ID 연동에 성인/미성년자/보호자 다단계 가입 분기까지 처리
- KMP 컨벤션·온보딩·코드 생성 자동화 가이드를 사내 표준 라이브러리로 만들어, 새로 합류한 팀원도 같은 패턴으로 작업하도록 정착
Heptone TINA
2024.11 ~ 2025.10
- KMP, CMP 단일 코드베이스로 만든 Web3 위치기반 데이터 크라우드소싱 리워드 앱
- 역할: 코어 3명 중 주요 컨트리뷰터
- 운영
- 합작사 Heptone으로 이관한 뒤에도 안정적으로 운영하며 versionCode 158까지 끌어올린 후 인계 완료
- 자체 디자인 시스템 구현
- 컴포넌트 32종, Typography 18계열
- 자식 슬롯 구조(trailing/leading/content)를 일괄 통일
- Preview를 androidMain에서 commonMain으로 옮겨 양 플랫폼에서 함께 확인 가능하도록 수정
- service와 source를 인터페이스/구현 페어 모듈로 분리해, 백엔드 DTO가 바뀌어도 클라이언트 비즈니스 로직까지 번지지 않도록 모듈 경계로 막음
- MapLibre Native 11.9를 Android·iOS xcframework cinterops로 듀얼 구현
- Web3 지갑 통합 (Wepin + phantom)
BMW ACE 3.0
2024.10 ~ 2025.01
- BMW - MINI Global OEM 액세서리 옵션 준전장 대시앱 앱
row / na / cn 권역별 멀티 플레이버 대응
- 역할: 팀 9명 중 1명으로 영상 재생, BLE 페어링, WiFi 자동 연결, 다운로드, 펌웨어 OTA 도메인 유지보수
- BLE send와 thumbnail load 사이 race condition을 구조적으로 해결
- 처음엔 WiFi 연결 직후 thumbnail load 충돌을 피하려고 임시 delay를 넣었지만,
근본 해결이 아니라 BLE send와 thumbnail 호출을 단일 mutex coordinator 객체로 묶어 직렬화
- 라이브 뷰 종료 시 RTSP 자원이 release되지 않아 운영 중 메모리·소켓 누수가 쌓이던 문제를, 종료 플로우에 release 단계를 명시해 차단
- 영상 재생 3종(VLC + ExoPlayer + MediaPlayer) 동시 운영
- 진행 표시줄이 멀티스레드에서 경합하던 문제를 LiveData → StateFlow 전환으로 정리
- BLE 페어링, 본딩, Unknown 디바이스 관련 운영 픽스 5건 이상
- 다중 디바이스 페어링 식별
- BLE OFF
- null 객체 유입
- disconnect 콜백 누락

스카이레이크인베스트먼트(버디엑스)
Android (버디엑스 개발팀)
2023.03 ~ 2024.01
연구원
Personal Experience