https://github.com/anvaka/map-of-github Skip to content Navigation Menu Toggle navigation Sign in * Product + GitHub Copilot Write better code with AI + Security Find and fix vulnerabilities + Actions Automate any workflow + Codespaces Instant dev environments + Issues Plan and track work + Code Review Manage code changes + Discussions Collaborate outside of code + Code Search Find more, search less Explore + All features + Documentation + GitHub Skills + Blog * Solutions By company size + Enterprises + Small and medium teams + Startups By use case + DevSecOps + DevOps + CI/CD + View all use cases By industry + Healthcare + Financial services + Manufacturing + Government + View all industries View all solutions * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners + Executive Insights * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} anvaka / map-of-github Public * Notifications You must be signed in to change notification settings * Fork 37 * Star 1.1k Inspirational Mapping anvaka.github.io/map-of-github/ 1.1k stars 37 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 12 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights anvaka/map-of-github main BranchesTags [ ] Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 49 Commits .vscode .vscode public public src src .eslintrc.cjs .eslintrc.cjs .gitignore .gitignore README.md README.md deploy.sh deploy.sh index.html index.html package-lock.json package-lock.json package.json package.json vite.config.js vite.config.js View all files Repository files navigation * README Map of GitHub This is a map of 400,000+ GitHub projects. Each dot is a project. Dots are close to each other if they have a lot of common stargazers. Map of GitHub logo Logo by Louise Kashcha, 9 years old. Thank you [?] How was it made? current map The first step was to fetch who gave stars to which repositories. For this I used a public data set of github activity events on Google BigQuery, considering only events between Jan 2020 and March 2023. This gave me more than 350 million stars. (Side note: Mind blowing to think that Milky Way has more than 100 billion stars) In the second phase I computed exact Jaccard Similarity between each repository. For my home computer's 24GB RAM this was too much, however an AWS EC2 instance with 512GB of RAM chewed through it in a few hours. (Side note: I tried other similarities too, but Jaccard gave the most believable results) In the third phase I used a few clustering algorithms to split repositories together. I liked Leiden clustering the best and ended up with 1000+ clusters. In the fourth phase I used my own ngraph.forcelayout to compute layouts of nodes inside clusters, and a separate configuration to get global layout of clusters. In the fifth phase we need to render the map. Unlike my previous projects, I didn't want to reinvent the wheel, so ended up using maplibre. All I had to do was convert my data into GeoJSON format, generate tiles with tippecanoe and configure the browsing experience. Country names A lot of country labels were generated with help of ChatGPT. If you find something wrong, you can right click it, edit, and send a pull request - I'd be grateful. The query that I used to generate labels was: Please analyze these repository and detect a common theme (e.g. programming language, technology, domain). Pay attention to language too (english, chinese, korean, etc.). If there is no common theme found, please say so. Otherwise, If you can find a strong signal for a common theme please come up with a specific name for imaginary country that contains all these repositories. Give a few options. When you give an option prefer more specific over generic option (for example if repositories are about recommender systems, use that, instead of generic DeepLearning) Geocoding? To implement a searchbox, I used a simple dump of all repositories, indexed by their first letter (or their author's). So when you type a in the search box, I look up all repositories that start with a and show them to you with fuzzy matcher on the client. Design Most of the time I like data presented by this project better than visual design of the map. If you have experience designing maps or just have a wonderful design vision how it should look like - please don't hesitate to share. I'm still looking for the style that matches the data. Support If you find this project useful and would like to support it - please join the support group. If you need any help with this project or have any questions - don't hesitate to open an issue here or ping me on twitter Thank you to all my friends and supporters who helped me to get this project off the ground: Ryan, Andrey, Alex, Dmytro. You are awesome! Thank you to my dear daughter Louise for making a logo for this project. I love you! Endless gratitude to all open source contributors who made this project possible. I'm standing on the shoulders of giants. License I'm releasing this repository under MIT license. However if you use the data in your own work, please consider giving attribution to this project. About Inspirational Mapping anvaka.github.io/map-of-github/ Resources Readme Activity Stars 1.1k stars Watchers 8 watching Forks 37 forks Report repository Contributors 3 * @anvaka anvaka Andrei Kashcha * @ErikBjare ErikBjare Erik Bjareholt * @blackary blackary Zachary Blackwood Languages * Vue 48.7% * JavaScript 44.4% * HTML 5.5% * CSS 1.2% * Shell 0.2% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.