PDF 다운로드

유동민

집요하게 더 나은 답을 찾아내는 개발자 유동민입니다.

Flutter와 React Native로 iOS/Android 앱을 4년간 만들어 온 모바일 개발자입니다. New Architecture (TurboModule/Fabric) 네이티브 모듈, 결제 연동, 앱 0→1 런칭과 스토어 심사 대응이 주 영역입니다. 크로스플랫폼 코드와 네이티브 SDK 사이의 경계를 직접 구현해 왔습니다.

경력

Team REmited · 리액트 네이티브 개발자

2026.04 – 2026.07
  • 2인 개발 체제에서 리워드 앱의 React Native 클라이언트 개발을 주도했습니다. 재직 82일간 저장소 비머지 커밋의 77%(1,054/1,369)와 PR 144건을 작성했고, 테스트 105개 파일·기술 문서 115개 파일·CI 자동화 43개 파일을 남겼습니다.
  • React Native New Architecture(TurboModule/Fabric) 마이그레이션과 RN 0.81 + Node 22 LTS 업그레이드를 단독 완수했고, 배포 추적 태그 컨벤션을 설계해 15개 이상의 스토어 릴리즈와 19회 이상의 OTA 배포를 운영했습니다.
  • 온디바이스 영수증 OCR(ML Kit·VisionKit + Vision), 리워드 광고 SDK, 오퍼월 SDK를 감싼 네이티브 라이브러리 3종을 단독 설계·개발해 영수증 인식 전처리를 서버에서 클라이언트로 옮겼습니다. Naver OAuth 2.0 로그인과 Google Play In-App Review + Apple StoreKit `requestReview`를 단일 API로 묶은 모듈도 Swift/Objective-C·Kotlin으로 구현했습니다.
  • Amplitude·AirBridge·Notifly·Firebase 4개 분석 SDK를 단일 `Analytics.track()` 인터페이스로 통합하고 직접 호출 30여 개 파일을 마이그레이션했으며, 이벤트 택소노미를 codegen 계약으로 고정해 드리프트 게이트를 세웠습니다.
  • Jira 이슈 220건을 담당·발제해 139건을 배포 완료했고 사용자 제보 14건을 해소했습니다. 광고 리워드 미지급의 근본 원인 3건을 분리 진단한 뒤 S2S 서버 콜백 구조를 설계했고, Crash Free Users 96.62% 시점에 크래시 티켓화 프로세스와 에러 리포팅 추상화를 도입했습니다.

CAMI Labs · 크로스플랫폼(Flutter) & 풀스택 개발자

2023.11 – 2026.01
  • 반려동물 행동/성격유형 검사 및 전문가 대면 서비스 플랫폼에서 Flutter(iOS/Android) 앱 0→1 런칭과 운영 안정화·지속 개선을 주도했습니다.
  • 결제/정책 이슈(Apple 리뷰/결제 정책)를 해결하고 PortOne 기반으로 3개 PG 결제를 구축해 출시와 확장(B2B/B2G) 기반을 마련했습니다.
  • 크래시·로그·행동 데이터(퍼널/리텐션) 기반으로 제품을 개선할 수 있는 관측 체계를 구축했습니다.
  • Riverpod/Freezed/go_router 기반으로 상태·모델·라우팅 복잡도를 구조적으로 관리했습니다.
  • 사용자 만족도 조사에서 UI/UX 긍정 응답 85%+를 달성했습니다.
  • Apple DevRel 미팅을 주도해 서비스 특성(국내 한정/오프라인 중개)을 근거로 정책 이슈를 해소했습니다.
  • PortOne 기반 결제 흐름을 표준화하고 `portone_flutter_v2` 패키지를 개발·배포했습니다.
  • PG 3종(Toss Payments/Toss Pay/Kakao Pay) 계약 및 연동을 주도했습니다.
  • Sentry + Crashlytics 기반 통합 로깅을 구축해 장애 원인 파악 시간을 단축했습니다.
  • Analytics + 세션 리코딩 + 이벤트 로그를 사용자 식별자 기준으로 연결해 퍼널/리텐션 분석 기반을 마련했습니다.
  • URL 기반 라우팅으로 복잡한 진입/복귀 흐름을 안정적으로 처리했습니다.
  • Universal App Links로 설치/딥링크 경험을 iOS/Android 공통으로 정리했습니다.
  • 비개발자 편집·배포 흐름을 구축해 컨텐츠 운영 시간을 줄였습니다.

위굴리 · 크로스플랫폼 모바일 앱 개발자

2023.05 – 2023.10

㈜위굴리는 부천 스마트시티 국토부 사업을 비롯해 공공주택 거주자 대상 카셰어링 플랫폼을 개발해온 모빌리티 스타트업입니다.

  • 기존 앱의 Android SDK 이슈 대응 및 신규 Flutter 앱 런칭을 단기간에 주도하며 전체 앱 품질과 성능을 개선했습니다.
  • 피그마 디자인 시스템을 기반으로 컴포넌트화된 UI를 신속하게 개발해 개발 기간을 30% 이상 단축했습니다.

지바이크 · React Native 개발자

2023.01 – 2023.04

지바이크는 국내외 50개 도시에서 전동킥보드 공유서비스 '지쿠터'를 운영하는 모빌리티 스타트업입니다.

  • 기기별 지원되는 센서를 기반으로 계산한 실시간 보행 데이터를 구독하는 리액트 네이티브 모듈을 직접 개발했습니다.
  • TurboModule, Hermes, Flipper 등 최신 네이티브 모듈 아키텍처와 성능 모니터링 도구를 직접 활용해 성능 최적화 경험을 쌓았습니다.
  • iOS의 CMPedometer와 Android의 SensorManager를 결합하여 걸음 수 측정 데이터를 크로스 플랫폼에서 통합 처리할 수 있는 네이티브 모듈을 개발했습니다.
  • Android API 19 이하 기기까지 지원하기 위해 저수준 가속도계 데이터를 기반으로 AOSP 걸음 검출 알고리즘을 응용해 측정 정확도를 높였습니다.
  • React Native Turbo Module 기반 구조로 제작해 JS-Native Bridge 병목을 줄이고 응답 지연을 개선했습니다.
  • Hermes, Flipper 기반 성능 추적으로 메모리 사용량과 런타임 동작을 모니터링하며 최적화했습니다.

비사이드코리아 · 백엔드/모바일 개발자

2022.05 – 2022.11

비사이드코리아는 소액주주들이 투자한 기업에 대해 주주 인증 및 결집, 전자서명을 통해 행동할 수 있는 주주 행동주의 플랫폼입니다.

  • Flutter 기반 앱과 RedWoodJS 기반 웹의 전반적인 개발에 참여했으며, 백엔드와 모바일 양쪽의 요구사항을 모두 이해하고 구현했습니다.
  • Flutter 앱은 시즌 중 의결권 위임, 비시즌에는 보유 주식 자동 인증 및 라운지 집결 기능 중심으로 설계되었습니다.
  • Kotlin/Swift 기반 네이티브 기능 연동과 GraphQL API를 통해 고도화된 데이터 연계 기능을 구현했습니다.
  • 사용자 1,500명 이상이 실제 의결권 위임 절차에 참여, 사용자 피드백 평균 만족도 4.5점 기록.
  • 플러터를 사용해 소액주주들에게 캠페인 진행 특정 주식의 의결권을 전자서명으로 위임받아, 주주들의 의견을 집결해 자산운용사가 주주총회까지 전달하는 서비스를 하였습니다.
  • 플러터의 머터리얼 UI와 공식 패키지들을 사용해 메인 컴포넌트를 꾸미고, 의결권 위임을 위해 주민등록증 촬영, 전자 서명 저장, 투표 등을 구현했습니다.
  • Kotlin(Android) 및 Swift(iOS)를 활용해 외부 스크래핑 및 공인인증서 모듈과 연동하는 네이티브 브리지 코드 작성.

프로젝트

flutter_receipt_scanner — Flutter 영수증 스캔·온디바이스 OCR 플러그인

2026.07

iOS·Android에서 영수증 이미지 획득, 크롭, 방향 보정, JPEG 압축, EXIF 추출, 온디바이스 OCR을 제공하는 Flutter federated 플러그인입니다(pub.dev: https://pub.dev/packages/flutter_receipt_scanner).

  • 앱 대면 패키지·플랫폼 인터페이스·iOS/Android 구현으로 나눈 federated 구조로 설계했고, 플랫폼 메시지 계약은 Pigeon으로 생성합니다.
  • iOS는 VisionKit 문서 스캐너 + Vision OCR로, Android는 GMS 문서 스캐너 + ML Kit OCR로 카메라·갤러리 경로를 모두 구현했고, Dart 쪽 OCR floor 게이트가 인식 품질 미달 촬영을 걸러냅니다.
  • 매장명·금액·날짜 파싱, 업로드, 클라우드 OCR은 앱의 책임으로 남기고 네이티브 계층은 이미지 프리미티브만 담당하도록 경계를 그었습니다. 설계·구현·pub.dev 배포 전 과정 단독 수행.

react-native-receipt-scanner — React Native 영수증 스캐너 라이브러리

2026.05

ML Kit(Android)과 VisionKit + Vision(iOS)을 단일 API로 감싼 React Native 영수증 스캐너입니다(npm: https://www.npmjs.com/package/react-native-receipt-scanner).

  • New Architecture 전용으로, iOS는 JSI를 통해 Android는 codegen이 생성한 스펙을 통해 호출되며 레거시 브리지 경로가 없습니다. 결과 이미지는 base64 없이 `file://` URI로만 반환합니다.
  • 카메라·갤러리 스캔, 인터랙티브 perspective-crop, JPEG 압축, EXIF 추출, 한국어와 라틴 문자 온디바이스 OCR을 네트워크 호출이나 외부 API 키 없이 제공합니다.
  • 기존 문서 스캐너 라이브러리들이 비워 둔 온디바이스 OCR과 양 플랫폼 TurboModule 지원을 목표로 삼았고, 설계·네이티브 구현·npm 배포 전 과정을 단독 수행했습니다.

Merry — Dart/Flutter 스크립트 매니저 & VS Code 확장

2026.03

Merry는 Dart·Flutter 프로젝트에서 길고 외우기 어려운 스크립트를 단축 이름으로 정의해 실행하는 스크립트 매니저입니다(pub.dev: https://pub.dev/packages/merry).

  • derry에서 출발했지만 다수의 기능을 추가했고, 기존 에코시스템에 편입하기 위해 VS Code 확장 vscode-merry를 함께 만들었습니다.
  • vscode-merry는 스크립트 정의를 VS Code Explorer 안의 탐색 가능한 UI로 보여줘, YAML 파일과 터미널을 오가지 않고도 발견·확인·실행할 수 있게 합니다(VS Code Marketplace 퍼블리시).
  • Dart 패키지(merry)와 VS Code 확장(vscode-merry) 설계·구현·배포를 단독 수행

react-native-step-counter — React Native 걸음 수 측정 라이브러리

2023.01

Android의 StepCounter 센서와 iOS의 Core Motion으로 사용자의 걸음 수를 구독하는 React Native 라이브러리입니다(npm: `react-native-step-counter-newarch`).

  • GitHub 스타 44개·포크 21개로 개인 OSS 중 가장 널리 채택된 라이브러리입니다(2026년 7월 기준).
  • 걸음 센서가 없는 Android 기기는 가속도계 폴백으로 처리해 지원 기기 범위를 넓혔고, iOS는 Core Motion의 CMPedometer를 사용합니다.
  • TurboModule 구조로 제작했고 별도 문서 사이트를 함께 운영하며, 설계·네이티브 구현·npm 배포 전 과정을 단독 수행했습니다.

기술

Core Skills

  • Flutter
  • React Native
  • TypeScript

Skill Tags

  • Flutter
  • React Native
  • TypeScript
  • GitHub
  • NestJS
  • Figma
  • Firebase
  • Supabase
  • iOS
  • Android
  • Swift
  • Kotlin
  • OpenAPI
  • Postman

활동

Elevating Code Quality with Trunk Check

2024.03

Trunk Check로 린트/포맷/보안 점검 자동화 및 개발 워크플로 개선 사례 공유

Trunk는 시작일 뿐: Flutter 개발 환경 자동화 실전기

2025.04

Flutter 개발 환경 자동화와 CI 연동을 통한 품질·속도 개선 경험 공유