<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: rainxchzed</title>
    <description>The latest articles on DEV Community by rainxchzed (@rainxchzed).</description>
    <link>https://dev.to/rainxchzed</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3641585%2Ffee30fa4-f2b4-4e79-9e95-96f75cc4bf29.jpeg</url>
      <title>DEV Community: rainxchzed</title>
      <link>https://dev.to/rainxchzed</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rainxchzed"/>
    <language>en</language>
    <item>
      <title>GitHub Store reaches 1.9k in one month</title>
      <dc:creator>rainxchzed</dc:creator>
      <pubDate>Wed, 31 Dec 2025 05:43:58 +0000</pubDate>
      <link>https://dev.to/rainxchzed/github-store-reaches-19k-in-one-month-4l8a</link>
      <guid>https://dev.to/rainxchzed/github-store-reaches-19k-in-one-month-4l8a</guid>
      <description>&lt;p&gt;Ending the year with a milestone: GitHub Store after 1 month 🚀&lt;/p&gt;

&lt;p&gt;Exactly one month ago, on 31st November, I shipped the very first version of GitHub Store.&lt;br&gt;
Today, on the last day of the year, the app has already reached 18k+ users and 1.9k+ stars on GitHub.&lt;/p&gt;

&lt;p&gt;For a 16-year-old dev who just wanted to build a better way to discover and manage GitHub apps, this feels surreal.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is GitHub Store?
&lt;/h2&gt;

&lt;p&gt;GitHub Store is an open source app that helps you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discover interesting GitHub repositories and apps&lt;/li&gt;
&lt;li&gt;Track them in one place&lt;/li&gt;
&lt;li&gt;Stay on top of updates more easily&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/rainxchzed/Github-Store" rel="noopener noreferrer"&gt;https://github.com/rainxchzed/Github-Store&lt;/a&gt;&lt;br&gt;
​&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing GitHub Store 1.5.0
&lt;/h2&gt;

&lt;p&gt;To close the year, a new version is out: 1.5.0.&lt;br&gt;
Here’s what changed, very briefly:&lt;/p&gt;

&lt;h3&gt;
  
  
  🌍 Go global: Localization
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;App UI is now localized into English, French, Chinese, Japanese, Spanish, and Russian.&lt;/li&gt;
&lt;li&gt;README and docs now support localized variants so more developers can read about the project in their own language.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔎 Better discovery and trending
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;New programming language filter in search to quickly narrow down repos by tech stack.&lt;/li&gt;
&lt;li&gt;Trending repositories are now automated with improved caching and fetching logic, so the feed stays fresh and responsive.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚡ UX, structure, and polish
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;README fetching in the details screen is now concurrent, making it feel noticeably snappier.&lt;/li&gt;
&lt;li&gt;Android now uses a monochrome launcher icon, fitting better with modern system theming.&lt;/li&gt;
&lt;li&gt;Fixed text truncation in home filter chips and addressed several small UI/UX issues.&lt;/li&gt;
&lt;li&gt;Restructured packages and core data services for a cleaner architecture and easier maintenance going forward.
​
Lessons from the first month
This first month of GitHub Store taught a lot about:&lt;/li&gt;
&lt;li&gt;Shipping quickly, then iterating based on real feedback&lt;/li&gt;
&lt;li&gt;Investing early in DX and UX instead of only features&lt;/li&gt;
&lt;li&gt;How incredibly supportive the open source community can be when you build in public&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What’s next?&lt;/strong&gt;&lt;br&gt;
The plan for 2026:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deeper search and filtering features&lt;/li&gt;
&lt;li&gt;Smarter update tracking&lt;/li&gt;
&lt;li&gt;More languages and better docs&lt;/li&gt;
&lt;li&gt;And likely more platform support and integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this sounds interesting to you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⭐ Star the repo: &lt;a href="https://github.com/rainxchzed/Github-Store" rel="noopener noreferrer"&gt;https://github.com/rainxchzed/Github-Store&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🧪 Try the app and open issues/ideas&lt;/li&gt;
&lt;li&gt;💬 Share feedback — especially around UX, localization, and search&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks to everyone who installed, starred, or talked about GitHub Store in its very first month. This is just the beginning. 💙&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>github</category>
      <category>opensource</category>
      <category>tooling</category>
    </item>
    <item>
      <title>I built a “Play Store for GitHub releases” with Kotlin Multiplatform</title>
      <dc:creator>rainxchzed</dc:creator>
      <pubDate>Tue, 02 Dec 2025 15:20:29 +0000</pubDate>
      <link>https://dev.to/rainxchzed/i-built-a-play-store-for-github-releases-with-kotlin-multiplatform-2c1d</link>
      <guid>https://dev.to/rainxchzed/i-built-a-play-store-for-github-releases-with-kotlin-multiplatform-2c1d</guid>
      <description>&lt;p&gt;As a Kotlin dev, most of the tools used daily live on GitHub, but installing them is still surprisingly annoying.​&lt;br&gt;
You click through repos, open the Releases tab, scroll past source archives, guess which installer matches your platform, and repeat this for every project.&lt;/p&gt;

&lt;p&gt;So a few weeks ago, a simple idea got stuck in my head:&lt;br&gt;
What if there was a “Play Store” UI on top of GitHub releases?&lt;/p&gt;

&lt;p&gt;What I wanted to fix&lt;br&gt;
The problems were pretty consistent across projects:&lt;/p&gt;

&lt;p&gt;Discovery is bad. There is a lot of amazing desktop and Android software on GitHub, but it is hard to find unless someone tweets or blogs about it.​&lt;/p&gt;

&lt;p&gt;Installs are manual. Every app has a slightly different release page, asset naming, and README, so you have to think every time instead of just “Install”.&lt;/p&gt;

&lt;p&gt;Cross‑platform is extra work. If you use multiple platforms (Android + Linux/Windows/macOS), you repeat the same friction everywhere.&lt;/p&gt;

&lt;p&gt;I wanted something that feels like an app store, but powered 100% by public GitHub repos and releases.&lt;/p&gt;

&lt;p&gt;Meet Github Store&lt;br&gt;
Github Store is a Kotlin Multiplatform app (Android + Desktop) that turns GitHub releases into a clean, app‑store style experience.​&lt;/p&gt;

&lt;p&gt;It only shows repositories that actually ship installable assets (APK, EXE, DMG, DEB, etc.).&lt;/p&gt;

&lt;p&gt;It detects your current platform and surfaces the best matching installer.&lt;/p&gt;

&lt;p&gt;It always installs from the latest published GitHub release and highlights the changelog so you see what changed.&lt;/p&gt;

&lt;p&gt;Under the hood it uses the public GitHub Search and Releases APIs, no private indexing or manual curation.​&lt;/p&gt;

&lt;p&gt;How it works (high level)&lt;br&gt;
The core flow is:&lt;/p&gt;

&lt;p&gt;Search: Github Store queries GitHub’s /search/repositories endpoint with platform‑aware queries and filters out archived or low‑signal repos.​&lt;/p&gt;

&lt;p&gt;Release check: For each candidate repo it calls /repos/{owner}/{repo}/releases/latest and looks for platform‑specific file extensions in the assets array.&lt;/p&gt;

&lt;p&gt;Details screen: If there is at least one valid installer, the app loads repo metadata, latest release info, and README and renders it as a single details screen.&lt;/p&gt;

&lt;p&gt;Install flow: When the user taps “Install latest”, Github Store picks the right asset for the current platform, downloads it, and hands off to the OS installer.&lt;/p&gt;

&lt;p&gt;If a repo only ships source code archives or has a draft/prerelease as the latest release, it is simply not shown.&lt;/p&gt;

&lt;p&gt;Tech stack and architecture&lt;br&gt;
Because this is also a learning/portfolio project, the stack is intentionally modern:&lt;/p&gt;

&lt;p&gt;Kotlin Multiplatform shared core for networking, domain logic, and presentation state.​&lt;/p&gt;

&lt;p&gt;Compose Multiplatform for UI on Android and desktop (Material 3, icons, resources).​&lt;/p&gt;

&lt;p&gt;Ktor 3 + Kotlinx Serialization for GitHub API calls, with streaming downloads for installers.&lt;/p&gt;

&lt;p&gt;Koin for dependency injection across platforms.&lt;/p&gt;

&lt;p&gt;GitHub OAuth (device code flow) for authentication so users get their own 5,000 req/hour rate limit.&lt;/p&gt;

&lt;p&gt;Markdown rendering for READMEs and release notes, plus image loading with Coil.&lt;/p&gt;

&lt;p&gt;On top of that there is a simple shared navigation graph and per‑platform “installers” that know how to open an APK on Android or a .deb/.msi/.dmg on desktop.&lt;/p&gt;

&lt;p&gt;Why Kotlin Multiplatform?&lt;br&gt;
This project is exactly the type of app that benefits from KMP:&lt;/p&gt;

&lt;p&gt;The core logic (search, filtering, scoring, releases, installer selection) is 100% shared, so behavior is identical on Android and desktop.​&lt;/p&gt;

&lt;p&gt;The UI is mostly shared via Compose Multiplatform, but platform‑specific bits (file pickers, opening installers, download directories) live in the platform modules.&lt;/p&gt;

&lt;p&gt;Adding another platform later (for example, another desktop target) mostly means wiring platform‑specific installers and packaging, not rewriting the app.&lt;/p&gt;

&lt;p&gt;Since KMP is now stable and officially supported for Android use cases, it felt like the right time to build a “real” product, not just a sample.​&lt;/p&gt;

&lt;p&gt;What’s next&lt;br&gt;
Short term, the focus is on:&lt;/p&gt;

&lt;p&gt;Improving discovery: better scoring based on topics and languages, plus curated sections for “Popular”, “Recently updated”, and “New.”&lt;/p&gt;

&lt;p&gt;Sharpening platform filters so Android devs see APK‑heavy apps and desktop users see .msi/.dmg/.deb apps first.&lt;/p&gt;

&lt;p&gt;Polishing the install UX (progress, error messages, retry, etc.).&lt;/p&gt;

&lt;p&gt;Medium term, the plan is to ship native-feeling distribution: Mac App Store, Microsoft Store, and a Linux store (Flatpak/Flathub), all still powered by the same KMP core and GitHub releases as the source of truth.​&lt;/p&gt;

&lt;p&gt;Try it and give feedback&lt;br&gt;
If you:&lt;/p&gt;

&lt;p&gt;ship your own apps via GitHub releases, or&lt;/p&gt;

&lt;p&gt;love discovering open‑source tools&lt;/p&gt;

&lt;p&gt;…you are exactly the audience this was built for.&lt;/p&gt;

&lt;p&gt;Repo and installers (Android + desktop):&lt;br&gt;
👉 &lt;a href="https://github.com/rainxchzed/Github-Store" rel="noopener noreferrer"&gt;https://github.com/rainxchzed/Github-Store&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you try it, star it, or break it, any feedback is welcome — especially around edge cases in GitHub releases, installer formats, and multi‑platform packaging.&lt;/p&gt;

</description>
      <category>android</category>
      <category>kotlin</category>
      <category>kotlinmultiplatform</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
