이현명 Frontend Engineer

프론트엔드 개발자 이현명입니다.
Java 백엔드 개발로 시작해,
1인 팀에서 서비스를 처음부터 만들어 내보냈고 (2020 코액터스),
3인 팀에서는 레거시에서 분리한 신규 사이트를 구축하고 개발 환경을 새로 세웠습니다 (2021 오토위니).
현재는 MAU 364만 규모의 어린이집 소통 플랫폼, 키즈노트에서 일하고 있습니다 (2022 ~ 현재).

혼자 잘하는 것보다 함께 잘하는 환경을 만드는 데 관심이 많습니다.
반복되는 로직과 절차를 정리하고, 다음 사람이 이어받기 쉬운 구조를 고민합니다.

Career
키즈노트프론트엔드파트2022.10 ~ 현재
  • 어린이집 소통 플랫폼
  • 결제·WebView·다국어 등 주요 사용자 영역의 프론트엔드 개발 및 운영
  • 운영 서비스의 배포 프로세스와 비즈니스 정책 로직 개선
오토위니프론트엔드개발팀2021.09 ~ 2022.10 (1년 1개월)
  • 중고차 수출 경매 플랫폼의 신규 사이트 구축 및 웹 성능 개선
코액터스프론트엔드개발2020.11 ~ 2021.06 (7개월)
  • 기업 전용 택시 예약 서비스를 초기 구축부터 런칭까지 프론트엔드 담당
그로브소프트백엔드개발팀2017.10 ~ 2020.01 (2년 3개월)
  • 아모레퍼시픽 계열 서비스의 Java 백엔드 개발과 jQuery 화면 구현 담당
Projects 대표 프로젝트 5건
공통화
키즈노트 · 2026.05

게시글 발송 로직 통합

4곳 수정을 1곳으로

Situation
알림장·공지사항·앨범·투표 4개 발송 화면이 업무시간 판단을 각자 갖고 있어, 정책이 바뀌면 4곳을 모두 수정해야 했습니다. 같은 정책을 PC 웹에도 적용해야 했는데, 기획 문서가 모바일 기준이라 PC에 없는 화면 요소와 기능이 섞여 있었습니다.
Action
  • 화면마다 따로 있던 업무시간 판단을 공통 모듈 하나로 통합하고, 학부모·교사·원장 역할별 정책 차이는 모듈 내부에서 처리
  • 모바일과 PC의 정책 차이와 제외 범위를 정리해 기획·QA와 공유
  • 역할·시간대·진입 지점 조합 16개 시나리오 표로 앱과 PC 동작을 검증
업무시간 판단의 통합 전후
BEFORE AFTER 알림장 공지사항 앨범 투표 업무시간 판단 ① 업무시간 판단 ② 업무시간 판단 ③ 업무시간 판단 ④ 정책 변경 시 4곳 모두 수정 알림장 공지사항 앨범 투표 공통 업무시간 판단 모듈 역할별 정책 분리 한 곳만 수정
Result
정책 변경 반영 지점이 4곳 → 1곳으로 줄었고, 앱과 PC가 같은 규칙으로 동작하는 상태로 출시했습니다.
Tech
TypeScript, React, Custom Hooks, react-i18next
결제·WebView
키즈노트 · 2026.03 ~ 2026.04

퀵계좌이체(토스 PG) 연동

웹뷰 복귀 플로우 설계

Situation
앱 웹뷰에서 토스 인증·결제 화면을 다녀오면 이동 기록이 쌓여, 흐름이 막히거나 만료된 화면이 다시 나타나는 문제가 있었습니다. 공식 문서에는 인증·결제 후 웹뷰 복귀 구간의 안내가 없어 직접 설계가 필요했습니다.
Action
  • 같은 화면에서 인증하면 이동 기록을 사후에 정리해야 하므로, 인증·결제를 별도 웹뷰에서 처리하고 끝나면 즉시 닫아 끝난 화면 재노출을 방지
  • 정기결제 등록·단건 결제·정기 첫결제·정기결제 관리 4종 결제 플로우에 퀵계좌이체 연동
  • 복귀 시 결제수단 목록을 다시 조회하고 등록 여부를 이어받는 흐름을 직접 설계
복귀 플로우 예시 · 인증 화면의 뒤로가기 처리
BEFORE 결제수단 관리 인증 화면 같은 웹뷰 안에서 이동 등록 완료 뒤로가기 → 인증 화면이 다시 노출 AFTER 결제수단 관리 인증 화면 별도 창에서 실행 등록 완료 뒤로가기 기록 정리 뒤로가기 → 결제수단 관리로 복귀
Result
단건 결제부터 정기결제까지 연동해 계좌 기반 결제수단을 확장했고, 2026년 4월 배포 이후 프론트엔드 추가 수정 없이 운영하고 있습니다.
Tech
TypeScript, React, Toss Payments SDK, WebView, Custom Hooks
협업 도구
키즈노트 · 2026.05 ~ 2026.06

애니메이션 조정 도구

디자인 확정 과정의 개발자 의존 제거

Situation
이전 애니메이션 작업에서 디자이너의 느낌을 수치로 맞추느라 수정이 반복됐던 경험이 있어, 게시글 공감 파티클 애니메이션에서도 같은 상황이 예상됐습니다.
Action
  • Canvas 파티클 애니메이션을 공통 모듈로 구현해 알림장·공지·앨범 상세 화면에 적용
  • 수치 대신 연출 결과를 보고 고를 수 있도록, 속도·중력 등 물리값을 느림·기본·빠름 선택지로 제공
  • 실제 화면에서 선택지를 바꿔 바로 재생해 볼 수 있는 조정 패널 제작
Result
값 조정의 주체를 개발자에서 디자이너로 전환해, 요청 → 수정 → 재확인 대신 디자이너가 패널에서 바로 확정합니다. 확정한 선택지가 그대로 코드에 반영되어 전달 과정의 해석 차이를 없앴습니다.
디자이너용 튜닝 패널 · 수치 조절 → 실시간 효과 변화
리액션 선택 시 재생되는 화면 효과
Tech
TypeScript, React, Canvas
배포·CI/CD
키즈노트 · 2026.05 ~ 2026.07

배포 파이프라인 재구성

2단계 배포 → 1단계 배포

Situation
배포가 1단계(새 버전 빌드·업로드)와 2단계(서비스를 새 버전으로 전환)로 나뉘어 있어, 1단계가 끝나길 기다렸다가 2단계를 따로 실행해야 했습니다. 2단계를 빠뜨려도 아무 알림이 없어, 새 버전을 올리고도 구버전이 106분간 그대로 서비스된 적이 있었습니다.
Action
  • 빌드·업로드와 서비스 전환을 하나의 GitHub Actions 워크플로우로 묶어, 1단계가 끝나면 전환이 자동 실행되도록 재구성
  • 배포 환경 하나만 선택하면 실행되도록 절차 단순화
재구성 전후의 배포 절차
BEFORE preflight 실행 사전 배포 · 수동 완료 대기 사람이 지켜봐야 함 switch 실행 전환 · 수동 switch를 잊어도 오류 없음 → 구버전 계속 서비스 (실제 106분 방치) AFTER 배포 환경 선택 입력은 하나 한 번의 실행 빌드 → 업로드 → 전환까지 자동 연결 전환 누락이 구조적으로 발생하지 않음
Result
배포 리드타임(사람 대기 포함) 중앙값 4.2분 → 1.4분, 최대 106분이던 편차 7분 이내. 전환 누락에 따른 구버전 방치 가능성을 제거했습니다.
Tech
GitHub Actions
성능·레거시
오토위니 · 2021.09 ~ 2022.10

신규 서비스 분리 구축

Lighthouse 30점대 → 80점대

Situation
Java·jQuery 기반 사이트에 모든 기능이 한 덩어리로 묶여 있어 유지보수가 어려웠고, 메인 화면은 Lighthouse 성능 점수가 30점대에 머물렀습니다.
Action
  • 기존 사이트의 기능과 UI를 기준으로 React·TypeScript 기반 신규 사이트 구축
  • 로그인 후 계정 유형에 따라 기존 사이트와 신규 사이트로 나눠 진입하도록 연결
  • 초기 로딩 병목을 8개 iframe 일괄 렌더링으로 특정하고, 신규 사이트에서는 iframe을 실행할 때만 로드하도록 설계 (화면 단위 코드 분할·이미지 지연 로딩 병행)
  • 개발·운영 환경 분리 및 Nginx·Jenkins 기반 빌드/배포 프로세스 구축
계정 유형에 따른 진입 분기와 메인 화면 성능
로그인 계정 유형 확인 기존 사이트 Java · jQuery 메인 화면 Lighthouse 30점대 8개 iframe 일괄 렌더링 (초기 로딩 병목) 신규 사이트 · 분리 구축 React · TypeScript 메인 화면 Lighthouse 80점대 영상 iframe은 클릭 시에만 로드 화면 단위 코드 분할 · 이미지 지연 로딩
Result
같은 기능을 담은 메인 화면 기준으로 Lighthouse 성능 점수가 기존 사이트 30점대에서 신규 사이트 80점대로 측정됐고, 신규 사이트는 별도 빌드·배포 환경에서 레거시와 독립적으로 배포되는 구조가 됐습니다.
Tech
TypeScript, React, Nginx, Jenkins
Skills
Frontend
TypeScriptReactTanStack QueryRecoilEmotionTailwind CSS
Testing
JestReact Testing LibraryPlaywright
CI/CD
GitHub ActionsJenkinsNginx
AI-assisted
Claude CodeCursorCodeRabbit
Education · Certifications
덕성여자대학교영어영문학과 · 졸업2013.03 ~ 2016.02
오픈소스 기여Next.js 한국어 문서 번역2024.08
코드숨 리액트 6기교육2021.11
  • TDD 기반 개발 실습, 주간 코드 리뷰
정보처리기사자격증2018.08
Java 프로그래밍 개발자 과정교육2017.01
  • 한국소프트웨어기술진흥협회 수료