{"id":50114340,"url":"https://github.com/sanobld/laststats-app","last_synced_at":"2026-05-23T14:00:55.792Z","repository":{"id":358340905,"uuid":"1240986772","full_name":"SanoBld/LastStats-App","owner":"SanoBld","description":"A modern, multiplatform Flutter and Material You application to visualize and analyze your real-time Last.fm listening statistics.","archived":false,"fork":false,"pushed_at":"2026-05-23T12:05:50.000Z","size":2234,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-23T14:00:26.396Z","etag":null,"topics":["android","cross-platform-app","dart","flutter","lastfm-api","lastfm-backup","linux","material-3","material-you","material-you-3","multiplatform","music-statistics","windows"],"latest_commit_sha":null,"homepage":"https://sanobld.github.io/LastStats/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SanoBld.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2026-05-16T20:26:10.000Z","updated_at":"2026-05-23T11:53:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"391f7055-87fc-43e3-a9df-af18ad017ab4","html_url":"https://github.com/SanoBld/LastStats-App","commit_stats":null,"previous_names":["sanobld/laststats_mobile"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/SanoBld/LastStats-App","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanoBld%2FLastStats-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanoBld%2FLastStats-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanoBld%2FLastStats-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanoBld%2FLastStats-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SanoBld","download_url":"https://codeload.github.com/SanoBld/LastStats-App/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SanoBld%2FLastStats-App/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33398391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T04:15:53.637Z","status":"ssl_error","status_checked_at":"2026-05-23T04:15:53.242Z","response_time":53,"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","cross-platform-app","dart","flutter","lastfm-api","lastfm-backup","linux","material-3","material-you","material-you-3","multiplatform","music-statistics","windows"],"created_at":"2026-05-23T14:00:25.065Z","updated_at":"2026-05-23T14:00:55.780Z","avatar_url":"https://github.com/SanoBld.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LastStats 🎵\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/SanoBld/LastStats-App?style=flat-square\u0026color=7C3AED\u0026label=Version\" alt=\"Latest Release\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/SanoBld/LastStats-App/build-all.yml?branch=main\u0026style=flat-square\u0026label=Builds\" alt=\"Build Status\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/SanoBld/LastStats-App?style=flat-square\u0026color=555555\" alt=\"License\"\u003e\n\u003c/p\u003e\n\nA modern, multiplatform application built with **Flutter** and **Material You (M3)** to visualize, track, and analyze your listening statistics in real-time using the **Last.fm** API.\n\n---\n\n## ✨ Features\n\n* **Minimalist \u0026 Modern Design:** Clean interface inspired by technical aesthetics, optimized for quick and efficient data reading.\n\n* **Material You \u0026 Advanced Theming:** Fully supports system dark/light modes, custom accent colors (via presets or raw Hex codes), and dynamic palette extraction (`palette_generator`) that shifts the app's accent colors based on your **Now Playing** album artwork.\n\n* **Smart Image Resolution Chain:** Built-in multi-source artwork locator with an in-memory cache. If Last.fm doesn't provide a valid image, the app automatically falls back through the **iTunes Search API**, **Deezer API**, and **MusicBrainz / Cover Art Archive**.\n\n* **Real Data \u0026 Flexible Timeframes:** Direct, seamless connection with the Last.fm API to fetch live user profiles, recent scrobbles, and ranked lists across customizable periods (7 days, 1 month, 3 months, 6 months, 12 months, or overall).\n\n* **Zero Simulated Data:** The application purely processes functional, live API streams with robust network error handling and retry mechanisms.\n\n* **Integrated Update Checker:** Automated version tracking using the GitHub Releases API to notify users instantly when a newer release or APK is available.\n\n* **Multiplatform:** Architecture optimized to target Android, Windows, macOS, Linux, and Web from a single codebase.\n\n---\n\n## 🚀 Downloads \u0026 Automated Builds (CI/CD)\n\nThis project uses an automated multi-platform pipeline powered by **GitHub Actions**. Every update pushed to the repository simultaneously triggers release compilations for all target environments.\n\nYou can download the latest builds directly from the **Actions** tab of this repository:\n\n* 🤖 **Android:** `laststats-android-apk` (Features native adaptive icons)\n* 🪟 **Windows:** `laststats-windows-app`\n* 🌐 **Web:** `laststats-web-app`\n* 🍏 **macOS:** `laststats-macos-app`\n* 🐧 **Linux:** `laststats-linux-app`\n\n\u003e ⚠️ **Warning / Stability Note:**\n\u003e Executables downloaded directly from the **Actions** tab include the very latest features and real-time code updates. Consequently, **these development builds are highly likely to contain bugs**. Some specific features might temporarily glitch, malfunction, or exhibit unstable behavior.\n\n---\n\n## 📦 Technologies Used\n\n* **Framework:** Flutter (Dart)\n* **Design System:** Material Design 3 (Material You)\n* **Key Packages:**\n  * `dynamic_color` – Dynamic system palette adaptation.\n  * `palette_generator` – Contextual color profile extraction from album art.\n  * `shared_preferences` – Persistent storage for user credentials and custom UI configurations.\n  * `http` – Concurrent network management for REST requests.\n  * `url_launcher` – External web redirection management.\n* **API Integration:** Last.fm REST API, iTunes Search API, Deezer API, and Cover Art Archive.\n\n---\n\n## 📝 License\n\nThis project is open-source. Feel free to use, modify, or contribute to it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanobld%2Flaststats-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanobld%2Flaststats-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanobld%2Flaststats-app/lists"}