Career · 총 6년 3개월

경력

이스트에이드(구 줌인터넷)

AI 콘텐츠 사업실 · Android 개발

2024.07 ~ 2026.09 2년 3개월
  • 미브(mevu) — AI 프로필 사진 생성 앱 (2025.10 ~ 2026.09)
  • zum 포털 — 리워드·만보기·AI 이슈 탭 (2025.03 ~ 2025.09)
  • zum 키보드 — 0→1 신규 런칭 (2024.07 ~ 2025.02)

에듀윌

에듀테크연구소 · Android 개발

2023.02 ~ 2024.06 1년 5개월
  • 합격앱 UI 개편 — Compose 전환, 일 크래시 3,000→800건
  • 합격앱 유지보수 — CS·스토어 정책 대응, Crashlytics 모니터링

이우솔루션

개발2팀 연구원 · Android 개발

2019.12 ~ 2022.08 2년 7개월
  • Global OneStore (원스토어) · Ifland (SK텔레콤)
  • 아이들나라 AgileTF (LG U+) · BlueLink (현대자동차) · SmartTag

SnapFolio Icon SnapFolio (스냅폴)

AI 에이전트 오케스트레이션으로 설계부터 배포까지 만든 KMP 자산관리 앱.
역할·도구 권한·모델을 분리한 서브에이전트 15종과 5단 게이트 워크플로우 위에서, 6개월간 퇴근 이후에 만들었습니다.

Claude Code SubagentsAgent SkillsHooksMCPGeminiFirebase AI LogicKotlin MultiplatformComposeSwiftUIMVICloud FunctionsTypeScriptFirestore

주요 성과

  • 역할·도구 권한·모델을 분리한 서브에이전트 15종을 정의하고 메인 세션이 총괄하는 오케스트레이션 구조를 설계 (복잡한 작업 11종 opus, 배포 sonnet, 커밋 haiku)
  • 보안 승인 → 구현 → 코드 리뷰 → QA → 문서 정합성으로 이어지는 5단 게이트를 정의, 보안 민감 영역은 착수 전 설계 승인과 구현 후 diff 검수를 모두 통과해야 진행
  • 되돌릴 수 없는 행위에 기계적 불변식을 부여 — 배포 에이전트는 internal 트랙 리터럴 고정으로 프로덕션 승격 불가, 서명 키·서비스 계정 키는 존재·권한 확인만 허용
  • 에이전트 기반 배포 파이프라인 운영: 빌드 검증 → 번들 서명 → 내부 테스트 트랙 업로드, 커밋은 allowlist·denylist·diff 검증을 거치는 전담 에이전트가 수행
  • PreToolUse 훅으로 iOS 빌드 전 Xcode 버전을 .xcode-version과 대조, 불일치 시 차단
  • Gemini(Vertex AI SDK) 기반 스크린샷 파싱·대화형 분석을 탑재한 KMP 앱으로, 6개월간 커밋 694건 · GitHub Issue 196건을 이 워크플로우로 처리
메인 세션 (오케스트레이터) 작업 분해 · 위임 · 승인 중계 · 통합 검증 · 최종 보고
설계 · 정책
  • policy-strategy-advisor
  • product-designer
  • design-system
결정 레이어 — 코드 미수정
구현
  • android-ui-dev
  • ios-ui-dev
  • kmp-logic-dev
  • server-dev
계획 → 승인 → 적용 2단계 호출
검증 게이트
  • security-reviewer
  • code-reviewer
  • qa-verifier
  • doc-gate-auditor
반려 판정 시 착수 불가
배포 — playstore-deployer / git-committer internal 트랙 고정 · allowlist/denylist/diff 검증

에이전트 위임 · 게이트 · 배포 흐름

SnapFolio — 앱 화면

스크린샷 파싱과 대화형 분석을 Gemini로 처리하는 자산관리 앱 · Android · iOS (KMP)

  • 스크린샷 AI 파싱 — 증권사 화면 캡처를 Gemini Flash-Lite로 파싱해 종목·수량·평가금액을 추출하고, 바로 저장하지 않고 검수 화면을 거쳐 사용자가 확정하도록 설계
  • AI 투자 비서 — 보유 종목·비중을 프롬프트에 실어 Gemini Flash로 분석. 화면은 실제 응답으로, 삼성전자 75.2% 집중·업종 편중·통화 편중을 근거와 함께 지적
  • 시장 인사이트 — 국내외 지수와 경제 헤드라인을 AI로 요약해 갱신
  • 혜택 탭 · 리워드 광고 — AdMob 보상형 광고는 서버 SSV(Google 서명 검증)로만 크레딧을 지급하고, 일일 횟수·쿨다운·중복 콜백을 서버 트랜잭션 안에서 차단하도록 설계
SnapFolio 홈 · 자산 배분·보유 종목
홈 · 자산 배분·보유 종목
SnapFolio AI 투자 비서 · 포트폴리오 분석
AI 투자 비서 · 포트폴리오 분석
SnapFolio 인사이트 · AI 요약
인사이트 · AI 요약

실제 서비스 화면 미리보기

카드를 클릭하면 고해상도 전체 화면으로 확대할 수 있습니다.

🏗️ SnapFolio 클린 아키텍처 (Clean MVI Flow)

단방향 데이터 흐름(UDF) 기반으로 Android(Compose)와 iOS(SwiftUI)가 코어를 공유합니다.

UI Layer
Feature Modules

Jetpack Compose (Android) & SwiftUI (iOS). MVI Contract(State, Intent, Effect) 기반 단방향 바인딩.

Domain Layer
Pure UseCases

플랫폼 비의존 순수 Kotlin 도메인 모델. 자산 병합, 배당 산출, YTD 환산, 크레딧 트랜잭션 오케스트레이션.

Data Layer
Room KMP & Ktor

Repository 인터페이스와 구현체 분리. kotlin-inject KSP 경량 DI, Room SQLite Bundled 및 Ktor 통신.

Backend
Cloud Functions

Firebase Functions (TypeScript). 영수증 검증, Play RTDN, Gemini 파싱 게이트웨이, 크레딧 홀드 보장.

Writing · 기술 블로그

문제를 해결한 과정을 글로 남깁니다

구현 방법보다 원인을 어떻게 좁혀갔는지에 초점을 맞춰 기록했습니다.

zum 키보드

Android Keyboard의 InputMethodService Lifecycle 분석

커스텀 키보드가 시스템과 주고받는 생명주기를 단계별로 추적하고, 각 시점에 어떤 상태를 준비해야 하는지 정리

zum 키보드

Kotlin Flow의 sample을 이용하여 키보드 앱 UI 개선

높낮이 조절 시 발생한 깜빡임의 원인을 모든 Flow 방출값의 UI 반영으로 규명하고 sample로 갱신 주기를 제한한 과정

zum 포털

Android 만보기 기능 개발 후기

Service 기반 상시 걸음 수 측정, 자정 초기화와 재부팅 시 센서 초기화 시나리오를 다루며 겪은 문제와 해결 방법

zum 포털

Android Compose로 숏츠 형식의 뉴스 기사 기능 개발 후기

긴 글을 숏폼 형태로 보여주는 UI를 Compose로 구현하며 다양한 해상도에 대응한 방법

Paging3

Android Paging3 Flow에 왜 cachedIn을 할까?

cachedIn이 없을 때 발생하는 재구독·중복 로딩 문제를 짚고, 캐싱이 필요한 이유를 동작 원리로 설명

Y

윤재박 (Jaepark Yoon)

Software Engineer · Android · Kotlin Multiplatform · AI Agent Orchestration
도구가 강력해질수록, 그 도구를 제대로 쓰기 위한 학습은 더 많이 필요하다고 생각합니다.
판단까지 AI에 외주화하지 않고 스스로 방향을 정하려면, 가고자 하는 분야를 끊임없이 공부해
옳은 방향을 가려낼 안목을 길러야 한다고 믿습니다.