송재욱 (Frontend Developer)

문제의 '왜'를 추적, 본질을 명확히 규명하는 개발자입니다.
복잡한 요구사항 속에서 진짜 문제를 재정의하고, 가장 단순하고 비용 효율적인 솔루션을 도출합니다.

Contact.

Career.

스타트업팀

Frontend Developer

光탈페 플랫폼 2025. 02 ~ 2025. 10

교육청과 광주고등학생의회가 주도하는 오디션 프로그램 공식 플랫폼. [1] 예매 기능에 그치지 않고 프로그램 소개, 슬로건 공모, 참여 신청, 실시간 투표까지 통합 제공하는 플랫폼으로 확장 개발. 1,000만+원의 외주 입찰 비용을 절감. 행사 당일 DAU 3,000+명, [2]

  • 자체 Auth 로직 구현
  • 실시간 좌석 예매 기능(SSE) 구현, 계정별 예매 여부에 따라 동적 라우팅 적용
  • next.js Metadata API로 OG/keywords 설정, next-sitemap prebuild 자동화 → 주요 검색엔진 최상단 노출
  • SSG + 섹션별 Lazy Loading, 히어로 섹션 priority preload → Lighthouse FCP·LCP·SI 각 약 60% 개선 [3]
  • useMemo 의존성에 불변 객체 queryClient를 넣어 UI가 갱신되지 않던 문제를, useQueries로 전환해 SSE 수신 즉시 좌석 점유율 실시간 반영 [4]
EXPO 2024. 10 ~ 현재

광주광역시교육청 수주 프로젝트. 사전 신청·QR 현장 인증·만족도 조사·Excel 자동 정리를 통합 제공. 기존 외주 입찰 비용 2,000만+원 절감, 3만+명 운영. [5]

  • 동적 폼 스키마/타입 고도화 및 API payload/데이터 변환 로직 구현
  • 요청 데이터 기반 QR 정보 주입, 토큰 유무 등 현장 예외 케이스 대응
  • 렌더링 시점마다 반복 실행되던 JSON.parse()를 Zod Schema 기반 Wrapper Layer로 이동 → JSON.parse() 1회로 감소, White Screen of Death 위험 차단 [6]
  • 질문 제목 기반 slugify ID → UUID 기반으로 교체하여 데이터 무결성 확보
시민화폐 광산 2025. 04 ~ 현재

광주광역시 광산구 외주 프로젝트. 지역 내 가상 화폐 '광산'을 활용한 서비스·물품 거래 플랫폼. iOS 파트 개발자가 갑작스럽게 이탈하는 상황에서 [7] React Native로 공백을 메우고 App Store 릴리즈까지 진행.

  • 모바일앱: 거래 게시글 및 채팅으로 물건/서비스를 교환할 수 있는 MVP 플로우 구현
  • 웹(어드민): 가입 승인, 신고 처리, '광산' 지급·회수 운영 기능 개발 및 운영
  • Zustand Persistent Queue 도입 + 낙관적 업데이트 → WebSocket 메시지 유실률 1% 이내로 감소 [8]
  • 슬라이더 드래그 중 바텀시트 깜빡임 해결: 드래그 중 로컬 상태만 사용, 완료 버튼 시 부모 상태 업데이트 [9]
  • 개발 기간 데일리 스크럼 주최, 팀 전원 목표 공유 및 이슈 파악 체계화

GOGO팀

Frontend Developer

GOGO 2025. 03 ~ 2025. 05

전국 중·고등학교 대상 스포츠 행사 플랫폼. 수기 신청서와 디스코드 의존도를 없애고, 팀 신청·동적 대진표·일정 관리·승부 예측을 통합. [10] 본교 체육대회 DAU 300+명, GA 기준 누적 이벤트 17만+건. [11]

  • 대회 운영 MVP 플로우(스테이지/대진표/팀/매치) 설계·구현
  • DnD 기반 동적 대진표(Bracket) 기능 구현 및 팀 수/턴 등 edge case 대응
  • 커뮤니티 이미지 첨부/조회수 표시 구현, 댓글 입력/정렬/반응형 등 UX 개선
  • onDragEnd가 stale state를 zustand에 저장하던 문제를, CustomEvent API 이벤트 버스 + gameId별 독립 관리로 해결 → 드래그 즉시 상태 반영 [12]
  • overflow:hidden 컨테이너가 드래그 요소를 클리핑하는 문제를, React createPortal로 document.body에 렌더링하여 해결

Experience.

cross-framework 경량 스크롤 라이브러리 Scrolloop 개발 및 운영

  • Windowing 기법 VirtualList + InfiniteList 제공, React와 React Native 동시 지원
  • 약 45kb, 디펜던시 0개로 구현, 누적 다운로드 2,000+건 [13]

교내 디스코드 편의성 봇 JEE6 개발 및 운영

  • 급식 조회, 자습 신청 리마인드, 미니게임 등. Python + MariaDB, Docker + CloudType 릴리즈
  • In-memory 캐싱으로 응답 시간 최적화. 40+개 서버 도입, DAU 100+명

오픈소스 기여

  • typescript-eslint: no-floating-promises의 allowForKnownSafeCalls 옵션이 함수 이름을 올바르게 인식하지 못하는 버그 수정 #11430
  • TanStack/query: eslint-plugin-query를 TS 없는 환경에서도 사용하도록 TypeScript를 optional peer dependency로 선언 #10007
  • fast_float: double/float 파싱 edge case 검증 unit 테스트 추가 #366
  • NestJS: SSE, 캐시, swagger 관련 unit 및 e2e 테스트 추가 #16410 #16409 #16406

제7·8대 전교학생부회장

  • 2년 연속 부회장으로 선출, 학생회와 학교 전체 리드
  • 매주 교장·교감 선생님과의 정기 회의를 통해 학교 주요 현안 논의

웹 개발 전공 동아리 INCUBE 창단

  • 교내 웹 개발 전공 동아리 INCUBE를 직접 창단, 교내 최대 규모로 성장
  • 후배 양성을 핵심 가치로 운영 중

Skills.

Education.

학력

  • 광주소프트웨어마이스터고등학교 (2024. 03. ~ 2027. 01. 졸업예정)

자격·성적

  • TOPCIT 수준 3 (512점) | 2025. 05.
  • 정보처리산업기사 | 2025. 12.
  • TOEIC 785점 (LC 445, RC 340) | 2026. 01.

수상

  • 제2회 GSM Dev Fest 2위, 3위 입상 (2025)
  • 제10회 HIGHTON 장려상 (2025)
  • GSM 역량인증대회 3위 (2025)
  • 2024 SW 동행 해커톤 장려상
  • 2024 SW 동행 데모데이 장려상
  • 제10회 빛가람 에너지밸리 SW 작품 경진대회 장려상 (2024)
  • GSM 아이디어 페스티벌 3위 (2024)
  • GSM 역량인증대회 3위 (2024)

더 다양한 경험을 자세히 담았습니다.

포트폴리오 보러가기