개발 회고

[PonsWarp] - wormhole-file-gate는 무엇을 시험한 프로젝트였나

AC 2026. 6. 24. 01:38

PonsWarp를 허공에서 갑자기 튀어나온 프로젝트처럼 쓰고 싶지는 않았습니다.

실제 기록을 보면 그 바로 앞에 아주 짧고 거친 다리가 하나 있습니다. 2025년 4월 30일에 만들어진 wormhole-file-gate입니다.

이 저장소는 오래 버틴 제품은 아니었습니다. 그런데도 무시하기 어렵습니다. PonsWarp에서 본격적으로 붙잡게 되는 질문들을 한 번에 모아 놓은 프로토타입처럼 보이기 때문입니다.

wormhole-file-gate prototype bridge
wormhole-file-gate는 완성품이라기보다, 이전 파일 전송 집착과 PonsWarp 본편 사이에 놓인 짧은 다리에 가까웠습니다.

💡 하루짜리 저장소가 남긴 흔적

💡 wormhole-file-gate는 완성품이라기보다 질문 정리용 프로토타입에 가까웠습니다. 중요한 것은 얼마나 오래 유지됐는지가 아니라, 어떤 질문을 남겼는가였습니다.

공개 기록으로 지금 바로 확인할 수 있는 커밋은 두 개뿐입니다. 2025-04-30 ea7097e Use tech stack vite_react_shadcn_ts, 그리고 같은 날 16cc528 feat: Implement WebTorrent file transfer system입니다.

이 두 줄만 보면 허술하게 느껴질 수도 있습니다. 하지만 PonsWarp 이전의 문맥에 놓고 보면 꽤 또렷합니다. 첫 번째 커밋은 Vite, React, shadcn UI를 고릅니다. 두 번째 커밋은 WebTorrent 파일 전송 시스템, 설계와 아키텍처, 파일 전송 플로우, premium design system까지 한 번에 말합니다.

📐 여기서 제품 문장이 바뀌었습니다

이 시점의 핵심은 “파일을 보낸다”에서 “브라우저끼리 직접 보낸다”로 문제 정의가 바뀌었다는 점입니다. 그리고 이 전환이 곧 signaling, 상태 관리, 대용량 전송, fallback 같은 더 무거운 문제를 끌어들입니다.

filetransfer 시기의 기록을 보면 2022-05-31 ec8cbb6 fist commit 이후 File Transfer Popup 창으로 변경, File Delivery UI 퍼블 수정, title 변경 File Send -> Send a File / File Receive -> Receive a File 같은 메시지가 이어집니다. 이 흐름은 누가 보내고 누가 받는지, 화면이 어떤 문장을 쓰는지에 관심이 많았습니다.

반대로 wormhole-file-gate는 시작부터 WebTorrent, architecture, file transfer flow를 말합니다. 사용자 문장과 시스템 문장이 붙기 시작한 것입니다. 그리고 바로 이 지점이 PonsWarp와 가장 가까운 전조였습니다.

⚠️ 대신 거의 모든 어려운 문제는 뒤로 밀려 있었습니다

제품 소개 단계에서 보기 좋은 문장과 실제 서비스가 버틸 수 있는 구조는 다릅니다. wormhole-file-gate 기록만 놓고 보면, 적어도 아래 문제들은 본격적으로 다뤄졌다고 보기 어렵습니다.

  • peer discovery와 signaling 계약을 어디까지 책임질 것인가
  • 브라우저가 대용량 파일을 들고 있을 때 메모리를 어떻게 통제할 것인가
  • 수신 저장 완료를 어떤 상태로 정의할 것인가
  • 직접 연결이 안 되는 순간 어떤 fallback을 줄 것인가
  • 상대가 동시에 온라인이 아닐 때 제품 경로를 어떻게 바꿀 것인가
wormhole-file-gate open questions
짧은 프로토타입이 답하지 못한 질문들이 나중에는 PonsWarp의 본편 주제로 전부 되돌아왔습니다.
PonsWarp의 초기 root commit 직후에 production logging, STUN/TURN, memory blow-up, save-complete handshake가 연달아 붙는 흐름은 우연이 아니었습니다. wormhole-file-gate에서 빨리 스케치만 하고 지나간 문제들이, 본편에서는 더 이상 미룰 수 없는 주제가 됐습니다.

🔄 그래서 이 저장소는 실패작이라기보다 전조였습니다

짧게 끝난 프로젝트를 회고에 넣으면 종종 과장되기 쉽습니다. 저는 그 방향으로 쓰고 싶지 않습니다. wormhole-file-gate는 PonsWarp의 미니어처 완성판이 아니었습니다. 오히려 빨리 스케치하고, 방향을 확인하고, 다음으로 넘긴 실험에 더 가깝습니다.

그 점이 오히려 좋았습니다. 여기서는 아직 모든 문제가 실전 비용으로 바뀌지 않았습니다. 그래서 더 솔직하게 욕심이 보입니다. 브라우저에서, P2P로, 파일을 보내고, 그걸 제품처럼 보이게 만들고 싶었다는 욕심입니다.

📚 지금 돌아보는 판단

지금 돌아보면 wormhole-file-gate의 가치는 기능 완성도보다 질문 정리 능력에 있었습니다. 이 프로젝트 하나만으로는 파일 전송 제품이 되지 못합니다. 하지만 이 저장소가 없었다고 해도 PonsWarp가 같은 질문으로 결국 가기는 했을 것 같습니다. 차이는 속도입니다. wormhole-file-gate는 그 질문들을 더 빨리 수면 위로 끌어냈습니다.

그래서 저는 이 저장소를 본편에서 떼어 낸 외전이 아니라, 본편 직전의 전조로 읽습니다. 전사에 있던 파일 전송 집착이 브라우저 기반 P2P 서사로 바뀌는 장면이 여기 있었고, 그다음부터는 더 이상 화면 문장만으로는 버틸 수 없는 문제들이 시작됐습니다.

📚 읽은 기록
DeclanJeon/wormhole-file-gate2025-04-30 ea7097e, 2025-04-30 16cc528
DeclanJeon/filetransfer2022-05-31 ec8cbb6, 2022-05-31 d71f15b, 2022-06-14 3750bbf
DeclanJeon/KronDelivery2021-11-30 3720959
LIST