PonsWarp를 허공에서 갑자기 튀어나온 프로젝트처럼 쓰고 싶지는 않았습니다.
실제 기록을 보면 그 바로 앞에 아주 짧고 거친 다리가 하나 있습니다. 2025년 4월 30일에 만들어진 wormhole-file-gate입니다.
이 저장소는 오래 버틴 제품은 아니었습니다. 그런데도 무시하기 어렵습니다. PonsWarp에서 본격적으로 붙잡게 되는 질문들을 한 번에 모아 놓은 프로토타입처럼 보이기 때문입니다.
💡 하루짜리 저장소가 남긴 흔적
공개 기록으로 지금 바로 확인할 수 있는 커밋은 두 개뿐입니다. 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까지 한 번에 말합니다.
📐 여기서 제품 문장이 바뀌었습니다
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을 줄 것인가
- 상대가 동시에 온라인이 아닐 때 제품 경로를 어떻게 바꿀 것인가
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-gate — 2025-04-30 ea7097e, 2025-04-30 16cc528DeclanJeon/filetransfer — 2022-05-31 ec8cbb6, 2022-05-31 d71f15b, 2022-06-14 3750bbfDeclanJeon/KronDelivery — 2021-11-30 3720959'개발 회고' 카테고리의 다른 글
| [PonsWarp] - 첫 커밋에서 세운 약속 (0) | 2026.06.24 |
|---|---|
| [PonsWarp] - PonsWarp를 시작할 때 내가 착각한 것들 (0) | 2026.06.24 |
| [PonsWarp] - `KronDelivery`와 `filetransfer`에서 이미 드러난 집착 (0) | 2026.06.24 |
| [PonsWarp] - 왜 나는 계속 파일 전송 프로젝트를 만들었나 (0) | 2026.06.24 |
| [PonsWarp] - 브라우저 앱인데 왜 코어가 Rust인가 (0) | 2026.06.24 |




