finds.dev← search

// the find

deckerst/aves

★ 4,883 · Dart · BSD-3-Clause · updated Jun 2026

Aves is a gallery and metadata explorer app, built for Android with Flutter.

Aves is a full-featured Android gallery app built in Flutter/Dart with unusually deep metadata support — EXIF, XMP, GeoTIFF, motion photos, MPF, multi-page TIFF. It's aimed at users who actually care about what's inside their files, not just viewing them. Think power users, photographers, and people who are annoyed that Google Photos hides all the good stuff.

The metadata handling is genuinely impressive — custom readers for MPF, XMP, GeoTIFF, and spherical video metadata, plus Safe* wrapper classes around the metadata-extractor library to handle malformed files without crashing. The Flutter/Kotlin split is clean: platform channels handle the heavy lifting (MediaStore, Glide, native decoding) while Dart owns the UI, which is the right call for a media app where you need real Android API access. The 40+ language translations via Weblate show real community investment. The flavor system (play/libre) is properly structured, separating Google Play and F-Droid builds at the source level rather than with runtime flags.

The README explicitly says PRs are not accepted, which is a dead end for contributors — you can translate strings but can't fix bugs or add features. That policy will eventually stall the project when the maintainer loses interest. The build setup is non-trivial: you need a keystore, flavor scripts, and the right Flutter wrapper version before you can even run it, which is higher friction than most Flutter projects. There's no iOS support and apparently none planned, so if you're building on this for a cross-platform tool, you're out of luck. The Kotlin-side channel handler count is large (20+ call handlers) with no apparent code generation, meaning the Flutter/Kotlin interface is entirely hand-maintained and a likely source of subtle bugs.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →