I have a NAS at home and use Google Drive for work. Managing media between them on Android meant switching between 5-6 apps constantly. None of them did everything:
- VLC plays from SMB but can't manage files
- Solid Explorer manages SMB files but its media player is basically useless
- Google Photos ignores NAS entirely
- Each cloud has its own separate app
I couldn't find a single app where every storage type was treated equally. So I built one.
This started as a "how hard can it be" project. The answer: harder than expected.
The most technically interesting problems:
- Getting ExoPlayer to stream from SMB required a custom DataSource implementation wrapping SMBJ's random-access file handle
- SMB connection pooling — naive implementations create a new connection per file, which makes large directory thumbnailing unbearably slow
- WorkManager + scheduled file operations that survive battery optimization on Chinese OEM devices (Xiaomi/Huawei kill background processes aggressively)
- Supporting 4 product flavors (Standard/Lite/Photos/Legacy) from a single codebase with feature flags — this paid off for the Play Store segmentation
Current feature count: 22 feature areas, 100+ individual features. Things I didn't expect to build: an EPUB reader, OCR with AR translation overlay, a Wear OS companion app, home screen widgets, duplicate detection via SHA-256 across network sources.