DEV Community

rohan34-lab
rohan34-lab

Posted on

I built a tool that turns any GitHub repo into its visual story

I've been staring at GitHub commit logs for a while now, and they've always felt like reading a book with no chapters — just an endless wall of fix: typo, refactor: auth, and update deps.

Every project has a real story. The frantic MVP sprint. The period where everything broke. The moment the community showed up. But the commit log doesn't tell it.

So I built CodeTimeline.

What it does
Paste any public GitHub URL → get a scrollable, animated visual timeline of the repo's entire history.

It pulls commit data, contributor joins, language composition changes, and PR activity from the GitHub API — then feeds the key milestones to an LLM to name "chapters" in the project's life. Things like "The Foundation", "Community Inflection", "The Great Refactor".

Each chapter shows:

Contributor avatars appearing as new people joined

Language donut chart morphing as the codebase evolved

Commit frequency sparkline across the repo's lifetime

Key stats — age, total commits, contributors, top languages

Every timeline page also generates a shareable OG image card, so when you paste the link on X or LinkedIn it renders something actually worth clicking.

Try it
codetimeline.vercel.app

Some timelines worth generating:

facebook/react — the chapter where it became a community project is wild

expressjs/express — one of the cleanest "peak and plateau" stories

vercel/next.js — growth is almost vertical after 2020

The tech
Layer Tech
Framework Next.js 15 (App Router)
Animations GSAP + ScrollTrigger
Charts D3.js
AI NVIDIA NIM (Llama 3.1 70B)
Data GitHub REST API
OG images next/og (Satori)
Deploy Vercel
The hardest part wasn't the data fetching — it was making the AI chapter names feel like a human actually read the commits, not just grouped them by date. I ended up feeding it commit message clusters with contributor context, and the results got a lot more interesting.

It's open source
GitHub: github.com/Rohan5commit/codetimeline

If you maintain an OSS project, I'd genuinely love to know what your timeline looks like — drop the link in the comments.

A few things I'm still working on:

Support for private repos (OAuth flow)

Better handling of monorepos with multiple active workstreams

A "compare two repos" mode

Feedback welcome — especially on the AI chapter naming. That's the part I'm least confident about and most open to improving.

Top comments (1)

Collapse
 
rohan34lab profile image
rohan34-lab