Show HN: Zim Sync – Mobile Media Backup to S3-Compatible Storage(play.google.com)
play.google.com
Show HN: Zim Sync – Mobile Media Backup to S3-Compatible Storage
https://play.google.com/store/apps/details?id=io.zeitmaschine.zimzync&hl=en_US
0 comments
—
I developed this app due to the lack of satisfactory alternatives for backing up photos and videos from my Android phone to my home storage. While numerous solutions and apps exist, after trying various options, I consistently encountered recurring issues:
- Some sort of state drift between device and server that broke at the most inconvenient time possible.
- Loss of metadata, including location data, during synchronization.
- Clunky UI/UX.
I try to address these challenges with the following:
- No state management: The difference between mobile device and remote storage is calculated on every synchronization.
- A simple filename-based algorithm for calculating the differences. Easy to reason about what's happening under the hood.
- Non-destructive actions: There are no deletions or overrides, both on your device and the server.
- Keeps your location data and other Exif metadata intact.
- Simplicity: Focus on doing one thing and doing it exceptionally well. There's room for improvement for sure :)
As someone relatively new to native app development, diving into Kotlin, Android development with Jetpack Compose, MVVM architecture, Flow API and state management has been quite the learning curve. The Play Store's publishing workflow and review cycles added another layer of complexity. The infamous "last 20%" to get it released felt considerably more.
Personally, I use Minio for S3 storage, which I like. For testing purposes, I also utilize AWS S3.
I'm happy about any kind of feedback and I'll gladly answer questions. If you have feedback on how to improve my Play Store listings that would be much appreciated - the app is basically in-existent in keyword searches.
I have no plans on monetizing the app at the moment. I am considering to open-source it, but I would like to gain a certain reach before doing so.