OH SU JINFrontend Engineer

Frontend Engineer6년차Seoul

Hello!프론트엔드 개발자 오수진입니다.

ReactNext.jsTypeScriptZustandPlaywrightAWS

자세히 보기

화면을 만들고, 그 화면을 다시 잽니다.

2021년 웹 개발로 시작해 2023년부터 프론트엔드에 집중했습니다. 통신사 서비스·미술품 투자 플랫폼·단말기 관리 솔루션 등 다양한 프로젝트를 거치며, 현재는 서비스·어드민·랜딩의 화면 설계부터 개발·배포·운영까지 경험하고 있습니다.

이름
오수진 · OH SU JIN
경력
개발 6년차 · 프론트엔드 2023 –
거주
서울 강남구
학력
강남대학교 전자공학과 학사
  • 재고 나서 고칩니다

    같은 배포본을 네 번 재면 Lighthouse 점수가 67·72·74·85로 흔들립니다. 통제 조건과 3회 중앙값을 먼저 정하고, 절대 타이밍 하나에 의존하기보다 전송 바이트를 1차 신호로 봅니다.

  • 효과 없으면 되돌립니다

    전후 차이가 측정 편차 수준이라면 넣었던 최적화를 걷어냅니다. 코드만 늘고 아무것도 빨라지지 않은 변경은 부채로 남습니다.

  • 퍼블리싱에서 성능이 결정됩니다

    숨긴 이미지도 내려받고, 크기를 적지 않은 이미지는 레이아웃을 밉니다. 마크업 단계에서 정해진 것은 나중에 되돌리기 어렵기 때문에 처음부터 성능을 고려합니다.

  • 기록을 남깁니다

    다음 사람이 그대로 재현할 수 있게, 무엇을 했는지보다 무엇을 되살리면 안 되는지와 임시 조치의 만료 조건을 적어 둡니다.

외부 서비스

쏙쏙 컴퍼니

랜딩으로 시작해 서비스가 된 사이트. 데이터 페칭 시점을 색인 기준으로 가르고, SEO 불변식을 커밋 훅에 걸었다.Next.js 15App Router정적 익스포트TypeScriptZod
외부 서비스

dd-da

전송량 20.3MB에 LCP 99.6초였던 서비스를 1.54MB · CLS 0.000으로 되돌렸다.Next.jsApp RouterTypeScriptjotaiCloudFront
Lab Dashboard사내 서비스

Lab Dashboard

Lighthouse 100점짜리 화면에서 전송량의 87%가 20px 아바타였다.Next.jsApp RouterReact Server ComponentsTypeScript strictAurora
외부 서비스

GEO METRIC CARE

URL 하나를 넣으면 SEO·GEO를 진단해 PDF 리포트를 메일로 보내는 서비스.Next.js 15React 19TypeScriptNode 20Playwright
MDS사내 서비스

MDS

URL이나 Figma 디자인 시스템에서 토큰을 추출해 문서 디자인 시스템으로 만든다.Next.jsTypeScriptFigma Plugin APIPlaywrightsystemd
AI-LAB 통합 콘솔사내 서비스

AI-LAB 통합 콘솔

여러 AI 서비스 모듈을 한 콘솔에서 운영·정산·조회하는 사내 플랫폼 프론트엔드.React 19ViteTypeScriptTailwind CSS v4shadcn/ui
쏙쏙 Admin사내 서비스

쏙쏙 Admin

Figma 시안 그대로 퍼블리싱한 운영 어드민. 도메인별 구조로 화면이 늘어도 흩어지지 않게.ReactTypeScriptCSS Modules디자인 토큰AWS S3
임베드 챗 위젯외부 서비스

임베드 챗 위젯

남의 사이트 위에 얹히는 위젯. 좌표계와 모바일 키보드가 전부였다.TypeScriptVanilla DOMCI/CDAWS
Banner Fit사내 서비스

Banner Fit

AI로 광고 크리에이티브를 만들고, 로고를 얹고, 사이즈를 변형하는 생성 도구.TypeScriptCanvas API멀티페이지디자인 토큰
GEO-Pulse사내 서비스

GEO-Pulse

AI 검색 답변에서 우리 브랜드가 얼마나 인용되는지 측정하는 파이프라인.pnpm workspacesNext.jsTypeScriptSupabasePostgreSQL
퍼블리싱 미리보기 대시보드사내 서비스

퍼블리싱 미리보기 대시보드

의존성 0개, 단일 파일. 팀에는 실행 파일 하나만 전달한다.Node.js의존성 0단일 실행 파일
LP Platform사내 서비스

LP Platform

설정 JSON으로 레이아웃을 그리던 엔진을 폐기하고, 섹션 컴포넌트로 되돌렸다.ReactTypeScript디자인 토큰에디터 UI
Publishing외부 서비스

그 외 다수 광고주 퍼블리싱

캠페인 랜딩·보험 상품 페이지·기업 사이트를 시안 그대로 퍼블리싱하고 배포까지 맡았습니다.AIA생명PASS (통신 3사)웰컴금융쏙쏙컴퍼니엠플랜잇

  1. 2026.01 – 재직 중

    (주)엠플랜잇현재

    프론트엔드 개발자

    서비스·어드민·캠페인 랜딩·사내 도구까지 14개 프로젝트를 프론트엔드 전담으로 맡아 운영까지 끌고 갔습니다. 아래 '주요 작업'이 이 기간의 기록입니다.

    • 페이지 전송량 20.30MB → 1.54MB (−92%) · CLS 0.546 → 0.000
    • Astro → Next.js 마이그레이션, 웹폰트 796KB → 149KB
    • 사내 대시보드 Lighthouse 100 / 전송량 1,782KB → 246KB
  2. 2025.01 – 2025.12

    열매컴퍼니

    프론트엔드 개발자

    미술품 조각투자 플랫폼과 경매 데이터 분석 대시보드를 담당했습니다. React Profiler·Lighthouse CLI·Puppeteer로 병목을 먼저 재고 고치는 방식을 이때 굳혔습니다.

    • 회원 리스트 초기 렌더링 5,699ms → 렌더링 비용 92.7% 개선
    • 반응형 디자인 시스템 구축으로 모바일 이탈률 18% → 9%
    • 커서 기반 하이브리드 페이징 도입 — API 응답 시간 최대 66% 단축
    • 배너 관리 기능 — 청약 신청률 169.63% 증가 · 교체 시간 2시간 → 5분
    • 동일 CI 계정 식별 UI 개선 — 계정 혼동 CS 문의 99% 감소
    • 청약 캘린더 실시간 연동 — GA 기준 트래픽 85% 증가
  3. 2023.10 – 2024.12

    엠쓰리모바일

    프론트엔드 개발자 (대리)

    Android 단말기 설정 배포·중앙 관리 솔루션을 1인 개발로 맡았습니다. 화면부터 배포 파이프라인까지 혼자 돌리는 경험을 여기서 쌓았습니다.

    • 1,000건 이상 로그 데이터 대시보드 성능 최적화·시각화
    • JSON 표준화 + QR 배포 솔루션 — GA 기준 트래픽 69% 증가
    • GitHub Actions + NginX 무중단 CI/CD 직접 구축, 활성 사용자 455명 무오류 처리
    • 웹 매뉴얼 다국어(i18n) 관리 시스템 · 검색 기능 구현
  4. 2023.07 – 2023.10

    에루샤

    개발자

    인증·결제 모듈과 운영 프로세스를 구현했습니다. PASS·IPIN 인증과 결제 연동, 쿠폰·등급 자동화를 담당했습니다.

  5. 2021.04 – 2023.06

    지혜로운세상

    개발자

    통신사 메시지·모바일 상품권 서비스와 가상자산 세금 계산 서비스를 만들었습니다. 프론트 구현과 함께 Node.js 자동화·Redis 인증까지 풀스택으로 다뤘습니다.

    • RCS 리치 미디어 입력·미리보기 UI/UX 구현
    • node-cron 외부 API 연동 자동화 + 429 예외 처리
    • Redis 기반 이메일 인증 로그인 — 보안·성능 개선
  6. 2018.03 – 2020.04

    테크노프로 디자인 (일본 고베)

    품질

    개발로 전향하기 전, 일본에서 품질 업무를 담당했습니다.

성능을 말하는 포트폴리오는 자기 수치부터 내놓아야 합니다.

본문 서체는 Pretendard 두 벌뿐이고, 원본 1,536KB를 실제로 쓰인 731자만 남겨 125KB로 줄였습니다. 첫 화면의 “Hello!”에 쓴 디스플레이 서체도 그 여섯 글자만 남겨 15.6KB → 1.1KB입니다(서브셋 스크립트는 저장소에 함께 뒀습니다). 장식은 전부 CSS이고, 이미지는 프로젝트 카드에 실린 각 서비스의 og:image 뿐입니다. JS 155KB 중 직접 쓴 건 82줄뿐입니다 — 등장 애니메이션 관찰자, 뒤로가기 버튼, 상세 팝업 셋입니다. 나머지는 전부 Next 런타임 몫이고, 프레임워크를 고른 비용이라 숨기지 않고 적어 둡니다.

측정 조건 — next build → next start · brotli · 첫 방문(캐시 없음) · 1440×1000 · 2026-09-14

첫 화면 전송량
298KB
HTML 12.1 · CSS 5.0 · JS 155 · 폰트 126 · 카드 이미지는 지연 로드
웹폰트
125.6KB
Pretendard 2벌 + 인사말용 1벌 · 원본 1,536KB에서 −91.8%
JavaScript
155KB
직접 쓴 건 82줄(진입 감지 · 뒤로가기 · 상세 팝업) · 나머지는 Next 런타임
CSS
5.0KB
파일 1개 · 장식은 전부 CSS
CLS
0
카드 이미지에 크기를 박아 자리를 먼저 잡는다
클라이언트 컴포넌트
3개
등장 관찰자 · 뒤로가기 · 상세 팝업 · 나머지는 서버 렌더