반갑습니다,
저는 김상우입니다.

실패를 전제로 재시도·동시성 같은 서버의 경계를 설계하고, 프론트엔드와 배포까지 함께 보는 풀스택 개발자입니다. 단순히 동작하는 코드를 넘어서 '왜 이런 문제가 발생했을까?', '왜 이렇게 구현했을까?'를 끊임없이 고민하며, 다른 대안은 없는지 찾고 더 나은 방향으로 개선해 나아가는 것을 중요하게 생각합니다.

Projects.

코드잇 부트캠프.

클라우드 기반 풀스택 엔지니어 2026. 02 - 2026. 08

무빙.

Part 4 팀 프로젝트 · FE·BE · 견적요청·알림 담당
Description.

이사 견적 요청·매칭, 실시간 채팅, 리뷰·커뮤니티, 관리자 운영을 다루는 이사 견적 매칭 서비스입니다. 견적요청과 실시간 알림을 맡았습니다.

What did I do.
  • fetch·ReadableStream 기반 SSE 알림 클라이언트 구현 (헤더 인증 유지)
  • 토큰 재발급·재연결·유실분 캐치업을 단일 수명주기로 설계, 단위 테스트로 고정
  • NotificationOutbox 큐 + node-cron 워커로 대량 알림 fan-out 분리
  • 원자적 claim·커서 청크·재시도 상한 설계로 중복 실행·부분 실패 대응
  • GitHub Actions·PM2 배포 파이프라인 구성 (팀 공통)
Result.

제출 응답이 대량 알림 발송에서 분리됐고, 워커가 재시작하거나 중간에 실패해도 커서와 시도 횟수 기준으로 이어서 재개됩니다. 토큰 만료와 네트워크 순단은 사용자 개입 없이 복구됩니다.

Tech Stack.

Next.js, Express, Prisma, PostgreSQL, node-cron, zod, GitHub Actions, PM2

라이브 데모

공부의 숲.

Part 2 팀 프로젝트 · FE·BE · 스터디 상세·최근 조회 담당
Description.

스터디 개설·상세, 오늘의 습관 토글, 집중 타이머를 제공하는 학습 관리 서비스입니다. 스터디 상세·목록, 최근 조회, 응원 이모지를 맡았습니다.

What did I do.
  • 최근 조회 스터디를 id만 저장, 홈 진입 시 서버 최신값 조회로 전환
  • findMany({ id: { in } }) 단일 쿼리로 변경, 순서 재구성·삭제분 필터 처리
  • 빈 입력 방어를 FE·BE 양쪽에 적용
Result.

최근 목록이 조회 시점의 서버 값으로 표시되고, id 개수와 무관하게 쿼리 1회로 처리됩니다. 일부 스터디가 삭제돼도 나머지는 정상 응답합니다.

Tech Stack.

React, Vite, Express, Prisma

라이브 데모

최애의 포토.

Part 3 팀 프로젝트 · Frontend · 마이갤러리·포토카드 생성 담당
Description.

아이돌·스타·일러스트 디지털 포토카드를 사고팔고 교환하는 컬렉션 플랫폼입니다. 마이갤러리와 포토카드 생성을 맡았습니다.

What did I do.
  • 필터 상태 콜로케이션으로 리렌더 범위를 목록 영역으로 한정
  • isLoading·isFetching 분리로 재조회 중 필터 UI 마운트 유지
  • 월 생성 횟수 제한을 me 응답 기준 3단계 게이팅으로 설계
  • ERROR_HANDLER 테이블로 에러 처리 중앙화, 캐시 무효화 누락 수정
Result.

필터 변경 시 리렌더가 목록 영역으로 한정되고 필터 UI의 상태가 유지됩니다. 잔여 횟수가 두 화면에서 일치하며 생성 직후 새로고침 없이 갱신됩니다.

Tech Stack.

Next.js, TanStack Query, Tailwind CSS

라이브 데모

Work Experience.

꼴크리에이티브.

과장 2017. 02 - 2026. 01

비대면 진료 이커머스 플랫폼.

PM 겸 개발
Description.

한의원·대행사·자사 3사와 외주 개발사가 참여한 비대면 진료 이커머스 플랫폼에 기획 단계부터 참여했습니다.

What did I do.
  • 3사·외주와 요구사항 우선순위 조율, 오픈 일정 납품
  • PHP·cURL로 ORCA 데이터를 채널톡에 동기화 (PATCH → PUT 전환)
  • 3PL 엑셀 업로드 커스터마이징으로 대량 송장 등록 일괄 처리
Tech Stack.

PHP, cURL, 채널톡 Open API, 그누보드5·영카트5

그누보드 재정보고 자동화.

유지보수 개선
Description.

매년 수작업으로 반복하던 재정보고 페이지 갱신 업무를 구조부터 다시 설계했습니다.

What did I do.
  • 계산·렌더링을 서버 공통 함수로 분리하는 데이터·표현 분리 구조로 재설계
  • 정합성 불일치 확인 절차 수립 (계산값 대조 후 반영)
Result.

연도별 페이지 코드가 표 마크업 포함 수백 줄에서 데이터 배열 수십 줄로 줄었고, 작업 시간은 20~30분에서 10분 이내로 단축됐습니다.

Tech Stack.

PHP, 그누보드5

Education.

코드잇 부트캠프.

클라우드 기반 풀스택 엔지니어 2026. 02 - 2026. 08

Part 1 미니 프로젝트부터 Part 4 팀 프로젝트까지 수행했습니다. (Part 2 공부의 숲, Part 3 최애의 포토, Part 4 무빙)

수원과학대학교.

정보통신학과 2008. 03 - 2013. 02

전문학사

Skills.

Language.

TypeScript, Node.js

Frontend.

React, Next.js, TanStack Query

Backend.

Express, Prisma, PostgreSQL

Infra · 기타.

SSE·Web Streams, node-cron, zod, GitHub Actions, PM2

Contact.