석지인
사용자 중심의 경험과 사고로, 가장 큰 임팩트를 만드는 데 집중합니다.
소개ABOUT
QA·CX를 거쳐 온 프론트엔드·풀스택 개발자 · 총 경력 3년 7개월 · 개발 2년 차. JavaScript·TypeScript로 Next.js·React를 다루며 스타트업 MVP와 이커머스를 빠르게 만듭니다. 정산 같은 도메인 정책을 설계하고 핵심 화면을 구현·운영했고, 빌드·검증 파이프라인을 손봐 콜드 빌드를 53% 단축했습니다. QA(ISTQB·CSTS) 출신이라 품질을 코드와 절차로 챙깁니다.
의도한 가치를 사용자에게 그대로 전하려고 에러 처리, 일관된 인터페이스, 요구사항 분석, 개발 환경에 공을 들입니다.
포트폴리오 사이트 usejiin.link를 꼭 확인해 주세요. 경력·프로젝트·교육을 생성형 AI 주요 출시 연표와 나란히 놓은 타임라인으로 정리했고, 프로젝트마다 실행 화면과 발표 슬라이드를 바로 볼 수 있습니다.
핵심 역량STRENGTHS
추천REFERENCES
- “주어진 업무 범위에 머무르지 않고, 팀과 프로젝트에서 비어 있는 부분을 스스로 찾아 메우는 적극성.” (홍순상 · 도스트11 CTO · 석지인을 직접 채용)
- “세심함과 꼼꼼함, 그리고 고민을 고민으로 끝내지 않고 항상 실행으로 옮기는 모습. 항상 발전할 것임을 믿어 의심치 않습니다.” (송찬영 · 핏투게더 함께 일한 동료 · 현 프론트엔드 리드)
프로젝트PROJECTS
직접 만들거나 주도한 프로젝트들입니다. GitHub github.com/JiinSeok. (코드·문서·npm 레지스트리로 확인하실 수 있습니다.)
formkit-react npm 배포
- 공통 모듈·디자인 토큰·일관성을 라이브러리로 정리해 배포: Compound Component 패턴으로 조합 가능한 API를 만들고, 타입 안전성(Zod)·접근성(ARIA)·스타일(Tailwind)을 한 패키지로 정리했습니다.
- 릴리스 과정 직접 운영: Vite로 ESM/CJS/타입선언을 출력하고, GitHub Actions로 검증한 뒤 npm에 배포했습니다.
bodycodi JSP 레거시 공존 설계 채용 과제
- 레거시 공존 설계: 과제 너머로 대상 서비스(2016년부터의 JSP 레거시, 130만 사용자·결제)를 조사해 공존 제약을 추정하고 점진적 통합으로 설계, tw- prefix 전략과 컨벤션 문서로 CSS 클래스 충돌을 예방했습니다.
- 운영 안정성·성능: 예측 가능한 에러(400·422 로깅)와 불가능한 에러(5xx·네트워크 모니터링)를 구분하는 정책을 세우고, 50개 임계 조건부 가상화로 7,000개 데이터에서도 부드러운 스크롤을 확인했습니다. 데이터 크기·네트워크 지연 시뮬레이션 테스트 패널로 심사자가 직접 검증하게 했습니다.
albaform: 알바 구인구직 플랫폼 팀 협업
- 렌더링·권한 경계 설계: 사용자 상태 6종(로그인 여부/사장님·지원자/작성·지원)에 따라 UI와 권한을 분기하고, 비인가 영역을 ProtectedContent·withAuth HOC로 분리, 페이지를 서버 컴포넌트로 전환해 속도를 개선했습니다.
- 검색 노출과 인터랙션 분리: 루트를 서버 컴포넌트로 유지하며 클라이언트 전역 설정(ClientSideSetup)을 분리해 SSR을 지켜 Google Lighthouse SEO 100을 달성했고, Compound Form 컴포넌트에 useFormContext로 react-hook-form을 사전 적용해 폼 설계·상태를 통일했습니다.
- 팀 협업 컨벤션: 회의 전 논의를 GitHub Discussions에 선기록해 회의 시간을 줄이고, Linear History·커밋-이슈 링크 컨벤션으로 히스토리 충돌을 줄이고 추적성을 높였습니다.
오픈마인드: 익명 질문 서비스 (ask.fm류) 팀 협업
- 무한 스크롤 안정화: IntersectionObserver와 isHydrated 가드로 구현해, 렌더링 시점 의존으로 생기던 중복·누락 API 요청을 없앴습니다.
TappyType: 네이티브 iOS 앱 iOS · App Store 출시
- 앱·서버 경계 설계: 생성 모델을 바꿔도 앱 코드를 고치지 않도록 앱과 서버를 REST 계약으로 분리하고 프로토콜로 경계를 두었습니다.
- 네이티브 레이어 + 생성형 AI: 순수 Swift로 TrueType 폰트 writer를 직접 구현했고, few-shot 손글씨 폰트 생성 파이프라인을 구성했습니다.
- 출시 후 단독 운영: 멀티프로젝트(1.1), 공책 입력·세로 전용·펜 프리셋(1.5) 등 릴리스를 이어가고, 영문 현지화도 전수 점검했습니다.
- 제품을 끝까지, 브랜딩·마케팅까지: 직접 브랜딩하고 인스타그램으로 마케팅을 진행하며, 기획·개발·디자인·마케팅을 혼자 끌고 가고 있습니다.
포트폴리오 사이트 단독
- 검증된 도구로 코드 스타일을 통일하고, 공통 컴포넌트와 자동화로 유지보수하기 쉽게 정리했습니다.
- 이력서 단일 소스 오브 트루스: 이 이력서(HTML·PDF)를 같은 저장소에서 관리합니다. 날짜·수치를 단일 팩트 저장소에 두고 명령 한 번으로 재생성하며, 사이트와 어긋나면 테스트가 실패합니다.
경력EXPERIENCE · 총 3년 7개월
개발은 도스트11(풀스택)·체인시프트(프론트엔드)에서 했고, SQA(핏투게더·물류대장)와 자료 관리(연합뉴스) 경험은 품질과 일관성, 사용자 관점이라는 지금의 강점으로 이어졌습니다.
도프켓: 디지털 에셋 이커머스 풀스택 (Ruby on Rails, React, TailwindCSS, Docker, MySQL)
- 이벤트 협업 기능, 제안부터 채택까지 주도: 회의에서 직접 제안하고 디자이너·PM·대표 협업을 조율해 포토부스 프로토타입을 3일 만에 완성, 프레임 매칭·워터마크 합성까지 정식 부가기능으로 채택됐습니다(이후 타 고객사 세일즈 자산으로 활용).
- 한국 시장 신규 화면: 전 페이지 로컬라이제이션·브랜딩 교체와 상품 대시보드·블로그 어드민·결제 UX·셀러·멤버십 페이지 커스터마이징 데모를 개발했습니다.
- 한국형 월간 정산, 설계 주도 + 핵심 화면 직접 구현: 외산 결제 엔진 위에 매월 마감·스냅샷·멱등성·민감정보 경계 등 정산 정책 전반을 설계해 30건 티켓으로 정의하고(설계 본인 · 구현 팀 협업), 정산 페이지·정산 설정 UI·최소 정산금 화면을 직접 구현했습니다. (케이스 스터디)
- B2B·운영: 첫 B2B 고객사 온보딩을 리드하며 요구사항 도출을 주도했고, CRM 유저 테이블과 Grafana 일일 운영지표 대시보드(내부 사용자 제외)를 구축·관리했습니다. 에셋 캐시 권한 오류로 인한 SSR 500 프로덕션 장애도 진단·수정했습니다.
- 개발 속도·검증 재구성: 타입체크 비동기화와 dev SSR 빌드 분리로 콜드 빌드 18.0초 → 8.3초(53% 단축) · dev 기동 14.1초 → 10.0초(29% 단축)을 만들고, 그 보완으로 pre-commit 타입체크 · pre-push SSR 빌드 · CI Playwright SSR 스모크 테스트의 단계별 검증을 추가했습니다.
방송용 CG AI 합성 도구: Gradio UI/UX 재설계 (Python, Gradio)
- ML 연구원들과 한 저장소에서 협업하며, 도구 이름 기준 영문 탭(에셋·트래킹·합성)을 실제 작업 순서인 워크플로우 3단계 탭(1.마스크 → 2.에셋 → 3.합성)으로 재구성하고, '원본 영상 + 마스크 영상 + 에셋 = 합성 결과' 썸네일 타임라인 헤더를 신설했습니다. 산출물이 다음 단계 어디에 쓰이는지 화면이 직접 안내합니다.
- 표시 라벨과 내부 키를 분리한 뒤 UI 용어를 통일·한국어화하고, 백엔드 파일 50여 개에 흩어진 사용자 노출 에러 메시지를 전부 찾아 같은 기준으로 통일했습니다. 사내 유저 인터뷰를 진행하고 개발팀-CG팀 용어표를 만들었습니다.
- 방송용 대용량(5GB) 영상 업로드·타임아웃을 조정하고, 파일 탐색기 체크박스 미표시·폰트 로드 실패 등 워크플로우를 막던 버그를 해결했습니다.
기업 랜딩 most267.co.kr: Notion 연동 재구축 (Next.js, GitHub Actions)
- 정적 HTML → Next.js 전면 재구축: 손으로 직접 수정하던 사이트를 Next.js로 재구축하고 GitHub Pages 정적 배포 CI/CD와 SEO(sitemap·robots)를 구축했습니다.
- Notion CMS 연동: Notion DB 5종(팀·작품·보도·영상·설정)을 연동해 비개발자가 콘텐츠를 직접 관리하게 했습니다. select 속성 순서, R&R 컬럼 등 Notion 스키마가 카테고리 정렬·본부별 탭 UI에 그대로 반영됩니다.
- 만료 URL 빌드타임 변환: 한 시간마다 만료되는 Notion 파일 URL 문제를, 빌드 시점에 자료를 내려받아 WebP/WebM으로 변환하는 파이프라인으로 해결했습니다. Notion 장애 시에는 캐시로 빌드를 이어갑니다.
- CLS 방지: img 태그를 next/image로 전환하고 이미지 치수를 추출·고정해 레이아웃 시프트(CLS)를 방지했습니다.
- 재구축·최적화 효과(실측): 개편 전(정적 HTML) 대비 Lighthouse(desktop) 성능 84→91 · 접근성 83→96 · 모범사례 92→100, LCP 2.8초 → 1.5초(약 46% 단축)를 확인했습니다.
- 영업 시연 → 첫 계약 기여: 직접 개발한 B2B 데모 MVP가 영업 미팅 시연 자료로 활용되어, 회사의 첫 계약 체결에 기여했습니다.
- 대시보드 MVP: D3.js·Recharts로 버블/트리맵 차트를 포함한 대시보드를 개발하고, Claude Code로 대시보드 3페이지를 7일 내 완성했습니다.
- 리팩토링·공통화: 백엔드 MVP 코드를 인계받아 API route 15개를 단일 프록시로 대체하고, React Hook Form 유효성 내장 공통 Form 컴포넌트를 일괄 적용, TanStack Query 범용 에러 핸들러와 middleware·NextAuth 접근 제한을 통일했습니다.
- QA TF로 스펙·지원 사양(OS·해상도)을 정의해 디버깅 범위를 규정하고, 전용 장비로 테스트 벤치를 마련해 디버깅 리소스를 줄였습니다.
- 자사 HW 데이터 분석 모듈·실시간 대시보드 iPad 앱을 테스트하고 현장 Operation 테스트·보고서를 작성, 10인 이상 개발자와 협업했습니다.
- 이슈 트래킹·문서화: 5개 프로덕트별 맞춤형 Jira 프로젝트를 제작·운영하고, 방치된 기술 문서를 위키로 정리해 개발자 온보딩에 기여했습니다.
- 입력 컴포넌트 통합 디자인 시스템 구축: 상태별 디자인 시스템과 UI 통일로 입력 오류와 문의를 줄였습니다.
- 유비쿼터스 사전 제작: 전 직군 용어를 통일해 전사 커뮤니케이션 비용을 줄이고 온보딩을 개선했습니다.
- 이슈 트래커 도입·B2B 온보딩: 이슈/버그 트래커를 도입해 개발 진행 상태를 시각화하고, B2B 고객사(CJ대한통운 등 3사) 온보딩 지원·개발 협의(지도 커스텀용 외부 API 교체·DB 연동 등), End-User 베타 테스트와 현장 인터뷰로 이슈를 발굴했습니다.
- 데이터 기반 품질·CX: Web·Android/iOS를 TestFlight·Expo로 베타 배포하고, 물류 데이터 QA·사용량 분석을 의사결정에 활용, FAQ·매뉴얼 사이트를 제작했습니다.
- 동의 절차 간편화: 카카오톡·문자·팩스 등 제공자에게 친숙한 채널을 늘리고 레이아웃을 개선해 응답 양식을 1페이지로 줄여(수발신 중 페이지 누락 문제 해결, 50% 단축), 본인 동의 프로필 제공률을 30% 높였습니다.