이민기
개선과 성장에 집중하며, 최신 웹 기술과 블록체인에 관심을 갖고 있는 4년차 개발자 이민기입니다. 실제 서비스 개발과 협업 경험을 바탕으로, 사용자와 팀 모두에게 가치 있는 코드를 지향합니다. 우측 하단 'Contact' 버튼을 통해 편하게 연락 가능합니다.
Introduce
저는 사용자의 흐름과 개발 생산성을 함께 개선하는 개발자입니다.
실제 회사 프로젝트에서 FSD(Feature-Sliced Design), Clean Architecture 등 구조적 설계 방식을 적용하며, 확장성과 유지보수성을 고려한 코드 구조와 일관된 코드 품질을 중요하게 생각해 왔습니다.
AI를 활용한 개발이 보편화될수록 빠른 개발 속도는 단순한 코드 생산량이 아니라, 문제를 정확히 이해하고 복잡도를 낮추며 신뢰할 수 있게 구현하는 과정에서 나온다고 믿습니다.
React/Next.js 기반 프론트엔드를 중심으로 Node.js 백엔드와 Golang 기반 블록체인 네트워크까지 경험하며, 제품을 더 넓은 관점에서 이해하고 팀과 프로젝트에 실질적인 가치를 더하는 개발자로 성장하고자 합니다.
Work Experience
ThakiCloud Korea
2025.12 ~ 현재6개월
AI PlatformFrontend Engineer
데이터 주권과 하이퍼스케일 성능을 갖춘 AI 클라우드 플랫폼 개발
AI Platform
AI 모델 학습·추론 및 GPU 클라우드 리소스 통합 관리 콘솔 개발2025.12Frontend Developer
TypeScript
React
Rspack
Turborepo
Biome
TailwindCSS
ReactQuery
Zustand
ReactHookForm
Zod
i18next
Playwright
Vitest
- FSD(Feature-Sliced Design) 기반 대규모 리팩토링 및 마이그레이션
- Micro Frontend 전환을 위한 실행 환경 추상화 설계
- 초기 렌더링 및 빌드 파이프라인 성능 최적화
- AI 활용 개발 환경의 품질 검증 파이프라인 구축
기존 코드베이스를 인수받으며 도메인 간 책임 경계가 불명확하고 변경 영향 범위가 넓은 구조적 한계를 파악했습니다.
이를 해결하기 위해 레거시 모듈을 FSD 기반 계층형 아키텍처로 재구성하고, 기능 단위의 점진적 마이그레이션과 공통 라이브러리 추상화를 병행했습니다. 그 결과 10만 줄 이상의 레거시 코드를 제거하고 앱 번들 크기 15%(37MB → 32MB), gzip 크기 17%(12.1MB → 10.1MB)를 줄였으며, 변경 영향 범위를 기능 단위로 분리해 구조적 복잡도를 낮췄습니다.
단독 실행 중심의 제품을 Module Federation 기반 통합상품 환경에서도 동작하도록 마이그레이션했습니다.
이 과정에서 빌드 타임의 번들 구성과 런타임의 라우팅·초기화 방식 차이를 공통 인터페이스로 분리하고, 비즈니스 로직이 실행 환경에 직접 의존하지 않도록 구조를 재설계했습니다.
이를 통해 Standalone과 통합 앱 환경을 하나의 코드베이스에서 일관되게 관리할 수 있도록 했습니다.
초기 렌더링 지연을 개선하기 위해 29MB 규모의 단일 벤더 파일과 다국어 리소스 로딩 방식을 주요 병목으로 보고, 리소스 로딩 구조를 재설계했습니다. 벤더 파일을 도메인별로 분리하고 i18n 리소스 동적 지연 로딩을 적용했으며, Rspack과 SWC 도입으로 빌드 시간을 75%(22.3초 → 5.6초) 단축했습니다. 이를 통해 초기 렌더링 시간을 1.2초에서 0.45초로 약 62% 단축했습니다.
AI 도구를 활용한 코드 작성 과정에서 발생할 수 있는 일관성 저하 및 잠재적 결함을 사전에 방지하기 위해 자동화된 검증 파이프라인을 구축했습니다. 모듈 간 의존성 검사, 정적 분석, 테스트 기반 오류 감지를 커밋 단계에 통합하여 일정 기준을 충족한 코드만 원격 저장소에 반영되도록 제한했습니다. 이를 통해 코드 리뷰에 소모되는 리소스를 줄이고, 빠른 개발 속도를 유지하면서도 프로덕션 수준의 코드 안정성을 확보했습니다.
OpusM
2022.07 ~ 2025.083년 2개월
기술연구소Research Engineer
엔터프라이즈 블록체인 솔루션 개발 및 연구
LedgerMaster 3.0 MetaVisual
블록체인 솔루션 LedgerMaster3.0 Admin 사용자를 위한 Blockchain 대시보드 개발2024.07 ~ 2024.11Frontend Developer
TypeScript
Next.Js
ReactHookForm
TailwindCSS
Turborepo
StoryBook
Jest
TestingLibrary
ReactQuery
Yarn
Jira
Bitbucket
- 블록체인 익스플로러 대시보드 개발
- 스마트 컨트랙트 컴파일 및 배포 시스템 구현
- 프론트엔드 전체 구조 설계
- TurboRepo를 이용한 Monorepo 구조 구축
블록체인 데이터를 실시간으로 조회할 수 있는 대시보드를 개발했습니다. 서버 API를 통해 블록 정보, 트랜잭션 내역, 계정 정보를 테이블 기반 UI로 구성해 사용자가 주요 체인 데이터를 한눈에 확인할 수 있도록 했습니다.
스마트 컨트랙트의 컴파일부터 배포까지의 전체 프로세스를 관리할 수 있는 사용자 인터페이스를 개발했습니다. 파일 업로드, 컴파일 결과 확인, 배포 파라미터 설정 흐름을 제공해 개발자가 Admin 안에서 스마트 컨트랙트를 효율적으로 관리할 수 있도록 했습니다.
애플리케이션의 확장성과 유지보수성을 높이기 위해 Feature-Sliced Design(FSD)을 도입했습니다. 비즈니스 로직, 엔티티, 위젯을 기능 단위로 분리하고, 순수 UI 컴포넌트에는 Atomic Design Pattern을 적용해 도메인별 독립 개발과 UI 재사용이 가능한 구조를 설계했습니다.
프로젝트의 패키지 관리 효율성을 높이고 솔루션 문서 애플리케이션과 어드민 프론트엔드 간 UI 일관성을 유지하기 위해 TurboRepo 기반 Monorepo 구조를 도입했습니다. 공통 컴포넌트와 설정 파일을 중앙화하고 디자인 시스템을 독립 패키지로 분리해 패키지 간 의존성 관리를 단순화했습니다. 또한 Jest와 Testing Library로 주요 컴포넌트와 비즈니스 로직을 검증해 80% 이상의 테스트 커버리지를 확보했습니다.
LedgerMaster 3.0
블록체인 솔루션 LedgerMaster3.0 Admin Server 개발2023.06 ~ 2024.11Backend Developer
TypeScript
Express
MongoDB
Mongoose
Docker
Web3.Js
Solc
Joi
JsonWebTokens
EthereumJs
Quorum
Axios
Jira
Bitbucket
Nats.io
Jest
- RESTful API와 검증 미들웨어 설계
- 도메인 주도 설계(DDD)와 클린 아키텍처 기반 서비스 구조 설계
- 이벤트 처리를 위한 MongoDB 데이터 구조 설계
- Smart Contract 컴파일, 배포 및 실행 기능 구현
- 인프라와 분리된 도메인 로직 테스트 작성
Express와 TypeScript 기반으로 인증, 사용자, 스마트 컨트랙트, 트랜잭션 등 주요 도메인의 RESTful API 엔드포인트를 설계·구현했습니다. 요청 검증 로직이 컨트롤러에 흩어지지 않도록 Joi 기반 검증 미들웨어를 구성하고, JWT 인증/인가와 일관된 에러 응답 포맷을 적용해 API 동작을 예측 가능하게 만들었습니다.
복잡한 비즈니스 로직을 도메인 중심으로 모델링하고, 도메인별 책임과 역할을 분리했습니다. 또한 데이터베이스, 메시징, 블록체인 연동 코드가 비즈니스 로직에 직접 섞이지 않도록 의존성 주입과 인터페이스 추상화를 적용해 외부 시스템 변경이 도메인 로직으로 전파되는 범위를 줄였습니다.
MSA 환경에서 NATS로 수신되는 스마트 컨트랙트 및 트랜잭션 이벤트를 Admin에서 조회하고 추적할 수 있도록 MongoDB 데이터 구조를 설계했습니다. 데이터 저장의 일관성과 도메인 로직의 명확성을 위해 DB Entity와 Domain Entity를 분리하여 도메인 데이터의 확장성과 안정성을 높였습니다.
어드민에서 스마트 컨트랙트 개발과 배포를 쉽게 할 수 있도록 ERC20, ERC721 등 주요 Smart Contract 템플릿을 제공했습니다. OpenZeppelin과 solc를 활용해 컨트랙트 컴파일, 배포, 실행 흐름을 구현하고 프론트엔드 관리 기능과 연결했습니다.
데이터베이스나 외부 시스템 상태에 의존하면 도메인 로직 검증이 불안정해질 수 있다고 보고, Jest와 Mock 객체를 활용해 사용자 등록, 인증 등 주요 로직을 독립적으로 검증했습니다. 공통 패키지는 npm과 Nexus private repository로 관리해 여러 Node.js 서비스에서 버전 일관성을 유지할 수 있도록 했습니다.
SKT PASS SIGN
SKT PASS 앱 내 전자계약 웹앱 개발2022.07 ~ 2024.07Frontend Developer
TypeScript
React
Axios
ReactQuery
ReactHookForm
StoryBook
Redux
StyledComponents
MUI
Jest
TestingLibrary
Jira
Bitbucket
- 컴포넌트 구조 정리와 품질 기반 구축
- 전자계약 신뢰 모델 및 서비스 시나리오 설계
- Storybook 및 테스트 코드 도입으로 품질 향상
- 초기 로딩 속도 개선 및 서비스 품질 고도화
추가 개발 과정에서 컴포넌트가 혼재되어 변경 비용이 커지고, 디자인과 구현물 간 피드백이 늦어지는 문제를 발견했습니다. Atomic Design Pattern으로 UI 구조를 정리하고 Storybook을 도입해 디자이너와 구현물을 명확하게 공유했으며, Jest와 React Testing Library로 95% 이상의 테스트 커버리지를 확보했습니다.
전자계약 서비스에서 계약의 진위성과 무결성을 어떻게 증명할지 정의하고, 이를 서비스 흐름에 반영하는 작업을 주도했습니다. 사용자 식별정보, 계약서, 서명 데이터를 결합해 단계적으로 해시를 생성하는 암호학 기반 계약 증명 모델을 설계했고, 서명자 순서에 따라 계약 상태를 검증할 수 있는 시나리오를 구성했습니다.
디자이너와의 협업에서 컴포넌트 UI를 명확하게 공유하고 소통하기 위해 Storybook을 도입했습니다. 이를 통해 컴포넌트를 문서화하여 디자인과 실제 구현물 간의 차이를 줄이고, 피드백 및 수정 과정을 효율적으로 관리할 수 있었습니다. 또한 Jest와 React Testing Library를 활용해 UI 테스트 및 단위 테스트를 포함한 테스트 케이스를 작성하고 95% 이상의 테스트 커버리지를 달성했습니다.
초기 개발 일정상 다양한 외부 라이브러리 혼용으로 초기 렌더링 속도가 저하되어, 이후 컴포넌트 스타일링 일원화와 이미지 최적화, 레이지 로딩, 코드 스플릿팅을 적용했습니다. 이를 통해 초기 로딩 시간을 약 68% 단축(4.1초 → 1.3초)하고 Lighthouse 성능 점수를 65점에서 94점으로 향상시켰습니다.
Opstra
Cosmos SDK 기반 커스텀 체인 개발 및 CometBFT 합의 알고리즘을 활용한 분산 네트워크 구축2025.03 ~ 2025.04Go
proto3
ubuntu
- 커스텀 블록체인 테스트넷 구축 및 모니터링
- 노드 빌드 및 설치 자동화
자체 네트워크 구성을 검증하기 위해 Cosmos SDK 기본 모듈을 커스터마이징하고, 사내 PC 기반 Ubuntu Linux 환경에서 밸리데이터 노드 4대와 RPC 노드 2대를 연결한 P2P 테스트넷 인프라를 구축했습니다. 또한 PingPub 대시보드를 연결해 테스트 네트워크의 노드 상태를 실시간으로 확인할 수 있도록 했습니다.
다양한 OS 환경에서 노드를 일관되게 실행할 수 있도록 Makefile 기반 바이너리 빌드와 Shell 스크립트 기반 설치 자동화를 구성했습니다. 이를 통해 반복적인 노드 설치 과정을 표준화하고 테스트넷 구성 시간을 줄였습니다.
Opus DID Wallet
DID(Decentralized Identity) 기반 블록체인 지갑 연구 및 프로토타입 개발 참여2023.02 ~ 2023.06Researcher
Docker
JavaScript
HyperLedger
- DID 프로세스 시나리오 연구 및 설계
- Hyperledger 기반 DID 인프라 연구 및 프로토타입 개발
사내 블록체인 기술 기반의 DID Wallet 개발을 위해 출퇴근 인증 시스템 프로세스를 설계했습니다. 회사가 이슈어(Issuer)로서 QR 코드를 통해 직원(홀더, Holder)에게 VC(Verifiable Credentials)를 발급하고, 직원은 회사 출퇴근 시스템(검증자, Verifier)에 VP(Verifiable Presentation)를 제출하여 출퇴근을 증명하는 시나리오를 제안했습니다. 이 설계를 통해 기존의 카드 태깅 방식보다 보안성이 강화된 신원 인증 시스템의 가능성을 연구했습니다.
설계한 DID 출퇴근 인증 시스템의 실현 가능성을 검증하기 위해 Hyperledger VON, Aries Cloud Agent, Indy Tails Server를 활용한 테스트 환경 구성에 참여했습니다. VC 발급 및 VP 검증 프로세스의 개념 증명(PoC)을 검토하며, 개인정보 보호와 데이터 주권을 충족하는 신원 인증 시스템의 기술적 타당성을 확인했습니다.
Other Experience
OpenSource
2025.09.25 IBC 트랜잭션 모니터링을 개발하던 중, 비정상적인 packet timeout height를 가진 트랜잭션을 발견하고 ibc-go의 타임아웃 검증 로직을 분석했습니다. RevisionNumber 설정에 따라 패킷 타임아웃이 사실상 우회될 수 있는 문제를 확인했고, v8.x.x 환경에서 Docker 기반 PoC와 CLI 재현 절차를 구성해 이슈로 제보했습니다.
Go
Docker
- 개선 필요성
- 재현 및 해결 방향 제안
SendPacket(), Timeout.Elapsed(), heightElapsed(), Height.Compare() 흐름을 코드 레벨에서 추적했습니다. RevisionNumber가 RevisionHeight보다 우선 비교되는 구조가 체인 업그레이드를 고려한 합리적인 설계임을 이해하는 동시에, 비정상적으로 높은 RevisionNumber가 설정되면 타임아웃 판정이 사실상 미래 시점으로 밀릴 수 있는 원인을 확인했습니다.
simapp 2개와 Hermes relayer를 Docker Compose로 구성해 v8.x.x 환경에서 문제를 재현하고, 여러 체인의 ibc-go 사용 버전을 확인해 프로덕션 영향 가능성을 검토했습니다. 이후 ibc-go V2에서는 timeout height 대신 timestamp 중심으로 전환되는 방향을 확인하고, V1 환경을 위한 SendPacket()의 RevisionNumber 사전 검증과 heightElapsed() 로직 개선안을 코드와 함께 제안했습니다.
2023.07.23 회사 DID 연구/PoC 과정에서 revocation registry를 검증하기 위해 Indy Tails Server 데모를 Docker로 실행하던 중 indy_vdr 의존성 설치 오류를 발견했습니다. 컨테이너 환경에서 의존성 버전을 바꿔가며 원인을 좁혔고, 특정 dev 버전을 명시했을 때 정상 동작하는 것을 확인해 PR로 기여했습니다.
Docker
Python
Hyperledger Indy
- 개선 필요성
- 해결 및 기여
VC/VP 검증 흐름을 실험하기 위한 Indy Tails Server 데모 환경을 구성하던 중 Docker 컨테이너의 pip 설치 단계에서 indy_vdr 설치 오류가 발생하는 것을 확인했습니다. requirements 파일과 패키지 버전을 비교하며 원인을 좁히고, 특정 dev 버전에서 정상적으로 빌드되는 조건을 확인했습니다.
재현 가능한 해결 방법으로 indy_vdr 버전 명시를 제안하는 PR을 작성했습니다. 해당 변경은 프로젝트에 반영되어 Docker 데모 환경에서 동일한 설치 오류가 발생하지 않도록 개선되었습니다.
Activities
Blockchain Valley
2025.09 ~ 고려대학교 기반 블록체인 학회 블록체인 밸리 8기 코어팀으로 활동하고 있습니다.- Cosmos 기반 인터체인 아키텍처 및 앱체인 구조 연구
- 합의 알고리즘 소스코드 레벨 분석 및 취약점 리서치
Cosmos SDK와 IBC 프로토콜을 활용하여 특정 도메인에 특화된 App Chain의 설계와 네트워크 구성 방식을 연구했습니다.
CometBFT, Tendermint의 합의 구조를 딥다이브하며, 네트워크 합의 과정에서 발견되었던 주요 취약점 리포트를 코드 레벨에서 분석했습니다.