<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Komi Store — Blog</title>
    <link>https://github-store.org/blog/</link>
    <description>The app store for GitHub releases</description>
    <language>en-us</language>
    <atom:link href="https://github-store.org/blog/feed.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>How I built Komi Store to 12,500 stars in 6 months - I started at 16</title>
      <link>https://github-store.org/blog/how-i-built-komi-store/</link>
      <guid isPermaLink="true">https://github-store.org/blog/how-i-built-komi-store/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <description>I built Komi Store — a cross-platform app store for GitHub releases — in a one-week MVP sprint. Six months later: 12,500+ stars, 250,000+ updates served, and the part where I almost quit at 3,000 stars.</description>
      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <h1 id="how-i-built-komi-store-to-12500-stars-in-6-months---i-started-at-16">How I built Komi Store to 12,500 stars in 6 months - I started at 16</h1>

<p>Six months ago I was a 16-year-old in Uzbekistan trying to ship a small Android app I’d built. The Play Store process was so heavy for what the project was worth, I built an alternative instead.</p>

<p>Six months later that alternative - Komi Store - has 12,500+ stars, 250,000+ updates served, ships in 13 languages, runs on Android + Windows + macOS + Linux. I turned 17 a couple of weeks ago.</p>

<p>This is the story. Including the part where I almost quit.</p>

<h2 id="the-play-console-wall">The Play Console wall</h2>

<p>I’d shipped apps to the Play Store before. Those felt worth it - real apps, real users, the friction was the cost of doing business.</p>

<p>This time was different. I was working on Philipp Lackner’s Mobile Dev Campus challenge. Built a small side project I was proud of. Wanted to publish it. Re-read the Play Console requirements and just stopped.</p>

<p>$25 fee. Government ID. Address verification. 20 closed testers. 2-week minimum closed test. Wait. Maybe approved.</p>

<p>A month of process. For a side project. The math wasn’t there.</p>

<p>GitHub already lets developers publish APKs in releases. So I figured: build a store on top of that.</p>

<p>That gap was the project.</p>

<h2 id="what-i-didnt-know">What I didn’t know</h2>

<p>Honest admission: when I started, I didn’t know F-Droid or Obtainium existed. People told me about them later, after I’d shipped. If I’d known on day one, I probably wouldn’t have built Komi Store at all. I would’ve just installed Obtainium and moved on.</p>

<p>Sometimes ignorance is a feature.</p>

<h2 id="why-kotlin-multiplatform">Why Kotlin Multiplatform</h2>

<p>Native Android dev for about two years before this. Kotlin was my language. Compose was my UI toolkit.</p>

<p>KMP let me bring two years of Android straight into Desktop without changing language, IDE, or mental model. I picked it because I could ship faster.</p>

<h2 id="the-1-week-mvp-no-coding-agents">The 1-week MVP, no coding agents</h2>

<p>Komi Store’s first version shipped in a single week.</p>

<p>Full focus. Skipped school. Skipped studies. Some nights I barely slept.</p>

<p>Zero coding agents. No Cursor, no Copilot, no Claude Code. Just Android Studio, the Compose Multiplatform docs.</p>

<p>What shipped:</p>

<ul>
  <li>GitHub Releases search via the public API</li>
  <li>Asset filter — APKs and Desktop installers, hide the noise</li>
  <li>Tap-to-install on Android via the system installer</li>
  <li>One UI codebase: Android + Windows + macOS + Linux</li>
</ul>

<p>Crude. But real. It worked.</p>

<p>I posted it on LinkedIn before it was even technically an MVP - the first real LinkedIn post I’d ever made. ~100 reactions, 5,000+ impressions, on a profile that had basically nothing on it before. Then I posted in the Kotlin Slack community a few days later.</p>

<h2 id="the-trajectory">The trajectory</h2>

<p>I started on November 21, 2025. Built it private for a week. Made the repo public in late November. November 30 - first star.</p>

<p>December 15: 100 stars.</p>

<p>January 3: 2,500.</p>

<p>I genuinely didn’t understand what was happening. The growth was slow, then suddenly it wasn’t. Made a LinkedIn post celebrating each milestone - those got more reactions than the launch did.</p>

<p><img src="/assets/uploads/star-history-202659.png" alt="Star history chart from November 2025 first star to January 2026 reaching 2,500 stars — slow start, then exponential" /></p>

<p>The biggest amplifier in that window was <a href="https://www.youtube.com/@howtomen">HowToMen</a> - at around 2,000 stars, he featured Komi Store in his <em>Top 12 App Stores Better than Play Store</em> video. His audience is exactly who the app is for: privacy-aware Android users who already mistrust Play. The trajectory after that video looked different.</p>

<p>The inevitable comparison: yes, I know about <a href="https://github.com/ImranR98/Obtainium">Obtainium</a>. I get asked “why not Obtainium?”. Obtainium is the lightweight power-user updater for repos you already know about. Komi Store is the discovery-first store for people who don’t know what to install yet - and it’s cross-platform. Use Obtainium. Use Komi Store. Use both. We built Obtainium import/export so libraries move between them in one tap.</p>

<h2 id="the-valley-at-2-3k-stars">The valley at 2-3k stars</h2>

<p>The part I almost cut from this essay.</p>

<p>Around 2-3,000 stars I went strange. Heads-down for months. Product getting attention. People writing nice things. Issues piling up.</p>

<p>And I started losing the plot.</p>

<p>I’d open the repo and just stare. <em>Why am I doing this. Is anyone going to use this long-term. Is the star count just vanity. Am I spending my life on something that doesn’t matter.</em></p>

<p>I talked to ChatGPT for hours during that period. One- or two-hour conversations. Not for code help - to think out loud. Friends my age weren’t building products. The doubt didn’t have anyone in my life shaped right to engage with it.</p>

<p>What pulled me out wasn’t an insight. It was specific user messages. A dev DMing to say their workflow had changed. A bug report starting “I love this app, but…”. A maintainer claiming their repo and saying it was the first time their project had a real <em>store page</em>. None of them knew I was second-guessing anything. They were just users using a thing.</p>

<p>If you’re building something: the valley is real. External success doesn’t make you feel anything; it just sits there. Tangible feedback from real users is what helps. Make it easy for them to reach you.</p>

<h2 id="what-id-tell-16-year-old-me">What I’d tell 16-year-old me</h2>

<p><strong>Ship first, know your audience second.</strong> I didn’t research the audience before I shipped. The audience showed up - FOSS users who love tinkering, hate ads, hate tracking, want privacy. Knowing that landed me on every product decision afterward: open backend, no telemetry, donations rails, no dark patterns. Ship before you finish researching. The audience teaches you faster than your assumptions.</p>

<p><strong>KMP works. Even on Desktop.</strong> The cross-platform claim isn’t marketing.</p>

<p><strong>Distribution is a feature.</strong> F-Droid, Obtainium config, Scoop, Winget, IzzyOnDroid - every channel I added was a product feature. Users who can’t install you don’t exist.</p>

<p><strong>Talk to your users. Directly. Inside the app.</strong> Release notes don’t cut it. Most people don’t read them - I’ve never opened “What’s new” on a Play Store page in 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 <em>Send feedback</em> 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.</p>

<p><strong>Localize early.</strong> People will use your app worldwide if it’s good and they can read it. The limiters are language and network. Komi 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.</p>

<p><strong>The hardest part isn’t the code.</strong> Nobody warned me about the valley.</p>

<h2 id="whats-next">What’s next</h2>

<p>A lot more coming. A new design that’s substantially nicer than what’s there today. Better Desktop support - potentially with the same auto-update story Android already has. UX 100x better than now.</p>

<p>A paid tier eventually. One principle: Komi Store charges only for features that cost us money to run. Storage, bandwidth, compute, monitoring. Anything that runs on your device stays free, forever. Backend is open source and self-hostable.</p>

<p>If you’ve read this far - try it. If you’re a dev whose project ships APKs or Desktop installers, claim your store page (free, soon). And if you’re a teenager somewhere thinking about shipping a project: just start. The Play Store will wait. GitHub Releases is right there.</p>

<p>— Usmon (Founder of Kurikomi)</p>

      ]]></content:encoded>
    </item>
    
    <item>
      <title>Keep Android Open: where Komi Store stands</title>
      <link>https://github-store.org/blog/keep-android-open/</link>
      <guid isPermaLink="true">https://github-store.org/blog/keep-android-open/</guid>
      <pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate>
      <description>Our public position on Google&apos;s developer-verification policy — and the three commitments that come with it.</description>
      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
        <p>Komi Store stands with the open letter.</p>

<h2 id="whats-happening">What’s happening</h2>

<p>In March 2026, Google began requiring Android app developers to verify their identity through Google’s Developer Console - including developers who distribute their apps entirely outside the Play Store, on their own GitHub releases pages or through third-party stores. From September 2026, certified Android devices in Brazil, Indonesia, Singapore, and Thailand will refuse to install apps from unverified developers. Global enforcement follows in 2027.</p>

<p>The stated rationale is reducing fraud and malware. That’s a real problem. We don’t dispute that. We dispute that requiring every open-source maintainer in the world to register a business relationship with Google is the right way to address it.</p>

<p>F-Droid has stated publicly that the policy, if enforced as announced, would end the F-Droid project. The open letter against it has been signed by more than 65 organizations from 21 countries - including EFF, FSFE, KDE, Brave, The Tor Project, FOSDEM, Article 19, Signal (via Molly), and Obtainium. Komi Store is on the <a href="https://keepandroidopen.org/open-letter/#signatories">signatories list</a>.</p>

<h2 id="what-this-changes-for-sideloading">What this changes for sideloading</h2>

<p>Most users won’t notice anything until late 2026. After that, on certified Android devices in enforcement countries, the install picture splits in three:</p>

<ul>
  <li><strong>Apps from Play Store</strong>: continue working, no change.</li>
  <li><strong>Apps from sideload, by a Google-verified developer</strong>: continue working.</li>
  <li><strong>Apps from sideload, by a maintainer who hasn’t registered with Google</strong>: blocked at install time.</li>
</ul>

<p>The third category is most of the open-source Android ecosystem. The category we exist to serve.</p>

<h2 id="where-komi-store-stands">Where Komi Store stands</h2>

<p>Three commitments, in writing:</p>

<ol>
  <li><strong>We will not require any developer whose app you install through Komi Store to be verified by Google.</strong> No filter. No catalog gating. No two-tier discovery.</li>
  <li><strong>We will not display “verified developer” badges that imply unverified developers are less trustworthy.</strong> That framing is the part of the policy we disagree with most directly.</li>
  <li><strong>We will keep distributing Komi Store itself through direct download alongside Play Store.</strong> The direct-download build will continue installing on de-Googled Android, custom ROMs, and Android versions before enforcement. If the Play Store version is ever forced to disable functionality the direct-download version provides, we’ll say so, on the install page, before you download.</li>
</ol>

<p>If we ever drift from those three, the edit history of this post is the receipt.</p>

<h2 id="what-this-means-for-you">What this means for you</h2>

<ul>
  <li><strong>In countries without enforcement</strong> (most of the world through 2027): no change. Install whatever you want.</li>
  <li><strong>In Brazil, Indonesia, Singapore, or Thailand starting September 2026</strong>: certified devices will block unverified-developer apps. Komi Store will detect this and surface an alternative-install flow - clear instructions for installing through ADB, custom recovery, or vendor-specific paths, plus a direct link to the project’s official Telegram, Matrix, or GitHub Discussions where the maintainer typically distributes. We’ll do the documentation work so you don’t have to find it for every app.</li>
  <li><strong>On de-Googled Android</strong> (LineageOS, GrapheneOS, /e/OS, and others): no change ever. These platforms are not “certified Android” and the verification check does not apply.</li>
  <li><strong>On all other platforms</strong> (Linux, Windows, macOS): no change. This policy is Android-specific.</li>
</ul>

<h2 id="what-this-means-for-us">What this means for us</h2>

<ul>
  <li><strong>Komi Store itself</strong>: the binary published on Play Store will, by necessity, be associated with a Google-verified developer account - that’s how Play Store works and always has. The same binary, signed with the same key, will continue to be available as a direct download from our GitHub releases. We’ve tested the direct-download path end-to-end on de-Googled devices and on Android versions before enforcement. It works. We will keep that path working.</li>
  <li><strong>Coordination</strong>: we are talking with F-Droid, Obtainium, the EFF, and the broader Keep-Android-Open coalition about a shared technical strategy for the alternative-install flow. The goal is one consistent UX across the FOSS Android ecosystem rather than each app reinventing the same flow. Concrete deliverables are being worked on; expect a joint write-up later in 2026.</li>
  <li><strong>No new “trust signals” tied to the verification regime</strong>: when we ship anti-feature labels, signing-key continuity displays, and CVE monitoring, none of them will reference Google verification status. The trust signal we ship is technical, not bureaucratic.</li>
</ul>

<h2 id="what-you-can-do">What you can do</h2>

<ol>
  <li><strong>Sign the open letter</strong> if you agree. The coalition site is <a href="https://keepandroidopen.org">keepandroidopen.org</a>.</li>
  <li><strong>Use unverified open-source apps anyway</strong>, where you can. The policy can be enforced technically, but it can’t be enforced socially. The more users go to the trouble of alternative-installing, the weaker the framing that this is a security policy gets.</li>
  <li><strong>Tell hardware vendors that certified Android isn’t an exclusively-desirable feature.</strong> Vendors who ship de-Googled options exist; demand drives supply. Fairphone, /e/Foundation, and others have made business cases out of the alternative.</li>
  <li><strong>Support F-Droid</strong> financially or as a contributor. Their build infrastructure is the most-impacted institution in the FOSS ecosystem under this policy. They are also the most experienced at coordinating against changes like this.</li>
</ol>

<h2 id="why-were-saying-this-on-the-record">Why we’re saying this on the record</h2>

<p>If we hadn’t shipped this position, Komi Store would still be a useful product. With this position, Komi Store is an aligned product. We think the second is worth the few percentage points of reach we’ll lose in enforcement countries.</p>

<p>We also think that being unambiguous about where we stand is more honest than the typical posture of “we’re neutral on policy, we just ship software.” Software shapes what’s possible; “neutral” is a position. We’d rather pick the position than pretend we don’t have one.</p>

<p>- Kurikomi</p>

      ]]></content:encoded>
    </item>
    
  </channel>
</rss>
