spotiflacapp/SpotiFLAC-MobilePublic

Mobile music utility built with Flutter and Go. High-quality audio management for your personal library. - open source, no ads, no subscription.

AI summary: An open-source mobile music utility for managing and playing high-quality FLAC audio.

Stars
5.7K
+24 today
Forks
254
Watchers
53
Open issues
82
Open PRs
3
Contributors
~11
Commits
2K
Branches
5

DartMITCreated Dec 31, 2025Last push 4d agoLatest release v4.8.0+119 stars this week+119 this month

Star history

since Apr 12, 2026
02K4KApr 2026May 2026Jun 2026Aug 2026
5.7K stars as of Aug 6, 2026, tracked back to Apr 12, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-02: 0 commits2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 26 commits2026-01-02: 26 commits2026-01-03: 8 commits2026-01-04: 6 commits2026-01-05: 6 commits2026-01-06: 3 commits2026-01-07: 10 commits2026-01-08: 5 commits2026-01-09: 8 commits2026-01-10: 9 commits2026-01-11: 5 commits2026-01-12: 20 commits2026-01-13: 16 commits2026-01-14: 6 commits2026-01-15: 2 commits2026-01-16: 35 commits2026-01-17: 25 commits2026-01-18: 23 commits2026-01-19: 23 commits2026-01-20: 38 commits2026-01-21: 38 commits2026-01-22: 65 commits2026-01-23: 3 commits2026-01-24: 12 commits2026-01-25: 2 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 1 commit2026-01-29: 0 commits2026-01-30: 1 commit2026-01-31: 72 commits2026-02-01: 24 commits2026-02-02: 17 commits2026-02-03: 13 commits2026-02-04: 28 commits2026-02-05: 3 commits2026-02-06: 4 commits2026-02-07: 50 commits2026-02-08: 25 commits2026-02-09: 12 commits2026-02-10: 28 commits2026-02-11: 36 commits2026-02-12: 14 commits2026-02-13: 6 commits2026-02-14: 20 commits2026-02-15: 1 commit2026-02-16: 1 commit2026-02-17: 6 commits2026-02-18: 18 commits2026-02-19: 9 commits2026-02-20: 2 commits2026-02-21: 1 commit2026-02-22: 14 commits2026-02-23: 2 commits2026-02-24: 0 commits2026-02-25: 1 commit2026-02-26: 0 commits2026-02-27: 14 commits2026-02-28: 1 commit2026-03-01: 0 commits2026-03-02: 2 commits2026-03-03: 0 commits2026-03-04: 14 commits2026-03-05: 2 commits2026-03-06: 18 commits2026-03-07: 1 commit2026-03-08: 5 commits2026-03-09: 13 commits2026-03-10: 16 commits2026-03-11: 24 commits2026-03-12: 3 commits2026-03-13: 1 commit2026-03-14: 17 commits2026-03-15: 25 commits2026-03-16: 39 commits2026-03-17: 8 commits2026-03-18: 8 commits2026-03-19: 0 commits2026-03-20: 2 commits2026-03-21: 0 commits2026-03-22: 8 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 25 commits2026-03-26: 11 commits2026-03-27: 13 commits2026-03-28: 0 commits2026-03-29: 13 commits2026-03-30: 6 commits2026-03-31: 4 commits2026-04-01: 2 commits2026-04-02: 6 commits2026-04-03: 8 commits2026-04-04: 13 commits2026-04-05: 0 commits2026-04-06: 8 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 3 commits2026-04-10: 0 commits2026-04-11: 3 commits2026-04-12: 3 commits2026-04-13: 10 commits2026-04-14: 15 commits2026-04-15: 0 commits2026-04-16: 2 commits2026-04-17: 1 commit2026-04-18: 34 commits2026-04-19: 5 commits2026-04-20: 4 commits2026-04-21: 0 commits2026-04-22: 1 commit2026-04-23: 5 commits2026-04-24: 4 commits2026-04-25: 0 commits2026-04-26: 1 commit2026-04-27: 2 commits2026-04-28: 3 commits2026-04-29: 1 commit2026-04-30: 0 commits2026-05-01: 4 commits2026-05-02: 9 commits2026-05-03: 35 commits2026-05-04: 5 commits2026-05-05: 8 commits2026-05-06: 29 commits2026-05-07: 10 commits2026-05-08: 8 commits2026-05-09: 3 commits2026-05-10: 7 commits2026-05-11: 6 commits2026-05-12: 4 commits2026-05-13: 0 commits2026-05-14: 9 commits2026-05-15: 21 commits2026-05-16: 4 commits2026-05-17: 4 commits2026-05-18: 1 commit2026-05-19: 1 commit2026-05-20: 2 commits2026-05-21: 3 commits2026-05-22: 2 commits2026-05-23: 2 commits2026-05-24: 1 commit2026-05-25: 0 commits2026-05-26: 4 commits2026-05-27: 5 commits2026-05-28: 6 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 4 commits2026-06-01: 4 commits2026-06-02: 18 commits2026-06-03: 0 commits2026-06-04: 6 commits2026-06-05: 0 commits2026-06-06: 1 commit2026-06-07: 1 commit2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 1 commit2026-06-12: 3 commits2026-06-13: 13 commits2026-06-14: 5 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 1 commit2026-06-20: 1 commit2026-06-21: 17 commits2026-06-22: 5 commits2026-06-23: 4 commits2026-06-24: 4 commits2026-06-25: 4 commits2026-06-26: 23 commits2026-06-27: 6 commits2026-06-28: 16 commits2026-06-29: 20 commits2026-06-30: 23 commits2026-07-01: 45 commits2026-07-02: 26 commits2026-07-03: 4 commits2026-07-04: 0 commits2026-07-05: 8 commits2026-07-06: 0 commits2026-07-07: 3 commits2026-07-08: 0 commits2026-07-09: 23 commits2026-07-10: 28 commits2026-07-11: 16 commits2026-07-12: 9 commits2026-07-13: 41 commits2026-07-14: 37 commits2026-07-15: 9 commits2026-07-16: 16 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 1 commit2026-07-22: 5 commits2026-07-23: 10 commits2026-07-24: 8 commits2026-07-25: 2 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
1,920 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    1,920 commits in 52 weeks

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What SpotiFLAC-Mobile does

SpotiFLAC Mobile provides a native application for Android and iOS devices designed to manage personal, high-quality music libraries. Built with a Flutter frontend and a Golang backend, it offers a seamless interface for organizing lossless FLAC files. The app bypasses traditional streaming models, giving users complete control over their local audio without ads or subscriptions. It focuses on preserving audio fidelity while providing modern library management features like metadata parsing and playlist creation.

Audiophiles, music collectors, and anyone who prefers owning their music locally rather than relying on streaming services.

  • Lossless audio playback: natively supports playing high-resolution FLAC files without downsampling.
  • Cross-platform UI: utilizes Flutter to deliver a consistent, smooth experience across Android and iOS.
  • High-performance backend: leverages Golang for fast local file indexing and metadata extraction.
  • No subscriptions or ads: entirely open-source and free, focusing purely on user-owned media.
  • Metadata management: automatically reads and organizes tracks based on embedded ID3 and FLAC tags.

Where teams use it

Audiophile Listening on the Go

Music enthusiasts with large collections of lossless audio use the app to listen on their phones without quality loss.

Offline Music Management

Users traveling in areas with poor internet connectivity manage and play their locally stored music seamlessly.

Ditching Streaming Subscriptions

People tired of monthly fees use SpotiFLAC to build and maintain their own personal, permanent music library.

Organizing Ripped CDs

Collectors who digitize their physical media use the app's robust metadata tools to keep their libraries sorted.

Getting started: flutter pub get

README

main branch

GitHub Release VirusTotal Crowdin

Telegram Channel Telegram Community

Screenshots


Extensions

Extensions let the community add new music sources and features without waiting for app updates. When a streaming service API changes or a new source becomes available, extensions can be updated independently.

Installing Extensions

  1. Open the Store tab in the app
  2. On first launch, enter an Extension Repository URL when prompted
  3. Browse and install extensions with one tap
  4. Or download a .spotiflac-ext file and install manually via Settings > Extensions
  5. Configure extension settings if needed
  6. Set provider priority under Settings > Extensions > Provider Priority

Developing Extensions

Note

Want to build your own extension? The Extension Development Guide has everything you need.


Related Projects

Download music in true lossless FLAC from extension-provided sources on Windows, macOS & Linux.

Python library for SpotiFLAC integration, maintained by @ShuShuzinhuu.


FAQ

Why does the Store tab ask me to enter a URL?

Starting from version 3.8.0, SpotiFLAC uses a decentralized extension repository system extensions are hosted on GitHub repositories rather than a built-in server, so anyone can create and host their own. Enter a repository URL in the Store tab to browse and install extensions.

Why is my download failing with "Song not found"?

The track may not be available from your enabled providers. Try enabling more providers under Settings > Extensions > Provider Priority, or install additional download extensions from the Store.

Why are some tracks downloading in lower quality?

Quality depends on what's available from the source and the installed download extension. Check each extension's quality options and service notes in the app.

Can I download playlists?

Yes! Just paste the playlist URL in the search bar. The app will fetch all tracks and queue them for download.

Why do I need to grant storage permission?

The app needs permission to save downloaded files to your device. On Android 13+, you may need to grant All files access under Settings > Apps > SpotiFLAC > Permissions.

Is this app safe?

Yes SpotiFLAC is open source and you can verify the code yourself. Each release is also scanned with VirusTotal (see badge above).

Why is downloading not working in my country?

Some countries have restricted access to certain streaming service APIs. If downloads are failing, try using a VPN to connect through a different region.

Can I add SpotiFLAC to AltStore or SideStore?

Yes! Add the official source to receive updates directly within the app. Copy this link:

https://raw.githubusercontent.com/zarzet/SpotiFLAC-Mobile/refs/heads/main/apps.json

In AltStore/SideStore, go to Browse > Sources, tap +, and paste the link.

Note

If SpotiFLAC is useful to you, consider supporting development:

Ko-fi


Contributors

Thanks to everyone who has contributed to SpotiFLAC Mobile!

We also appreciate everyone who helped with translations on Crowdin, reported bugs, suggested features, and spread the word.

Interested in contributing? Check out the Contributing Guide to get started!


API Credits

MusicDL LRCLib Paxsenix Cobalt Song.link
IDHS

Disclaimer

This repository and its contents are provided strictly for educational and research purposes. The software is provided "as-is" without warranty of any kind, express or implied, as stated in the MIT License.

  • No copyrighted content is hosted, stored, mirrored, or distributed by this repository.
  • Users must ensure that their use of this software is properly authorized and complies with all applicable laws, regulations, and third-party terms of service.
  • This software is provided free of charge by the maintainer. If you paid a third party for access to this software in its original form from this repository, you may have been misled or scammed. Any redistribution or commercial use by third parties must comply with the terms of the repository license. No affiliation, endorsement, or support by the maintainer is implied unless explicitly stated in writing.
  • SpotiFLAC Mobile is an independent project. It is not affiliated with, endorsed by, or connected to any other project or version on other platforms that may share a similar name. The maintainer of this repository has no control over or responsibility for third-party projects.
  • The author(s) disclaim all liability for any direct, indirect, incidental, or consequential damages arising from the use or misuse of this software. Users assume all risk associated with its use.
  • If you are a copyright holder or authorized representative and believe this repository infringes upon your rights, please contact the maintainer with sufficient detail (including relevant URLs and proof of ownership). The matter will be promptly investigated and appropriate action will be taken, which may include removal of the referenced material.

Tip

Star the repo to get notified about all new releases directly from GitHub.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

78 total
  1. SpotiFLAC-Mobile v4.8.0v4.8.0Jul 25, 202658.9K downloads

    ### New Features - **ui**: Smooth download progress updates - **download**: Preserve quality variants - **convert**: Optionally retain original files - **convert**: Support same-format lossless re-encoding - **ui**: Shimmer skeletons for the home feed artist/album sections - **player**: ReplayGain/R128 volume normalization for the built-in player - **net**: DoH fallback, uTLS pool flush on cleanup, retry hardening - **ui**: Crossfade the app content on orientation and rail-breakpoint changes - **settings**: Toggle to disable Hero animations - **tablet**: Clamp remaining screens - settings, queue lists, wizard - **player**: Swipe the mini player away to stop playback - **ui**: Surface the audio-analysis cache in cache management - **tablet**: Navigation rail, landscape now-playing, clamped track lists - **tablet**: Clamp dialogs and sheets, adaptive selection-card columns - **ui**: Real headers on extension loading screens so hero covers fly on open - **metadata**: Album-style header with centered square cover - **player**: Fade the sheet in place on close, letting only the cover travel - **ui**: Crossfade skeleton into content on extension detail screens - **ui**: Shared-element

  2. SpotiFLAC-Mobile v4.7.1v4.7.1Jul 1, 2026140.8K downloads

    ### New Features - **extensions**: Embed full metadata and cover after extension downloads - **audio**: Add dither and resampler options for lossless conversion - **extensions**: Manual verification help when browser launch fails - **settings**: Add extension verification browser mode preference ### Bug Fixes - **convert**: Make convert bottom sheets draggable and scroll-controlled - **extensions**: Default verification browser to in-app first - **download**: Hand off native worker verification to interactive queue - **ac4**: Reject truncated AC-4 sample entries safely - **extensions**: Bootstrap and clear pending signed-session auth ### Chores - **release**: Bump version to 4.7.1+137 - Update AltStore source to v4.7.0 by [@github-actions[bot]](https://github.com/github-actions[bot]) ### L10n - Add extension verification and lossless processing strings **Full Changelog**: [v4.7.0...v4.7.1](https://github.com/spotiflacapp/SpotiFLAC-Mobile/compare/v4.7.0...v4.7.1) --- ### Downloads #### Android - **arm64**: `SpotiFLAC-v4.7.1-arm64.apk` (recommended for modern devices) - **arm32**: `SpotiFLAC-v4.7.1-arm32.apk` (older devices) #### iOS - **iOS**: `SpotiFLAC-v4.7.1-ios-u

  3. SpotiFLAC-Mobile v4.7.0v4.7.0Jun 30, 202617.1K downloads

    ### New Features - **extension-repo**: Preserve package suffix from download URL - **extensions**: Route Deezer metadata through enabled extension - **ui**: Stabilize album and playlist header layouts - **extension-health**: Lengthen cache TTL and honor per-check minimum - Apply lossless conversion quality cap to album screen batch convert - Reorderable up-next queue + playback stability - Cap bit depth/sample rate on lossless conversion + WAV/AIFF - **ui**: Hide audio quality badge on downloading queue items - **ui**: Redesign local/downloaded album and folder screen headers - Playback queue, preview exclusivity, player bug fixes - Add new playback experience and media integration - **go**: Verification early-abort in fallback + album metadata from tracks - **banner**: HLS motion-artwork header banners and audio-quality badges - **preview**: Play short track preview snippets in lists - **extension-health**: Cache results, force refresh, treat lookup errors as transient - **ui**: Polish album folder structure picker bottom sheet - **ui**: Add Beta badge to Backup & Restore settings entry - **network**: Add opt-in allow local/private network setting - **backup**: Include installed

  4. SpotiFLAC v4.6.0v4.6.0Jun 13, 2026133.3K downloads

    ### New Features - **playlist**: Blurred backdrop with full cover in playlist header - **ui**: Add bottom inset so scrollable content clears the transparent navbar - **library**: Show active downloads inside the library grid - **ui**: Reduce bottom navbar height - **ui**: Frosted translucent bottom navbar - **lyrics**: Show actual lyrics source in metadata - **audio**: Add WAV and AIFF support + settings-style metadata menu - **lyrics,replaygain**: Add LyricsPlus provider and ReplayGain batch scanning - **l10n**: Enable French and German locales ### Bug Fixes - **metadata**: Use high-res cover in track metadata header - **download**: Honor selected provider when it equals the track source - **download**: Request fallback provider's own highest quality - **downloads/extensions**: IOS background task, serialize extension mutations, safer batch convert sheet - **ui**: Center modals on large screens, modernize edit-metadata + convert sheets, themed badges, fix artist skeleton and format-editor crash - **l10n**: Remove redundant ICU plural categories causing gen-l10n warnings - **android**: Override predictive-back page transition - **queue**: Simplify queue header and rate-limit in

  5. SpotiFLAC v4.5.6v4.5.6Jun 1, 202672.7K downloads

    ### New Features - Polish search empty state and share caching - Rebuild cross-extension sharing and queue controls ### Bug Fixes - Align ios deployment target for file picker - Prevent queue header action clipping - Align cross-service sharing and fallback routing - Harden download errors and re-enrich sidecars - Resolve album-only autofill and placeholder re-enrich regressions - Stricter metadata matching, respect embedLyrics setting, improve Apple Music lyrics ### Chores - Update flutter and native dependencies - Bump version to 4.5.6 (build 133) - Update AltStore source to v4.5.5 by [@github-actions[bot]](https://github.com/github-actions[bot]) - Update AltStore source to v4.5.1 by [@github-actions[bot]](https://github.com/github-actions[bot]) **Full Changelog**: [v4.5.5...v4.5.6](https://github.com/spotiflacapp/SpotiFLAC-Mobile/compare/v4.5.5...v4.5.6) --- ### Downloads #### Android - **arm64**: `SpotiFLAC-v4.5.6-arm64.apk` (recommended for modern devices) - **arm32**: `SpotiFLAC-v4.5.6-arm32.apk` (older devices) #### iOS - **iOS**: `SpotiFLAC-v4.5.6-ios-unsigned.ipa` (sideload required) ### Installation **Android**: Enable "Install from unknown sources" and ins

Commits per week

last 52 weeks
2020Week of 2025-08-02: 0 commitsWeek of 2025-08-09: 0 commitsWeek of 2025-08-16: 0 commitsWeek of 2025-08-23: 0 commitsWeek of 2025-08-30: 0 commitsWeek of 2025-09-06: 0 commitsWeek of 2025-09-13: 0 commitsWeek of 2025-09-20: 0 commitsWeek of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 60 commitsWeek of 2026-01-04: 47 commitsWeek of 2026-01-11: 109 commitsWeek of 2026-01-18: 202 commitsWeek of 2026-01-25: 76 commitsWeek of 2026-02-01: 139 commitsWeek of 2026-02-08: 141 commitsWeek of 2026-02-15: 38 commitsWeek of 2026-02-22: 32 commitsWeek of 2026-03-01: 37 commitsWeek of 2026-03-08: 79 commitsWeek of 2026-03-15: 82 commitsWeek of 2026-03-22: 57 commitsWeek of 2026-03-29: 52 commitsWeek of 2026-04-05: 14 commitsWeek of 2026-04-12: 65 commitsWeek of 2026-04-19: 19 commitsWeek of 2026-04-26: 20 commitsWeek of 2026-05-03: 98 commitsWeek of 2026-05-10: 51 commitsWeek of 2026-05-17: 15 commitsWeek of 2026-05-24: 16 commitsWeek of 2026-05-31: 33 commitsWeek of 2026-06-07: 18 commitsWeek of 2026-06-14: 7 commitsWeek of 2026-06-21: 63 commitsWeek of 2026-06-28: 134 commitsWeek of 2026-07-05: 78 commitsWeek of 2026-07-12: 112 commitsWeek of 2026-07-19: 26 commitsWeek of 2026-07-26: 0 commitsAug 2, 2025Jul 26, 2026
1.9K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 15 commitsSun 1:00 — 25 commitsSun 2:00 — 12 commitsSun 3:00 — 12 commitsSun 4:00 — 6 commitsSun 5:00 — 3 commitsSun 6:00 — 8 commitsSun 7:00 — 0 commitsSun 8:00 — 14 commitsSun 9:00 — 3 commitsSun 10:00 — 0 commitsSun 11:00 — 5 commitsSun 12:00 — 14 commitsSun 13:00 — 8 commitsSun 14:00 — 5 commitsSun 15:00 — 8 commitsSun 16:00 — 5 commitsSun 17:00 — 6 commitsSun 18:00 — 24 commitsSun 19:00 — 26 commitsSun 20:00 — 17 commitsSun 21:00 — 27 commitsSun 22:00 — 16 commitsSun 23:00 — 8 commitsMon 0:00 — 13 commitsMon 1:00 — 9 commitsMon 2:00 — 24 commitsMon 3:00 — 14 commitsMon 4:00 — 6 commitsMon 5:00 — 1 commitsMon 6:00 — 11 commitsMon 7:00 — 6 commitsMon 8:00 — 18 commitsMon 9:00 — 4 commitsMon 10:00 — 2 commitsMon 11:00 — 2 commitsMon 12:00 — 3 commitsMon 13:00 — 3 commitsMon 14:00 — 7 commitsMon 15:00 — 3 commitsMon 16:00 — 4 commitsMon 17:00 — 4 commitsMon 18:00 — 15 commitsMon 19:00 — 14 commitsMon 20:00 — 36 commitsMon 21:00 — 12 commitsMon 22:00 — 24 commitsMon 23:00 — 12 commitsTue 0:00 — 6 commitsTue 1:00 — 19 commitsTue 2:00 — 36 commitsTue 3:00 — 14 commitsTue 4:00 — 11 commitsTue 5:00 — 6 commitsTue 6:00 — 10 commitsTue 7:00 — 10 commitsTue 8:00 — 10 commitsTue 9:00 — 7 commitsTue 10:00 — 8 commitsTue 11:00 — 2 commitsTue 12:00 — 5 commitsTue 13:00 — 3 commitsTue 14:00 — 5 commitsTue 15:00 — 13 commitsTue 16:00 — 3 commitsTue 17:00 — 11 commitsTue 18:00 — 13 commitsTue 19:00 — 21 commitsTue 20:00 — 8 commitsTue 21:00 — 3 commitsTue 22:00 — 4 commitsTue 23:00 — 25 commitsWed 0:00 — 14 commitsWed 1:00 — 16 commitsWed 2:00 — 41 commitsWed 3:00 — 5 commitsWed 4:00 — 19 commitsWed 5:00 — 3 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 5 commitsWed 9:00 — 6 commitsWed 10:00 — 7 commitsWed 11:00 — 9 commitsWed 12:00 — 22 commitsWed 13:00 — 5 commitsWed 14:00 — 3 commitsWed 15:00 — 12 commitsWed 16:00 — 25 commitsWed 17:00 — 25 commitsWed 18:00 — 6 commitsWed 19:00 — 5 commitsWed 20:00 — 5 commitsWed 21:00 — 15 commitsWed 22:00 — 22 commitsWed 23:00 — 42 commitsThu 0:00 — 13 commitsThu 1:00 — 17 commitsThu 2:00 — 55 commitsThu 3:00 — 5 commitsThu 4:00 — 7 commitsThu 5:00 — 1 commitsThu 6:00 — 1 commitsThu 7:00 — 33 commitsThu 8:00 — 7 commitsThu 9:00 — 6 commitsThu 10:00 — 12 commitsThu 11:00 — 0 commitsThu 12:00 — 1 commitsThu 13:00 — 7 commitsThu 14:00 — 3 commitsThu 15:00 — 5 commitsThu 16:00 — 12 commitsThu 17:00 — 3 commitsThu 18:00 — 16 commitsThu 19:00 — 28 commitsThu 20:00 — 16 commitsThu 21:00 — 13 commitsThu 22:00 — 4 commitsThu 23:00 — 5 commitsFri 0:00 — 13 commitsFri 1:00 — 6 commitsFri 2:00 — 8 commitsFri 3:00 — 12 commitsFri 4:00 — 21 commitsFri 5:00 — 4 commitsFri 6:00 — 38 commitsFri 7:00 — 21 commitsFri 8:00 — 0 commitsFri 9:00 — 7 commitsFri 10:00 — 5 commitsFri 11:00 — 6 commitsFri 12:00 — 4 commitsFri 13:00 — 6 commitsFri 14:00 — 12 commitsFri 15:00 — 7 commitsFri 16:00 — 4 commitsFri 17:00 — 6 commitsFri 18:00 — 12 commitsFri 19:00 — 5 commitsFri 20:00 — 10 commitsFri 21:00 — 13 commitsFri 22:00 — 11 commitsFri 23:00 — 17 commitsSat 0:00 — 8 commitsSat 1:00 — 9 commitsSat 2:00 — 8 commitsSat 3:00 — 1 commitsSat 4:00 — 9 commitsSat 5:00 — 17 commitsSat 6:00 — 2 commitsSat 7:00 — 6 commitsSat 8:00 — 5 commitsSat 9:00 — 11 commitsSat 10:00 — 7 commitsSat 11:00 — 23 commitsSat 12:00 — 34 commitsSat 13:00 — 23 commitsSat 14:00 — 23 commitsSat 15:00 — 13 commitsSat 16:00 — 17 commitsSat 17:00 — 19 commitsSat 18:00 — 7 commitsSat 19:00 — 21 commitsSat 20:00 — 12 commitsSat 21:00 — 11 commitsSat 22:00 — 17 commitsSat 23:00 — 20 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
  • practical-tutorials/project-based-learning

    Curated list of project-based tutorials

    277.2K stars · Python

  • avelino/awesome-go

    A curated list of awesome Go frameworks, libraries and software

    180.4K stars · Go

  • Genymobile/scrcpy

    Display and control your Android device

    147.1K stars · C

  • immich-app/immich

    High performance self-hosted photo and video management solution.

    109.9K stars · TypeScript

  • santifer/career-ops

    Open-source AI job search: scan job portals, evaluate listings with a structured A-F rubric into a 1.0-5.0 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)

    63K stars · JavaScript

  • DioxusLabs/dioxus

    Fullstack app framework for web, desktop, and mobile.

    38.5K stars · Rust