Profile Photo

김민규

KIM MIN GYU

Frontend Developer

SKILLS
TypescriptReactNext.jsReact Native
CERTIFICATIONS
AWS Solutions Architect Associate
Introduce
제품의 비즈니스 가치 실현을 위해 가장 적합한 방법을 찾는 개발자 김민규입니다.

브라우저나 모바일 네이티브 같은 디바이스의 물리적 한계에 갖히지 않고 사용자와 가장 가까운 레이어에서 사용자가 가진 실제 문제를 해결할 수 있는 방향을 향해 개발합니다.
Work Experience
2024-07-01-재직중
피앤이시스템즈 (viveEV)디자인플랫폼팀 / 프론트엔드 개발자

viveEV

인하우스 및 B2B 고객사의 전기차 충전소, 충전기 관리를 위한 다국어 지원 및 로컬라이징 기반 CSMS(Charge Station Management System)

기능 개발
  • RBAC 권한에 따른 클라이언트측 권한 관리 기능 및 동적 라우팅 생성 기능 구현
  • 글로벌 및 미국 내 지역별 서비스를 위한 어플리케이션 내 전역 Timezone 변환 기능 구현
  • tiptap 기반 커스텀 WYSIWYG 에디터 개발
  • recharts를 활용한 각종 통계 데이터 시각화
성능 최적화
  • 범용적으로 사용 가능한 리스트 가상화 테이블 컴포넌트를 구현하여 대용량 데이터 렌더링 최적화
  • 상세 검색 옵션 조회에 대한 Waterfall을 병렬 요청으로 전환하여 요청 시간을 90%(200ms → 20ms) 개선
  • 미사용 모듈에 대한 코드 스플리팅을 통해 엔트리 청크의 파일 크기를 약 60% 감소
  • useDailyTask 훅을 구현하여 비용이 많이 소모되는 일/월별 통계 캐싱을 통한 네트워크 요청 횟수 최소화
코드 품질 개선
  • 국가별 현지화를 위한 모노레포 레이어 아키텍쳐를 구축하여 로컬라이징 여부에 따라 비즈니스 로직 및 UI를 빌드 타임에 결정 가능하도록 개선
사용자 경험 개선
  • 모든 월/시간별 부하를 기입해야 하는 방식의 한전 부하 시간대 관리 Form을 계절과 시간대로 분리 및 시각적 색상 위계를 구분하여 288개의 입력 요소를 72개로 간소화
  • 비즈니스 용어들을 인터페이스의 구현체 상수 객체로 분리 후, 관계별로 참조하도록 매핑하여 빌드 시 선택된 언어로 오버라이딩을 통해 용어의 일관성 문제 개선
DX 개선 및 협업 환경 구축
  • 기존에 모노레포 내의 모든 패키지를 설치 후 전체 파일을 온프레미스 개발 서버로 전송하던 Jenkins 파이프라인을 빌드 결과물만을 전송하도록 개선하여 CI/CD 소요시간을 10분 → 30초로 개선
  • 전시회 및 홈페이지에서 사용할 데모 소프트웨어를 위해 데모용 서버 및 DB를 별도로 구축하지 않고 MSW를 활용한 Mock API 기반 데모 프로젝트를 구축하여 비용 및 작업 공수 단축
Tech Stack
React
Vite
Turborepo
PNPM
React Query
Zod
tiptap
React Hook Form
recharts
Tailwind

viveEV Application (개발 중)

전기차 충전소 인프라 유저 앱 개발. Flutter 기반 외주 앱을 React Native로 마이그레이션

기능 개발
  • Naver Map API(국내향)와 Google Map API(해외향)실시간 가격, 사용 가능 여부 등 동적 데이터 및 애니메이션 마커 기반지도 서비스 개발
  • Native-Web 브릿지를 구성하고 Next.js Streaming SSR로 모바일 최적화 웹뷰 환경을 구축
  • Stripe SDK를 활용한 해외 카드 및 Apple Pay Billing 등록 및 결제 기능 구현
  • Firebase Cloud Messaging을 활용하여 푸시 알림 기능 구현
성능 최적화
  • 커스텀 마커 렌더링시 View 변환 오버헤드로 인해 약 10개의 마커에서도 약 10fps까지 렌더링 병목 발생.
    Expo Module로 OS별 네이티브 레이어에 렌더링을 위임하고 node-canvas를 활용한 이미지 서버를 구현하여 1,000개 이상의 애니메이션이 포함된 동적 데이터 마커를 렌더링하는 과정에서도 60fps를 유지하는 성능을 보장하도록 개선
코드 품질 개선
  • Provider별 소셜 로그인 과정에서 이뤄지는 스텝을 구조화하여 Social Login Adapter 구성
DX 개선 및 협업 환경 구축
  • 로컬 EAS Build에 Dev, Staging, Production 배포 환경에 따라 환경별 파이프라인 구축
Tech Stack
React Native
Expo 52
Expo Router
Kotlin
Swift
Google Map
Naver Map
React Query
Stripe SDK
FCM
Next.js

viveEV 비회원 결제 웹앱

예치금 방식의 결제 웹앱 FE/BE 개발부터 배포까지 전담하여 개발.

기능 개발
  • 스마트로 결제 API를 활용한 결제 모듈 연동 개발
코드 품질 개선
  • Kafka 전송 실패, Database 에러, 결제 중 유저 탈출 등 실패 케이스에 대한 에러 코드를 정의하여 사용자의 문제 인식 과정을 개선 및 케이스별 에러 코드를 문서화
사용자 경험 개선
  • 퍼널 스타일 유저 플로우와 버튼의 가시 영역에 비해 실제 작동 영역 확장, 터치 이벤트 기반 인터랙션 등 모바일 최적화 UX 구현
Tech Stack
Next.js
Drizzle
Smartro API
EC2
Tailwind

viveEV 및 피앤이시스템즈 홈페이지

반응형 디자인과 다국어 지원, SEO 최적화, 리소스 매니징 작업.

기능 개발
  • next-intl 라이브러리를 활용하여 한국어, 영어, 독일어를 지원하는 다국어 페이지 개발
  • framer-motion 라이브러리를 활용해 스크롤 동작에 반응하는 인터랙션 애니메이션 개발
SEO 최적화
  • 다국어를 지원하며 이미지와 동영상 같은 미디어 콘텐츠를 포함하는 Sitemap Generator를 개발하여 SEO를 개선
  • Sitemap indexing를 통해 사이트맵을 Product, News, Blog로 분리하여 사이트맵 관리 편의성을 개선
DX 개선 및 협업 환경 구축
  • i18n-scanner를 활용하여 i18n JSON 파일과 스프레드시트를 자동 동기화 스크립트 구축
Tech Stack
Next.js
Amplify
Motion
next-intl
Supabase
Tailwind
2021-01-21-2022-07-21
대한민국 육군UH-60 승무원 / 병장
2019-07-23-2023-08-27
한국지역난방공사운영부 / 주임
Side Project

k3s 멀티 노드 홈서버

마스터 노드 1대, 워커 노드 2대로 이루어진 k3s 기반 홈서버를 구축

  • Cloudflare Tunnel을 통해 홈 서버 인프라에 대한 인바운드 없이 안전하게 외부에서 접속할 수 있도록 설정
  • ArgoCD를 통한 CD 파이프라인 구축
Tech Stack
k3s
Docker
Cloudflare Tunnel
ArgoCD
Tailscale

개인용 유틸리티 용어 검색 서비스, Vook

확장 프로그램과 브라우저 환경에서 사용되는 용어 검색 유틸리티 서비스 개발에 프론트엔드로 참여

Github
  • 서비스에 공통적으로 사용되는 디자인 시스템 패키지 개발
  • Plasmo 프레임워크를 통한 크롬 익스텐션 개발
  • Content Script를 통한 Draggable 검색 서비스 구현
FE 2 BE 1 DE 1 PM 1 MARKETING 1Tech Stack
React
Next.js
Turborepo
Plasmo
React Query
Storybook
React Testing Library
Vanilla Extract

제주에 컵놔뒁

[구름톤 6기] 플라스틱 컵 반납처의 정보를 공유하고, 적립한 포인트를 기부하는 자원 순환 참여 플랫폼 개발에 프론트엔드로 참여

Github
  • 카카오 맵 API를 활용한 좌표 기반 장소 탐색 기능 구현
FE 2 BE 1 DE 1 PM 1Tech Stack
React
Vite
Kakao Map
Open Source

React Korean Docs

문서 번역 기여

MDN

문서 번역 기여
Activities

SIPE 4기

[Nextstep] TDD, 클린 코드 with JavaScript 5기

  • 객체 지향 프로그래밍을 기반으로한 Node, 웹 어플리케이션 설계 및 구현
  • jest를 활용한 테스트 주도 개발 방법론 학습
  • 라이브러리 없이 웹 어플리케이션을 구현하며 프론트엔드에서의 객체지향 도입 설계