{"id":13592607,"url":"https://github.com/savvasdalkitsis/uhuruphotos-android","last_synced_at":"2026-01-24T14:59:10.447Z","repository":{"id":37016953,"uuid":"485908521","full_name":"savvasdalkitsis/uhuruphotos-android","owner":"savvasdalkitsis","description":"🖼️A modern media gallery, with features like backup/sync, semantic search, media map, face recognition, memories and much more built using the latest Android technologies.","archived":false,"fork":false,"pushed_at":"2025-12-12T06:33:05.000Z","size":48242,"stargazers_count":391,"open_issues_count":66,"forks_count":31,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-13T15:38:04.711Z","etag":null,"topics":["android","android-app","jetpack-compose","kotlin","kotlin-android","librephotos","mvi","sqldelight"],"latest_commit_sha":null,"homepage":"https://uhuru.photos","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/savvasdalkitsis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"savvasdalkitsis"}},"created_at":"2022-04-26T18:45:01.000Z","updated_at":"2025-12-10T09:19:31.000Z","dependencies_parsed_at":"2023-02-18T21:00:43.687Z","dependency_job_id":"9da00836-1c2f-42e5-afdf-0c232c30e415","html_url":"https://github.com/savvasdalkitsis/uhuruphotos-android","commit_stats":null,"previous_names":[],"tags_count":263,"template":false,"template_full_name":null,"purl":"pkg:github/savvasdalkitsis/uhuruphotos-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/savvasdalkitsis%2Fuhuruphotos-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/savvasdalkitsis%2Fuhuruphotos-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/savvasdalkitsis%2Fuhuruphotos-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/savvasdalkitsis%2Fuhuruphotos-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/savvasdalkitsis","download_url":"https://codeload.github.com/savvasdalkitsis/uhuruphotos-android/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/savvasdalkitsis%2Fuhuruphotos-android/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28730304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-app","jetpack-compose","kotlin","kotlin-android","librephotos","mvi","sqldelight"],"created_at":"2024-08-01T16:01:11.248Z","updated_at":"2026-01-24T14:59:10.442Z","avatar_url":"https://github.com/savvasdalkitsis.png","language":"Kotlin","funding_links":["https://github.com/sponsors/savvasdalkitsis"],"categories":["Kotlin"],"sub_categories":[],"readme":"[![Translation status](https://hosted.weblate.org/widgets/uhuruphotos/-/app-translations/svg-badge.svg)](https://hosted.weblate.org/engage/uhuruphotos/)\n[![Lines of code](https://tokei.rs/b1/github/savvasdalkitsis/uhuruphotos-android)](https://github.com/savvasdalkitsis/uhuruphotos-android)\n[![Join the chat at https://app.gitter.im/#/room/#uhuruphotos:gitter.im](https://badges.gitter.im/uhuruphotos/community.svg)](https://app.gitter.im/#/room/#uhuruphotos:gitter.im)\n[![CodeFactor](https://www.codefactor.io/repository/github/savvasdalkitsis/uhuruphotos-android/badge/main)](https://www.codefactor.io/repository/github/savvasdalkitsis/uhuruphotos-android/overview/main)\n\u003ca href=\"https://codebeat.co/projects/github-com-savvasdalkitsis-uhuruphotos-android-main\"\u003e\u003cimg alt=\"codebeat badge\" src=\"https://codebeat.co/badges/d1d9d630-3a57-4a81-a1c0-f6e5c4424e16\" /\u003e\u003c/a\u003e\n[![CodeScene Code Health](https://codescene.io/projects/59054/status-badges/code-health)](https://codescene.io/projects/59054)\n[![GitHub Sponsor](https://img.shields.io/github/sponsors/savvasdalkitsis?label=Sponsor\u0026logo=GitHub)](https://github.com/sponsors/savvasdalkitsis)\n\n# \u003cimg src=\"https://github.com/savvasdalkitsis/uhuruphotos-android/raw/main/foundation/icons/api/src/main/ic_launcher-playstore.png\" alt=\"logo\" width = 60px\u003e UhuruPhotos. A modern media gallery.\n\nWelcome to UhuruPhotos. A modern media gallery, with features like backup/sync, semantic search, media map, face recognition, memories and much more*\n\nIt is built using the latest Android technologies, like Jetpack Compose, SQLDelight, Coroutines etc using an MVI architecture.\n\nOwn your memories. UhuruPhotos and LibrePhotos are both non commercial, open source projects. No user tracking, data training or advertising ever.\n\n(* advanced features require a [LibrePhotos](https://github.com/LibrePhotos/librephotos) server)\n\n|\u003cimg src=\"https://github.com/savvasdalkitsis/uhuruphotos-android/raw/main/docs/assets/phone-1.png\" alt=\"screen 1\" width = 180px\u003e|\u003cimg src=\"https://github.com/savvasdalkitsis/uhuruphotos-android/raw/main/docs/assets/phone-2.png\" alt=\"screen 2\" width = 180px\u003e|\u003cimg src=\"https://github.com/savvasdalkitsis/uhuruphotos-android/raw/main/docs/assets/phone-3.png\" alt=\"screen 3\" width = 180px\u003e|\n\nFeatures include:\n\n* Photo feed with multiple views which can be changed by pinch to zoom gestures\n* Multiple select in feed to share/delete multiple items at once\n* Periodic background synchronization with LibrePhotos server\n* Photo details view with information like date, location, gps map, people view, sharing, \n  adding/removing from favourites (synced with LibrePhotos server)\n* Video details view with all the above features and video playback\n* Search your photos using LibrePhotos' search engine. Get search suggestions based on your photos.\n* People view and suggestions for people with most photos.\n* Photo map. See a heatmap of your photos. Navigate around the globe with the interactive map and \n  see photos taken in the location currently viewed.\n* User created and auto generated albums from LibrePhotos\n* Dark/Light mode (manual and auto)\n* Local photo support. This makes UhuruPhotos a viable Google Photos alternative which can be \n  used as your primary camera roll viewer.\n* Tablet support\n* A lot of settings to help you control the app storage and memory requirements along with how \n  frequently to perform synchronization with the LibrePhotos server.\n* Backup/Sync local images with LibrePhotos server. Take control of your data by never having to \n  worry about photo backups.\n* Basic photo editing capabilities.\n* Foldables support.\n* ...and more\n\n# Installation\n\n## Play store\n\nThe app is currently in public beta on the Google Play store. You can join and try out the app\n\n[\u003cimg src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\" width=300/\u003e](https://play.google.com/apps/testing/com.savvasdalkitsis.uhuruphotos)\n\n## Manual\n\nBoth the apk and aab binaries can be found on the [latest release](https://github.com/savvasdalkitsis/uhuruphotos-android/releases/latest) page\n\n# Sponsorship\n\nYou can sponsor the development of UhuruPhotos here\n\n[\u003cimg src=\"https://img.shields.io/github/sponsors/savvasdalkitsis?label=Sponsor\u0026logo=GitHub\" width=300/\u003e](https://github.com/sponsors/savvasdalkitsis)\n\n# Feedback\n\n[![Join the chat at https://app.gitter.im/#/room/#uhuruphotos:gitter.im](https://badges.gitter.im/uhuruphotos/community.svg)](https://app.gitter.im/#/room/#uhuruphotos:gitter.im) \n\n# Contributions\n\n* Translation: UhuruPhotos uses Weblate for its translations. Feel free to contribute or view\nexisting translations at [weblate](https://hosted.weblate.org/engage/uhuruphotos/)\n\n\u003ca href=\"https://hosted.weblate.org/engage/uhuruphotos/\"\u003e\u003cimg src=\"https://hosted.weblate.org/widgets/uhuruphotos/-/open-graph.png\" alt=\"Translation status\" width = 240px\u003e\u003c/a\u003e\n\n## Star History\n\n\u003ca href=\"https://star-history.com/#savvasdalkitsis/uhuruphotos-android\u0026Date\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=savvasdalkitsis/uhuruphotos-android\u0026type=Date\u0026theme=dark\" /\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=savvasdalkitsis/uhuruphotos-android\u0026type=Date\" /\u003e\n    \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=savvasdalkitsis/uhuruphotos-android\u0026type=Date\" /\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\nThis project is tested with BrowserStack.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsavvasdalkitsis%2Fuhuruphotos-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsavvasdalkitsis%2Fuhuruphotos-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsavvasdalkitsis%2Fuhuruphotos-android/lists"}