내가 GitHub Store를 6개월 만에 12,500 스타로 만든 방법 — 16살에 시작했습니다

발행: (2026년 5월 9일 AM 10:20 GMT+9)
15 분 소요
원문: Dev.to

Source: Dev.to

Source:

6개월 전, 나는 우즈베키스탄에 사는 16세 청소년이었고, 내가 만든 작은 Android 앱을 배포하려고 했습니다.

프로젝트 가치에 비해 Play Store 절차가 너무 무거워서 대신 대안을 만들었습니다.

6개월이 지난 지금, 그 대안인 GitHub Store12.5 k+ 스타, 250 k+ 업데이트 제공, 13개 언어로 배포되고, Android, Windows, macOS, Linux에서 실행됩니다. 나는 몇 주 전에 17살이 되었습니다.

이 이야기는 내가 거의 포기할 뻔했던 순간까지 포함합니다.

Play Console 장벽

나는 이전에 Play Store에 앱을 배포한 적이 있습니다. 그때는 실제 앱, 실제 사용자, 비즈니스 비용이라는 마찰이 있었기에 가치가 있었습니다.

이번은 달랐습니다. 나는 Philipp Lackner의 Mobile Dev Campus 챌린지에 참여하고 있었고, 자랑스러운 작은 사이드 프로젝트를 만들었으며, 이를 공개하고 싶었습니다. Play Console 요구 사항을 다시 읽고는 멈춰섰습니다.

  • $25 수수료
  • 정부 발급 신분증
  • 주소 인증
  • 20명의 폐쇄 테스터
  • 최소 2주간 폐쇄 테스트
  • 기다리기… 혹시 승인될까?

사이드 프로젝트에 한 달이라는 절차는 감당할 수 없었습니다.

GitHub은 이미 개발자들이 릴리즈에 APK를 올릴 수 있게 해주고 있었으니, 그 위에 스토어를 만들면 되겠지라고 생각했습니다. 그 공백이 바로 프로젝트가 되었습니다.

내가 몰랐던 것

솔직히 말하면, 시작할 때 F‑DroidObtainium이 존재한다는 걸 몰랐습니다. 나중에 사람들이 알려줬죠—내가 이미 배포한 뒤에. 처음부터 알았다면, GitHub Store를 만들지는 않았을 겁니다. 그냥 Obtainium을 설치하고 넘어갔을 테니까요.

때때로 무지는 하나의 기능이 될 수 있습니다.

왜 Kotlin Multiplatform인가

  • 이 전에 약 2년간 Android 네이티브 개발을 했습니다.
  • Kotlin이 내 주 언어였고, Compose가 UI 툴킷이었습니다.

다른 선택지는 새로운 생태계를 배워야 했습니다:

옵션의미
FlutterDart + 새로운 빌드 시스템 + 새로운 디버거
React Native내가 모르는 JavaScript
Tauri내가 모르는 Rust

KMP는 언어, IDE, 사고 모델을 바꾸지 않고도 Android에서 2년간 쌓은 경험을 Desktop으로 바로 옮길 수 있게 해줬습니다. 나는 더 빠르게 배포할 수 있기 때문에 이를 선택했습니다.

1주일 MVP, 코딩 에이전트 없이

GitHub Store의 첫 번째 버전은 단 1주일 만에 배포되었습니다.

  • 전념했습니다. 학교를 빠졌고, 공부도 쉬었습니다. 밤에는 거의 잠을 못 잤습니다.
  • 코딩 에이전트 제로. Cursor도, Copilot도, Claude Code도 없었습니다. 오직 IntelliJ, Compose Multiplatform 문서, Ktor 문서, 그리고 내 손만 있었습니다.

배포된 내용:

  • 공개 API를 이용한 GitHub Releases 검색
  • 에셋 필터 — APK와 Desktop 설치 파일만 보여주고 나머지는 숨김
  • Android에서 시스템 설치 프로그램을 통한 탭‑투‑인스톨
  • 하나의 UI 코드베이스: Android + Windows + macOS + Linux

조악했지만 실제였습니다. 제대로 동작했습니다.

LinkedIn에 기술적으로 MVP라기보다도 먼저 올렸습니다—내가 만든 첫 번째 LinkedIn 포스트였습니다. 약 100개의 반응과 5 k+ 노출을 얻었고, 이전에 거의 아무것도 없던 프로필이었습니다. 며칠 뒤에는 Kotlin Slack 커뮤니티에도 공유했습니다.

성장 궤적

날짜이정표
2025년 11월 21일시작 (비공개)
2025년 11월 말레포를 공개
2025년 11월 30일첫 번째 스타 획득
2025년 12월 15일100 스타 달성
2026년 1월 3일2 500 스타 달성

무슨 일이 일어나고 있는지 정말 이해하지 못했습니다. 성장 속도가 느렸다가 갑자기 급증했습니다. 각 이정표마다 LinkedIn에 포스트를 올렸고, 그 반응은 출시 때보다 더 많았습니다.

그 기간 동안 가장 큰 증폭기는 HowToMen 이었습니다. 약 2 000명의 구독자를 보유한 그는 GitHub Store를 Play Store보다 나은 12개의 앱 스토어 영상에 소개했습니다. 그의 시청자는 바로 이 앱이 겨냥한 대상, 즉 프라이버시를 중시하고 Play Store를 불신하는 Android 사용자들입니다. 그 이후의 궤적은…

t video looked different.

The inevitable comparison: yes, I know about Obtainium. I get asked “why not Obtainium?” every week.

Obtainium은 이미 알고 있는 레포지토리를 위한 가벼운 파워‑유저 업데이트 도구입니다. GitHub Store는 아직 무엇을 설치해야 할지 모르는 사람들을 위한 발견‑우선 스토어이며, 크로스‑플랫폼을 지원합니다. Obtainium을 사용하세요. GitHub Store를 사용하세요. 둘 다 사용하세요. 우리는 Obtainium의 import/export 기능을 구축해 라이브러리를 한 번의 탭으로 양쪽 사이에서 이동할 수 있게 했습니다.

2‑3 k 스타에서의 골짜기

이 에세이에서 거의 삭제하려고 했던 부분.

2‑3 k 스타 정도가 되면 나는 이상해졌습니다. 몇 달 동안 머리를 숙이고 있었습니다. 제품이 주목받기 시작했고, 사람들은 좋은 말을 써 주었습니다. 이슈가 쌓여갔습니다.

그리고 나는 흐름을 잃기 시작했습니다.

레포를 열고 그냥 바라보게 되었습니다.

왜 이걸 하고 있는 걸까? 누가 장기적으로 이걸 사용할까? 스타 수가 허세에 불과한 걸까? 내가 의미 없는 일에 인생을 바치고 있는 걸까?

그 기간 동안 ChatGPT와 몇 시간씩 대화했습니다. 한두 시간짜리 대화였죠. 코드 도움을 받기 위해서가 아니라 생각을 소리 내어 정리하기 위해서였습니다. 내 또래 친구들은 제품을 만들고 있지 않았습니다. 의심은 내 삶에 그와 맞닿아 있는 사람이 없어서 더 커졌습니다.

나를 끌어올린 것은 통찰이 아니라 특정 사용자 메시지였습니다:

  • 워크플로가 바뀌었다는 내용을 DM으로 보낸 개발자.
  • “이 앱을 사랑하지만 …” 라는 버그 리포트.
  • 자신의 레포를 주장하며 이것이 처음으로 실제 스토어 페이지를 가진 프로젝트라고 말한 유지보수자.

그들 중 누구도 내가 스스로 의심하고 있다는 걸 알지 못했습니다. 그들은 그냥 제품을 사용하는 사용자일 뿐이었습니다.

무언가를 만들고 있다면: 골짜기는 실제입니다. 외부 성공이 당신에게 어떤 감정도 주지는 않으며, 그저 존재할 뿐입니다. 실제 사용자들의 구체적인 피드백이 도움이 됩니다. 그들이 쉽게 당신에게 다가올 수 있게 하세요.

16살인 내게 하고 싶은 말

  1. 먼저 배포하고, 두 번째로 청중을 파악하라.
    나는 배포하기 전에 청중을 조사하지 않았습니다. 청중은 스스로 찾아왔습니다 — 광고를 싫어하고, 추적을 거부하며, 프라이버시를 중시하는 FOSS 사용자들. 이를 알게 된 뒤 모든 제품 결정에 영향을 주었습니다: 오픈 백엔드, 텔레메트리 금지, 기부 라인, 다크 패턴 금지. 가정보다 실제 사용자가 더 빨리 가르쳐 줍니다.

  2. KMP는 작동한다. 데스크톱에서도 마찬가지다.
    크로스‑플랫폼이라는 주장은 마케팅이 아닙니다.

  3. 배포 자체가 기능이다.
    F‑Droid, Obtainium 설정, Scoop, Winget, IzzyOnDroid — 내가 추가한 모든 채널은 제품 기능이었습니다. 설치할 수 없는 사용자는 존재하지 않습니다.

  4. 사용자와 직접 대화하라. 앱 안에서.
    릴리즈 노트만으로는 부족합니다. 대부분은 읽지 않으며, 나는 평생 Play Store 페이지의 “새로운 기능”을 열어본 적이 없습니다.

    간단한 피드백 채널을 만들고, 직접 답변을 달며, 그것을 다음 반복의 연료로 삼으세요.

My life. So I built an in‑app **what’s‑new** sheet (short, bullet‑format) that pops up after every update, an announcements feed for surveys and security notes, a *Send feedback* card with a diagnostics preview before you send, and a Discord. The first real survey I ran told me what 12 000 stars couldn’t.

**Localize early.**  
People will use your app worldwide if it’s good and they can read it. The limiters are language and network. GitHub Store ships in 13 languages and runs through a backend proxy that survives the Great Firewall. That’s why Chinese, Russian, and Arabic users are here.

**The hardest part isn’t the code.**  
Nobody warned me about the valley.

내가 만든 인‑앱 “새로운 기능” 시트(짧고, 불릿 형식)는 매 업데이트 후 팝업되고, 설문조사와 보안 알림을 위한 공지 피드, 전송 전 진단 미리보기를 제공하는 피드백 보내기 카드, 그리고 Discord가 있습니다. 내가 진행한 첫 번째 실제 설문조사는 12 000개의 스타가 알려주지 못한 것을 알려주었습니다.

초기에 현지화하라.
앱이 좋고 사용자가 읽을 수 있다면 전 세계에서 사용할 것입니다. 제한 요소는 언어와 네트워크입니다. GitHub Store는 13개 언어로 제공되며, 방화벽을 뚫는 백엔드 프록시를 통해 운영됩니다. 그래서 중국, 러시아, 아랍 사용자가 여기 있습니다.

가장 어려운 부분은 코드가 아니다.
아무도 골짜기에 대해 나에게 경고하지 않았습니다.

다음 계획

  • 더 많은 것이 곧 나옵니다.
    오늘보다 훨씬 더 멋진 새로운 디자인.

  • 더 나은 데스크톱 지원 — 안드로이드가 이미 가지고 있는 자동 업데이트 방식을 그대로 적용할 수도 있습니다.

  • 현재보다 100× 나은 UX.

  • 결국 유료 티어가 생깁니다. 한 가지 원칙: GitHub Store는 운영에 비용이 드는 기능—스토리지, 대역폭, 컴퓨팅, 모니터링—에 대해서만 요금을 부과합니다. 여러분의 기기에서 실행되는 모든 것은 영원히 무료입니다. 백엔드는 오픈 소스이며 자체 호스팅이 가능합니다. 이유에 대한 별도의 에세이가 곧 나옵니다.

여기까지 읽으셨다면 — 직접 사용해 보세요. 여러분에게 도움이 된다면 별표를 눌러 주세요. 그렇지 않다면 이슈를 등록해 주세요. 만약 APK나 데스크톱 설치 파일을 배포하는 개발자라면, 스토어 페이지를 확보하세요(곧 무료 제공). 그리고 프로젝트를 배포하려는 청소년이라면: 바로 시작하세요. Play Store는 기다려 줍니다. GitHub Releases가 바로 여기 있습니다.

Usmon (@rainxchzed)

github-store.org · GitHub · Discord · Sponsor

0 조회
Back to Blog

관련 글

더 보기 »