profile

안녕하세요,
피드백 받는 것을 좋아하는
프론트엔드 개발자 이한빈입니다.

주어진 역할에 머무르지 않고, 성과로 증명합니다.
  • 기업교육 랜딩페이지 이터레이션 프로젝트에 참여해 기업교육 문의 전환율을 +57% 개선에 기여했습니다.
  • 검색 페이지가 중복 운영되고 있던 문제를 발견해, 페이지 통합을 먼저 팀에 제안한 후 정렬 · 예외처리 로직까지 직접 구현해 검색 기능 사용성을 개선했습니다.
  • 백엔드 인력 투입이 어려웠던 상황에서, 프론트로 참여했지만 백엔드까지 스스로 학습 후 직접 구현해 예상 인력계획 대비 약 33% 절감(4.5M/M → 3M/M)을 이끌어냈습니다.

 

함께일 때 더 성장한다고 믿습니다.
  • 4명이 참여한 자바스크립트 스터디를 5개월간 리드해 900페이지 교재를 이탈자 없이 완주했고, 총 7회 발표를 직접 진행했습니다.

  • 2년간 약 50개 이상의 개발자 관련 동아리, 컨퍼런스, 행사 등에 꾸준히 참여하여 서로에게 인사이트를 공유하는 것을 즐깁니다.  

    🔗 참여행사 목록

Work Experience.

(주)인지소프트

(주)인지소프트

개발팀Web Developer2025. 01 - now

1. 유진투자증권 AI OCR 검수 백오피스 구축

React Vite Tailwind CSS Spring Boot

월 1,500건 이상의 3개의 업무별 증권사 문서를 AI OCR로 인식한 후 담당자가 검토 및 수정할 수 있는 백오피스 프로젝트입니다.

상태 동기화 로직을 파생 상태(Derived State) 구조로 재설계했습니다.

  • 필터 7종 · 정렬 3단 · 페이징이 반영된 목록 리스트와 원본 데이터가 각각 별도의 상태로 관리되어 조건이 바뀔 때마다 리스트를 재계산해 동기화해줘야 했던 문제
    • 조건이 늘수록 동기화 누락 지점 증가 가능성
    • 정렬만 바뀌고 리스트는 stale 상태로 남는 등 치명적인 문서 누락으로 이어질 수 있었던 휴먼 에러 발생 가능성 존재
  • 원본 데이터만 단일 상태로 유지하고, 필터 · 정렬 · 페이징 리스트는 원본과 현재 조건값으로부터 매번 재계산되는 파생 상태(useMemo)로 전환 → 동기화 필요성 자체가 사라져 갱신 누락 버그 발생율 0% 달성

3종 업무 화면을 공통 컴포넌트 구조로 재설계해 확장성을 확보했습니다.

  • 업무 3종의 공통 로직이 중복되고 업무별로 필요한 컬럼 · 조건 · 필드 구조가 모두 달라 공통 부분 수정 시 세 곳을 전부 각각 수정해야 하는 비효율 발생
  • 공통 로직과 업무별 차이를 관심사 분리 원칙에 따라 나누고, 업무 코드를 키로 런타임에 분기하는 매핑 구조로 설계 → 업무 추가 시 상위 구조 변경 없이 폴더 단위로 확장 가능한 구조 확보

프론트를 넘어 일부 백엔드 API 설계·구현까지 스스로 학습하며 공수를 줄였습니다.

  • API 10종을 직접 설계 및 구현해 별도 백엔드 인력 투입 없이 진행 → 프로젝트 인력 공수 4.5M/M → 3M/M 절감
  • 업무별로 저장 엔드포인트는 각각 존재했지만 저장 단위가 모두 동일함 확인
    • 엔드포인트는 업무별 로그·모니터링 추적성을 위해 유지하고 실제 처리 로직만 하나로 통합해 로직 중복에 따른 변경 누락 위험 제거
  • 수정된 값을 원본값으로 초기화해도 "수정됨" 표시가 그대로 남아있는 문제 발생
    • 원본값과 현재값을 비교해 수정 여부를 판단하는 구조였는데 값이 DB에 암호화되어 저장돼 프론트에 복호화 키가 없어 두 값을 직접 비교할 방법이 없는 구조 → 수정 여부 판단 로직을 복호화 가능한 서버로 일원화(Single Source of Truth)해 프론트는 서버 판정 결과만으로 초기화 버튼을 제어하도록 개선

 

2. 공공기관 내부 이미지 관리 시스템 고도화

Internet Explorer(ActiveX) 기반의 레거시 시스템을 크로미움 기반 네이버 웨일 브라우저 환경으로 전환한 프로젝트입니다.

레거시 기술을 표준 웹 기술로 전환해 고객사 내부 업무 효율을 높였습니다.

  • IE 전용 ActiveX 기반으로 동작하던 iframe · DOM · 이벤트 처리 로직을 표준 Web API로 재구현해 크로스 브라우저 호환성 확보
  • 비반응형 · 레거시 기반이던 주요 화면 20~30종을 반응형 레이아웃으로 재설계

중복 렌더링으로 발생하던 플리커링을 제거했습니다.

  • DB 조회 결과를 화면에 그릴 때, 1차 조회 후 렌더링한 뒤 전체 조회가 끝나면 그 결과로 한 번 더 렌더링하는 구조로 인해 중복 렌더링이 발생하며 플리커링(화면 깜빡임) 발생
    • 두 조회를 하나로 합쳐 단일 조회 결과만으로 렌더링하는 구조로 변경해 플리커링 제거

인증 우회로 이어질 수 있던 비정상 접근 경로를 차단했습니다.

  • 권한이 있어야 접근 가능한 시스템이었지만, 팝업 페이지가 GET 요청과 URL 직접 접근만으로 열려 권한이 없는 내부 사용자도 해당 자료에 접근할 수 있는 보안 취약점 발생
    • 요청 방식을 POST로 전환해 URL 노출 최소화
  • POST도 개발자 도구 등에서 임의 재현이 가능해, "정상 호출 절차를 거쳤는지"에 대한 판단은 요청 방식 전환만으로 해결되지 않는 문제
    • 호출 직전 세션에 인증값을 설정하고 진입 시점에 값을 검증 후 즉시 제거하는 세션 기반 검증을 추가해 이중 방어 구조로 보완성 확보
팀스파르타(주)

팀스파르타(주)

B2B팀Web Publisher (인턴)2024. 09 - 2024. 12

1. B2B팀 기업교육 랜딩 페이지 이터레이션

🔗 팀스파르타 B2B 국내 주요 기업을 대상으로 임직원 교육 프로그램을 소개하고,
기업교육 문의 · 신청을 할 수 있는 팀스파르타의 기업 교육 서비스입니다.

Next.js TypeScript styled-components Amplitude

반응형 이슈를 직접 제안하고, 개선 성과를 데이터로 확인했습니다.

  • SSR 기반 랜딩 페이지 퍼블리싱 중, 카드 그리드가 데스크톱/모바일 두 브레이크포인트 외 태블릿에서 깨지는 문제를 발견 → 시안에 없던 중간 브레이크포인트의 레이아웃을 직접 정의해 디자이너에게 제안 및 반영해 태블릿 사이즈에서도 반응형 레이아웃이 안정적으로 동작하도록 개선
  • Amplitude 이벤트 트래킹을 구현해, 랜딩 페이지 이터레이션이 실제 전환 성과로 이어지는지 데이터로 측정
    • 메인 페이지 → 문의 페이지 전환율 +57% (3.3% → 5.2%)
    • 기업교육 도입 문의 제출 전환율 +60% (0.3% → 0.5%, 상대 개선률)

2. 스파르타 커리어 서비스 디자인 시스템 구축

팀스파르타에서 주관하는 부트캠프의 수료생들을 대상으로한 취업 지원 서비스입니다.

Storybook

코드에만 존재하던 컴포넌트 상태 기준을 Storybook으로 문서화했습니다.

  • 공통 컴포넌트의 상태 · 스타일 기준이 코드에만 구현되어 있어, 재사용하거나 특정 상태(hover, disabled 등)를 확인하려면 매번 코드를 직접 읽거나 화면에서 재현해야 하는 비효율 발생
    • 공통 컴포넌트 약 20종을 Storybook으로 문서화해 컴포넌트 단위 디자인 시스템을 구축, 모든 상태를 한 곳에서 확인 · 재사용할 수 있게 되어 개발 생산성과 UI 일관성 향상

Team Project.

디톡스 메이트

디톡스 메이트

2026. 03 - ing
스마트폰 사용량(스크린 타임) 목표를 설정하여, 지인들과 팀을 구성해 함께 디지털 디톡스를 할 수 있는 iOS 앱입니다.
React NativeExpoZustand

소셜 로그인 기반 인증 시스템을 설계·구축했습니다.

  • 로그인과 API 요청 인증 흐름 설계 → 카카오 SDK 연동, 토큰 저장 · 재발급 구조 구현
    • 카카오톡 앱 전환 로그인 지원 · Expo config plugin 제공 · 국내 레퍼런스 등을 고려해 카카오 로그인 SDK는 react-native-kakao-login 선택
    • 토큰 저장은 평문으로 저장되어 보안성이 낮은 AsyncStorage 대신, iOS Keychain 기반으로 암호화 저장되는 expo-secure-store 선택
  • axios 인스턴스에 request · response 인터셉터를 추가해 매 요청에 토큰을 자동 주입하고, 인증 만료 응답 시 토큰 재발급 API를 호출해 원 요청을 재시도하는 흐름 구현
    • 재발급 자체가 실패하는 경우 별도 예외로 분리해 로그아웃 처리하고, 그 외 인증 만료는 인터셉터가 재발급 후 재시도하도록 책임 분리 → 세션이 만료돼도 사용자가 별도로 재로그인하지 않는 이상 서비스 이용이 끊기지 않는 구조 완성

중복 구현된 갱신 로직을 하나로 통합해 낙관적 업데이트와 서버 상태를 일치시켰습니다.

  • 친구의 기록에 남기는 상호작용 기능 중, 일부 기능에서 처리 후에도 설정된 이미지가 아닌 기본 이미지가 그대로 남아 있는 버그 발견
    • 정상 동작하던 기능은 처리 성공 후 데이터를 다시 갱신했지만, 나머지 두 기능의 로직에는 갱신 호출이 빠져 있었음
  • 재사용되고 있지 않던 갱신 로직을 공통 함수로 분리해 세 기능 모두 성공 후 데이터를 갱신하도록 개선
    • 세 기능 모두 성공 후 백엔드 서버의 응답 데이터로 재동기화되는 일관된 패턴 확립 → 남아있던 임시 데이터로 인한 불일치 제거
  • 이를 통해, 성공 후 처리 로직이 기능마다 따로 구현돼 있을 경우 누락 위험성 체감 → 유사 기능 추가 시 처리 로직을 공통 함수로 분리할 수 있는지 검토하는 습관이 생김
2025 OSSCA Next.js 블로그

2025 OSSCA Next.js 블로그

2025. 05 - 2025. 06
2025 오픈소스 컨트리뷰션 아카데미 - [Git 활용 및 Next.js 뽀개기] 교육 기간 동안 팀원들이 작성한 TIL을 모아둔 블로그입니다.
Next.jsReactTypeScriptTailwind CSS

게시글 페이지의 서버/클라이언트 컴포넌트 책임을 분리했습니다.

  • 게시글 페이지에서 데이터 조회(서버 영역)와 화면 렌더링·사용자 상호작용(클라이언트 영역)이 한 컴포넌트에 섞여 있던 문제 → 화면을 그리는 컴포넌트를 별도로 분리해 서버 처리 로직과 브라우저 처리 로직 책임 분리

검색 페이지의 기능 중복을 발견해 게시글 목록 페이지로 통합했습니다.

  • 검색 대상 페이지 중 하나가 외부 댓글 위젯 기반으로 개편되며 검색 기능을 지원할 수 없게 되어 사실상 목록 페이지 하나만 검색이 가능한 상황 → 별도로 검색 페이지를 만들 이유가 없다고 판단해 팀에 제안
    • 별도 검색 페이지를 없애고, 목록 페이지가 URL 쿼리 파라미터로 검색어를 받아 서버에서 바로 필터링하는 방식으로 통합
    • 검색 결과가 많아질 경우를 대비해 정확도순·최신순 정렬 기능과 결과 개수 표시를 추가하고 Not Found 예외 처리를 더해 검색 기능의 사용성 개선

Activities.

DEPROMEET, 디프만 코어 3기

DEPROMEET, 디프만 코어 3기

2026. 08 - ing
- 디프만 멤버와 운영진을 위한 출석, 멤버관리 등의 기능이 있는 코어 서비스 개발
DDD 13기, Frontend

DDD 13기, Frontend

2026. 03 - 2026. 06
- DDD 동아리 13기 웹 프론트엔드로 참여하여 iOS 앱 디톡스 메이트 출시
모던자바스크립트 Deep Dive 스터디

모던자바스크립트 Deep Dive 스터디

2024. 02 - 2024. 08
- 스터디 리드로서 스터디 전반적인 운영을 담당 - 총 4명으로 구성, 5개월간 900페이지 교재 완독
TEOConf 2025, Staff

TEOConf 2025, Staff

2025. 08 - 2025. 12
- 약 200명 규모의 테오콘에 스태프로 참여하여 행사 총괄 운영 및 전반적인 기획 담당 - 참여자 만족도 조사 결과, 재참가 의사 약 98% 달성 (59명 중 58명)
FEConf 2025, Staff

FEConf 2025, Staff

2025. 07 - 2025. 08
- 공식 홈페이지 QA에 참여하여 오탈자 및 내용 검수 - 세션 리허설 및 피드백 참여해 세션 퀄리티 향상에 기여 - 행사 당일 진행 및 운영 보조

Award.

오아시스 특별상 수상

오아시스 특별상 수상

2023. 08. 31
제4회 오아시스 해커톤, 광주정보문화산업진흥원주제 : 호남지역 문제 해결을 위한 서비스 개발 '페이팅' 이라는 반려동물 커뮤니티 프로젝트를 출품하여 수상

Certificates.

정보처리기사

정보처리기사

2024. 09. 10
한국산업인력공단