YEJI.
  • About Me
  • Experience & Projects
  • Posts
  • Resume
GITHUBVELOG
YEJI.

© 2026 YEJI. ALL RIGHTS RESERVED.

  • GITHUB
  • VELOG
SYS.LOG // CONTINUOUS LEARNING_

배우고,기록하고,나아갑니다

FRONTEND DEVELOPER

ABOUT ME

성장의 여정

  1. STEP 01

    CONNECT

    PR 코드리뷰와 데일리 스크럼으로 팀원과 지속적으로 소통하며 업무 품질을 높였습니다. 인턴십 리팩토링 기간에는 PM님과 개선 작업 흐름을 제안해, 총 30개 개선 사항을 모두 완료했습니다.

STEP 01

CONNECT

PR 코드리뷰와 데일리 스크럼으로 팀원과 지속적으로 소통하며 업무 품질을 높였습니다. 인턴십 리팩토링 기간에는 PM님과 개선 작업 흐름을 제안해, 총 30개 개선 사항을 모두 완료했습니다.

프로필 정보

기술 스택

해당 기술 스택에 마우스를 올리면 세부 기술 내용을 확인할 수 있습니다.

Core
  • TypeScript

    복잡하게 중첩된 API 응답에도 명시적 타입을 정의해 타입 안정성을 확보할 수 있습니다.

  • JavaScript

    프레임워크 없이 DOM과 이벤트를 다뤄 폼 유효성 검증, URL 기반 탭 상태 유지 같은 인터랙션을 구현할 수 있습니다.

  • React

    컴포넌트를 재사용 가능한 단위로 나누고, Custom Hook으로 데이터 조회·검증 로직을 분리해 재사용성을 높일 수 있습니다.

  • Next.js

    App Router 기반으로 서버·클라이언트 컴포넌트를 구분해 페이지 구조를 설계하고, Server Action으로 폼 데이터를 처리할 수 있습니다.

  • HTML/CSS

    시맨틱 태그로 문서 구조를 잡고, 키보드·스크린 리더 사용자를 고려한 마크업을 작성할 수 있습니다.

State
  • TanStack Query

    서버 상태를 캐싱하고, 데이터 변경 후 쿼리를 invalidate해 새로고침 없이 화면을 최신 상태로 유지할 수 있습니다.

  • Zustand

    서버에 확정되기 전의 임시 작업 상태를 전역 스토어로 분리해, 서버 상태와 섞이지 않게 관리할 수 있습니다.

Form
  • React-Hook-Form

    회원가입·예문 작성 폼처럼 입력 항목이 많은 폼의 입력 상태와 에러 메시지를 관리할 수 있습니다.

  • Zod

    스키마로 입력값 검증 규칙을 정의하고, React-Hook-Form과 연결해 회원가입·예문 작성 폼을 검증할 수 있습니다.

Backend
  • Supabase

    RLS로 데이터 접근을 제어하고, RPC로 검색 로직을 서버에서 처리하며, @supabase/ssr로 서버·클라이언트 인증 상태를 관리할 수 있습니다.

Styling
  • Tailwind CSS

    유틸리티 클래스만으로 다크 모드 대응 UI와 반응형 레이아웃을 빠르게 구현할 수 있습니다.

Quality
  • Lighthouse

    LCP 등 성능 지표를 측정해 병목을 찾고, 이미지 우선 로딩·폰트 적용 범위 축소로 개선할 수 있습니다.

  • WAVE

    접근성 오류를 검사해 시맨틱 마크업, aria 속성, 대체 텍스트를 보완할 수 있습니다.

AI Tool
  • Claude Code

    설계 문서(claude.md)로 작업 범위와 규칙을 먼저 정의하고, 이를 기반으로 기능을 개발할 수 있습니다.

EXPERIENCE

  1. 2026.07 - 2026.08

    멋쟁이 사자처럼 로켓단 23기 인턴십

    KX 엔터테인먼트 연계 프로젝트로, 영상 업로드 시 AI가 효과음을 추천하고 자막을 생성해주는 영상 편집 프로그램의 프론트엔드 전체 개발을 담당했습니다.

  2. 2025.11 - 2026.05

    멋쟁이 사자처럼 프론트엔드 16기 최우수 수료

    HTML, CSS, JavaScript부터 React, Next.js까지 프론트엔드 핵심 기술을 익혔고, 6개월간 팀 프로젝트 2회를 경험했습니다.

PROJECTS

  • GENOVA 오디오 툴킷

    • Next.js
    • React
    • TypeScript
    • Zustand
    • TanStack Query

    담당 역할: 프론트엔드 전체 - 효과음 생성·자막 생성 페이지

    영상을 업로드 시 AI가 영상과 음성을 분석해 알맞은 효과음을 자동으로 채워 넣고, 음성을 텍스트로 변환해 자막까지 만들어주는 영상 편집 웹 서비스입니다.

    • •서버에 저장된 데이터는 TanStack Query로, 아직 확정되지 않은 임시 작업 상태는 Zustand로 분리 관리해 사용자가 효과음을 여러 번 바꿔 들어봐도 서버 요청 없이 전환되도록 구현
    • •생성부터 다운로드까지 toast로 즉각 피드백을 제공하고, 되돌리기 어려운 동작에는 포커스 트랩이 적용된 확인 모달로 작업 유실 방지
    • •WAVE·Web Developer 확장으로 접근성을 검증해 의미 있는 태그로 마크업을 정리하고, 장식용 아이콘에는 aria-hidden 처리
  • 중단어 창고

    • Next.js
    • React
    • TypeScript
    • Supabase
    • TanStack Query
    • React-Hook-Form
    • Zod

    담당 역할: 개인 프로젝트 - 전체 개발

    중국어 단어를 검색·저장하고, 저장한 단어로 직접 예문을 작성·수정하며 학습할 수 있는 서비스입니다. 모든 사용자를 고려해 단어 검색과 예문 작성을 음성 인식으로도 할 수 있습니다.

    • •Lighthouse로 LCP 병목을 분석해 이미지 fetchPriority/preload·중국어 폰트 적용 범위 축소를 적용, 데스크탑 기준 LCP를 회원가입 5초·메인 0.5초 단축하고 검색 페이지 성능 점수 6점 향상
    • •@supabase/ssr로 서버·클라이언트 인증 상태를 관리하고, Proxy에서 세션을 확인해 인증이 필요한 경로 접근을 제어하며 PASSWORD_RECOVERY 상태로 비밀번호 재설정 흐름 구분
    • •HSK 단어 검색을 Supabase RPC로 처리해 서버에서 관련성 기준으로 정렬 후 필요한 데이터만 전달, 데이터가 늘어도 확장 가능한 검색 구조 구현
  • 행쇼마켓

    • Next.js
    • React
    • TypeScript
    • Supabase
    • TanStack Query

    담당 역할: 마이페이지 - 소비자 주문 내역·찜한 상품, 판매자 상품 등록·상품 관리·상점 주문 관리

    Next.js와 React를 기반으로, 소상공인의 감성 문구 제품을 한 곳에 모아 소비자가 다양한 상점의 상품을 구매 할 수 있도록 구현한 문구류 오픈마켓 사이트입니다.

    • •Navi가 클라이언트에서 늦게 렌더링되며 Footer를 밀어내던 문제를 서버 컴포넌트 전환으로 해결해 CLS를 0.608에서 0으로 개선
    • •배송 상태 변경 후 관련 쿼리를 invalidate해 새로고침 없이 주문 목록에 변경 사항이 바로 반영되도록 구현
    • •Supabase 관계형 조회로 주문·상품 정보를 연동하고, 중첩된 응답 데이터에 타입을 정의해 타입 안정성 확보
    • •Supabase 호출은 API 함수로, 조회·검증 로직은 Custom Hook으로, 상태 변경 로직은 UI와 분리해 재사용성 향상
    • •사용하지 않는 three.js 패키지(약 600KB)를 의존성에서 제거
  • 예매의 정석

    • HTML
    • CSS
    • JavaScript

    담당 역할: 영화표 결제 페이지

    HTML, CSS, JavaScript를 사용하여 영화 선택부터 결제까지 실제 예매 사이트에 필요한 기능을 구현한 사이트입니다.

    • •포인트·카드 할인 폼과 유효성 검증 로직을 구현해 할인 금액을 총 합계에 정확히 반영
    • •필수 정보 없이 결제 페이지 URL로 바로 접근 시 이전 단계로 리디렉션하는 가드 로직 구현
    • •URLSearchParams로 탭 상태를 URL에 저장해 새로고침·뒤로가기에도 활성 탭이 유지되도록 개선
STACK & PHILOSOPHY
REACT•NEXT.JS (APP ROUTER)•TYPESCRIPT•TAILWIND CSS•SUPABASE•WEB PERFORMANCE & CORE VITALS•WEB ACCESSIBILITY•RESPONSIVE UI•REACT•NEXT.JS (APP ROUTER)•TYPESCRIPT•TAILWIND CSS•SUPABASE•WEB PERFORMANCE & CORE VITALS•WEB ACCESSIBILITY•RESPONSIVE UI•

REACT, NEXT.JS (APP ROUTER), TYPESCRIPT, TAILWIND CSS, SUPABASE, WEB PERFORMANCE & CORE VITALS, WEB ACCESSIBILITY, RESPONSIVE UI