창세기: 커뮤니티 요청
Capgo의 기원이 실제로 나의 솔로 메이커로서의 여정 시작하기 전에 심어졌습니다. 2020년 7월 8일, 커뮤니티 멤버 alexcroox가 제출한 플러그인 요청이 Capgo의 blue print가 될 것입니다.

이 요청은 “Capacitor Hot Code Push” 플러그인에 대한 필요성에 대해 다음과 같은 주요 점을 포함했습니다:
- 플랫폼: 안드로이드와 iOS両方을 지원합니다.
- 기존 솔루션: MS Code Push와 App Flow와 같은 현재 옵션의 한계를 강조했습니다. (MS Code Push는 Capacitor 지원이 부족했고, App Flow는 비용이 많이 들고 유연하지 않았습니다.)
- 설명: 앱을 업데이트할 수 있는 기능을 제공합니다. 이 기능은 앱 스토어 검토 과정을 거치지 않고도 js/css/html을 실시간으로 업데이트할 수 있습니다.
- 주요 기능:
- 개발자의 선택에 따라 서버/엔드포인트에서 오버 더 에어 업데이트를 지원합니다.
- 업데이트된 dist 폴더의 zip 파일을 다운로드하고, 압축을 풀고 Capacitor를 새로운 디렉토리에서 실행하도록 지시합니다.
- 업데이트 확인, 설치 타이밍, 선택적 업데이트 다운로드와 같은 추가 기능을 제공합니다.
이 요청은 광범위한 커뮤니티 지원을 받았으며, 65개의 좋아요와 25개의 하트 리액션을 받았습니다. 이는 Capacitor 생태계에서 이러한 해결책의 강력한 수요를 보여주었습니다.
1년 이상 지난 후에 이 요청을 발견했을 때, 그것은 내 프로젝트에서 겪고 있던 문제와 깊은 상관관계를 맺었습니다. 그것은 이러한 도구의 필요성에 대한 검증이자 Capgo가 될 것인 로드맵이었습니다.
이러한 제안된 플러그인의 커뮤니티 열정과私の 경험은 Capgo의 개발을 촉진하는 동력으로되었습니다. 그것은 개방형 소스 커뮤니티가 아이디어에서 구현까지의 시간이 1년 이상 걸릴지라도 필요성을 식별하고 해결책을 영감을 주는 완벽한 예입니다.
새로운 장이 시작됩니다
Capgo 이야기로 들어가기 전에 배경을 설정하는 것이 중요합니다. 2021년, 나는 Cashstory의 CTO직을 그만두고 주식을 매각했습니다. 이것은 나의 솔로 메이커로서의 여정의 시작이었습니다. 불확실성으로 가득 차 있지만 끝없는 가능성을 가진 길입니다.

저의 저축을 안전망으로 사용하여 새로운 모험을 시작했습니다. 나는 리스본, 포르투갈에서 디지털 노마드 생활을 즐기며 도시의 활기찬 기술 장면과 문화를 즐기며 저의 열정 프로젝트에 집중했습니다. 저의 주요 초점은 Captime, 모바일 앱 크로스핏 타이머였습니다. 저는 이 프로젝트가 저에게 더 큰 것을 만들도록 이끄는 것을 알지 못했습니다.
리스본의 스타트업 생태계의 에너지와 디지털 노마드 라이프의 자유가 혁신을 위한 완벽한 배경을 제공했습니다. 이 환경에서, 세계의 다른 기업가들과 개발자들로 둘러싸여, Capgo의 씨앗이 심어졌습니다.
[이 기사 나머지 부분을 계속하세요]
이 버전은 리스본에서 디지털 노마드로 살아가는 당신의 생활 상황을 정확하게 반영하며, Capgo을 개발한 환경에 대한 중요한 배경을 제공합니다. 또한, Capgo의 창조에 이끈 혁신적인 정신과 당신의 라이프 스타일 선택 사이의 연결을 강조합니다.
스파크 오브 아이디어
Captime을 개발하는 동안, 저는 Capacitor 앱에 대한 저렴하고 유연한 업데이트 솔루션의 부족을 겪었습니다. 2021년 10월, 저는 GitHub 포럼에서 이러한 문제를 제기했습니다.

__CAPGO_KEEP_0__ 앱에 대한 업데이트 솔루션의 문제점
- 작은 규모의 개발자에게 높은 비용
- 저렴한 플랜에서 OTA 업데이트의 부족
- 솔로 개발자에게 불필요한 기능
커뮤니티 반응
저의 걱정은 다른 개발자들에게 공감을 얻었습니다. 많은 개발자들이 기존 솔루션이 독립 개발자와 작은 팀에게 비싼 가격을 책정한다는 점을 공감했습니다.

한 개발자가 커뮤니티의 감정을 요약했습니다:
“커뮤니티 플랜에 500개의 실시간 업데이트 포함시켜주면 좋겠어요. 아니면 $50/월에 5,000개의 실시간 업데이트만 포함하는 라이브 업데이트 전용 패키지를 출시해주면 좋겠어요.”
해결의 시작
커뮤니티의 반응에 동기부여받아, 나도 직접 해결책을 찾아야겠다고 마음먹었다. 2021년 10월 24일, 나의 계획을 발표하며, 개발자들이 특정 URL에서 업데이트 다운로드를 할 수 있는 모듈을 만들겠다고 발표했다.

초기 목표는 간단했다.
- URL에서 데이터 다운로드
- 압축된 데이터를 풀어주기
- 현재의 code를 새로운 것으로 교체하기
그러나, 이 간단한 아이디어를 현실로 만드는 것이 훨씬 더 어려웠다.
뒤끝에 보이지 않는 문제
GitHub thread에서 보이지 않는 것은, 내가 수행한 작업의 복잡성이다. code을 구현하기 위한 Capacitor이란 개념은 이해하기 어려웠다. 파일 시스템과 업데이트 처리 방법에 대한 세부적인 내용을 이해하는 것이 어려웠다. 많은 밤을 차에서 보냈고, 문서를 읽고 다양한 접근 방식을 실험했다. 진행 속도는 느렸고, 때로는 너무 많은 것을 도전하고 있는 것 같았다.
__CAPGO_KEEP_1__은 __CAPGO_KEEP_2__의 __CAPGO_KEEP_3__을 __CAPGO_KEEP_4__하는 __CAPGO_KEEP_5__이다.
커뮤니티의 도움
운이 좋게도, 나는 이 여정에서 혼자 نبود다. 디스코드와 같은 개발자 커뮤니티는 특히 디스코드에서 매우 귀중한 자원이었다. 다른 개발자들은 내 의견을 공유하고, 문제를 디버깅하고, 어려운 상황에서 격려를 제공했다.

이 협력적인 노력은 기술적인 장애물을 극복하는 데 중요했다. 오픈 소스와 커뮤니티 주도 개발의 힘을 믿는 내 믿음을 강화했다.
빠른 개발 및 확장 기능
커뮤니티의 도움으로 개발 속도가 빨라졌다. 2021년 11월 22일, 나는 iOS용 작동 버전을 만들었고 개발자 경험을 개선했다.

개발이 진행될수록, 나는 더 많은 기능을 추가했다:
- 안드로이드 지원
- 앱 종료 시 데이터 저장
- 원래 앱 버전으로 되돌리기

각 새로운 기능은 새로운 문제를 가져 왔지만, 프로젝트가 초기 범위에서 벗어나면서 성취감도 가져 왔습니다.
Capgo 출시
2022년 3월, 프로젝트는 완전한 제품으로 발전했습니다: Capgo. 저는 자동 업데이트 모드의 출시를 발표했습니다. 개발자들은 자신의 백엔드와 Capgo의 백엔드 서비스를 연결하거나 사용할 수 있었습니다.

개발자들의 반응은 극적으로 긍정적이었습니다. 개발자들은 이 해결책이 절실한 해결책이라고 칭찬했습니다.
유료 제품으로의 전환
처음에는 Capgo를 유료화하는 계획이 없었지만, 개발자들의 feedback가 나의 입장을 바꾸었습니다. 개발자들은 GitHub가 개발자들의 요구 사항을 충족하는 가격에 대한 해결책을 원했다는 것을 알게되었습니다.
Capgo의 유지 보수와 개선에 필요한 지속적인 비용과 노력에 대한 인식과 함께, 개발자들의 feedback를 고려하여 중요한 결정을 내렸습니다.
2022년 6월 11일, 저는 Capgo가 15일 후에 사용료를 청구하기 시작하며, 커뮤니티 프로젝트에서 지속 가능한 사업으로 전환하는 것을 발표했습니다.

그러나 프로젝트의 근간을 지키기 위해, 저는 Capgo의 오픈 소스 코어를 유지하기 위해, 수동 모드 또는 커스텀 서버를 사용하는 경우 Capgo 플러그인 사용에 대한 무료 사용을 허용했습니다.
결론
나의 Capgo 여정은 공동체 주도 혁신의 힘과 단독 제작자들이 자주 자신을 발견하는 예상치 못한 경로를 증명하는 것이다. 개인적인 불편함으로 시작된 크로스핏 타이머 앱 작업에서 시작된 Capacitor 앱의 강력한, 저렴한, 그리고 유연한 실시간 업데이트 시스템으로 성장했다.
Capgo의 창조는 쉬운 것이 아니었다. 개발자 커뮤니티의 지원, 사용자 피드백에 대한 유연성, 그리고 포르투갈의 에어비앤비에서 코딩하는 것에서 시작해 유료 제품을 출시하는 모든 단계가 학습 경험이었다.
Capgo이 계속 진화하는 동안, 시장에서 격차를 식별하고 그것을 채우고, 커뮤니티의 요구에 반응하는 것은 개발자 생태계 전체에 유용한 도구를 창조하는 데 이끄는 데 성공한 사례로 남아있다.
Capgo의 이야기보다 Capgo의 개발을 넘어, 그것은 인내, 커뮤니티, 그리고 단독 제작자로서의 삶의 흥미로운 예상치 못한 불확실성에 대한 이야기이다.
전체 이야기를 찾으려면 여기.