프로필 사진

신규리

Android Engineer · User-Centered Product Builder (8+ yrs)
📧 s.conast@gmail.com
📍 Seoul, KR
📝 Blog

자기소개

사용자 관점에서 문제를 정의하고 해결하는 안드로이드 개발자입니다. 최신 Android 기술(Jetpack Compose, Coroutine, Hilt 등)은 ‘사용자 가치 전달’을 위한 수단으로 활용합니다.
요구사항을 사용자 시나리오로 재해석하고, 핵심 과업 흐름을 단순화하며, 오류 예방과 명확한 피드백(로딩/에러/빈 상태)을 우선합니다.
프로젝트 전반에서는 접근 가능한 UI, 일관된 네비게이션, 예측 가능한 상태 전이 등을 지향하고, 성능 최적화는 체감 지연과 끊김을 줄이는 방향으로 수행합니다.
Klip 및 ABC Wallet에서 멀티체인 지갑, MPC 기반 보안, Compose 전환 등을 주도하며 제품 품질과 사용자 경험을 함께 개선했습니다.


주요 기술 스택:
Kotlin, Jetpack Compose, MVVM, Clean Architecture, Coroutine, Flow, Room, Proto DataStore, Hilt,
Retrofit, Coil, JankStats, Material3, Android KeyStore, JUnit, Mockito, Espresso, GitHub Actions

경력사항

Ahnlab Blockchain Company
2023.01 - Present
  • Multi-module 아키텍처 설계 및 200만 유저 서비스 확장 주도
  • Jetpack Compose·JankStats로 UI 렌더링 성능 30% 향상, 메모리 사용량 20% 감소
  • Android 개발 가이드라인 수립 및 코드 리뷰 체계 구축으로 팀 생산성 40% 향상
  • 테스트 커버리지 80%·CI/CD 파이프라인 구축, 크래시율 20%·버그 60% 감소
  • MPC + KeyStore + Biometric 인증 기반 보안 아키텍처 구축
  • 블록체인 UX 개선으로 사용자 전환율 35%·앱 평점 4.1→4.5 달성
Appknot
2018.12 - 2023.01
  • 모듈 개발 및 MVVM 패턴 도입으로 코드 품질·유지보수성 향상
  • RxJava/Flow 기반 커스텀 Retrofit 응답 구조 및 ExoPlayer·PDF 뷰어 구현
  • 유틸 함수/Extension 제공으로 코드 중복 최소화
  • Git, SourceTree 교육 및 개발 규칙 정립
개인 프로젝트 (Bakon)
2018.05 - 2018.11
  • 비대면 부동산 임장 서비스 Bakon 개발
  • 액션캠-Android 연동 실시간 라이브 스트리밍 시스템 구축
이스터버니
2016.12 - 2017.08
  • 원더플 앱 개발 및 유지보수
무빙키
2016.06 - 2016.12
  • 틸트코드 앱 개발

주요 프로젝트

Klip (가상자산 관리 앱)
2025.05 - 현재

프로젝트 개요

  • 200만 사용자 가상자산 관리 앱 Klip의 멀티체인 지원 기능 개발
  • 기존 EVM 계열 네트워크에서 Bitcoin, Tron, Solana 등 다양한 블록체인 네트워크로 확장
  • 사용자가 여러 지갑 앱을 사용해야 하는 불편함을 해소하는 통합 솔루션 구축

주요 업무

  • 멀티체인 아키텍처 설계: ABC Wallet에서 개발한 Clean Architecture 기반 멀티체인 모듈을 Klip에 이식
  • 네트워크별 모듈 구현: Bitcoin, EVM, Tron, Solana 각각의 특성에 맞는 Data Source와 Repository 개발
  • 트랜잭션 처리 로직 통합: 네트워크별 트랜잭션 처리 방식을 Repository 패턴과 UseCase를 통해 모듈화
  • 기존 서비스 호환성 유지: 200만 사용자가 익숙한 UI/UX를 유지하며 백그라운드에서 멀티체인 기능 제공

문제 해결과정

  • 아키텍처 호환성 문제: Klip의 기존 구조와 ABC Wallet의 Clean Architecture를 최소 침입적으로 통합하기 위해 추상화 계층 설계
  • 네트워크별 차이점 해결: 서로 다른 트랜잭션 형태와 서명 방식을 통일된 인터페이스로 추상화하여 일관성 있는 사용자 경험 제공
  • 코드 재사용성 극대화: Clean Architecture 기반 설계를 통해 ABC Wallet 코드의 70% 재사용 달성

기여 성과/결과

  • 개발 효율성 향상: 기존 코드 70% 재사용으로 개발 시간 대폭 단축
  • 확장성 확보: 새로운 블록체인 네트워크 추가 시 최소한의 코드 변경으로 지원 가능한 구조 구축
  • 안정성 보장: 기존 200만 사용자 서비스에 영향 없이 새로운 기능을 점진적으로 배포할 수 있는 아키텍처 설계
  • 사용자 경험 개선: 사용자 학습 곡선 없이 다양한 블록체인 네트워크 이용 가능

주요 기술 스택
Kotlin, Clean Architecture, MVVM, Repository Pattern, UseCase, Hilt, Coroutine, Flow, Retrofit, Room, Bitcoin, Solana

ABC Wallet (멀티모듈 구조의 가상자산 관리 앱)
2024.03 - 2025.05

프로젝트 개요

  • 안랩 블록체인 컴퍼니의 멀티체인 가상자산 관리 앱 개발 프로젝트
  • Bitcoin, Ethereum, Polygon 등 다양한 블록체인 네트워크를 하나의 앱에서 통합 관리
  • MPC 기반 보안 기술과 Jetpack Compose를 활용한 최신 Android 앱 구축

주요 업무

  • App Architecture 기반 앱 설계: UI, Domain, Data Layer 3계층으로 분리하고 DIP 원칙에 따라 의존성 추상화
  • 멀티체인 통합 시스템 구현: Bitcoin, EVM 계열 등 네트워크별 트랜잭션 처리 로직을 Repository 패턴으로 모듈화
  • Jetpack Compose UI 개발: 선언적 UI로 사용자 경험 개선, recomposition 최적화 및 성능 향상
  • 다국어 지원 시스템 구현: 다양한 국가 사용자를 위한 다국어 리소스 관리 및 동적 언어 전환 기능 구현
  • 보안 아키텍처 구현: Android KeyStore + Biometric 인증 + MPC 프로토콜 기반 보안 시스템 구축
  • 테스트 및 CI/CD 구축: JUnit, Mockito, Espresso를 활용한 테스트 코드 작성 및 GitHub Actions 파이프라인 구축

문제 해결과정

  • 블록체인 UX 복잡성 해결: 복잡한 암호화폐 거래 과정을 단순화하여 초보자도 5분 내 첫 거래 완료 가능하도록 UX 개선
  • 사용자 실수 방지 시스템: 잘못된 주소 전송 등 빈번한 실수를 방지하기 위해 클라이언트/백엔드 이중 검증 로직 구현
  • Compose 성능 최적화: JankStats와 recomposition trace를 통해 UI 병목 구간을 분석하고 @Stable/@Immutable 애너테이션 적용
  • 오프라인 지원: Room Database 캐싱으로 네트워크 불안정 환경에서도 자산 현황 확인 가능한 시스템 구축

기여 성과/결과

  • 사용자 증가: MAU 5,000명, DAU 500명 달성. 기능 고도화 후 DAU 74% 증가
  • 성능 개선: UI 렌더링 성능 30% 향상, 메모리 사용량 20% 감소
  • 품질 향상: 테스트 커버리지 80% 달성, 크래시율 20% 감소, 버그 60% 감소
  • 앱 평점: 앱 스토어 평점 4.5 달성 및 유지
  • 팀 생산성: 개발 가이드라인 수립과 코드 리뷰 체계 구축으로 팀 생산성 40% 향상

아키텍처 및 설계
  • App Architecture 기반으로 UI, Domain, Data Layer를 분리하고, DIP(Dependency Inversion Principle)에 따라 각 계층의 의존성을 인터페이스로 추상화.
    Repository/RemoteDataSource 등은 Hilt로 의존성 주입하여 테스트 및 유지보수 용이.
  • Jetpack Compose를 활용한 선언적 UI 구현. @Stable·@Immutable 애너테이션을 적용해 불필요한 recomposition 최소화.
    LazyColumn, remember, key 등 Compose 성능 최적화 API를 사용자 플로우 기준으로 적용. UI 상태는 ViewModel의 StateFlow로 관리하고, recomposition trace/JankStats로 병목을 파악해 체감 지연과 끊김을 줄이는 데 집중.
  • Coroutine 기반 비동기 처리 최적화.
    기존 AsyncTask/Callback 기반 로직을 Coroutine 및 viewModelScope로 이관, try-catch, Dispatcher 분리 등으로 앱 안정성 및 응답성 향상.
  • Room Database로 데이터 캐싱 및 오프라인 지원.
    API 결과를 Room에 저장, 화면은 Flow로 최신 캐시/Remote 데이터 자동 갱신. 네트워크 실패 시 캐시 fallback으로 UX 안정성 확보.
  • JankStats, Layout Inspector 등 진단 도구 적극 도입.
    Compose recomposition, Room 쿼리, 네트워크 IO 등 병목 구간을 측정·개선. Stable/Immutable 애너테이션, recomposition trace, 프레임 드랍 모니터링 등 고도화.
  • 보안 및 민감 데이터 처리: 프라이빗키·시드 등 민감 정보는 Android KeyStore에서 직접 관리, 서명 연산은 Hash 데이터로만 수행하여 외부 노출 원천 차단.
    지갑 생성/복구/서명/인증 등 모든 민감 데이터는 Biometric 인증·KeyStore 기반 암호화로 보호. MPC 프로토콜로 키 분산 저장, 서버와 end-to-end 암호화 통신.
  • 블록체인 트랜잭션 처리: EVM 계열(GasPrice, GasLimit, Nonce) 계산을 네트워크 상태/잔고 기반으로 동적 산정. Bitcoin, Aptos 등 네트워크별 트랜잭션 서명 로직 별도 모듈화로 확장성·유지보수성 강화.
  • 성능 및 보안 최적화: Compose recomposition 최소화, 네트워크 IO 분리, JankStats, Proguard/R8 등 다양한 진단·난독화 도구 통합.
    최근에는 Compose의 @Stable/@Immutable 적용, recomposition trace, JankStats 프레임 드랍 모니터링 등 고도화 진행.
  • 다국어 지원 시스템: 글로벌 사용자를 위한 다국어 리소스 관리 및 런타임 언어 변경 기능 구현.
    Android String Resource 기반 다국어 지원, 사용자 설정에 따른 동적 언어 변경 등 글로벌 앱 개발 경험 확보.
  • 테스트 코드 구현: JUnit, Mockito 을 활용한 단위 테스트 및 Espresso를 활용한 UI 테스트 설계 및 구현.
    비즈니스 로직 검증을 위한 UseCase 단위 테스트, ViewModel 테스트 구현. Repository 계층의 Mock 객체를 활용해 네트워크 의존성 없이 테스트 가능한 구조 설계. Github Actions CI/CD 파이프라인에 테스트 자동화 통합으로 코드 품질 보장.

주요 기술 스택
Kotlin, Jetpack Compose, Coroutine, Room, Proto DataStore, Hilt, OkHttp + Retrofit2, Kotlinx.Serialization, Github Actions, Biometric Auth, Android KeyStore, JankStats, Proguard/R8, JUnit, Mockito, Espresso

App Architecture Layered

UI Layer
│
├── MainActivity (UI 진입점)
│   ├── ABCApp (Compose 루트)
│   │   └── ABCNavHost (네비게이션)
│   │       ├── HomeScreen
│   │       ├── AssetScreen
│   │       └── 기타 Screens...
│   │
│   └── MainViewModel (UI 상태 관리, Flow 기반)
│       └── UseCase 호출 (Domain 계층 인터페이스)
│
Domain Layer
│
├── Use Cases (비즈니스 로직)
│   ├── GetUserSettingsUseCase
│   ├── AuthUseCase
│   ├── PairWalletUseCase
│   ├── BillingUseCase
│   └── 기타 UseCase
│
Data Layer
│
├── Repository (인터페이스 추상화, DIP 원칙 적용)
│   ├── UserDataRepository
│   ├── AuthRepository
│   ├── NetworkRepository
│   ├── BillingRepository
│   └── WalletRepository 등
│
└── Data Sources (Local & Remote)
    ├─ Remote Data Source
    │  ├── Retrofit API 서비스 (서버 데이터)
    │  ├── Firebase Cloud Messaging (FCM)
    │  └── Google BillingClient (결제 서버)
    │
    └─ Local Data Source
        ├── NetworkDao (Room 데이터베이스)
        ├── ProtoDataStore (로컬 저장소)
        └── Security 모듈 (KeyStore, Biometric, MPC)

                    

JinModule
2019.08 - 2022.08 (운영 종료)
  • 개발자 생산성 향상: 사내 개발자들이 반복적으로 작성하던 공통 코드를 모듈화하여 개발 시간을 단축. 새로운 프로젝트 시작 시 기본 설정 시간을 80% 단축
  • 코드 품질 통일화: 각 개발자마다 다른 코드 스타일과 패턴을 통일하여 코드 리뷰 시간을 줄이고 유지보수성 향상
  • 사용자 친화적 API 설계: 복잡한 Retrofit 설정을 단순한 메소드 호출로 단순화하고, ExoPlayer를 3줄 코드로 사용 가능하게 추상화. 신입 개발자도 쉽게 사용할 수 있도록 설계
  • 버그 예방: 공통적으로 발생하는 Intent, Log 처리 오류를 방지하는 Extension 제공. 런타임 에러 발생률을 감소시켜 안정성 향상

이코오롱 멤버십
2020.11 - 2021.03 (퇴사 전까지 유지보수)
  • 사용자 편의성 개선: 코오롱 회원들이 매장 방문 전 미리 혜택과 이벤트를 확인할 수 있도록 멤버십 앱 개발
  • 성능 최적화: 대량의 상품 데이터를 효율적으로 로드하기 위한 커스텀 페이징 구현. 끊기지 않는 무한 스크롤로 데이터 로딩 속도 향상
  • 매장 찾기 기능: GPS 기반 위치서비스로 가장 가까운 매장과 거리를 실시간 계산. 사용자가 매장을 찾는 시간을 크게 단축

사용기술
Kotlin, Koin, DataBinding, LiveData, Coroutine, Room, Okhttp + Retrofit2, Moshi, SharedPreferences

주요화면
과거 프로젝트 (요약)
2016–2020
  • Bakon (2018): 액션캠–Android 연동 실시간 부동산 임장 스트리밍 PoC, 듀얼 네트워크 설계/FFmpeg NDK 포팅.
  • TRSquare (2018–2019): 면세점 사내 앱 고도화, 동영상 플레이어 및 오프라인 재생 도입.
  • TiltCode (2016): 센서·GPS 기반 위치 인증 쿠폰 앱, 기울임 제스처 인식과 부정 사용 방지 로직 구현.
  • 그래피티 iOS (2019–2020): Swift/AVFoundation 기반 동영상 편집·재생 기능 프로토타입.

다양한 기술 스택 경험

AI 기반 개발 도구 적극 활용
2025년 ~ 현재

사용자 문제 검증과 프로토타이핑 속도를 높이기 위해 코드 생성·리팩토링 보조, 문서 초안화, 테스트 자동화를 적극 활용했습니다. 반복 작업을 줄이고 핵심 플로우/UX 검증에 시간을 집중했습니다.

  • 아이디어→프로토타입 사이클 단축: 요구사항을 사용자 시나리오로 치환해 빠른 클릭더미/프로토 제작
  • 품질 확보: 테스트 템플릿·리팩토링 제안으로 회귀 버그 감소, 리뷰 리드타임 단축
  • 문서화: 릴리스 노트/가이드 초안 생성 후 팀 컨텍스트로 보정

AI 도구 활용 분야
프로토타이핑 가속, 테스트 자동화, 문서 초안화
기술 블로그 (풀스택 개발 - 바이브 코딩)
2025년 4월 ~

단일 페이지(SPA) 기반 개인 기술 블로그. 마크다운 렌더링과 간단한 글 관리(목록/상세) 중심으로, 빠른 프로토타이핑과 콘텐츠 배포에 초점을 맞췄습니다.

  • 해시 라우팅 기반 SPA, ES 모듈로 화면 구성
  • Markdown 렌더링 및 기본 CRUD 엔드포인트 연동
  • 반응형 레이아웃/기본 SEO 메타 구성

사용기술
HTML/CSS, JavaScript(ES6), Marked.js, Python(간단 API)

이력서 웹사이트 (프론트엔드 개발 - 바이브 코딩)
2025년 4월 ~

이력서와 포트폴리오를 한 화면에서 보여주는 정적 웹사이트. 반응형 UI와 간단한 컴포넌트화로 읽기 가독성과 유지보수를 높였습니다.

  • 정적 페이지 구조, CSS 변수로 테마 일관성 유지
  • 모바일/데스크톱 반응형 레이아웃
  • 필수 정보만 노출한 경량 페이지

사용기술
HTML5, CSS3, JavaScript
React Native 토이 프로젝트
2022년 10월 - 2023년 1월

간단한 크로스플랫폼 실험으로 네이티브 모듈 브릿지와 상태 관리 패턴을 검증했습니다. 목표는 "한 코드로 기본 기능을 빠르게 구현"하는 데 있었고, 핵심 플로우만 가볍게 구현했습니다.

  • 브릿지 실험: 간단한 네이티브 기능 연동으로 RN↔︎Android 상호작용 확인
  • 상태 관리: Hooks/Context로 화면 전환·폼 입력 등 기본 플로우 검증

사용기술
React Native, TypeScript, React Navigation
DiscordBot Emilie
2022년 05월 - 2022년 05월

간단한 자동응답·명령 처리 봇으로 비동기 이벤트 처리와 배포 환경을 실험했습니다. 개인 학습 목적의 단기 프로젝트입니다.

  • 명령 처리/권한: 기본 슬래시 커맨드·권한 체크·로그 출력
  • 배포: EC2에 간단 서비스로 상시 구동, 로그 로테이션 설정

사용기술
Python, Discord API, AWS EC2, MySQL(간단 로그 저장)

학력

컴퓨터과학과 학사
서경대학교
2010.02 - 2016.06

이공대 학생회 간부 역임

어쿠스틱 밴드 동아리 회장

사회봉사단 단원

자격증 및 수상

  • 정보처리기능사 (2000.10)
  • 워드프로세서2급 (1999.11)