heymoko banner
profile

유정모

moKo

Android Developer · Kotlin

사용자가 겪는 문제에서 개발의 우선순위를 찾습니다.

About
Android 개발자 유정모입니다.

2년간 Android 네이티브 앱을 개발하고 운영하며 화면 구현에 그치지 않고 사용자 이탈, 상태 불일치, 딥링크와 비동기 처리처럼 실제 서비스에서 드러나는 문제를 해결해 왔습니다. 현상을 재현하고 원인을 코드의 책임 구조까지 좁혀, 다음 변경에도 흔들리지 않는 형태로 고치는 것을 중요하게 생각합니다.

실무에서는 Views, MVVM, Retrofit, Coroutines, Firebase 기반의 제품을 운영했고, 개인 프로젝트에서는 그 과정에서 얻은 기준을 Jetpack Compose, UDF, Hilt, StateFlow 구조로 확장하고 있습니다. 익숙한 기술보다 상태의 소유권과 데이터 흐름이 명확한 선택을 우선합니다.

데이터로 찾는 개선 우선순위

Analytics와 Crashlytics로 사용자의 이탈 지점과 오류 맥락을 확인하고, 추측보다 실제 사용 데이터에서 개선의 우선순위와 원인을 찾는 과정을 중요하게 생각합니다.

실패를 전제로 한 흐름 설계

네트워크 지연, API 실패, 중복 입력처럼 정상 경로를 벗어나는 상황을 함께 고려하고, 실제 처리 결과와 사용자에게 표시되는 상태가 일치하도록 설계합니다.

책임이 분명한 상태 구조

View는 사용자 입력과 화면 렌더링에 집중하고 ViewModel은 상태 보존과 비즈니스 로직을 책임지도록 분리해, 화면 전환과 비동기 흐름에서도 예측 가능한 구조를 지향합니다.

Experience

ColorLoverLab

Android Developer 2022.06 - 2024.05

누적 200만 다운로드 규모의 퍼스널 컬러 플랫폼을 운영하며 신규 기능 개발, 사용자 행동 분석과 장애 개선을 담당했습니다.

  • 자가진단 완료율 개선
    사용자가 여러 화면에서 비교 색상을 선택하고 결과를 누적하는 퍼스널 컬러 자가진단 테스트에서 Analytics 퍼널을 통해 특정 단계의 이탈 증가를 발견했으며, Fragment와 ViewModel에 분산된 스테이지·중간 결과 상태로 인해 화면 전환 중 값이 누락되는 원인을 찾아 상태 소유권과 결과 계산 책임을 ViewModel로 일원화해 진단 완료율을 높인 경험이 있습니다.
  • 푸시 딥링크 안정화
    앱이 포그라운드일 때 푸시 알림을 선택하면 기존 화면 위에 Activity가 중복 생성되고, 백그라운드에서 진입하면 뒤로 가기 시 기존 화면으로 돌아가지 못한 채 앱이 종료되는 문제가 있어 Activity를 singleTask로 구성하고 onNewIntent에서 딥링크를 처리하도록 변경해 실행 상태와 관계없이 기존 인스턴스와 탐색 스택을 유지하도록 해결한 경험이 있습니다.
  • 비동기 게시글 등록 개선
    게시글 생성 API의 성공 여부와 무관하게 1.5초 후 화면을 닫던 구조에서 네트워크 지연 시 등록 완료 전에 목록으로 이동하거나 실패 요청이 성공처럼 보일 수 있는 문제를 확인하고, 고정 지연을 제거한 뒤 서버 응답을 기준으로 화면 이동과 컨설턴트 푸시를 순차 실행해 서버 상태와 UI 흐름을 일치시킨 경험이 있습니다.
  • 온도감 진단 설계·구현
    사용자가 웜·쿨 타입을 선택한 뒤 CameraX 미리보기 위에서 뷰티·베이직·패션 색상을 단계별로 비교하도록 구성하고, 선택 결과의 누적과 최종 판정을 ViewModel에서 처리해 결과 팔레트와 액세서리 추천, 마이페이지 저장, 재진단 상태 초기화까지 하나의 흐름으로 구현한 경험이 있습니다.
  • 6개 언어권 글로벌 운영
    국내보다 해외 사용자 비중이 높은 서비스에서 한국어·영어·중국어·인도네시아어·일본어·베트남어를 지원하고, 앱 Locale과 API 언어 헤더를 동기화하면서 번역 누락과 언어 전환 오류를 정리해 진단·커뮤니티·상품 탐색의 핵심 흐름을 6개 언어권에서 운영한 경험이 있습니다.

Computer Engineering

HANNAM UNIVERSITY 2016.03 - 2022.03

컴퓨터공학 전공 · 학사

  • 자료구조, 알고리즘, 운영체제 등 핵심 전공 과목 이수
  • 모바일 프로그래밍 심화 과정을 통해 Android 개발 역량 확장
Projects
Service App

ColorLoverLab Android

퍼스널 컬러 진단, 맞춤형 뷰티 상품 탐색, 커뮤니티와 리뷰를 제공하는 누적 200만 다운로드 규모의 Android 서비스입니다. 주요 사용자 기능 개발과 운영 유지보수를 담당했습니다.

  • 홈, 퍼스널 컬러 진단, 상품, 커뮤니티, 리뷰, 마이페이지 기능 개발
  • Retrofit, Coroutines, Paging3, Room을 활용한 API 및 목록 데이터 처리
  • FCM, Analytics, Crashlytics, Android 버전별 권한 등 운영 기능 대응
Kotlin MVVM Retrofit FCM Room Paging3
Personal Rebuild
Personal Rebuild

MyColover

퍼스널 컬러 진단 결과를 저장하고 맞춤형 뷰티 상품과 커뮤니티를 이용할 수 있는 개인 프로젝트입니다. 실무 도메인을 최신 Android 기술로 다시 구성했습니다.

  • Compose, Navigation, Hilt 기반의 로그인·진단·상품·커뮤니티 화면 구현
  • StateFlow와 UDF로 검색, 필터, 진단 결과 등 화면 상태 관리
  • DataStore, Room, Supabase를 활용한 계정별 결과 저장과 즐겨찾기·커뮤니티 기능 구현
Compose Hilt StateFlow DataStore Room Supabase
Personal Android App

BaseLog

야구 직관 기록을 저장하고 전체·시즌별 승률, 친구 기록과 랭킹을 확인할 수 있는 개인 Android 앱입니다. 기록형 커뮤니티 서비스의 주요 흐름을 직접 설계하고 구현했습니다.

  • Google 로그인, 온보딩, 홈·기록·친구·랭킹·마이페이지 화면 구현
  • Firestore 기반 직관 기록 CRUD와 실시간 목록·상세 데이터 처리
  • 친구 요청·수락, 친구별 기록 조회, 전체·연도별 승률 랭킹 구현
Compose Hilt Firebase Auth Firestore DataStore StateFlow
Skills

Android

Kotlin Jetpack Compose Android Views Android SDK CameraX

Architecture

MVVM Clean Architecture Repository Pattern UDF StateFlow Paging3

Jetpack

ViewModel Navigation Room DataBinding Hilt DataStore Credential Manager

Network / Data

Coroutines Flow callbackFlow Retrofit2 OkHttp REST API

Backend / Others

Firebase Analytics Crashlytics FCM Firebase Auth Firestore Supabase
Certificates

정보처리기사

발급기관 · 한국산업인력공단 취득일 · 2021.06
Contact

사용자 문제를 기술적 원인까지 함께 추적하는 Android 개발자로 좋은 제품을 만들 팀을 찾고 있습니다. GitHub에는 설계와 구현을 확인할 수 있는 개인 프로젝트를 정리해두었습니다.