# gatsbyjs/gatsby versus redwoodjs/redwood

Canonical HTML: https://gitdebt.com/vs/gatsbyjs/gatsby/redwoodjs/redwood

> 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 |
| `redwoodjs/redwood` | 17,612 | +6 | +6 | slowing | Jun 2019 |

## 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/redwoodjs/redwood?ref=readme">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://api.gitdebt.com/api/chart.svg?repos=gatsbyjs%2Fgatsby%2Credwoodjs%2Fredwood&theme=dark" />
    <img alt="Star history of gatsbyjs/gatsby versus redwoodjs/redwood" src="https://api.gitdebt.com/api/chart.svg?repos=gatsbyjs%2Fgatsby%2Credwoodjs%2Fredwood&theme=light" />
  </picture>
</a>
```

## Individual reports

- gatsbyjs/gatsby: https://gitdebt.com/gatsbyjs/gatsby (Markdown: https://gitdebt.com/gatsbyjs/gatsby.md)
- redwoodjs/redwood: https://gitdebt.com/redwoodjs/redwood (Markdown: https://gitdebt.com/redwoodjs/redwood.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.
