Urgent.News

What's breaking now, across thousands of outlets.

Culture

# I Turned My GitHub Year Into a Retro Game — Rendered Locally With React and Remotion

Every December I see those "GitHub Wrapped" posts and feel the same mix of curiosity and discomfort: what exactly are those services doing with my token? Where is my contribution data going? Why do I have to wait in a queue for someone else's server to render a video about my year? So I built my own, entirely on my machine. No cloud, no upload, no third-party service. Just Node, React, and a…

In December, the author sees GitHub Wrapped posts and questions the privacy and reliance on third-party services. To address these concerns, the author built a local alternative called Anima GitHub Local using only Node, React, and headless Chrome. This tool generates a 53-second retro-style MP4 video of a user's GitHub contributions.

The video features different game scenarios representing various contributions, with the video duration and difficulty increasing with the number of contributions. The project uses open-source tools like Remotion, React 18, Vite, TypeScript, and the GitHub GraphQL API. The author also drew original pixel art and synthesized chiptune soundtracks, ensuring a fully local and open-source solution.

The project was influenced by open source projects like github-unwrapped-2023 and the work of Jonny Burger on determinism in video rendering.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Culture

Brad Keselowski updates his 2027 NASCAR Cup Series status

Brad Keselowski and RFK Racing worked an agreement to allow Keselowski to pursue a ride in the 2027 NASCAR Cup Series.

  • Brad Keselowski finalized agreement with RFK Racing for 2027 NASCAR Cup Series.
  • Keselowski holds 20% equity stake in RFK Racing team.
  • Keselowski to sell equity, step away from management and competition roles.

More from Saturday 31 October →