rommapp/rommPublic

A beautiful, powerful, self-hosted ROM manager and player.

AI summary: A self-hosted ROM manager and modern web-based retro game player with rich metadata integration.

Stars
13.2K
+15 today
Forks
744
Watchers
64
Open issues
175
Open PRs
22
Contributors
~163
Commits
13.5K
Branches
106

PythonAGPL-3.0Created Mar 8, 2023Last push 1d agoLatest release 5.3.1+68 stars this week+672 this month

Quick answers

What is romm?
A self-hosted ROM manager and modern web-based retro game player with rich metadata integration.
What does romm do?
Romm is a comprehensive self-hosted platform designed for managing and playing extensive retro video game collections. It scans local directories for ROM files and automatically fetches rich metadata, high-quality cover art, and release information via integrations with databases like IGDB and Screenscraper. The application provides a modern, responsive web interface for organizing, tagging, and browsing the library seamlessly across multiple devices. Crucially, it includes an integrated web-based emulator layer that allows users to play their classic games directly in the browser without installing any local standalone emulators.
Who is romm for?
Retro gaming enthusiasts, emulation fans, and home lab owners who want a centralized, visually appealing way to manage and play their ROM collections.
How do I get started with romm?
Please refer to the official documentation for Docker installation instructions.
How popular is romm on GitHub?
rommapp/romm has 13,230 stars and 744 forks on GitHub, and gained 68 stars in the last 7 days.
What license does romm use?
rommapp/romm is released under the AGPL-3.0 license.

Star history

since Jul 29, 2026
05K10KJul 2026Aug 2026Sep 2026Oct 2026
13.2K stars as of Oct 3, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-05: 18 commits2025-10-06: 7 commits2025-10-07: 11 commits2025-10-08: 3 commits2025-10-09: 16 commits2025-10-10: 1 commit2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 7 commits2025-10-16: 14 commits2025-10-17: 12 commits2025-10-18: 18 commits2025-10-19: 26 commits2025-10-20: 13 commits2025-10-21: 32 commits2025-10-22: 9 commits2025-10-23: 17 commits2025-10-24: 6 commits2025-10-25: 10 commits2025-10-26: 13 commits2025-10-27: 12 commits2025-10-28: 18 commits2025-10-29: 7 commits2025-10-30: 12 commits2025-10-31: 7 commits2025-11-01: 4 commits2025-11-02: 6 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 3 commits2025-11-06: 2 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 1 commit2025-11-10: 11 commits2025-11-11: 13 commits2025-11-12: 1 commit2025-11-13: 1 commit2025-11-14: 3 commits2025-11-15: 18 commits2025-11-16: 7 commits2025-11-17: 19 commits2025-11-18: 25 commits2025-11-19: 63 commits2025-11-20: 39 commits2025-11-21: 37 commits2025-11-22: 27 commits2025-11-23: 29 commits2025-11-24: 10 commits2025-11-25: 3 commits2025-11-26: 15 commits2025-11-27: 16 commits2025-11-28: 7 commits2025-11-29: 1 commit2025-11-30: 8 commits2025-12-01: 10 commits2025-12-02: 5 commits2025-12-03: 0 commits2025-12-04: 2 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 10 commits2025-12-08: 8 commits2025-12-09: 10 commits2025-12-10: 6 commits2025-12-11: 0 commits2025-12-12: 8 commits2025-12-13: 0 commits2025-12-14: 4 commits2025-12-15: 6 commits2025-12-16: 9 commits2025-12-17: 18 commits2025-12-18: 18 commits2025-12-19: 14 commits2025-12-20: 10 commits2025-12-21: 8 commits2025-12-22: 18 commits2025-12-23: 27 commits2025-12-24: 12 commits2025-12-25: 1 commit2025-12-26: 8 commits2025-12-27: 18 commits2025-12-28: 5 commits2025-12-29: 15 commits2025-12-30: 28 commits2025-12-31: 14 commits2026-01-01: 5 commits2026-01-02: 30 commits2026-01-03: 13 commits2026-01-04: 3 commits2026-01-05: 5 commits2026-01-06: 0 commits2026-01-07: 2 commits2026-01-08: 0 commits2026-01-09: 2 commits2026-01-10: 13 commits2026-01-11: 2 commits2026-01-12: 10 commits2026-01-13: 1 commit2026-01-14: 3 commits2026-01-15: 8 commits2026-01-16: 6 commits2026-01-17: 17 commits2026-01-18: 16 commits2026-01-19: 6 commits2026-01-20: 0 commits2026-01-21: 4 commits2026-01-22: 11 commits2026-01-23: 3 commits2026-01-24: 1 commit2026-01-25: 2 commits2026-01-26: 8 commits2026-01-27: 3 commits2026-01-28: 12 commits2026-01-29: 13 commits2026-01-30: 3 commits2026-01-31: 4 commits2026-02-01: 0 commits2026-02-02: 4 commits2026-02-03: 25 commits2026-02-04: 13 commits2026-02-05: 2 commits2026-02-06: 9 commits2026-02-07: 10 commits2026-02-08: 7 commits2026-02-09: 16 commits2026-02-10: 4 commits2026-02-11: 4 commits2026-02-12: 3 commits2026-02-13: 5 commits2026-02-14: 0 commits2026-02-15: 5 commits2026-02-16: 10 commits2026-02-17: 5 commits2026-02-18: 6 commits2026-02-19: 8 commits2026-02-20: 1 commit2026-02-21: 7 commits2026-02-22: 0 commits2026-02-23: 1 commit2026-02-24: 1 commit2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 2 commits2026-02-28: 9 commits2026-03-01: 0 commits2026-03-02: 1 commit2026-03-03: 4 commits2026-03-04: 2 commits2026-03-05: 0 commits2026-03-06: 8 commits2026-03-07: 33 commits2026-03-08: 57 commits2026-03-09: 51 commits2026-03-10: 52 commits2026-03-11: 26 commits2026-03-12: 31 commits2026-03-13: 1 commit2026-03-14: 5 commits2026-03-15: 6 commits2026-03-16: 12 commits2026-03-17: 0 commits2026-03-18: 1 commit2026-03-19: 3 commits2026-03-20: 7 commits2026-03-21: 15 commits2026-03-22: 10 commits2026-03-23: 5 commits2026-03-24: 9 commits2026-03-25: 2 commits2026-03-26: 6 commits2026-03-27: 3 commits2026-03-28: 1 commit2026-03-29: 1 commit2026-03-30: 1 commit2026-03-31: 14 commits2026-04-01: 8 commits2026-04-02: 3 commits2026-04-03: 35 commits2026-04-04: 2 commits2026-04-05: 25 commits2026-04-06: 18 commits2026-04-07: 19 commits2026-04-08: 4 commits2026-04-09: 7 commits2026-04-10: 4 commits2026-04-11: 29 commits2026-04-12: 30 commits2026-04-13: 4 commits2026-04-14: 17 commits2026-04-15: 21 commits2026-04-16: 14 commits2026-04-17: 11 commits2026-04-18: 14 commits2026-04-19: 0 commits2026-04-20: 20 commits2026-04-21: 12 commits2026-04-22: 5 commits2026-04-23: 7 commits2026-04-24: 6 commits2026-04-25: 0 commits2026-04-26: 1 commit2026-04-27: 7 commits2026-04-28: 40 commits2026-04-29: 45 commits2026-04-30: 23 commits2026-05-01: 2 commits2026-05-02: 3 commits2026-05-03: 11 commits2026-05-04: 6 commits2026-05-05: 4 commits2026-05-06: 7 commits2026-05-07: 12 commits2026-05-08: 34 commits2026-05-09: 25 commits2026-05-10: 1 commit2026-05-11: 2 commits2026-05-12: 12 commits2026-05-13: 19 commits2026-05-14: 24 commits2026-05-15: 4 commits2026-05-16: 23 commits2026-05-17: 21 commits2026-05-18: 8 commits2026-05-19: 8 commits2026-05-20: 30 commits2026-05-21: 47 commits2026-05-22: 18 commits2026-05-23: 27 commits2026-05-24: 43 commits2026-05-25: 27 commits2026-05-26: 29 commits2026-05-27: 35 commits2026-05-28: 22 commits2026-05-29: 19 commits2026-05-30: 15 commits2026-05-31: 10 commits2026-06-01: 4 commits2026-06-02: 11 commits2026-06-03: 22 commits2026-06-04: 2 commits2026-06-05: 16 commits2026-06-06: 12 commits2026-06-07: 10 commits2026-06-08: 15 commits2026-06-09: 9 commits2026-06-10: 5 commits2026-06-11: 0 commits2026-06-12: 10 commits2026-06-13: 10 commits2026-06-14: 0 commits2026-06-15: 15 commits2026-06-16: 14 commits2026-06-17: 27 commits2026-06-18: 36 commits2026-06-19: 41 commits2026-06-20: 28 commits2026-06-21: 71 commits2026-06-22: 33 commits2026-06-23: 46 commits2026-06-24: 16 commits2026-06-25: 39 commits2026-06-26: 7 commits2026-06-27: 2 commits2026-06-28: 14 commits2026-06-29: 48 commits2026-06-30: 10 commits2026-07-01: 35 commits2026-07-02: 28 commits2026-07-03: 26 commits2026-07-04: 28 commits2026-07-05: 45 commits2026-07-06: 45 commits2026-07-07: 10 commits2026-07-08: 7 commits2026-07-09: 16 commits2026-07-10: 15 commits2026-07-11: 1 commit2026-07-12: 6 commits2026-07-13: 14 commits2026-07-14: 12 commits2026-07-15: 23 commits2026-07-16: 50 commits2026-07-17: 15 commits2026-07-18: 50 commits2026-07-19: 100 commits2026-07-20: 52 commits2026-07-21: 44 commits2026-07-22: 34 commits2026-07-23: 92 commits2026-07-24: 44 commits2026-07-25: 33 commits2026-07-26: 33 commits2026-07-27: 25 commits2026-07-28: 40 commits2026-07-29: 10 commits2026-07-30: 73 commits2026-07-31: 10 commits2026-08-01: 60 commits2026-08-02: 11 commits2026-08-03: 26 commits2026-08-04: 39 commits2026-08-05: 40 commits2026-08-06: 18 commits2026-08-07: 45 commits2026-08-08: 33 commits2026-08-09: 2 commits2026-08-10: 38 commits2026-08-11: 5 commits2026-08-12: 1 commit2026-08-13: 0 commits2026-08-14: 10 commits2026-08-15: 20 commits2026-08-16: 71 commits2026-08-17: 25 commits2026-08-18: 28 commits2026-08-19: 28 commits2026-08-20: 12 commits2026-08-21: 31 commits2026-08-22: 35 commits2026-08-23: 22 commits2026-08-24: 20 commits2026-08-25: 12 commits2026-08-26: 11 commits2026-08-27: 19 commits2026-08-28: 16 commits2026-08-29: 89 commits2026-08-30: 57 commits2026-08-31: 28 commits2026-09-01: 27 commits2026-09-02: 41 commits2026-09-03: 71 commits2026-09-04: 86 commits2026-09-05: 60 commits2026-09-06: 93 commits2026-09-07: 75 commits2026-09-08: 46 commits2026-09-09: 73 commits2026-09-10: 121 commits2026-09-11: 92 commits2026-09-12: 76 commits2026-09-13: 48 commits2026-09-14: 33 commits2026-09-15: 127 commits2026-09-16: 191 commits2026-09-17: 255 commits2026-09-18: 245 commits2026-09-19: 19 commits2026-09-20: 67 commits2026-09-21: 51 commits2026-09-22: 153 commits2026-09-23: 171 commits2026-09-24: 197 commits2026-09-25: 126 commits2026-09-26: 123 commits2026-09-27: 73 commits2026-09-28: 105 commits2026-09-29: 29 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
7,974 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    13,230 stars

  • Very active

    7,974 commits in 52 weeks

  • Community-driven

    ~163 contributors

  • Well documented

    High community health score

  • Continuous integration

    Automated checks passing

What romm does

Romm is a comprehensive self-hosted platform designed for managing and playing extensive retro video game collections. It scans local directories for ROM files and automatically fetches rich metadata, high-quality cover art, and release information via integrations with databases like IGDB and Screenscraper. The application provides a modern, responsive web interface for organizing, tagging, and browsing the library seamlessly across multiple devices. Crucially, it includes an integrated web-based emulator layer that allows users to play their classic games directly in the browser without installing any local standalone emulators.

Retro gaming enthusiasts, emulation fans, and home lab owners who want a centralized, visually appealing way to manage and play their ROM collections.

  • Automated metadata scraping: Fetches high-quality box art, screenshots, and detailed game descriptions from external sources like IGDB.
  • Integrated web player: Plays classic console games directly within modern web browsers using integrated WebAssembly-based emulator technologies.
  • Cross-device synchronization: Syncs game save states and play history across desktop computers, tablets, and mobile devices effortlessly.
  • Modern web interface: Offers a beautiful, responsive, and highly customizable user interface for organizing and browsing large game libraries.
  • Multi-system support: Manages ROMs, ISOs, and patches for dozens of retro consoles and handhelds within a single, unified platform.

Where teams use it

Home server game library

Users organize a massive, messy folder of downloaded ROMs into a clean, easily browsable interface hosted on a local NAS.

Browser-based retro gaming

A user casually plays their Super Nintendo saves during a lunch break on a work computer without installing any emulation software.

Cross-platform syncing

A player starts a challenging game on a desktop PC and continues the exact same save state seamlessly on a mobile device.

Collection showcase

Enthusiasts provide a visually impressive way to display a meticulously curated collection of classic games to friends and family.

Getting started: Please refer to the official documentation for Docker installation instructions.

README

master branch
romm logo

A beautiful, powerful, self-hosted ROM manager and player.

Trendshift hackernews badge
selfh.st badge Discord

Overview

Scan, enrich, browse and play your ROM collection from one beautiful & free self-hosted app. Metadata from 10+ providers, save sync across your devices, and support for over 400 platforms. RomM is a must-have for anyone who plays on emulators.

Browsing a library and playing a game in RomM

Features

Installation

The easiest way to start is with the Quick Start Guide in the docs. If you're having trouble with setup, please review the page for troubleshooting steps.

Prefer a hosted deploy over wiring up the stack yourself?

Deploy on Hostinger
Starting at $6.49/mo · Setup guide

Deployment and infrastructure support for this install is handled by Hostinger. Prices are indicative and may not reflect current offerings. Signups through the link above send a share of the revenue back to us, which helps fund the project.

Official apps

Playnite libraryPlaynite logo Playnite plugin

Effortlessly integrate your retro game collection into Playnite, the open-source game library manager that provides a unified interface for all of your games on PC.

Windows Desktop QR pairing

Install  by @gantoine


Argosy libraryArgosy logo Argosy

Sync your library, download games on demand and track your achievements, from a gamepad-first interface designed for Anbernic, Retroid Pocket, Odin, and similar devices.

Android Handhelds QR pairing Save sync

Download  by @tmgast


Grout multi-selectGrout logo Grout

A lightweight client for your favorite handheld custom firmwares*. Download games, box art and BIOS files wirelessly, and sync your saves automatically as you play.

Linux Handhelds Save sync

Quick start  by @BrandonKowalski

*Supports Allium, Batocera, Knulli, MinUI, muOS, NextUI, Onion, ROCKNIX, Spruce and TrimUI.

Community

Here are some cool projects maintained by members of our community. Please note that our team does not regularly review their source code.

Mobile

Desktop

Handhelds

Other

Support the project

Consider supporting this project on Open Collective. Funds cover hosting, development, and maintenance, and we pass some along to community projects to nurture a healthy ecosystem of apps.

Open Collective

Our Friends

Here are a few projects that we think you might like:

  • Lutris: Open gaming platform for Linux
  • Cocoon: Controller-first Android frontend for retro handhelds
  • muOS: Custom firmware for Anbernic and other handhelds
  • RetroDECK: Retro gaming on SteamOS and Linux
  • Steam ROM Manager: An app for managing ROMs in Steam
  • Hasheous: Hash lookup service that maps ROMs to game metadata
  • Gaseous: Another ROM manager with web-based emulator
  • Playmatch: Microservice for matching ROM hashes to games
  • EmulatorJS: An embeddable, browser-based emulator
  • PortMaster: Native game ports for Linux handhelds
  • MelonLoader: Universal mod loader for Unity games
  • NextUI: MinUI-based custom firmware for TrimUI handhelds
  • RetroAchievements: Achievements for retro games

Supported By

These companies support us by providing their tools for free:

Greptile Socket
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 28

Releases and announcements

209 total
  1. 5.3.15.3.1Sep 23, 2026

    ## Minor changes * feat(v2): shorten the changelog's pull request links to #nnnn by @zurdi15 in https://github.com/rommapp/romm/pull/4705 ## Fixes * fix(config): show folder mappings whose folder name is not lowercase by @sdornan in https://github.com/rommapp/romm/pull/4676 * fix(router): re-read the rom on every entry to the details route by @sdornan in https://github.com/rommapp/romm/pull/4685 * fix(streaming): put every container in a pool, and reach later pools by key by @LoneAngelFayt in https://github.com/rommapp/romm/pull/4596 * fix(security): patch OS packages in the published image and scope workflow permissions by @gantoine in https://github.com/rommapp/romm/pull/4592 * fix(docker): move the bases to Alpine 3.24 and nginx 1.30.5 by @sdornan in https://github.com/rommapp/romm/pull/4602 * fix(frontend): eliminate import cycles and gate them with eslint by @andest01 in https://github.com/rommapp/romm/pull/4643 * fix(security): revoke the target account's sessions on a credential change by @sdornan in https://github.com/rommapp/romm/pull/4653 * fix(v2): declare color-scheme with the v2 theme palettes by @sdornan in https://github.com/rommapp/romm/pull/4701 * fix(

  2. 5.3.05.3.0Sep 21, 2026

    > [!CAUTION] > ## Breaking changes > ### Filesystem structure must be explicitly declared > We no longer detect the filesystem layout by default, and an instance will **refuses to start** until explicitly declared in your `config.yml`. This is the equivalent of **structure A**: > > ```yaml > filesystem: > structure: > default: "roms/{platform}/{game}" > firmware: "bios/{platform}" > ``` > > And the equivalent of **structure B**: > > ```yaml > filesystem: > structure: > default: "{platform}/roms/{game}" > firmware: "{platform}/bios" > ``` > > `filesystem.roms_folder` and `filesystem.firmware_folder` have also been removed. An instance that still sets either will refuse to start and print the equivalent template. > > See [Custom library structure](https://docs.romm.app/5.3.0-beta/getting-started/folder-structure/#custom-library-structure) and the [`filesystem.structure`](https://docs.romm.app/5.3.0-beta/reference/configuration-file/#filesystemstructure) schema. > [!WARNING] > **Emulator streaming config is now one entry per container, not one per emulator.** > A container's host, protocol and label become the defaults for every platform

  3. 5.3.0-beta.15.3.0-beta.1Sep 18, 2026pre-release

    > [!CAUTION] > ## Breaking changes > ### Filesystem structure must be explicitly declared > We no longer detect the filesystem layout by default, and an instance will **refuses to start** until explicitly declared in your `config.yml`. This is the equivalent of **structure A**: > > ```yaml > filesystem: > structure: > default: "roms/{platform}/{game}" > firmware: "bios/{platform}" > ``` > > And the equivalent of **structure B**: > > ```yaml > filesystem: > structure: > default: "{platform}/roms/{game}" > firmware: "{platform}/bios" > ``` > > `filesystem.roms_folder` and `filesystem.firmware_folder` have also been removed. An instance that still sets either will refuse to start and print the equivalent template. > > See [Custom library structure](https://docs.romm.app/5.3.0-beta/getting-started/folder-structure/#custom-library-structure) and the [`filesystem.structure`](https://docs.romm.app/5.3.0-beta/reference/configuration-file/#filesystemstructure) schema. > [!WARNING] > **Emulator streaming config is now one entry per container, not one per emulator.** > A container's host, protocol and label become the defaults for every platform

  4. 5.3.0-alpha.35.3.0-alpha.3Sep 17, 2026pre-release

    ## What's Changed * chore(ci): drop the docs and website release triggers by @gantoine in https://github.com/rommapp/romm/pull/4491 * feat(v2): show a reading-progress bar in the manual and walkthrough viewers by @gantoine in https://github.com/rommapp/romm/pull/4470 * feat: offer Steam as a match provider for PC platforms by @sdornan in https://github.com/rommapp/romm/pull/4498 * perf(migrations): add the 5.3.0 roms columns in one table copy by @gantoine in https://github.com/rommapp/romm/pull/4501 * perf(docker): upgrade nginx to 1.29.8 and tune the serving layer by @sdornan in https://github.com/rommapp/romm/pull/4468 * docs: correct stale Vuetify claims in v2 skills and architecture doc by @sdornan in https://github.com/rommapp/romm/pull/4474 * Translate the remaining untranslated zh_CN strings by @wolfg1969 in https://github.com/rommapp/romm/pull/4489 * feat: offer Steam as a cover art provider by @zurdi15 in https://github.com/rommapp/romm/pull/4500 * fix(v2): dismiss tooltips when an overlay opens over them by @sdornan in https://github.com/rommapp/romm/pull/4482 * refactor(roms): give the ROM filters a single home, and match them against the facets mirror by @sdor

  5. 5.3.0-alpha.25.3.0-alpha.2Sep 13, 2026pre-release

    > [!CAUTION] > ## Breaking changes > ### Filesystem structure must be explicitly declared > We no longer detect the filesystem layout by default, and an instance will **refuses to start** until explicitly declared in your `config.yml`. This is the equivalent of **structure A**: > > ```yaml > filesystem: > structure: > default: "roms/{platform}/{game}" > firmware: "bios/{platform}" > ``` > > And the equivalent of **structure B**: > > ```yaml > filesystem: > structure: > default: "{platform}/roms/{game}" > firmware: "{platform}/bios" > ``` > > `filesystem.roms_folder` and `filesystem.firmware_folder` have also been removed. An instance that still sets either will refuse to start and print the equivalent template. > > See [Custom library structure](https://docs.romm.app/5.3.0-alpha/getting-started/folder-structure/#custom-library-structure) and the [`filesystem.structure`](https://docs.romm.app/5.3.0-alpha/reference/configuration-file/#filesystemstructure) schema. > [!WARNING] > **Emulator streaming config is now one entry per container, not one per emulator.** > A container's host, protocol and label become the defaults for every platfo

Commits per week

last 52 weeks
9180Week of 2025-10-05: 56 commitsWeek of 2025-10-12: 51 commitsWeek of 2025-10-19: 113 commitsWeek of 2025-10-26: 73 commitsWeek of 2025-11-02: 11 commitsWeek of 2025-11-09: 48 commitsWeek of 2025-11-16: 217 commitsWeek of 2025-11-23: 81 commitsWeek of 2025-11-30: 25 commitsWeek of 2025-12-07: 42 commitsWeek of 2025-12-14: 79 commitsWeek of 2025-12-21: 92 commitsWeek of 2025-12-28: 110 commitsWeek of 2026-01-04: 25 commitsWeek of 2026-01-11: 47 commitsWeek of 2026-01-18: 41 commitsWeek of 2026-01-25: 45 commitsWeek of 2026-02-01: 63 commitsWeek of 2026-02-08: 39 commitsWeek of 2026-02-15: 42 commitsWeek of 2026-02-22: 13 commitsWeek of 2026-03-01: 48 commitsWeek of 2026-03-08: 223 commitsWeek of 2026-03-15: 44 commitsWeek of 2026-03-22: 36 commitsWeek of 2026-03-29: 64 commitsWeek of 2026-04-05: 106 commitsWeek of 2026-04-12: 111 commitsWeek of 2026-04-19: 50 commitsWeek of 2026-04-26: 121 commitsWeek of 2026-05-03: 99 commitsWeek of 2026-05-10: 85 commitsWeek of 2026-05-17: 159 commitsWeek of 2026-05-24: 190 commitsWeek of 2026-05-31: 77 commitsWeek of 2026-06-07: 59 commitsWeek of 2026-06-14: 161 commitsWeek of 2026-06-21: 214 commitsWeek of 2026-06-28: 189 commitsWeek of 2026-07-05: 139 commitsWeek of 2026-07-12: 170 commitsWeek of 2026-07-19: 399 commitsWeek of 2026-07-26: 251 commitsWeek of 2026-08-02: 212 commitsWeek of 2026-08-09: 76 commitsWeek of 2026-08-16: 230 commitsWeek of 2026-08-23: 189 commitsWeek of 2026-08-30: 370 commitsWeek of 2026-09-06: 576 commitsWeek of 2026-09-13: 918 commitsWeek of 2026-09-20: 888 commitsWeek of 2026-09-27: 207 commitsOct 5, 2025Sep 27, 2026
8K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 26 commitsSun 1:00 — 17 commitsSun 2:00 — 14 commitsSun 3:00 — 7 commitsSun 4:00 — 9 commitsSun 5:00 — 4 commitsSun 6:00 — 3 commitsSun 7:00 — 10 commitsSun 8:00 — 28 commitsSun 9:00 — 69 commitsSun 10:00 — 54 commitsSun 11:00 — 62 commitsSun 12:00 — 65 commitsSun 13:00 — 73 commitsSun 14:00 — 116 commitsSun 15:00 — 74 commitsSun 16:00 — 80 commitsSun 17:00 — 89 commitsSun 18:00 — 66 commitsSun 19:00 — 86 commitsSun 20:00 — 81 commitsSun 21:00 — 86 commitsSun 22:00 — 68 commitsSun 23:00 — 43 commitsMon 0:00 — 37 commitsMon 1:00 — 18 commitsMon 2:00 — 47 commitsMon 3:00 — 14 commitsMon 4:00 — 2 commitsMon 5:00 — 2 commitsMon 6:00 — 2 commitsMon 7:00 — 15 commitsMon 8:00 — 36 commitsMon 9:00 — 60 commitsMon 10:00 — 88 commitsMon 11:00 — 94 commitsMon 12:00 — 69 commitsMon 13:00 — 78 commitsMon 14:00 — 83 commitsMon 15:00 — 63 commitsMon 16:00 — 87 commitsMon 17:00 — 97 commitsMon 18:00 — 80 commitsMon 19:00 — 67 commitsMon 20:00 — 69 commitsMon 21:00 — 78 commitsMon 22:00 — 103 commitsMon 23:00 — 49 commitsTue 0:00 — 65 commitsTue 1:00 — 61 commitsTue 2:00 — 39 commitsTue 3:00 — 13 commitsTue 4:00 — 2 commitsTue 5:00 — 3 commitsTue 6:00 — 4 commitsTue 7:00 — 22 commitsTue 8:00 — 50 commitsTue 9:00 — 102 commitsTue 10:00 — 127 commitsTue 11:00 — 108 commitsTue 12:00 — 64 commitsTue 13:00 — 76 commitsTue 14:00 — 62 commitsTue 15:00 — 84 commitsTue 16:00 — 108 commitsTue 17:00 — 112 commitsTue 18:00 — 103 commitsTue 19:00 — 104 commitsTue 20:00 — 63 commitsTue 21:00 — 91 commitsTue 22:00 — 71 commitsTue 23:00 — 87 commitsWed 0:00 — 71 commitsWed 1:00 — 47 commitsWed 2:00 — 18 commitsWed 3:00 — 25 commitsWed 4:00 — 8 commitsWed 5:00 — 4 commitsWed 6:00 — 11 commitsWed 7:00 — 17 commitsWed 8:00 — 25 commitsWed 9:00 — 67 commitsWed 10:00 — 130 commitsWed 11:00 — 106 commitsWed 12:00 — 88 commitsWed 13:00 — 106 commitsWed 14:00 — 65 commitsWed 15:00 — 101 commitsWed 16:00 — 107 commitsWed 17:00 — 101 commitsWed 18:00 — 98 commitsWed 19:00 — 81 commitsWed 20:00 — 73 commitsWed 21:00 — 65 commitsWed 22:00 — 67 commitsWed 23:00 — 65 commitsThu 0:00 — 68 commitsThu 1:00 — 39 commitsThu 2:00 — 28 commitsThu 3:00 — 8 commitsThu 4:00 — 3 commitsThu 5:00 — 4 commitsThu 6:00 — 7 commitsThu 7:00 — 23 commitsThu 8:00 — 51 commitsThu 9:00 — 105 commitsThu 10:00 — 115 commitsThu 11:00 — 134 commitsThu 12:00 — 81 commitsThu 13:00 — 100 commitsThu 14:00 — 115 commitsThu 15:00 — 115 commitsThu 16:00 — 124 commitsThu 17:00 — 167 commitsThu 18:00 — 122 commitsThu 19:00 — 72 commitsThu 20:00 — 73 commitsThu 21:00 — 87 commitsThu 22:00 — 55 commitsThu 23:00 — 78 commitsFri 0:00 — 51 commitsFri 1:00 — 24 commitsFri 2:00 — 18 commitsFri 3:00 — 10 commitsFri 4:00 — 8 commitsFri 5:00 — 2 commitsFri 6:00 — 6 commitsFri 7:00 — 11 commitsFri 8:00 — 31 commitsFri 9:00 — 104 commitsFri 10:00 — 97 commitsFri 11:00 — 184 commitsFri 12:00 — 129 commitsFri 13:00 — 142 commitsFri 14:00 — 131 commitsFri 15:00 — 85 commitsFri 16:00 — 89 commitsFri 17:00 — 110 commitsFri 18:00 — 67 commitsFri 19:00 — 57 commitsFri 20:00 — 53 commitsFri 21:00 — 87 commitsFri 22:00 — 65 commitsFri 23:00 — 50 commitsSat 0:00 — 41 commitsSat 1:00 — 53 commitsSat 2:00 — 22 commitsSat 3:00 — 5 commitsSat 4:00 — 3 commitsSat 5:00 — 4 commitsSat 6:00 — 0 commitsSat 7:00 — 11 commitsSat 8:00 — 32 commitsSat 9:00 — 56 commitsSat 10:00 — 86 commitsSat 11:00 — 66 commitsSat 12:00 — 62 commitsSat 13:00 — 62 commitsSat 14:00 — 58 commitsSat 15:00 — 66 commitsSat 16:00 — 64 commitsSat 17:00 — 35 commitsSat 18:00 — 53 commitsSat 19:00 — 73 commitsSat 20:00 — 60 commitsSat 21:00 — 50 commitsSat 22:00 — 70 commitsSat 23:00 — 53 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jul 5, 2026daily#25+15