송재욱 (Frontend Developer)
문제의 '왜'를 추적, 본질을 명확히 규명하는 개발자입니다.
복잡한 요구사항 속에서 진짜 문제를 재정의하고, 가장 단순하고 비용 효율적인 솔루션을 도출합니다.
Contact.
- s24064@gsm.hs.kr
- 010-7745-5407
- github.com/zaewc
Career.
스타트업팀
Frontend Developer
교육청과 광주고등학생의회가 주도하는 오디션 프로그램 공식 플랫폼. [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]
광주광역시교육청 수주 프로젝트. 사전 신청·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 기반으로 교체하여 데이터 무결성 확보
광주광역시 광산구 외주 프로젝트. 지역 내 가상 화폐 '광산'을 활용한 서비스·물품 거래 플랫폼. iOS 파트 개발자가 갑작스럽게 이탈하는 상황에서 [7] React Native로 공백을 메우고 App Store 릴리즈까지 진행.
- 모바일앱: 거래 게시글 및 채팅으로 물건/서비스를 교환할 수 있는 MVP 플로우 구현
- 웹(어드민): 가입 승인, 신고 처리, '광산' 지급·회수 운영 기능 개발 및 운영
- Zustand Persistent Queue 도입 + 낙관적 업데이트 → WebSocket 메시지 유실률 1% 이내로 감소 [8]
- 슬라이더 드래그 중 바텀시트 깜빡임 해결: 드래그 중 로컬 상태만 사용, 완료 버튼 시 부모 상태 업데이트 [9]
- 개발 기간 데일리 스크럼 주최, 팀 전원 목표 공유 및 이슈 파악 체계화
GOGO팀
Frontend Developer
전국 중·고등학교 대상 스포츠 행사 플랫폼. 수기 신청서와 디스코드 의존도를 없애고, 팀 신청·동적 대진표·일정 관리·승부 예측을 통합. [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.
- Next.js, React, TypeScript
- TanStack Query, Zustand, React Hook Form, Zod
- React Native, Expo
- SSE, WebSocket
- Vercel, Docker, GitHub Actions
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)
더 다양한 경험을 자세히 담았습니다.
포트폴리오 보러가기