A lightweight calendar heatmap react component built on SVG, customizable version of GitHub's contribution graph.
active 2023-10-04 → 2026-06-02 (UTC)
Activity over time
Daily event counts in the loaded window
Line chart, 973 days from 2023-10-04 to 2026-06-02. Pushes: 31 total, peak 8 in a day. Pull requests: 11 total, peak 3 in a day. Issues: 9 total, peak 3 in a day. Comments: 19 total, peak 3 in a day. Stars: 85 total, peak 4 in a day.
- Pushes
- Pull requests
- Issues
- Comments
- Stars
Stars, PRs, issues and forks are under-captured in the later part of this window. GH Archive progressively stopped capturing non-push events during 2026 — −95% or worse by the end of the window. Every series here except Pushes fades for that reason, so a decline above reflects the archive, not this repository. Pushes stay reliable throughout, so read them, and the contributor counts derived from them, as the real signal. Data health has the measurements.
Top contributors
Pushes, PRs, issues, reviews and comments — stars and forks excluded, so this is contribution rather than popularity
| Contributor | Contributions | Pushes | PRs | Comments |
|---|---|---|---|---|
| jaywcjlove | 29 | 14 | 4 | 7 |
| github-actions[bot] | 15 | 15 | 0 | 0 |
| renovate[bot] | 8 | 2 | 6 | 0 |
| greengem | 3 | 0 | 0 | 3 |
| shivams07 | 3 | 0 | 0 | 1 |
| kaykhan | 2 | 0 | 0 | 1 |
| ruru-m07 | 2 | 0 | 0 | 1 |
| goncaloalves | 2 | 0 | 0 | 2 |
| apmanager001 | 2 | 0 | 1 | 1 |
| cr35wx | 1 | 0 | 0 | 1 |
| markau | 1 | 0 | 0 | 1 |
| aidanlister | 1 | 0 | 0 | 0 |
Recent activity
Latest issues, pull requests and releases
- Issue comment#139jaywcjlove2025-07-22 18:04Later dates are truncated on heatmaps with fixed widths
- Releasegithub-actions[bot]2025-05-02 02:26v2.3.3
- Issue comment#138jaywcjlove2025-01-17 06:33How to change font settings
- Issue comment#138kaykhan2025-01-04 16:12How to change font settings
- Issue#138kaykhan2025-01-04 15:57Change Font Color
- Issue#134aidanlister2024-11-24 00:56SVG does not appear to draw if not visible
- Releasegithub-actions[bot]2024-11-17 08:55v2.3.1
- Issue comment#133jaywcjlove2024-11-17 08:53Update SVG.tsx removing console log
- Pull request#133jaywcjlove2024-11-17 08:50
- Issue comment#133apmanager0012024-11-17 07:23Update SVG.tsx removing console log
- Pull request#133apmanager0012024-11-17 07:19
- Issue comment#129markau2024-08-24 09:50Tooltip is not rendering correctly
- Pull request#131renovate[bot]2024-07-30 19:03
- Issue comment#129cr35wx2024-07-14 19:18Tooltip is not rendering correctly
- Issue comment#129goncaloalves2024-05-25 15:37Tooltip is not rendering correctly
- Issue comment#62goncaloalves2024-05-25 14:39How to make a custom Tooltip
- Issue comment#130jaywcjlove2024-04-02 03:51Start date as "Today"
- Issue#128jaywcjlove2024-02-25 11:45app-index.js:35 Warning: A props object containing a "key" prop is being spread into JSX: let props = {key: someKey, rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row: ..., data-column: ...}; <Rect {...props} /> React keys must be passed directly to JSX without using spread: let props = {rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row
- Issue comment#128greengem2024-02-25 09:13app-index.js:35 Warning: A props object containing a "key" prop is being spread into JSX: let props = {key: someKey, rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row: ..., data-column: ...}; <Rect {...props} /> React keys must be passed directly to JSX without using spread: let props = {rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row
- Releasegithub-actions[bot]2024-02-24 21:48v2.2.2
- Issue comment#128greengem2024-02-24 18:14app-index.js:35 Warning: A props object containing a "key" prop is being spread into JSX: let props = {key: someKey, rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row: ..., data-column: ...}; <Rect {...props} /> React keys must be passed directly to JSX without using spread: let props = {rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row
- Issue comment#128greengem2024-02-24 14:31app-index.js:35 Warning: A props object containing a "key" prop is being spread into JSX: let props = {key: someKey, rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row: ..., data-column: ...}; <Rect {...props} /> React keys must be passed directly to JSX without using spread: let props = {rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row
- Issue comment#128ruru-m072024-02-04 13:56app-index.js:35 Warning: A props object containing a "key" prop is being spread into JSX: let props = {key: someKey, rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row: ..., data-column: ...}; <Rect {...props} /> React keys must be passed directly to JSX without using spread: let props = {rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row
- Issue comment#128jaywcjlove2024-02-04 13:42app-index.js:35 Warning: A props object containing a "key" prop is being spread into JSX: let props = {key: someKey, rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row: ..., data-column: ...}; <Rect {...props} /> React keys must be passed directly to JSX without using spread: let props = {rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row
- Issue#128ruru-m072024-02-03 05:39app-index.js:35 Warning: A props object containing a "key" prop is being spread into JSX: let props = {key: someKey, rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row: ..., data-column: ...}; <Rect {...props} /> React keys must be passed directly to JSX without using spread: let props = {rx: ..., fill: ..., width: ..., height: ..., x: ..., y: ..., render: ..., value: ..., data-date: ..., data-index: ..., data-row
Totals cover only the window loaded into ClickHouse and count events, not GitHub's lifetime totals — 85 stars here means stars gained during the window, not the repo's star count.