
🧑💻GitHub
TeddKo - Overview
📞 +82 1040503520
✉️ tddy.ko**@**kakao.com
넷마블F&C-메타버스랩스 | 넷마블F&C 자체 메인넷 FNCY Chain

Android Developer
2023.08 ~ 2025.03
프로젝트 구성원
Android 2명
iOS 2명
BackEnd 6명
<aside>
넷마블 F&C의 FNCY 코인을 비롯하여 비트코인, 이더리움 등 주요 가상자산을 안전하게 관리하고 WEB3 오픈마켓 거래를 할 수 있는 멀티코인 블록체인 지갑 'Fncy Wallet' 안드로이드 앱 개발 프로젝트입니다.
</aside>
인수 당시 앱은 Java와 Kotlin, XML과 Compose가 혼재된 레거시 코드베이스로 인해 성능 저하 및 유지보수 비효율 문제를 겪고 있었습니다. 이에 저는 전면적인 기술 리팩토링을 주도하여 앱의 안정성, 성능, 보안을 현대적인 수준으로 끌어올렸습니다.
기존의 Java 코드를 100% Kotlin으로 전환하고, 레거시 XML 레이아웃을 Jetpack Compose로 전면 마이그레이션했습니다.
- UI 아키텍처 전면 개편: 100% Kotlin & Jetpack Compose 도입
- 성과: 이를 통해 앱 메모리 사용량을 28% 절감(250MB → 180MB)하고, UI 렌더링 성능을 최적화하여 사용자 경험을 크게 향상시켰습니다. 또한, 코드의 가독성과 재사용성을 높여 유지보수 효율을 극대화했습니다.
Coroutine만으로 관리되던 비동기 로직에 Flow를 추가로 적용하여 데이터 처리 방식을 개선했습니다.
- 비동기 처리 로직 고도화: Coroutine과 Flow의 시너지
- 성과: 실시간 시세 변동과 같은 복잡한 데이터 스트림을 안정적이고 효율적으로 처리할 수 있게 되었으며, 코드 구조를 단순화하여 가독성과 유지보수성을 크게 향상시켰습니다.
SharedPreference에 평문으로 저장되던 니모닉, 개인 키 등 사용자의 민감 정보를 암호화 처리 후, Android Keystore와 Room Database를 활용해 안전하게 마이그레이션했습니다.
- 데이터 보안 강화: 암호화 및 안전한 저장소로 마이그레이션
- 성과: 사용자의 자산을 안전하게 보호하기 위한 데이터 관리 체계를 견고하게 구축하여 지갑의 핵심 가치인 보안 수준을 높였습니다.
FncyWallet 아키텍처 다이어그램

- 멀티모듈을 사용하여 유지보수성을 끌어 올리고 수정된 모듈만 빌드를 하기때문에 빌드속도도 개선
- 안드로이드 앱아키텍처 패턴을 따라 관심사를 분리하고 추상화에 의존하는 의존성 역전의 원칙을 준수

- MVI 디자인 패턴을 사용하여 UDF(단방향 흐름)를 적용
- 단방향 & 순환적 데이터 흐름
- 불변 상태 객체로 예측 가능성 향상
- 이벤트처리 분리
링거스튜디오 | 음악 저작권과 블록체인을 접목시킨 RWA스타트업

Android Developer
2022.05 ~ 2023.08
프로젝트 구성원
Android 2명
iOS 1명
BackEnd 2명
<aside>
음원 저작권을 조각 단위로 구매하고, 아티스트와의 특별한 경험이 담긴 NFT를 소유 및 거래할 수 있는 서비스 'LingerStudio'의 안드로이드 앱 개발 프로젝트입니다.
</aside>
이번 프로젝트의 핵심 과제는 당시 생소했던 Kotlin Multiplatform(KMP)와 Jetpack Compose라는 최신 기술 스택을 활용하여 안정적인 프로덕션 앱을 구축하는 것이었습니다. 신기술에 대한 학습 민첩성과 실무 적용 능력을 증명하는 것을 목표로 삼았습니다.
- 체계적인 학습을 통한 신기술 내재화
- 프로젝트 초기, KMP의 공유 아키텍처와 Compose의 선언형 UI 패러다임이라는 생소한 개념을 빠르게 습득하기 위해, 공식 문서와 예제 코드를 깊이 있게 분석하며 핵심 원리를 단기간에 체득했습니다.
- 협업과 페어코딩을 통한 실무 역량 확보
- 이론 학습을 넘어, KMP와 Compose 경험이 없는 상태에서 동료와 적극적인 페어코딩을 진행했습니다. 이를 통해 실무 노하우를 빠르게 공유하고 실제 코드에 적용하며 팀 전체의 기술 역량을 함께 성장시켰습니다.
LingerStudio 아키텍처 다이어그램
.jpeg)
- UI는 각 플랫폼별로 구현(Android, iOS 별도 구현)
- Shared Module에서 비즈니스 로직을 구현해 플랫폼별로 공유
- Shared Module에서 클린아키텍처를 적용해 레이어별 의존성 분리
- 추상화에 의존하여 의존성 역전의 원칙을 준수