About Me
사용자 입장에서 고민하며, 성능 최적화와 견고한 아키텍처 설계에 집중하는 프론트엔드 엔지니어입니다. 화면을 그리는 부분, 비즈니스 로직, 서버와 통신하는 부분을 명확히 나눠서 유지보수하기 좋은 구조와 읽기 쉬운 코드를 지향합니다. 대규모 실시간 채팅부터 재사용 가능한 SDK까지, 복잡한 문제를 구조적으로 풀어내는 데서 즐거움을 느낍니다.
Work Experience
Web Component 기반 AI 채팅 SDK 및 AI 국민비서 개발PCMobile
2025.03 – 현재특정 프레임워크에 종속되지 않고 어디서든 재사용할 수 있는 범용 AI 채팅 SDK를 개발하고, 이를 활용해 AI 국민비서 서비스를 구축했습니다.
- 프레임워크 독립적인 확장성을 확보하기 위해 Web Component 기반의 AI 채팅 SDK 설계 및 개발
- 유지보수성과 확장성을 극대화하기 위해 UI 렌더링, 도메인 비즈니스 로직, SSE(Server-Sent Events) 통신 계층을 철저히 분리
- 계층 간 매끄러운 데이터 흐름 제어를 위한 이벤트 기반 통신 구조 설계
Web ComponentSSEJavaScriptTypeScriptReactZustandPlaywright오픈채팅 LiteMobile
2022.12 – 현재누구나 인원수 제한 없이 다함께 채팅할 수 있는 오픈채팅 Lite 웹버전 프론트엔드 개발을 담당하고 있으며, 대규모 트래픽 환경에서의 성능 최적화, 안정성 확보 및 운영 효율성 개선에 기여했습니다.
- 성능 최적화대량의 메시지 유입 시 발생하는 렌더링 병목 현상을 방지하기 위해 비동기 처리 및 Message Queue를 도입하여, 성능 저하 없는 쾌적한 실시간 채팅 경험 제공. Lighthouse 기반 성능 측정 도구에서 약 20점 가량 성능 향상을 이끌어냈고, 실제 체감 성능을 높이기 위한 작업을 계속해서 진행했습니다.🔗 관련 기술 블로그 기고: 설계를 변경하여 성능 개선하기 →
- 운영 효율성 개선하드코딩으로 매번 빌드/배포가 필요했던 이벤트성 기능(특정 단어 입력 시 데코레이션)의 구조를 개선하여, 데이터를 JSON으로 정규화하고 실시간 수정이 가능한 사내 어드민 페이지를 기획·개발. 이를 통해 하계 올림픽 4개 채팅방에 약 61개, 추석 4개 채팅방에 약 40개의 데코레이션 정보를 실시간으로 등록·수정하며 운영 효율성 대폭 향상
- 안정성 향상Playwright 기반의 E2E 테스트 환경을 도입하여 핵심 사용자 동선 검증 자동화 및 릴리즈 안정성 향상
- UX 고도화롱프레스, Lottie 기반 리액션 등 사용자의 상호작용과 몰입도를 높이는 디테일한 인터랙티브 UI/UX 개발
ReactTypeScriptWebSocketPlaywrightChatGPT for KakaoMobile
2025.03 – 현재사용자의 원활한 서비스 이용을 돕는 온보딩 동선과 서비스 전반에 사용되는 공통 UI 컴포넌트를 설계하고 개발했습니다.
- 온보딩부터 홈 화면으로 이어지는 초기 진입 동선을 구현하고, 사용자 인증 상태 및 다양한 예외 케이스를 안전하게 처리하는 리다이렉트 로직 설계
- 기능 확장 시 유연하게 대응하고 중복 코드를 제거하기 위해 고도화된 재사용성을 갖춘 공통 바텀시트(Bottom Sheet) 컴포넌트 구조 설계
ReactTypeScriptZustandPlayMCP webPC
2025.03 – 현재개발자가 MCP를 관리·등록할 수 있는 전용 콘솔 페이지를 개발했습니다.
- MCP 목록 조회 화면 및 복잡한 데이터 입력 폼(Form) 인터페이스 개발
- 방대한 데이터가 요구되는 등록 폼의 효율적인 전역/지역 상태 관리 구조를 설계하고, 엄격한 유효성 검증(Validation) 로직 구현
ReactTypeScriptZustand카카오톡 웹버전 FE 개발PC
2021.02 – 2022.11카카오 고객센터 페이지에 도입된 카카오톡 웹버전의 채팅 기능 및 진입 인터페이스를 개발했습니다.
- 카카오톡의 특수한 말풍선 형태를 웹 환경에서 정확히 렌더링하기 위해 누락된 기능을 구현하고, 다양한 말풍선 타입에 대한 테스트 코드 작성
- Redux의 무거운 보일러플레이트 문제를 해결하기 위해 Redux Toolkit(RTK)으로의 마이그레이션을 주도하여 코드 가독성 및 유지보수성 향상
- WebSocket 기반 실시간 통신 서비스 로직 구현
- 사용자향 웹채팅 진입을 위한 카카오톡 채널 정보 및 채팅 시작 버튼이 포함된 시작 페이지 개발
ReactReduxRedux Toolkit(RTK)WebSocket
Skills
Architecture & Design
단순히 화면을 그리는 것을 넘어 UI 렌더링, 비즈니스 로직, 통신 계층의 관심사를 분리하는 아키텍처 설계를 지향합니다. Web Component를 활용하여 특정 프레임워크에 종속되지 않는 재사용 가능한 모듈(SDK)을 설계하고 배포할 수 있습니다.
Mobile Web & WebView Integration
AI 국민비서 및 오픈채팅 Lite와 같은 모바일 타겟 서비스 개발 경험을 통해 모바일 웹뷰 환경에 능숙합니다. iOS/Android 렌더링 차이, 안전 영역(Safe Area) 등 모바일 환경의 제약 사항을 제어할 수 있습니다. DOM 이벤트 라이프사이클(mousedown, blur 등)을 제어하여 키보드의 불필요한 해제를 막고 포커스를 유지하는 등, 모바일 브라우저 특유의 까다로운 제약 사항들을 트러블슈팅하여 매끄러운 UX를 위해 노력합니다.
Performance Optimization
실시간 채팅(WebSocket, SSE) 환경에서 대량의 데이터 유입 시 발생하는 렌더링 병목을 분석하고, Message Queue 및 비동기 처리 도입 등을 통해 웹 서비스의 성능을 근본적으로 개선할 수 있습니다.
Testing & Stability
Playwright를 활용한 E2E 테스트와 핵심 로직(복잡한 뷰 렌더링 등)에 대한 유닛 테스트 코드를 작성하여, 기능의 릴리즈 안정성을 높이고 사이드 이펙트를 최소화하는 개발 문화를 선호합니다.
