# gatsbyjs/gatsby versus remix-run/react-router

Canonical HTML: https://gitdebt.com/vs/gatsbyjs/gatsby/remix-run/react-router

> Star history, growth, and repository-health signals for two public GitHub repositories, on one timeline.

## Star comparison

| Repository | Stars | 90d | 30d | Pace | History from |
| --- | --- | --- | --- | --- | --- |
| `gatsbyjs/gatsby` | 55,937 | +40 | +14 | slowing | May 2015 |
| `remix-run/react-router` | 56,537 | +15 | +15 | slowing | May 2014 |

## Overlay chart

One chart, both series. Append `&rebase=1` to start each series at zero when the projects are different ages, or `&from=`/`&to=` for a window.

```html
<a href="https://gitdebt.com/vs/gatsbyjs/gatsby/remix-run/react-router?ref=readme">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://api.gitdebt.com/api/chart.svg?repos=gatsbyjs%2Fgatsby%2Cremix-run%2Freact-router&theme=dark" />
    <img alt="Star history of gatsbyjs/gatsby versus remix-run/react-router" src="https://api.gitdebt.com/api/chart.svg?repos=gatsbyjs%2Fgatsby%2Cremix-run%2Freact-router&theme=light" />
  </picture>
</a>
```

## Individual reports

- gatsbyjs/gatsby: https://gitdebt.com/gatsbyjs/gatsby (Markdown: https://gitdebt.com/gatsbyjs/gatsby.md)
- remix-run/react-router: https://gitdebt.com/remix-run/react-router (Markdown: https://gitdebt.com/remix-run/react-router.md)

## Embedding rules

- No account, token, or API key is involved. Every URL is a plain public image.
- Themes are baked into each asset because GitHub renders README images against the reader's OS preference, not the page. Publish both variants with an HTML `<picture>` element, or pick one explicitly with `theme=light` / `theme=dark`. There is no `theme=auto`.
- Published snippets are static. Motion is opt-in: add `animate=1` to an SVG URL, or use the `.gif` variant where one exists, because GitHub strips SVG animation from README images in several contexts.
- Keep the surrounding link and its `?ref=readme` parameter. Attribution lives on the link; the image URL stays plain so CDNs can cache it.
- Do not add cache-busting query parameters. Media is edge-cached for a few hours by design and refreshes on its own.
- Alt text is not optional. Say what the image shows, not "chart".
- A repository nobody has analyzed yet renders a placeholder frame and queues the work instead of failing. Load the page once, or wait a few minutes, and the real chart replaces it at the same URL.
