makerspet/oomwooPublic

Open-source vacuum robot cleaner

AI summary: An innovative platform for creating, sharing, and interacting with specialized virtual pets.

Stars
8.1K
+237 today
Forks
376
Watchers
192
Open issues
3
Open PRs
0
Contributors
~12
Commits
267
Branches
1

PythonApache-2.0Created Jun 10, 2026Last push 4d ago+1.3K stars this week+1.4K this month

Star history

since Jun 21, 2026
02.5K5K7.5KJun 2026Jul 2026Jul 2026Aug 2026
8.1K stars as of Aug 7, 2026, tracked back to Jun 21, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

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

Signals and awards

derived from tracked data
  • Breakout launch

    8,111 stars in 58 days

  • Rising fast

    +1,334 stars this week

  • Permissive license

    Apache-2.0

  • Continuous integration

    Automated checks passing

What oomwoo does

oomwoo is a unique digital ecosystem that revives the concept of virtual pets through modern web technologies. It allows users to adopt, customize, and care for digital companions that possess emergent behaviors driven by complex state machines. The platform emphasizes community interaction, enabling users to trade items, breed pets with unique traits, and participate in global events. Built on a scalable backend architecture, oomwoo handles thousands of concurrent interactions seamlessly, providing a persistent, real-time experience that bridges nostalgia with contemporary interactive design.

Designed for casual gamers and fans of virtual pet simulations. From a technical perspective, it serves as a robust example for developers building real-time, state-heavy web applications.

  • Emergent Behavior System: Pets react dynamically to user interactions and environmental changes based on complex state logic.
  • Real-Time Interaction: Built with WebSockets to ensure immediate feedback when feeding, playing, or interacting with pets.
  • Trait Inheritance: Features a genetics system where bred pets inherit a mix of visual and behavioral traits from their parents.
  • Community Trading Hub: Includes a secure, transactional marketplace for users to exchange digital items and accessories.
  • Persistent Ecosystem: The backend ensures that pets continue to evolve and require care even when the user is offline.

Where teams use it

Interactive Entertainment

Users seeking a relaxing, engaging digital companion to interact with daily.

Community Building

Fostering an active user base centered around trading, breeding, and shared events.

Gamified Habit Tracking

Integrating personal goals with pet care, rewarding users for completing real-world tasks.

Digital Collectibles

Creating a vibrant ecosystem for collecting unique, digitally scarce virtual items.

Getting started: Visit the oomwoo website to create an account and adopt your first pet.

README

main branch

OOMWOO

Open-source robot vacuum you build yourself

Clean well · Hackable · Raspberry Pi · 3D printed · Local / No cloud required · Home Assistant · Arduino · ROS2 · ESP32

License Status

OOMWOO is an open-source home robot vacuum you can build yourself, built using Raspberry Pi, 3D-printing, Home Assistant, Arduino and ROS2. It uses an affordable 2D LiDAR to map your home and navigate on its own. Local, no cloud required for regular functionality, no vendor lock-in. Follow us building in public Discord | X | Instagram | Facebook | Reddit | newsletter | YouTube | oomwoo.com | Tutorials

Early build instructions will be available in Fall 2026.

Reference design images - this is approximately how the finished design will look:

Reference robot vacuum cleaner top Reference robot vacuum cleaner bottom Reference robot vacuum cleaner - top cover removed

Goals

  • Affordable, fully open hardware, software and firmware
  • Home appliance product quality - not a throwaway build
  • Easy to build, with step-by-step zero-to-hero instructions
  • 2D LiDAR mapping and autonomous navigation (ROS2 / Nav2)
  • Native Home Assistant integration for local control
  • 3D-printable, documented, and hackable chassis
  • Buildable from parts you source yourself
  • Local, no cloud required for regular functionality
  • Optional extra functionality when connected cloud
  • Apps on top of ROS2 to customize vacuum operation
  • Stretch goal: App store
  • Stretch goal: LeRobot integration, OpenClaw

v0 target: bare-bones build:

  • 3D-printed chassis (browse)
  • ROS2 Gazebo sim (install)
  • Basic cleaning, mapping
  • Raspberry Pi CM4/CM5 running ROS2 (install)

Open Source Deliverables:

Contributing

Would you like to contribute? See CONTRIBUTING for the full guide.

OOMWOO is organized to built by the community, massively in parallel. The vacuum and its software are subdivided into modules, see list below.

A volunteer picks whatever module she wants and works on it whenever she wants. For code and simulation modules she builds her package in her own repo and sends a short PR linking it from the module; for docs and specs she contributes files in-tree under contributions/module-name/<her-github-username>. See CONTRIBUTING for how this works.

Multiple developers are welcome to work on the same module. The best solution for each module surfaces over time, with the project master having the last call.

  1. Pick a contribution from the list below.
  2. Let us know you're working on it and your progress.
  3. Check ARCHITECTURE.md and SOFTWARE_INTERFACES.md for the system design and ROS2 interfaces.

Requests for Contributions

Every module below is actionable now — build it against the Gazebo simulation (oomwoo-one) or a real placeholder robot (a Proscenic M6 Pro connected to ROS2), until OOMWOO hardware is ready. Pick one, tell us in Discussions, build it in your own repo (docs and specs go in-tree), and send a short PR linking it from the module.

Module ID Status Notes
ROS2 URDF + Gazebo sim urdf-gazebo-sim In progress Placeholder URDF + Gazebo sim (reference: oomwoo-one; @alvarosamudio featured), refined when hardware lands
First clean: coverage + mapping + exploration clean-and-map In progress Coverage cleaning while SLAM-mapping and exploring
Auto cleaning In progress Clean the entire room using an existing map (using coverage path planning)
Regression tests In progress Set up simulatior regression test framework (auto cleaning in Gazebo)
Localization & navigation on a known map nav-localize In progress Nav2 nav, AMCL localization, relocalize when lost, resume map
Dock cycle: undock, dock, recharge dock-cycle Ready to start work Undock, return-to-dock, precise docking, station services, find dock when lost
Recovery behaviors & safety recovery-safety Ready to start work Recovery ladder, escalation, pause-and-alert, safety sensors, status reporting
Stack health monitor & software watchdog health-monitor In progress Per-component alive-and-well heartbeats + a roster-aware aggregator that feeds the MCU deadman; stops the robot when any critical node crashes / hangs / is missing — the soft-fault layer above the MCU's hard reflexes
Near-field obstacle avoidance (camera + ToF) obstacle-avoidance Ready to start work v2 "never gets stuck": front camera + VL53L7CX ToF detect below-LiDAR obstacles (cables, socks); detect-then-classify
Compute benchmark & memory reduction compute-benchmark In progress Measure ROS2/Nav2/SLAM memory, compare composable nodes, and track the 4 GB -> 2 GB target
Floor-surface handling & edge cleaning floor-care Ready to start work Wall/edge following, carpet vs hardwood, mop lift/lower
Cleaning modes, zones & job orchestration cleaning-jobs Ready to start work Modes (regular/spot), virtual walls, room segmentation, job splitting + resume
Control app & UX (design-first) control-app Ready to start work Local-first control app/UI — a client of the ROS2 stack + Home Assistant; design-led (welcomes designers): prioritize features, concept the MVP surface (start/stop, live map, status, zones)
Live robot bring-up & validation live-robot-bringup Ready to start work Connect the placeholder Proscenic M6 Pro to ROS2, re-run sim tests on hardware
Source 3D models (STEP) for BOM parts source-3d-models In progress Obtain / measure / model STEP files of off-the-shelf parts (wheels, fans, caster…) so mounts fit
Procure part specs & datasheets part-specs In progress Find/measure/reverse-engineer specs (pinouts, encoder PPR, torque, how to drive fans…) for sourced parts
I/O + motor-driver PCB io-pcb In progress I/O board with CM4/CM5 socket, STM32G070 MCU - motors, sensors, 4S2P charging, safety, FreeRTOS, custom serial to CM4/CM5, 2D LiDAR header, IMU, audio serial/amp/speaker, MIPI camera(s) i/f; KiCad, JLCPCB
I/O board software interface io-board-interface Ready to start work CPU/MCU serial contract, ROS2 bridge mapping, safety watchdog behavior, hardware signal ownership, and bringup validation
MCU I/O board firmware mcu-io-firmware In progress STM32G473 firmware: Arduino (STM32duino) API + FreeRTOS + a HAL/ISR real-time safety core; motors, sensors, charging, custom serial to the CPU; repo
Fit software into 2GB RAM compute-benchmark 2GB achieved ROS2 node composition, Rust; remove Gazebo, desktop UI

Planned and on-hold modules (mechanical design, later-phase software) live in the RFC backlog.

Source code reference

Related prior art

User requirements & Design research

Anecdotal prospective user requirements - collected mostly in r/RobotVacuums, r/ROS and as announcement post comments:

  • open-source
  • 3D printed first
  • cleans well, a first-class appliance, not a throwaway build
    • never gets stuck
    • hair tangle-free
    • modern capabilities - no legacy drag mop; dual-spinning rotary mop or better/roller
    • bagless
  • hackable, DIY fixable, upgrade-able
    • examples: vacuum-only version, mop-only version
    • Raspberry Pi
    • Home Assistant integration
  • operates without cloud
  • later: ability to retrofit existing legacy vacuum cleaner robots

About

The project name "OOMWOO" is a rotational ambigram - it reads the same flipped 180°, like the robot itself, roaming your floor in every direction.

The project is sponsored by makerspet.com and remake.ai. We are reusing their open-source solutions.

  • If you'd rather skip the parts hunt, a kit (motors, PCB, brushes, gaskets, LiDAR) will be available at makerspet.com, from the same maker behind this project. The kit is a convenience, never a requirement. Everything here stays open.
  • When we get to apps, remake.ai will be providing its robot apps platform and app store. Using the app store will be entirely optional. The vacuum will always support cloud-free, local operation for regular functionality out-of-the-box.

License

Code is released under the Apache License 2.0.

Hardware design files, once added, to be released under an open hardware license (TBD).

OOMWOO star history
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 16

Commits per week

last 52 weeks
520Week of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 0 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 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: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 46 commitsWeek of 2026-06-14: 5 commitsWeek of 2026-06-21: 8 commitsWeek of 2026-06-28: 52 commitsWeek of 2026-07-05: 37 commitsWeek of 2026-07-12: 33 commitsWeek of 2026-07-19: 30 commitsWeek of 2026-07-26: 14 commitsWeek of 2026-08-02: 3 commitsAug 10, 2025Aug 2, 2026
228 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 2 commitsSun 4:00 — 1 commitsSun 5:00 — 1 commitsSun 6:00 — 1 commitsSun 7:00 — 2 commitsSun 8:00 — 6 commitsSun 9:00 — 3 commitsSun 10:00 — 4 commitsSun 11:00 — 0 commitsSun 12:00 — 5 commitsSun 13:00 — 0 commitsSun 14:00 — 4 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 2 commitsSun 22:00 — 0 commitsSun 23:00 — 1 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 1 commitsMon 3:00 — 0 commitsMon 4:00 — 1 commitsMon 5:00 — 0 commitsMon 6:00 — 1 commitsMon 7:00 — 1 commitsMon 8:00 — 0 commitsMon 9:00 — 4 commitsMon 10:00 — 2 commitsMon 11:00 — 5 commitsMon 12:00 — 0 commitsMon 13:00 — 5 commitsMon 14:00 — 2 commitsMon 15:00 — 2 commitsMon 16:00 — 1 commitsMon 17:00 — 0 commitsMon 18:00 — 2 commitsMon 19:00 — 2 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 1 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 2 commitsTue 2:00 — 0 commitsTue 3:00 — 3 commitsTue 4:00 — 3 commitsTue 5:00 — 0 commitsTue 6:00 — 2 commitsTue 7:00 — 2 commitsTue 8:00 — 2 commitsTue 9:00 — 2 commitsTue 10:00 — 3 commitsTue 11:00 — 1 commitsTue 12:00 — 8 commitsTue 13:00 — 0 commitsTue 14:00 — 1 commitsTue 15:00 — 0 commitsTue 16:00 — 2 commitsTue 17:00 — 2 commitsTue 18:00 — 0 commitsTue 19:00 — 1 commitsTue 20:00 — 0 commitsTue 21:00 — 0 commitsTue 22:00 — 1 commitsTue 23:00 — 2 commitsWed 0:00 — 4 commitsWed 1:00 — 2 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 1 commitsWed 5:00 — 1 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 3 commitsWed 9:00 — 3 commitsWed 10:00 — 4 commitsWed 11:00 — 2 commitsWed 12:00 — 2 commitsWed 13:00 — 3 commitsWed 14:00 — 2 commitsWed 15:00 — 1 commitsWed 16:00 — 0 commitsWed 17:00 — 1 commitsWed 18:00 — 0 commitsWed 19:00 — 1 commitsWed 20:00 — 0 commitsWed 21:00 — 1 commitsWed 22:00 — 0 commitsWed 23:00 — 1 commitsThu 0:00 — 0 commitsThu 1:00 — 2 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 1 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 0 commitsThu 12:00 — 0 commitsThu 13:00 — 1 commitsThu 14:00 — 0 commitsThu 15:00 — 1 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 2 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 1 commitsFri 5:00 — 0 commitsFri 6:00 — 5 commitsFri 7:00 — 1 commitsFri 8:00 — 3 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 8 commitsFri 13:00 — 6 commitsFri 14:00 — 9 commitsFri 15:00 — 1 commitsFri 16:00 — 3 commitsFri 17:00 — 0 commitsFri 18:00 — 2 commitsFri 19:00 — 1 commitsFri 20:00 — 0 commitsFri 21:00 — 0 commitsFri 22:00 — 1 commitsFri 23:00 — 1 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 3 commitsSat 3:00 — 1 commitsSat 4:00 — 2 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 4 commitsSat 8:00 — 6 commitsSat 9:00 — 4 commitsSat 10:00 — 6 commitsSat 11:00 — 10 commitsSat 12:00 — 3 commitsSat 13:00 — 1 commitsSat 14:00 — 1 commitsSat 15:00 — 1 commitsSat 16:00 — 1 commitsSat 17:00 — 4 commitsSat 18:00 — 0 commitsSat 19:00 — 2 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jul 24, 2026daily#14+4
Jul 2, 2026daily#21+22