I’ve been building Orb, a private offline AI app for Android. One boring-but-painful part of that: the app has to download local AI model files that can be multiple GB.
A basic JS download flow was too fragile for that. Bad Wi-Fi, app backgrounding, or a relaunch can turn first-run setup into “start from zero again”, which is awful for a paid app.
So I pulled the downloader out into a small React Native/Nitro package:
https://github.com/zraisan/react-native-client
NPM:
https://www.npmjs.com/package/react-native-client
It currently does native direct-to-file downloads, progress callbacks, HTTP Range resume, Content-Range validation, OkHttp on Android, URLSession on iOS, Android foreground-service background mode, and iOS background URLSession.
The API is intentionally tiny right now: downloadFile. I’m keeping it narrow until people try it and tell me what surface area is actually worth adding.
Orb is the first real app using it:
https://play.google.com/store/apps/details?id=com.falaq.orb
Thanks for the comments. On whether open-sourcing brought users/contributors: too early to call, but it already helped clarify the story. The library is easier for devs to understand than the full app, and it gives Orb a concrete “we hit this real problem while shipping” angle instead of just another app launch. If issues/PRs come in, I’ll keep the API small until the repeated use cases are obvious.
This is one of those underappreciated infra problems that only shows up once you ship a real app: the gap between “download works” and “download survives reality.” Backgrounding, network instability, and app restarts are exactly the kind of edge cases that don’t show up in prototypes but define user experience for large-model apps. Turning that into a reusable client layer is the right abstraction move.
Hey — cool tool, saw the multi-GB downloader on Indie Hackers. I do quick security/bug passes for solo-built dev tools — recently found and fixed a live private-key leak in a production repo, it's on my GitHub (piush365) if you want to see it. Happy to take a pass on your downloader if useful.
Congrats on open-sourcing it! I’m also building a web tool, and I know how much work goes into making something reliable. Out of curiosity, did open-sourcing actually bring you more users or contributors?