Frontend Engineer
서비스에서 발생하는 문제를 지속적으로 관찰하고 문제의 원인을 찾아서 개선합니다. 사용자가 더 편리하고 정확한 웹 서비스를 사용할 수 있도록 기여하고 싶습니다.
TypeScript와 React 기반 서비스에서 실시간 정보, 장시간 소요 작업, 대시보드 데이터 정확성과 인증 문제를 해결하고 배포 후 서비스가 제공하는 UI UX를 지속적으로 확인해 왔습니다.
2025 — Present
인공지능팩토리
Frontend Engineer
공공기관용 웹 서비스의 프론트엔드를 담당하여, 사용자에게 제공하는 데이터의 정확성, 장시간 소요 작업의 상태 안내, 특정 API 이슈로 인해 발생한 웹 페이지의 UI & UX와 배포 안정성을 개선했습니다.
대시보드 데이터 표시 오류와 전송 효율 개선
대시보드 시계열 데이터에 대해서 데이터가 누락되거나 잘못 제공되는 이슈에 대해서 대시보드 사용자가 컴퓨터 리소스 상태를 정확히 확인할 수 있도록 개선했습니다. 지표 이름과 라벨을 실제 응답에 맞추고 비율 계산을 바로잡았으며, 서로 다른 데이터가 합쳐지는 문제의 원인을 찾아서 데이터 식별 기준을 업데이트했습니다.
마지막 요청 시각 이후의 값만 가져오도록 조회 방식을 바꿔 10분 동안의 전송량을 96.5 MB에서 41 KB로 줄였습니다. 배포된 대시보드의 표시값과 실제 응답을 대조해 정확성을 확인했습니다.
운영 환경에서 확인/Next.js, Prometheus, Recharts
장시간 소요되는 문서 생성의 작업 완료 대기 경험과 상태 정확도 개선
사용자가 5~10분 걸리는 문서 생성의 진행 단계와 경과 시간을 지속적으로 확인할 수 있도록 프론트엔드를 설계하고, 페이지 이동이나 취소 전에 사용자가 한번 더 확인하도록 안내 UI를 구성했습니다.
SSE 이벤트 뒤 서버 상태를 다시 확인하도록 해 이벤트 순서가 바뀌거나 연결 오류가 발생해도 화면이 실제 처리 상태를 기준으로 갱신되게 했습니다. 상태 API 요청은 작업당 10회 이하로 유지해 3초마다 조회할 때 예상되는 100~200회보다 요청을 줄였습니다. 배포 후 문서의 생성 및 취소 상태가 화면의 진행 상태와 일치하는지 확인했습니다.
문서 생성 5~10분/React, SSE, Next.js
3~4초 화면 정지 해소와 실시간 차트 연속성 개선
API 응답을 처리하는 동안 3~4초 멈추던 화면을 다시 조작할 수 있도록 개선했습니다. API 호출과 변환을 SharedWorker로 분리한 공통 방식을 실행 이력과 상세 화면에 적용하고, 실제 배포된 서비스 페이지에서 해당 이슈의 해결 여부를 확인했습니다.
새로고침 뒤의 과거 값과 새로 들어오는 값을 같은 시간 기준으로 합쳐 차트가 끊기거나 중복되지 않도록 했습니다. 나뉘어 도착한 JSON도 다음 청크와 합쳐 처리해 실시간 표시가 이어지도록 했습니다.
응답 크기와 형식 유지/SharedWorker, REST, Server Sent Event
70개 이상 주요 절차 검증과 인증 복구 일원화
로그인 사용자의 주요 절차를 70개 이상의 E2E 시나리오로 반복 검증할 수 있게 해 배포 전에 주요 동작과 인증 문제를 확인할 수 있도록 했습니다. 이 과정에서 브라우저에 남은 인증 정보와 만료된 서버 세션이 일치하지 않는 문제를 재현했습니다.
로그인이 필요한 페이지에 접속하기 전과 화면 사용 중에 발생한 인증 실패를 같은 방식으로 복구하도록 해 사용자에게 일관된 동작을 제공했습니다. 원인 분석부터 공통 복구 방식의 QA 배포까지 맡았습니다.
배포 전 검증/Playwright, Authentication, QA
2022 — 2024
크러스트유니버스 / Quarkonix
Frontend Engineer
사용자의 요청 결과를 화면에 바로 보여주고, 첫 화면이 뜨는 시간을 줄였으며, 실시간 정보가 표시되지 않던 문제에 대응했습니다. 초기 로딩을 개선한 방법은 다른 프로젝트에서도 참고할 수 있게 문서로 남겼습니다.
요청 결과를 즉시 정확하게 보여주도록 개선
사용자가 특정 기능을 요청할 때 서버 응답을 기다리지 않고 요청 결과를 웹 페이지에 바로 보여주도록 했습니다. 화면에 보이는 여러 정보가 서버와 어긋나는 문제에 대응하고, 중복 요청을 제거하여 요청 수를 절감했습니다.
서비스 운영/React, TypeScript, Optimistic Update
초기 로딩 단축과 적용 방법 재사용
페이지가 사용자에게 보이기까지 걸리는 시간을 단축했습니다. 다른 프론트엔드 프로젝트에서도 같은 방법으로 개선할 수 있도록 적용 순서를 문서로 남겼습니다.
서비스 배포/Vite, React, Lazy Loading
실시간 정보 갱신 복구
간헐적인 WebSocket 연결 중단 원인을 Chrome DevTools로 찾아 수정해 실시간 정보 갱신이 멈추는 문제를 해결했습니다.
서비스 운영/WebSocket, Chrome DevTools
v7.13.1
React Router
선택적 URL parameter가 `/` 구분자 없는 주소까지 잘못 매칭되는 문제를 수정했습니다.
주소 끝에 "."으로 시작하는 부분이 붙는 경우도 기존처럼 처리되는지 확인할 수 있도록 관련 테스트를 추가했습니다.
v1.2.0
Outline
인라인 이미지 앞의 마지막 글자를 Delete 또는 Backspace로 지울 수 없는 편집기 문제를 수정했습니다.
표 안팎의 삭제 동작과 일반 텍스트 삭제가 유지되는지 확인했습니다.
AI Agent Workflow
무슨 작업을 진행할지 파악하고, 필요한 자료를 조사한 뒤 구현을 순조롭게 진행할 수 있도록 AI 에이전트용 규칙과 스킬을 만들었습니다. 작업을 이어갈 때도 결정한 내용과 변경 이유를 확인할 수 있도록 했습니다.
문서를 저장하기 전에 뜻이 모호한 한국어 표현을 찾아보는 검사도 만들어 여러 저장소에서 사용했습니다.
2026 — 현재/Node.js, Repository Rules, Text Validation
AI 에이전트 지침을 매번 다시 입력하고, 스크립트 실행 조건이 달라질 때마다 명령어 메모가 늘어나는 불편 때문에 만들기 시작했습니다. 자주 쓰는 지침은 여러 메모에서 골라 한 번에 복사하고, 명령어는 입력 파일명처럼 달라지는 값만 바꿔 다시 쓸 수 있게 했습니다.
직접 써보며 메모가 원하는 곳으로 움직이지 않거나 일괄 복사 항목의 순서가 뜻대로 바뀌지 않는 문제의 원인을 찾아서 개선했습니다. 모바일에서도 필요한 문구를 고르고 순서를 바꾸기 편하도록 모바일 페이지를 어떻게 구성해야 하는지 리서치했습니다.
2026 - 현재/TypeScript, React, Next.js, IndexedDB
Offline Translation Web App
미리 저장한 언어 모델로 네트워크 연결 없이 한국어와 영어, 한국어와 일본어 사이를 번역하고, 모델 실행 중에도 페이지 입력을 계속할 수 있도록 했습니다.
브라우저 캐시와 IndexedDB로 필요한 파일과 정보를 저장하고 GitHub Actions로 배포 반복 작업을 자동화했습니다.
2025/Web Worker, IndexedDB, Offline, GitHub Actions
- 단국대학교
- 응용컴퓨터공학과
- 2016 — 2022
- 정보처리기사
- 한국산업인력공단
- 2022
- TOEIC Speaking
- IH
- 2025