Dev

웹서비스 처음 만들면서 놀란 것 5가지

toolzip 2026. 9. 21. 08:00

개발 경험이 있어도 막상 처음으로 직접 웹서비스를 만들어 배포하면 예상과 다른 점이 많습니다. 이미지·PDF·동영상 처리 도구 모음인 ToolZip을 만들면서 실제로 놀랐던 것들을 공유합니다.


1. 배포가 이렇게 쉬울 줄 몰랐습니다

GitHub에 코드를 올리고 Vercel에 연결하면 자동으로 빌드해서 배포합니다. git push 한 번으로 끝납니다. 심지어 무료입니다.

예전에 서버를 직접 관리하던 시절을 생각하면 격세지감입니다. FTP로 파일 올리고, 서버 설정 만지고, 배포 실패하면 롤백하고... 지금은 그냥 코드를 push하면 됩니다.

Vercel은 GitHub에 PR을 올리면 미리보기 URL도 자동으로 만들어줍니다. 기능을 추가할 때마다 실제 환경에서 테스트할 수 있습니다.


2. 브라우저가 이렇게 많은 것을 할 수 있을 줄 몰랐습니다

처음 계획은 서버에서 이미지를 처리하는 방식이었습니다. 그런데 조사해보니 브라우저에서 직접 처리할 수 있는 방법이 있었습니다.

Canvas API로 이미지 압축과 변환, pdf-lib으로 PDF 조작, FFmpeg.wasm으로 동영상 처리, Three.js로 3D 파일 뷰어까지 모두 브라우저에서 가능합니다. 파일이 서버로 전송되지 않으니 보안 측면에서도 좋고, 서버 비용도 없습니다.

JavaScript 생태계가 이렇게까지 발전했다는 것을 직접 구현하면서 실감했습니다.


3. SEO가 생각보다 복잡합니다

웹서비스를 만들고 나서 아무도 방문하지 않는다는 것을 경험했습니다. 구글에 검색해도 내 사이트가 나오지 않았습니다.

메타 태그, sitemap.xml, robots.txt, 구조화 데이터(JSON-LD)... 기술적인 SEO 요소들이 생각보다 많습니다. 콘텐츠도 중요하지만, 검색엔진이 사이트를 올바르게 이해할 수 있도록 세팅하는 것이 먼저라는 것을 배웠습니다.

처음 구글 서치콘솔을 연동했을 때 색인이 하나도 안 되어 있던 것을 보고 당황했습니다. sitemap을 직접 제출하고, 페이지마다 적절한 메타데이터를 넣고 나서야 서서히 검색 결과에 나타나기 시작했습니다.


4. 작은 버그가 큰 문제를 만듭니다

개발 환경에서는 잘 작동하는데 배포 환경에서 안 되는 경우가 꽤 있었습니다. 특히 브라우저 호환성 문제가 골치였습니다.

FFmpeg.wasm을 쓰려면 SharedArrayBuffer라는 API가 필요한데, 이것이 제대로 작동하려면 특정 HTTP 헤더가 설정되어야 합니다. 로컬에서는 잘 되는데 배포하면 안 되는 상황이 며칠간 계속됐습니다.

결국 Vercel 설정에서 해당 헤더를 추가하면서 해결했지만, 이런 환경 차이로 인한 문제를 디버깅하는 데 생각보다 많은 시간이 걸렸습니다.


5. 사용자가 생기면 느낌이 달라집니다

혼자 만들고 혼자 쓰는 것과 다른 사람이 쓰는 것은 전혀 다른 경험입니다.

처음 구글 애널리틱스에서 모르는 사람이 방문했다는 것을 확인했을 때의 그 느낌이 아직도 기억납니다. 네이버 AI가 제 글을 인용한 것을 발견했을 때도 마찬가지였습니다.

기능을 추가할 때 "내가 쓰고 싶어서"가 아니라 "다른 사람이 필요할 것 같아서"를 고민하게 됩니다. 관점이 바뀌는 경험이었습니다.


마치며

웹서비스를 만드는 것은 생각보다 낮은 진입 장벽으로 시작할 수 있습니다. 배포 인프라는 이미 잘 갖춰져 있고, 브라우저의 능력도 충분합니다. 시작이 반이라는 말이 특히 잘 맞는 분야인 것 같습니다.