Stringers
kirklin/skyward · kirklin

One tweet brought in 100 stars: someone wrote a Recovery from scratch in Rust for Xiaomi, aiming to replace TWRP

What it is A third-party Recovery (the small system for flashing, backing up, and unbricking phones) for Xiaomi and Redmi phones, written from scratch in Rust, meant to replace TWRP.

Why it took off TWRP still hasn't cracked the latest Xiaomi models. It says it works on the 17 Ultra. "Written from scratch in Rust, no AOSP download, UI looks like the built-in system" got boiled down to one line by the Chinese GitHub recommendation account Geek Lite and spread. It gained 100 stars in a day, then dropped back to single digits.

CHow you could follow it Don't build yet another Xiaomi Recovery. Apply the approach of "take the stock image, swap only the upper layer, one config per device" to brands that TWRP also can't keep up with, like OnePlus, or make a popular model that isn't decrypting yet actually work. Put a one-line README and a good-looking screenshot on it, and hand it to Chinese GitHub recommendation accounts at launch.

Grade C: the method and promotion path are worth learning, but the phone-modding crowd is small and shrinking. Star ceilings are low and the bar is high (you need to know Android internals and be willing to test on your own phone). This time, the stars mostly came from one tweet's one-time exposure, so copying the playbook isn't a good return. Chatter in small circles
Data (updated daily) · Repo created 2026-10-25 · 203 stars · 7 days +154
GitHub · stars
010020010-2810-3111-0311-0511-08203
Data 2026-10-28 → 2026-11-08 (12 days, 12 observations). Points before 10-28 come from deeply / archive backfill, not every day has one

Skyward is a third-party Recovery for Xiaomi and Redmi phones. The repo was created in Oct 25. It doesn't build AOSP or touch Xiaomi's kernel. Instead it borrows the stock firmware's services to decrypt, flash, do OTA, and back up. In its first eight days it gained 50 stars mostly from the author's own posts. In Nov 2, a Chinese X account with a large following reposted it. It went to 150 the next day, and by 11-06 it was 190. Here's what it is, where the 100 stars came from, and whether you should build something like it, and how.

Oct 19, one tweet from an account with 74 followers

In 2026 Oct 19, Fuzhou indie dev Kirk Lin (@lkirkun on X, 74 followers at the time) posted:

I rewrote a Recovery for Xiaomi phones called Skyward, all implemented in Rust from 0. Building doesn't require downloading the AOSP source.

Almost no one saw it. In Oct 25 he created the repo and released v0.1.0. The same day he posted on XDA's Xiaomi 17 Ultra board, titled "[RECOVERY][A17] Skyward 0.1.0 for Xiaomi 17 Ultra (nezha)", and got few replies. That night he released v0.1.2, with images for 19 models at once. By Nov 2 the repo had 50 stars.

In Nov 2, a little after 1 p.m. Beijing time, Geek Lite (@QingQ77), a Chinese account that specifically recommends GitHub projects, posted one line with a screenshot:

A third-party Recovery for Xiaomi and Redmi phones, written from scratch in Rust, to replace TWRP. It supports decrypting the data partition, flashing, OTA, and backup.

The tweet got 24.6k views. The repo picked up 11 forks that day, and stars jumped from 50 to 150 the next day. The top reply: "holy... I didn't recognize it at a glance, I thought it was the built-in system."

What it is

A Recovery is a small system on the phone, separate from the OS, used for flashing packages, backups, and unbricking. For over a decade, the go-to third-party Recovery in Android modding has been TWRP. TWRP works by writing a config for each phone, pulling tens of GB of AOSP source, and recompiling. When a new model comes out, someone has to port decryption, touch, and drivers one by one.

Skyward takes a different route. It takes the official full package from Xiaomi's servers, extracts only the stock recovery partition, replaces the recovery program inside with one written in Rust in-house, and keeps everything else from stock: decryption relies on the stock KeyMint, Gatekeeper, and Weaver, and networking relies on the stock WLAN service. Each model needs just one TOML config. That's why the author could release 19 images in a single night.

Features roughly match TWRP: decrypt data, flash zips and system update packages, online OTA, backup and restore, file manager and terminal, WLAN, MTP, adb, and fastbootd. After a system update overwrites the recovery partition, it can automatically reflash itself. The UI is a renderer the author wrote, styled like HyperOS's built-in settings, with Simplified and Traditional Chinese and English support.

But be clear about its current state (from the repo README, 11-06):

ModelStatus
Xiaomi 17 Ultra, Xiaomi 13 UltraTested by the author, decryption works
Xiaomi 13/14/15/17 series, Redmi K80/K90/K100 series, 19 models in total"Built from stock firmware, never tested on a phone"; screen on, touch, and WLAN work, data is not decrypted

Release download counts line up (GitHub, 11-06): v0.1.2 has had 335 downloads in total. The most went to the two tested models: 13 Ultra 43, 17 Ultra 36. Each of the others got 8 to 22. The people who actually flashed it to a phone are probably in the dozens to one or two hundred (inference).

Why this one, and why now

The gap is real. The Xiaomi 17 series and this batch of K90 with Snapdragon 8 Elite on Android 16/17 are new phones that TWRP is slow to support. On XDA, someone posted "Unofficial TWRP 3.7.1 for Xiaomi 17 series" back in March, and the thread still says the 17 Ultra is "still in bring-up, decryption not finished." People who want Magisk, or want to back up before tinkering, have no Recovery that can decrypt. Skyward says it decrypts on the 17 Ultra, and that alone is enough to make people click.

There's a line that spreads. "Written from scratch in Rust" and "no AOSP download" are tags programmers like to repost. "Replaces TWRP, can decrypt" is what modders want. The screenshot looking like the built-in system makes a third group stop and look. Geek Lite's tweet compressed all three into one line.

The author isn't new. He previously made the Magisk unbrick module magisk-brick-guardian (148 stars) and the LSPosed certificate-bypass module TrustMe (54 stars). He has 368 followers on GitHub and some standing in the Xiaomi modding scene.

Where the stars came from: one repost, not sustained growth

DateWhat happenedstar
10-19The author hyped it on X himself—
10-25Created the repo, v0.1.0, XDA post; that night v0.1.2 released 19 images—
10-28Brought by XDA and the author's existing audience35
11-02Geek Lite tweet, 24.6k views; 11 forks that day50
11-03Single day +100150
11-06Daily gains back to single digits190

Source: GitHub daily stars (10-28 to 11-06), X, XDA.

A few things worth noting:

  • Before and after the repost are two different worlds. One XDA post plus the author's self-promotion got 50 stars over eight days. One big-account tweet got 100 in a day. No second wave followed, and daily gains fell back to 4 to 8. Coolapk, V2EX, Hacker News, and Reddit show no discussion, and no media has written about it. It can't get onto GitHub Trending yet, since the repo is only 12 days old.
  • The fork ratio is high. 35 forks to 190 stars, about 18%. People flashing Recovery either build it themselves or want to port it to the phone in their hands. Someone has already made ports for the 13 Pro (skyward-for-nuwa) and 14 Pro (skyward-for-shennong).
  • Outsiders have started working on it. In PRs, people are adding support for the Redmi K70, K100 Pro Max, and Xiaomi Pad 8 Pro. Others are fixing mount bugs, adding settings persistence, and adding 7z and zstd package flashing. Issues include "can't flash custom ROMs," "color bugs on some model screens," and "language setting lost on reboot." So people really are flashing it, and it's still very early.
  • The author hasn't pushed code since Oct 26. External PRs are piling up, and it's unknown when the next version will ship.

Who it's competing with

CompetitorsScaleCompared with alternatives
TWRPThe de facto standard since 2011Most models and the most mature ecosystem. But new Xiaomi models lag, decryption often fails, and each device needs its own AOSP build.
Unofficial TWRP for Xiaomi 17 series (XDA)Device config repo, 29 starsDirect competitor; self-described as still unfinished on decryption for the 17 Ultra
OrangeFox, PBRP, SHRPLong-running TWRP forksAlso limited by per-device porting, with little coverage of new Snapdragon Xiaomi phones
MissMyTime/TWRP-Xiaomi3 starAlso uses the stock KeyMint for decryption, but still on the TWRP architecture, and almost nobody knows about it
Xiaomi stock RecoveryAll Xiaomi phonesCan only wipe data and flash over USB; can't flash third-party packages or make backups

Star counts from GitHub, 11-06.

Bottom line: on new Xiaomi models, it's competing for the same users as the unofficial TWRP. Right now it leads on the "can decrypt" claim, but it only delivers that on two devices. Its real moat isn't features, it's the way it adapts: for another model, others need a week of porting, while it needs one config file.

If it were you

C. You can learn some very practical things, but following the same path won't win many stars. The ceiling is low and the bar is high, and this time's 100 stars mostly came from one tweet.

Phone modding is a small circle, and it's shrinking. Xiaomi's bootloader unlocking is getting harder in China, and under the tweet someone wrote "too bad I'm past the age for modding, now I just want my phone to be stable." A Recovery this solid getting 190 stars in 12 days is already close to the normal ceiling for this category. What's worth taking away isn't "build another Recovery," but its method and its promotion path.

Who it suits: developers already working on Android internals (Magisk modules, kernels, drivers) who have a new phone on hand and know Rust or C++; or people building tools for other fragmented hardware who want to borrow its approach.

Who it doesn't suit: people who've never touched bootloaders and partitions, and people who want a batch of stars in three months. A serious bug in a Recovery means someone loses all the data on their entire phone.

How to do it:

  1. Switch brands, don't collide with Xiaomi. Xiaomi is already taken, and PRs are still adding models. Brands like OnePlus and realme, where unlocking is relatively easy and TWRP also lags on new phones, haven't shown a project with the same approach yet (inference; search GitHub and XDA before you start). Follow its path: take the stock recovery image, swap only the upper layer, one config per device.
  2. Or do the part it hasn't done. All 19 images still can't decrypt, and no external PRs have been merged. If you want to get known in this repo's circle, getting decryption working on one or two popular models (like the K90 or 15 Ultra) and releasing a port separately is easier to notice than starting a new project from scratch. Just ask in an issue first to make sure the author isn't already doing it.
  3. Apply "reuse stock, swap only the upper layer" elsewhere. The core idea is to shrink the cost of per-device porting into one config file. Router firmware, TV boxes, and car head units are all places where "every machine needs its own port" applies.
  4. Release a lot of models at once, and be honest about what's untested. Its 17 "never tested on a phone" images still each get 8 to 22 downloads. The model list itself is a search entry point. Users only click star when they see "my model is supported."

How to get users: the author's own path shows that XDA and his own small account only bring dozens of stars. What really scaled was a tweet from a Chinese GitHub recommendation account. Accounts like Geek Lite are always looking for new projects. Your job is to make it easy for them: the first screen of the README should say in one line what it replaces and what problem it solves, with a good-looking screenshot (Skyward's screenshot was described as "I thought it was the built-in system"), and the title should carry one tech tag ("written from scratch in Rust"). On launch day, post on the XDA board for the relevant model and on Coolapk, then send the repo link to a few recommendation accounts (inference; I didn't verify whether the author reached out directly).

When is "before"? Once TWRP decrypts the newest models, the "it decrypts, TWRP doesn't" line is gone. The unofficial TWRP has been in progress for seven months and could catch up at any time (inference). For a project aimed at another brand, the best time to ship is when the next flagship launches and TWRP falls behind again.

What would show this read was wrong: ① Skyward's next version gets decryption working on a dozen or more models and stars keep rising past 1000, which would mean the phone-modding circle isn't shrinking and it's worth going after directly, so the grade should go up; ② a similar project for another brand gets recommended and only collects dozens of stars, which would mean this time's 100 stars came mainly from the big Xiaomi user base plus one account, and other brands can't replicate it; ③ Xiaomi or another brand tightens unlocking further, and the audience for third-party Recovery shrinks along with it.

---

Data & sources: GitHub repo README, Release download counts, issues and PRs (11-06); GitHub daily stars (10-28 through 11-06); Geek Lite tweet x.com/QingQ77/status/2117130331954295141 (11-02) and replies; author tweet x.com/lkirkun/status/2112050328015376627 (10-19); two XDA threads, Skyward and the unofficial TWRP for Xiaomi 17 Series; competitor repo stars from GitHub (11-06). Where we write "inferred," it's an estimate.

GitHub repo ↗

Research notes: competitor table, acquisition evidence, full research report
Competitors
NameWhereLaunchedScaleHow it differs from this one
TWRPOpen source2011The de facto standard for third-party Android recoveryBuilt from AOSP with per-device device trees, so support for new Xiaomi models lags. Skyward reuses the stock recovery image and stock services instead of building AOSP.
Unofficial TWRP 3.7.1 for Xiaomi 17 Series (XDA / antocorvo3000)Open source2026-03XDA thread; device tree repo 29 starsThe author says 17 Ultra decryption is still unfinished; Skyward claims it already decrypts
MissMyTime/TWRP-XiaomiOpen source2026-063 starAlso makes TWRP for the K90/17 Ultra, pulling stock KeyMint for decryption, but it's still TWRP architecture and nobody knows about it
OrangeFox / PBRP / SHRPOpen sourceFrom ¥2018Long-running community, many devicesAll TWRP forks; little coverage of new Snapdragon Xiaomi phones
Xiaomi stock RecoveryBig-company featuresAlways presentAll Xiaomi phonesCan only wipe data or flash via Xiaomi's flash tool; can't flash third-party packages or back up data
Where users come from
  • Confirmed Reposted by a large Chinese X account (Geek Lite @QingQ77): 2026-11-02 05:43 UTC tweet, 24.6K views; next day stars +100, same-day forks +11
  • Confirmed XDA forum post: author 10-25 posted the Skyward 0.1.0 thread in XDA Development. Few replies; brought roughly 35-50 early stars
  • Inferred The author's own X account and existing tinkering audience: @lkirkun (74 followers) posted a preview tweet 10-19; earlier, magisk-brick-guardian had 148 stars and TrustMe had 54 stars. Whether the WeChat Official Account Kirk Lin promoted it is unverified.

kirklin/skyward: a third-party Recovery for Xiaomi / Redmi, written in Rust from scratch

One line: a third-party Recovery for Xiaomi and Redmi phones (HyperOS 3/4), replacing TWRP. It doesn't modify the Xiaomi kernel or build AOSP. It calls the phone's stock KeyMint, Gatekeeper, Weaver, WLAN and other services from the firmware to decrypt data, flash, do OTA updates and backups, with a UI styled after HyperOS. GPL-3.0.

Takeaway: its stars mostly come from one burst of exposure. 2026-11-02 Chinese X account Geek Lite (@QingQ77) posted a recommendation (24.6K views), and stars went from 50 to 150 between that day and the next. It got reposted, and people clicked, because it hit a real gap: TWRP either doesn't exist for newer Xiaomi models (17 series, K90/K100, and other Android 16/17 phones) or its decryption doesn't work. Skyward claims decryption already works on the 17 Ultra, and it carries tags developers like to share: "written in Rust from scratch" and "no AOSP source download needed." It's a niche thing for small circles (Chinese tinkering communities and the Rust crowd), not a mass-market product.

1. Data (our GitHub repo DB + GitHub API, 2026-11-06)

  • Repo created 2026-10-25, v0.1.0 released the same day; XDA post the same day; 10-25 that night v0.1.2 came out, releasing images for 19 models at once, all marked "built from stock firmware, not tested on device." Last push 10-26.
  • Stars: 10-28 35 → 11-02 50 → 11-03 150 (+100 in one day) → 11-06 190 (live from GitHub API, 193). Forks 39, fork-to-star ratio about 20%.
  • Fork timing: from 10-26 through 11-01, only 1–2 a day on average; starting 11-02 07:19 UTC, 11 forks came in that same day, matching the tweet time (11-02 05:43 UTC).
  • Release downloads (GitHub API): v0.1.2 total 335, most for the 13 Ultra (ishtar) 43 and the 17 Ultra (nezha) 36, which are exactly the two "tested" models. Other models got 8–22 each. v0.1.1 total 55, v0.1.0 total 16. Real flashing users are probably in the dozens to one or two hundred.
  • 22 issues/PRs. External contributors are already submitting new-device support (Redmi K70 vermeer, K100 Pro Max, Xiaomi Pad 8 Pro, 13 Pro), settings persistence, 7za/zstd flashing, and so on. There are bug reports (colors, language setting lost on reboot, can't flash custom ROMs). This shows people are actually using it.

2. Where users came from (growth tactics)

ChannelEvidenceConfirmed?
Author's own X preview@lkirkun(74 关注者)2026-10-19 发"我给小米手机重写了一个 Recovery,名字叫 Skyward,代码全部用 Rust 从 0 实现。编译不需要下载 AOSP 源码",48 次左右互动/浏览量级(https://x.com/lkirkun/status/2112050328015376627)Yes, small impact
XDA forum postAuthor 10-25 posted "[RECOVERY][A17] Skyward 0.1.0 for Xiaomi 17 Ultra (nezha)" in XDA Development (https://xdaforums.com/t/...4806322/). Very few replies.Yes, brought early 30–50 stars
Reposted by a large Chinese X accountGeek Lite @QingQ77, 2026-11-02 05:43 UTC: "A third-party Recovery for Xiaomi and Redmi phones, written in Rust from scratch, replacing TWRP, with data partition decryption, flashing, OTA and backup", 24.6K views (https://x.com/QingQ77/status/2117130331954295141). Next day stars +100, same-day forks +11Yes, the main spike
The author already had an audienceAuthor Kirk Lin (Fuzhou, "Product Founder," WeChat Official Account Kirk Lin, 368 GitHub followers). Earlier tinkering projects include magisk-brick-guardian (148 stars, a Magisk unbricking module) and TrustMe (54 stars, an LSPosed certificate pinning bypass), so there's already a group of Xiaomi tinkerers following him.Partly confirmed (whether the WeChat Official Account promoted it is unverified)
Coolapk / V2EX / linux.do / HN / RedditNo discussion found in search; no results on HN or RedditNot found

GitHub trending only includes repos about 60 days after creation. This one was only 12 days old, so trending didn't drive it.

3. Competitors

NameWhereTimelineScaleHow it differs from Skyward
TWRP(TeamWin)Open source / officialFrom ¥2011The de facto standard for third-party Android recoveryBuilt on AOSP recovery + C++. Each device needs a device tree and an AOSP build, so support for new Xiaomi models lags and decryption often fails. Skyward doesn't build AOSP; it reuses the stock recovery image and stock services.
Unofficial TWRP 3.7.1 for Xiaomi 17 Series (XDA)Open source / XDA2026-03-31XDA thread + SourceForge; device tree repo antocorvo3000/twrp-xiaomi-17-series has 29 starsThe thread says 17 Ultra (nezha) "is still in bring-up, decrypt support not finished"; Skyward claims the 17 Ultra already decrypts
MissMyTime/TWRP-XiaomiOpen source2026-063 starAlso makes TWRP for the K90 / K90 Pro Max / 17 Ultra, pulling stock KeyMint/Weaver for decryption through scripts. Small scale.
OrangeFox / PBRP / SHRP and other TWRP derivativesOpen sourceFrom ¥2018Long-running community, many devicesAll TWRP forks, equally limited by device trees. Little coverage of new Snapdragon 8 Elite Xiaomi phones.
Chinese TWRP repackaging sites (ROM Paradise etc.)WebOngoingXiaomi 17 series "dedicated TWRP-3.7.1" builds, etc.Mostly repackaging, no new technology
Xiaomi stock RecoveryBig-company featuresAlways presentAll Xiaomi phonesCan only wipe data and flash via Xiaomi's flash tool; can't flash third-party packages or back up data
pubglite55/skyward-for-nuwa, xuanwei130-netizen/skyward-for-shennongOpen source (copycats / ports)2026-10-25, 11-013 / 1 starDirect forks ported to single devices like the 13 Pro and 14 Pro

4. Why it took off

  1. The gap is real: decryption for new Xiaomi phones on Android 16/17 with the Snapdragon 8 Elite is not working (the XDA unofficial TWRP thread says decryption for nezha is still in development). Tinkerers who flash Magisk or back up the baseband EFS have no good Recovery. Skyward claims decryption, OTA and backup all work on the 17 Ultra and 13 Ultra.
  2. New technical approach, worth talking about: it doesn't rebuild AOSP or touch the Xiaomi kernel. It only replaces the recovery program inside the stock recovery image and calls the stock KeyMint/Gatekeeper/Weaver/wpa_supplicant directly over binder. Each device is described by one TOML file, and the packager reads the recovery partition on demand from the full Xiaomi server image. That makes adding a new device far cheaper. The author released 19 device images in one night.
  3. "Written in Rust from scratch" + a polished HyperOS-style UI: a shareable hook for developers. For tinkerers, the screenshots look like the built-in system (a comment under the tweet: "I didn't recognize it at a glance and thought it was the system's own").
  4. One big repost sparked it: after Geek Lite's tweet, stars tripled within 24 hours. XDA plus the author's own posts had only brought around 50 stars. Daily growth has since dropped back to single digits.

5. Differentiation

Compared with the TWRP family, the difference isn't "more features." It's how it adapts: it borrows the stock firmware's drivers and services instead of porting its own, so decryption can work first on new models and new Android versions, with low maintenance cost. Add a Rust-built renderer, a HyperOS-style UI, online OTA (directly from Xiaomi's update servers), and auto-reflashing itself after a system update. That difference is clearly why it got shared and forked (the tweet's own wording was "replacing TWRP, with data partition decryption"). But the star count itself mainly comes from a big account's repost. Real device coverage is only 2 tested models so far, and many are marked "not tested on device."

6. Visibility

Small circle chatter: a Chinese X post with 24.6k views plus one XDA thread; no media coverage, and no discussion on Coolapk, V2EX, HN, or Reddit. There are 2 fork-based ports for single devices so far, and external PRs are adding more devices.

7. Takeaways

  • Reusing the platform's OEM components and swapping only the upper layer cuts the long-tail cost of porting device by device down to one config file. Good for any project building a universal tool for fragmented hardware.
  • Ship a large batch of device images at launch (even if labeled untested) so more people find "my device is listed". Download counts show untested devices still got 8–22 downloads.
  • Big Chinese GitHub recommendation accounts (like Geek Lite) pull Chinese open-source projects up very directly: one post ≈ 100 stars.
  • Pitch "written from scratch in Rust" and "no AOSP download needed" to programmer circles, and pitch "looks like the stock system" screenshots to the phone-modding crowd.

8. Uncertain

  • Geek Lite's follower count and whether the author's WeChat Official Account reposted it: not verified.
  • Actual success rate of unlocking the 17 Ultra, and whether untested devices can boot: not verified. The issues already include "can't flash custom ROMs" and "color bug" reports.
  • The commit style (many device adaptations in a short time, casual English commit messages) may have been AI-assisted coding: not verified.
  • The stargazer timestamp API returned 404. The hourly star distribution is inferred indirectly from our library's daily data and fork timing.

Sources

This article was written by AI from public data and the data we collect daily. Numbers are sourced, and inferences are labeled.