DEV Community

Cover image for I Turned My GitHub Profile Into a Cyberpunk Console With a City Built From My Contributions

I Turned My GitHub Profile Into a Cyberpunk Console With a City Built From My Contributions

Giorgi Kobaidze on October 01, 2026

I just wanted a custom profile. I completely overcooked it. Don't feel like reading? Fair. But you're going to miss a lot of interesting insights....
Collapse
 
sylwia-lask profile image
Sylwia Laskowska •

WOW, now I'm jealous!!!! 😅💖

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Well, this activity graph has a lot of potential, so I’m sure you’ll find even better ideas.😄

Collapse
 
nyaomaru profile image
nyaomaru •

It's so cool! Amazing github profile! 😻

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you! 🤩

Collapse
 
onizuka profile image
Onizuka •

23 images sliced from one console is painful but smart — I hit the same GitHub README rendering limits when I tried embedding an interactive SVG dashboard and watched half of it get stripped out. The SVG-as-image loophole works, but the real cost is the daily cron job keeping 23 slices in sync. If one API call fails mid-update you end up with a console that's half yesterday, half today, and nobody notices until someone screenshots it.

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

It's alright. I don't think anyone will be able to notice my stale console. I'm not even that obsessed with my own profile, so I'll take that risk. 😄

Collapse
 
yashksaini profile image
Yash Kumar Saini •

This is actually awesome and detailed info for anyone to use and tweak around.

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you! Even I didn’t know something like this was possible until I really dived into it.

Collapse
 
fm profile image
Fayaz •

Cool! 🥰

I was building something similar.
Your implementation is way better ❤️

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you! Show me your work when you’re done. ✌️

Collapse
 
fm profile image
Fayaz •

Will do, if I remember 🥰

Collapse
 
sinarezaei profile image
Sina Rezaei •

This is seriously a great way to rethink a GitHub profile.

What I really like is that you didn’t just make the README look cyberpunk. You turned GitHub’s contribution data into an actual visual system. Contribution intensity becomes building height, the layout becomes a city, and the generated SVG becomes the interface.

The deterministic generation is a nice technical touch too. It means the visual output can stay consistent while still changing when the underlying data changes. I could see the same pattern being used outside a profile. For example, CI/CD activity could become a deployment city, issue activity could become a support map, or repository activity could become a visual project landscape.

The cool part is that the platform limitation becomes part of the design instead of something to work around. That’s a genuinely clever approach to building a developer identity.

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you! You’re right, working on this project was really interesting because of these limitations. I had too much fun.😄

Collapse
 
henry786 profile image
Henry •

That SVG slicing trick is clever. We run into similar custom layout challenges at The Printing World when trying to map dynamic tracking graphics onto physical packaging templates without breaking alignment. Great write-up!

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thanks a lot! ✌️

Yeah, that trick really did the trick 😄 The first version of this console was pretty underwhelming, it was split in between the sections and I wasn't impressed at all.

Now you can't even tell if there are separate sections at all.

Collapse
 
jeromehardaway profile image
Jerome Hardaway •

Best Dev Post in a VERY long time.

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Oh wow! This is a high praise. Thanks a lot!🤩

Collapse
 
jeromehardaway profile image
Jerome Hardaway •
Collapse
 
svgicons profile image
Svg/icons •

Are the purely decorative SVG slices using empty alt text, while only data-bearing slices get meaningful labels? With 23 images, that could keep screen-reader navigation much cleaner.

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Not quite: no image has an empty alt yet. The data slices, link buttons and section headers should keep their text, because screen readers use it to read the data, name the links and mark where each section starts. The footer ("Connection closed.") is the only purely decorative slice, so it should be alt="".

Collapse
 
tythos profile image
Brian Kirkpatrick •

As these things go... yeah, that was pretty cool. Worth it.

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you! Yes it totally worth it!🔥

Collapse
 
pavel_kkkkazantsev profile image
Pavel Kazantsev •

Nice job!

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you!

Collapse
 
technogamerz profile image
𝐓𝐡𝐞 𝐋𝐚𝐳𝐲 𝐆𝐢𝐫𝐥 •

Wow I like it! 😭

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

I'm glad you liked it!🤩

Collapse
 
technogamerz profile image
𝐓𝐡𝐞 𝐋𝐚𝐳𝐲 𝐆𝐢𝐫𝐥 •

Really it's so cool!

Thread Thread
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you! Feel free to fork it and make your own version of it. I'd love to see other ideas inspired by this.😍

Collapse
 
alexcodebytes profile image
Oleksandr •

Bypassing GitHub's sandbox using SVGs just to flex a custom profile graph is peak software engineering. You didn't just overcook it, you built a whole Michelin-star restaurant. Love the execution!

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Oh wow! That's such an awesome comment. Thank you so much, mate! 🤩

Collapse
 
vyixor profile image
vyixor •

This world gets cooler everyday

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Agreed, and I'm more than happy to contribute with whatever I can! 🫡
Thank you!

Collapse
 
kyisaiah47 profile image
kyisaiah47 •

GitHub's image cache seems like the part I'd worry about for a daily SVG. Does the workflow change the asset URL, or does the profile refresh reliably without cache busting?

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

The URL stays the same. As for caching, it resolves itself after a few minutes.

Collapse
 
rochanewton profile image
Newton Rocha •

It is really amazing!

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thanks a lot!🙌

Collapse
 
honey_b33_ profile image
Honey B33 •

Great idea!! 🤌

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you!🙏

Collapse
 
hemapriya_kanagala profile image
Hemapriya Kanagala •

Giorgi, this is so cool! Loved it 😀

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

I'm glad you found it interesting! Thanks a lot!🤩

Collapse
 
kaleab_hailu profile image
Kaleab Hailu •

happy for you(don't know what itis though)wait for my reaction when i pass the upswing of awesome, wish me luck.

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Well, thanks! Umm... and good luck I guess 😄

Collapse
 
effessdev profile image
EffessDev •

THIS IS REALLY GOOD honestly 😮😮😮

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you! This is awesome to hear. I think this is one of the most creative ideas I’ve had in a while.

Collapse
 
glnurltn profile image
gulnur •

it looks great🤩

Collapse
 
georgekobaidze profile image
Giorgi Kobaidze •

Thank you!

Collapse
 
alex1222231 profile image
Alex1222231 •

The interesting part for me is how the project turns a normal GitHub contribution graph into something much more visual without needing JavaScript or CSS directly in the README. Using SVGs as the building blocks, together with the isometric rendering and GitHub Actions workflow, makes the whole profile feel like an actual application rather than a static README.

I also liked the decision to use a seeded random generator for the building details. That keeps the output consistent between updates while still giving the city some variation. The API-fallback approach is another nice touch because a temporary GitHub or DEV API failure doesn't wipe out the previous stats.

Projects like this are a good reminder that even small profile customizations can become interesting engineering exercises. For anyone working through calculation-heavy concepts, I also came across this useful resource that breaks down the process step by step.