DEV Community

Muhammad Abdullah
Muhammad Abdullah

Posted on

I built a side project that turns GitHub profiles into 3D solar systems, honest feedback welcome

Hey everyone,

I've been working on a small side project over the past few weeks in my spare time and finally got it to a point where I felt okay sharing it. It's called Stack Universe.

The idea is simple, you type any GitHub username and it generates a 3D solar system from their coding activity. Your most used programming language becomes the biggest planet, each repo orbits as a moon, recent commits fly across as shooting stars, that kind of thing.

Live: Stack Universe
GitHub: Stack Universe

How it works:

  • ⭐ Central star size = your GitHub score (stars × repos × languages × account age)

  • 🪐 Each language, a planet. Size is lines of code, orbit speed is how recently you used it, abandoned languages orbit nearly frozen

  • 🌙 Top repos orbit as moons around their language planet, click them to open on GitHub

  • 💫 Shooting stars are real commits, hover to see the message and date

  • ☄️ Asteroid belt shows forks and abandoned repos, color coded

  • 🌌 Every searched user gets added to a shared "multiverse" on the landing page

The entry animation calculates a real distance based on your score and shows it during a warp speed cinematic. Linus Torvalds is a Multiverse Core neighbor. Someone with 3 repos is at the outer edges of the known universe.

Tech I used

Next.js 14, React Three Fiber, Three.js, Framer Motion, Supabase, GitHub REST API, Tailwind. No auth needed, works on any public profile.

What I'm not happy with yet

Honestly there's a lot. Mobile is broken. The shooting star interaction is finicky. The multiverse landing feels empty until more people use it. Performance could be better on lower-end devices. I also haven't figured out what the "right" scoring formula looks like, right now it heavily favors people with lots of public repos which isn't necessarily fair.

I'm sharing it now because I kept waiting until it was "ready" and I think that's the wrong approach. It works, it's fun, and getting real feedback is more valuable than polishing in isolation.

If you have thoughts, good, or bad, I genuinely want to hear them. I'm still learning and the experienced folks in this community always teach me something I wouldn't have figured out on my own.

Thanks for taking a look 🙏

Top comments (0)