mornyeapp/MornyePublic

Mobile music utility built with Flutter and Rust. 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 lossless FLAC audio with extension support.

Stars
7.2K
+267 today
Forks
366
Watchers
70
Open issues
156
Open PRs
8
Contributors
~13
Commits
3.3K
Branches
5

DartLGPL-3.0Created Dec 31, 2025Last push todayLatest release v5.2.1+500 stars this week+872 this month

Quick answers

What is Mornye?
An open-source mobile music utility for managing and playing lossless FLAC audio with extension support.
What does Mornye do?
SpotiFLAC Mobile is an ad-free, subscription-free mobile application built with Flutter and Go for high-quality, local audio management. It provides a clean, modern interface for users to build and manage a personal library of lossless FLAC music, completely bypassing commercial streaming services. Available on both Android and iOS, it leverages a high-performance Go backend for fast scanning and playback without draining the battery or requiring internet access. The app features a decentralized extension repository system, allowing users to install community-developed plugins to add new music sources and features dynamically. This serves as a privacy-respecting alternative for audiophiles who demand complete control over their high-fidelity collections.
Who is Mornye for?
Music lovers, audiophiles, and privacy advocates who want a high-quality, local-only music player for their mobile devices. It is especially suited for users who prefer managing their own media files over renting them from streaming services.
How do I get started with Mornye?
Open the Store tab in the app and enter an Extension Repository URL to browse available extensions.
How popular is Mornye on GitHub?
mornyeapp/Mornye has 7,246 stars and 366 forks on GitHub, and gained 500 stars in the last 7 days.
What license does Mornye use?
mornyeapp/Mornye is released under the LGPL-3.0 license.

Star history

since Jul 29, 2026
02K4K6KJul 2026Aug 2026Sep 2026Oct 2026
7.2K stars as of Oct 23, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Update history

5 recorded
  • Oct 23, 2026License changed from MIT to LGPL-3.0.
  • Oct 21, 2026New release v5.2.1 (previously v5.1.0).
  • Oct 21, 2026Description changed from "Mobile music utility built with Flutter and Go. High-quality audio management for your personal library. - open source, " to "Mobile music utility built with Flutter and Rust. High-quality audio management for your personal library. open source, ".
  • Oct 9, 2026New release v5.1.0 (previously v5.0.5).
  • Oct 4, 2026Previously tracked as zarzet/SpotiFLAC-Mobile; its 1 daily snapshot and 1 trending appearance were merged into this profile. Stars: 5,549 on 2026-07-29 under the old name, 6,590 on 2026-10-03 (+1,041).

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepOctMonWedFri2025-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: 33 commits2026-07-11: 17 commits2026-07-12: 10 commits2026-07-13: 42 commits2026-07-14: 37 commits2026-07-15: 9 commits2026-07-16: 16 commits2026-07-17: 0 commits2026-07-18: 1 commit2026-07-19: 0 commits2026-07-20: 4 commits2026-07-21: 1 commit2026-07-22: 5 commits2026-07-23: 10 commits2026-07-24: 8 commits2026-07-25: 28 commits2026-07-26: 53 commits2026-07-27: 34 commits2026-07-28: 21 commits2026-07-29: 31 commits2026-07-30: 12 commits2026-07-31: 0 commits2026-08-01: 17 commits2026-08-02: 23 commits2026-08-03: 7 commits2026-08-04: 1 commit2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 1 commit2026-08-09: 3 commits2026-08-10: 2 commits2026-08-11: 20 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 4 commits2026-08-18: 13 commits2026-08-19: 6 commits2026-08-20: 5 commits2026-08-21: 4 commits2026-08-22: 7 commits2026-08-23: 5 commits2026-08-24: 6 commits2026-08-25: 21 commits2026-08-26: 11 commits2026-08-27: 10 commits2026-08-28: 10 commits2026-08-29: 13 commits2026-08-30: 22 commits2026-08-31: 3 commits2026-09-01: 4 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 10 commits2026-09-05: 0 commits2026-09-06: 48 commits2026-09-07: 13 commits2026-09-08: 2 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 0 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 1 commit2026-09-15: 8 commits2026-09-16: 0 commits2026-09-17: 27 commits2026-09-18: 1 commit2026-09-19: 3 commits2026-09-20: 15 commits2026-09-21: 8 commits2026-09-22: 3 commits2026-09-23: 10 commits2026-09-24: 2 commits2026-09-25: 40 commits2026-09-26: 28 commits2026-09-27: 47 commits2026-09-28: 11 commits2026-09-29: 0 commits2026-09-30: 21 commits2026-10-01: 22 commits2026-10-02: 26 commits2026-10-03: 27 commits2026-10-04: 30 commits2026-10-05: 27 commits2026-10-06: 48 commits2026-10-07: 27 commits2026-10-08: 33 commits2026-10-09: 8 commits2026-10-10: 14 commits2026-10-11: 22 commits2026-10-12: 2 commits2026-10-13: 10 commits2026-10-14: 7 commits2026-10-15: 20 commits2026-10-16: 0 commits2026-10-17: 14 commits2026-10-18: 106 commits2026-10-19: 86 commits2026-10-20: 24 commits2026-10-21: 0 commits2026-10-22: 0 commits2026-10-23: 0 commits2026-10-24: 0 commits
3,179 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Rising fast

    +500 stars this week

  • Very active

    3,179 commits in 52 weeks

  • Continuous integration

    Automated checks passing

What Mornye does

SpotiFLAC Mobile is an ad-free, subscription-free mobile application built with Flutter and Go for high-quality, local audio management. It provides a clean, modern interface for users to build and manage a personal library of lossless FLAC music, completely bypassing commercial streaming services. Available on both Android and iOS, it leverages a high-performance Go backend for fast scanning and playback without draining the battery or requiring internet access. The app features a decentralized extension repository system, allowing users to install community-developed plugins to add new music sources and features dynamically. This serves as a privacy-respecting alternative for audiophiles who demand complete control over their high-fidelity collections.

Music lovers, audiophiles, and privacy advocates who want a high-quality, local-only music player for their mobile devices. It is especially suited for users who prefer managing their own media files over renting them from streaming services.

  • Lossless Audio Focus: Dedicated entirely to high-fidelity FLAC audio format management and uncompressed, pristine playback.
  • Cross-Platform UI: Built with Flutter to ensure a beautiful, consistent, and responsive experience across Android and iOS.
  • High-Performance Backend: Utilizes Go for incredibly fast background processing, metadata scanning, and local file handling.
  • Decentralized Extension System: Supports community-developed extensions to dynamically add new download sources without updating the core app.
  • Ad-Free Offline Experience: Completely open-source with no advertisements, telemetry, or tracking, requiring absolutely no internet connection for playback.
  • Advanced Metadata Support: Reads and cleanly displays embedded album art, lyrics, and detailed audio tags.

Where teams use it

Audiophile Music Collection

Manage large collections of high-resolution FLAC files on mobile without any quality degradation or compression.

Managing Large Local Libraries

Users with gigabytes of local music rely on the app's fast scanning to organize their tracks efficiently.

Offline Commuting

Commuters use the app to listen to their favorite albums in subway systems where internet connectivity is unavailable.

Privacy-Focused Playback

Listen to music without tracking, profiling, or algorithmic telemetry common in commercial streaming apps.

Extensible Source Integration

Users add custom extension URLs to integrate alternative, specialized music download sources directly into the app.

Getting started: Open the Store tab in the app and enter an Extension Repository URL to browse available extensions.

README

main branch

Download the latest release Help translate on Crowdin

Telegram channel Telegram community

Screenshots

Mornye screens: Home, Library, Now Playing and Equalizer

Features


Built-in player

Full-screen cover art, a detailed audio quality label, queue controls and a sleep timer. AutoMix blends tracks with its own beat detection, and home screen widgets on Android and iOS follow your wallpaper colors.


Hi-res output

USB bit-perfect playback on Android 14 and later, AAudio exclusive mode for DAPs at each track's original rate, and a direct USB driver with native DSD on compatible DACs.


Equalizer and loudness

A multiband equalizer with presets (beta), volume normalization, and ReplayGain scanning based on EBU R128 for single tracks or whole selections.


Lyrics

Synced lyrics with word-by-word timing, optional translation and romanization lines, and a reorderable chain of lyrics providers, including Zarz-LRC. Files without lyrics can search online from the player. Pick up to five lines and share them as a card.


Local library

Scan your music folders and browse songs, albums, artists and playlists. Review duplicates, edit metadata and export collections as M3U8.


Network storage

Play music from SMB, WebDAV and HTTP / HTTPS servers. HTTPS connections can trust a single approved certificate fingerprint.


Made for you

Rewind recaps your listening, personalized autoplay learns on your device, music haptics let you feel the beat, and artist pages show upcoming concerts.


Your look

Material 3 Expressive or the Mornye theme, Dynamic Color, an AMOLED mode, Material Symbols and layouts for tablets and large screens.


Extensions

Add metadata and lyrics sources from community extension repositories, then choose their priority. Building one? See the extension documentation.


Yours to keep

Back up and restore settings, history and playlists. The app is open source, available in 20 languages, and offers an AltStore / SideStore source on iOS.


Development

Mornye combines a Flutter/Dart UI, a Rust backend from rust_backend/, and thin Android/iOS platform bridges.

See the Contributing Guide for setup, Android and iOS builds, Full/Lite variants, crash symbols, validation, and pull request guidelines.


FAQ

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

Mornye uses a decentralized extension repository system. Extensions are hosted independently rather than on a built-in server, so anyone can create and host a compatible repository. In the Repo tab, tap Add Repository and enter a GitHub repository URL that contains a registry.json file to browse and install its extensions.

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

The track may not be available from your enabled providers. Under Settings > Extensions > Provider Priority, reorder providers and choose which download extensions may be used as a fallback; the app tries them from top to bottom. You can also install more download extensions from the Repo tab.

Why are some tracks downloading in lower quality?

Quality depends on what is available from the source and the installed download extension. Pick your preferred service and quality under Settings > Download, and check each extension's quality options and service notes in the app.

Can I download whole albums and playlists?

Yes. Paste an album or playlist link into the search bar on Home and the app fetches every track and queues it. An artist link opens the artist page, where Download Discography queues their releases. To bring in a list from elsewhere, tap the search bar and use the import button to load a CSV or M3U playlist file.

Can I play music I already have?

Yes. Add your music folders under Settings > Local Library. The app scans them, merges them with your downloads in the Library tab, and plays everything in the built-in player. It can also point out duplicates.

Can I play music from my NAS or home server?

Yes. Open Settings > Network storage and connect to an SMB, WebDAV or HTTP / HTTPS server, then browse its folders and play from it. Sign-in details are stored securely on your device.

Why doesn't the equalizer change the sound?

Bit-perfect, Direct USB and exclusive Hi-Res outputs bypass the equalizer so the audio reaches your DAC untouched. Turn bit-perfect output off to use the equalizer. External players also apply their own effects instead. The equalizer lives in Settings > Playback and in the Now Playing menu.

How do I get bit-perfect playback on a USB DAC?

Turn on Hi-res and bit-perfect audio under Settings > Playback, then choose the direct USB driver or AAudio exclusive mode. Without either, Android USB output needs Android 14 or later. Direct USB can be much louder than normal playback and the phone's volume buttons may not control it, so lower your DAC or amplifier volume before you press play.

Where do the lyrics come from?

From the providers in Settings > Lyrics > Lyrics Provider Priority, tried top to bottom until one has the song. By default that is Apple Music (through Paxsenix), lrc.red, Zarz-LRC, LyricsPlus and LRCLIB; you can reorder them or turn on others. Lyrics already in a file always come first. If a file has none, tap Search online on the player's lyrics page.

Where are my listening statistics stored?

Only on your device. Listening statistics and Rewind record plays from the built-in player; pauses, buffering and seeking add no listening time, and a play counts after 30 seconds.

Which download folder should I choose?

On Android, App Folder saves to Music/Mornye by default. You can instead pick any folder with the system folder picker. If Android later revokes access to that folder, select it again under Settings > Files & Folders.

Is this app safe?

Mornye is open source, so its code and build workflows can be inspected directly in this repository.

Why is downloading not working in my country?

Some countries have restricted access to certain streaming service APIs. If downloads are failing, try a VPN to connect through a different region. For the Home feed only, Settings > Extensions > Home feed country shows another country's recommendations without a VPN.

Can I add Mornye to AltStore or SideStore?

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

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

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

Note

If Mornye is useful to you, consider supporting development:

Ko-fi


Contributors

Thanks to everyone who has contributed to Mornye!

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

Paxsenix  ·  lrc.red  ·  LyricsPlus  ·  LRCLib  ·  BetterLyrics  ·  Deezer  ·  MusicBrainz  ·  Song.link  ·  UniTune  ·  Squigly


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.
  • Mornye 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

Recent open issues

view all

Releases and announcements

1 total
  1. Mornye v5.2.1v5.2.1Oct 20, 202629.5K downloads

    ### New Features - **onboarding**: Replace the 5.2 tour with a rebrand tour - **branding**: Use Mornye Ink for the iOS launch screen - **branding**: Adopt the Mornye logo across the app - **branding**: Rename app and native backend to Mornye - **player**: Swipe up on the mini player to open Now Playing - **playback**: Add normalization pre-amp and track or album gain - **ui**: Align Material screens with M3 Expressive guidance ### Bug Fixes - **crash**: Reduce repeated notices and retain diagnostics - **player**: Prefer embedded art for local files over online covers - **startup**: Wait for the Activity before backend startup calls - **library**: Use path index for network scan cache lookups - **ui**: Align Material screens with the design guide - **concerts**: Give the Material concert page a Material layout - **player**: Refresh late duration updates without reopening - **home**: Match On repeat tracks to their Library entry - **home**: Show listening sections on the Mornye Home without a feed - **lyrics**: Ease synced line changes with a spring scroll - **haptics**: Render music pulses on basic motors and add tuning sliders - **downloads**: Embed enriched artwork across audi

Code frequency

additions and deletions
+161.7K-161.7KWeek of 2025-12-28: +60,314 linesWeek of 2025-12-28: -37,382 linesWeek of 2026-01-04: +11,232 linesWeek of 2026-01-04: -2,172 linesWeek of 2026-01-11: +157,118 linesWeek of 2026-01-11: -43,119 linesWeek of 2026-01-18: +64,248 linesWeek of 2026-01-18: -44,237 linesWeek of 2026-01-25: +17,095 linesWeek of 2026-01-25: -23,336 linesWeek of 2026-02-01: +56,695 linesWeek of 2026-02-01: -31,126 linesWeek of 2026-02-08: +77,383 linesWeek of 2026-02-08: -29,570 linesWeek of 2026-02-15: +17,227 linesWeek of 2026-02-15: -4,376 linesWeek of 2026-02-22: +28,241 linesWeek of 2026-02-22: -4,362 linesWeek of 2026-03-01: +9,489 linesWeek of 2026-03-01: -70,761 linesWeek of 2026-03-08: +19,886 linesWeek of 2026-03-08: -13,709 linesWeek of 2026-03-15: +15,162 linesWeek of 2026-03-15: -4,098 linesWeek of 2026-03-22: +14,385 linesWeek of 2026-03-22: -15,848 linesWeek of 2026-03-29: +17,045 linesWeek of 2026-03-29: -7,375 linesWeek of 2026-04-05: +4,611 linesWeek of 2026-04-05: -1,375 linesWeek of 2026-04-12: +81,408 linesWeek of 2026-04-12: -14,214 linesWeek of 2026-04-19: +1,162 linesWeek of 2026-04-19: -644 linesWeek of 2026-04-26: +20,941 linesWeek of 2026-04-26: -9,007 linesWeek of 2026-05-03: +35,482 linesWeek of 2026-05-03: -8,210 linesWeek of 2026-05-10: +19,664 linesWeek of 2026-05-10: -1,788 linesWeek of 2026-05-17: +907 linesWeek of 2026-05-17: -524 linesWeek of 2026-05-24: +698 linesWeek of 2026-05-24: -698 linesWeek of 2026-05-31: +10,442 linesWeek of 2026-05-31: -1,700 linesWeek of 2026-06-07: +7,737 linesWeek of 2026-06-07: -3,055 linesWeek of 2026-06-14: +464 linesWeek of 2026-06-14: -72 linesWeek of 2026-06-21: +16,203 linesWeek of 2026-06-21: -15,799 linesWeek of 2026-06-28: +25,712 linesWeek of 2026-06-28: -3,607 linesWeek of 2026-07-05: +29,293 linesWeek of 2026-07-05: -28,101 linesWeek of 2026-07-12: +23,938 linesWeek of 2026-07-12: -33,498 linesWeek of 2026-07-19: +9,650 linesWeek of 2026-07-19: -7,229 linesWeek of 2026-07-26: +48,419 linesWeek of 2026-07-26: -102,932 linesWeek of 2026-08-02: +35,012 linesWeek of 2026-08-02: -478 linesWeek of 2026-08-09: +6,209 linesWeek of 2026-08-09: -1,020 linesWeek of 2026-08-16: +15,204 linesWeek of 2026-08-16: -2,196 linesWeek of 2026-08-23: +21,520 linesWeek of 2026-08-23: -3,703 linesWeek of 2026-08-30: +6,691 linesWeek of 2026-08-30: -75,506 linesWeek of 2026-09-06: +11,150 linesWeek of 2026-09-06: -4,963 linesWeek of 2026-09-13: +87,950 linesWeek of 2026-09-13: -68,640 linesWeek of 2026-09-20: +161,743 linesWeek of 2026-09-20: -43,066 linesWeek of 2026-09-27: +48,079 linesWeek of 2026-09-27: -9,677 linesWeek of 2026-10-04: +94,856 linesWeek of 2026-10-04: -22,987 linesWeek of 2026-10-11: +149,071 linesWeek of 2026-10-11: -81,694 linesWeek of 2026-10-18: +95,471 linesWeek of 2026-10-18: -80,429 linesDec 28, 2025Oct 18, 2026
+1.6M lines added, -958.3K removed over the last year.

Commits per week

last 52 weeks
2160Week 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: 84 commitsWeek of 2026-07-12: 115 commitsWeek of 2026-07-19: 56 commitsWeek of 2026-07-26: 168 commitsWeek of 2026-08-02: 32 commitsWeek of 2026-08-09: 25 commitsWeek of 2026-08-16: 39 commitsWeek of 2026-08-23: 76 commitsWeek of 2026-08-30: 39 commitsWeek of 2026-09-06: 63 commitsWeek of 2026-09-13: 40 commitsWeek of 2026-09-20: 106 commitsWeek of 2026-09-27: 154 commitsWeek of 2026-10-04: 187 commitsWeek of 2026-10-11: 75 commitsWeek of 2026-10-18: 216 commitsOct 25, 2025Oct 18, 2026
3.2K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 66 commitsSun 1:00 — 63 commitsSun 2:00 — 25 commitsSun 3:00 — 27 commitsSun 4:00 — 20 commitsSun 5:00 — 9 commitsSun 6:00 — 8 commitsSun 7:00 — 0 commitsSun 8:00 — 14 commitsSun 9:00 — 4 commitsSun 10:00 — 0 commitsSun 11:00 — 15 commitsSun 12:00 — 21 commitsSun 13:00 — 9 commitsSun 14:00 — 40 commitsSun 15:00 — 18 commitsSun 16:00 — 20 commitsSun 17:00 — 36 commitsSun 18:00 — 42 commitsSun 19:00 — 38 commitsSun 20:00 — 22 commitsSun 21:00 — 44 commitsSun 22:00 — 60 commitsSun 23:00 — 41 commitsMon 0:00 — 67 commitsMon 1:00 — 44 commitsMon 2:00 — 30 commitsMon 3:00 — 19 commitsMon 4:00 — 20 commitsMon 5:00 — 10 commitsMon 6:00 — 11 commitsMon 7:00 — 6 commitsMon 8:00 — 19 commitsMon 9:00 — 7 commitsMon 10:00 — 4 commitsMon 11:00 — 13 commitsMon 12:00 — 13 commitsMon 13:00 — 5 commitsMon 14:00 — 13 commitsMon 15:00 — 5 commitsMon 16:00 — 11 commitsMon 17:00 — 16 commitsMon 18:00 — 22 commitsMon 19:00 — 19 commitsMon 20:00 — 42 commitsMon 21:00 — 14 commitsMon 22:00 — 27 commitsMon 23:00 — 19 commitsTue 0:00 — 19 commitsTue 1:00 — 41 commitsTue 2:00 — 42 commitsTue 3:00 — 16 commitsTue 4:00 — 11 commitsTue 5:00 — 6 commitsTue 6:00 — 11 commitsTue 7:00 — 10 commitsTue 8:00 — 13 commitsTue 9:00 — 10 commitsTue 10:00 — 9 commitsTue 11:00 — 4 commitsTue 12:00 — 14 commitsTue 13:00 — 15 commitsTue 14:00 — 10 commitsTue 15:00 — 25 commitsTue 16:00 — 11 commitsTue 17:00 — 18 commitsTue 18:00 — 19 commitsTue 19:00 — 28 commitsTue 20:00 — 15 commitsTue 21:00 — 23 commitsTue 22:00 — 18 commitsTue 23:00 — 40 commitsWed 0:00 — 17 commitsWed 1:00 — 19 commitsWed 2:00 — 46 commitsWed 3:00 — 12 commitsWed 4:00 — 30 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 — 10 commitsWed 12:00 — 24 commitsWed 13:00 — 7 commitsWed 14:00 — 7 commitsWed 15:00 — 12 commitsWed 16:00 — 26 commitsWed 17:00 — 41 commitsWed 18:00 — 14 commitsWed 19:00 — 12 commitsWed 20:00 — 13 commitsWed 21:00 — 26 commitsWed 22:00 — 27 commitsWed 23:00 — 61 commitsThu 0:00 — 26 commitsThu 1:00 — 24 commitsThu 2:00 — 76 commitsThu 3:00 — 8 commitsThu 4:00 — 12 commitsThu 5:00 — 3 commitsThu 6:00 — 2 commitsThu 7:00 — 34 commitsThu 8:00 — 8 commitsThu 9:00 — 7 commitsThu 10:00 — 13 commitsThu 11:00 — 4 commitsThu 12:00 — 4 commitsThu 13:00 — 12 commitsThu 14:00 — 5 commitsThu 15:00 — 10 commitsThu 16:00 — 21 commitsThu 17:00 — 14 commitsThu 18:00 — 27 commitsThu 19:00 — 36 commitsThu 20:00 — 19 commitsThu 21:00 — 18 commitsThu 22:00 — 9 commitsThu 23:00 — 9 commitsFri 0:00 — 16 commitsFri 1:00 — 22 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 — 9 commitsFri 11:00 — 17 commitsFri 12:00 — 14 commitsFri 13:00 — 12 commitsFri 14:00 — 15 commitsFri 15:00 — 7 commitsFri 16:00 — 13 commitsFri 17:00 — 11 commitsFri 18:00 — 29 commitsFri 19:00 — 14 commitsFri 20:00 — 12 commitsFri 21:00 — 18 commitsFri 22:00 — 13 commitsFri 23:00 — 19 commitsSat 0:00 — 10 commitsSat 1:00 — 10 commitsSat 2:00 — 18 commitsSat 3:00 — 11 commitsSat 4:00 — 19 commitsSat 5:00 — 17 commitsSat 6:00 — 3 commitsSat 7:00 — 6 commitsSat 8:00 — 5 commitsSat 9:00 — 11 commitsSat 10:00 — 24 commitsSat 11:00 — 30 commitsSat 12:00 — 41 commitsSat 13:00 — 28 commitsSat 14:00 — 27 commitsSat 15:00 — 22 commitsSat 16:00 — 33 commitsSat 17:00 — 28 commitsSat 18:00 — 21 commitsSat 19:00 — 27 commitsSat 20:00 — 15 commitsSat 21:00 — 11 commitsSat 22:00 — 19 commitsSat 23:00 — 39 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jan 18, 2026daily#16+240
  • flutter/flutter

    Flutter makes it easy and fast to build beautiful apps for mobile and beyond

    180.3K stars · Dart

  • Genymobile/scrcpy

    Display and control your Android device

    152.9K stars · C

  • farion1231/cc-switch

    A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

    148K stars · Rust

  • rust-lang/rust

    Empowering everyone to build reliable and efficient software.

    120.7K stars · Rust

  • immich-app/immich

    High performance self-hosted photo and video management solution.

    117K stars · TypeScript

  • denoland/deno

    A modern runtime for JavaScript and TypeScript.

    108.7K stars · Rust