john-bampton / john-bampton/john-bampton.github.io
25 Great Things to Add to Your GitHub Faces Site
- Dominant language
- Python
- Stars
- 11
- Forks
- 16
- Avg merge
- 10h 33m
- Merged PRs (30d)
- 3
Description
## 25 Great Things to Add to Your GitHub Faces Site
### Data & Content Enhancements (5 Ideas)
- [x] 1. **Top Languages:** Fetch the top 3-5 most used programming languages for each user based on their public repository statistics. Display this on the user card and add it as a new, powerful filtering dimension.
- [x] 2. **Total GitHub Stars:** Calculate and display the total number of stars across all of a user's public repositories, as this is a key metric of project popularity. Add sorting by "Most Stars."
- [x] 3. **Recent Activity Score/Last Commit Date:** Display the timestamp of the user's most recent public repository commit. This helps quickly gauge activity levels and allows for a "Most Recently Active" sort option.
- [ ] 4. **GitHub Achievements/Badges:** Implement logic to detect and display notable GitHub achievements (e.g., Arctic Code Vault Contributor, Pull Request merged, Sponsor badges) right on the user card.
- [ ] 5. **Custom Vetting/Quality Score:** Create a composite score (e.g., A+, B, C) based on a combination of metrics like Followers/Repo Ratio, activity level, and star count to provide an easily digestible metric of a user's influence or profile completeness.
### User Experience & Interactivity (8 Ideas)
- [ ] 6. **User Profile Modal/Drawer:** Instead of redirecting to GitHub, clicking a user's card opens a modal/drawer that displays all their detailed stats, full bio, and a list of their recent or starred repositories.
- [ ] 7. **"Compare Users" Feature:** Allow visitors to select 2-3 developers to compare their key metrics (Followers, Repos, Stars, Location) side-by-side in a dynamic comparison table.
- [ ] 8. **Persistent Filters:** Save the user's current search query, filters, and sort settings in the browser's local storage so they are preserved when they return to the site or refresh the page.
- [ ] 9. **Shareable Filter Links:** Automatically generate a unique, clean, and shareable URL for the current filter/sort configuration (e.g., `.../index.html?sort=followers&min_repos=100`).
- [ ] 10. **Dark Mode Toggle:** Implement a simple switch to allow users to toggle between your current light theme and a dedicated dark theme.
- [ ] 11. **User Location Mapping:** Integrate a simple, privacy-friendly map visualization (like Leaflet.js or Mapbox) that plots the geographic location of all users, allowing for visual exploration.
- [ ] 12. **Keyboard Navigation:** Enable users to navigate the grid and filter options using the keyboard (e.g., using arrow keys and the `Tab` key for a smooth experience).
- [ ] 13. **Clear Filter/Sort Indicator:** Display the active sort criteria and filters prominently (e.g., a badge that says "Sorted by: Followers Desc" and a list of active filters) outside of the hidden filter drawer.
### Performance & Technology (4 Ideas)
- [ ] 14. **Web Worker for Filtering:** Since your site is heavily reliant on client-side JS for processing a large dataset (400 users), offload the complex search, sorting, and filtering logic to a **Web Worker** to keep the main thread responsive and prevent UI lag (jank).
- [X] 15. **Avatar Lazy Loading:** Implement native browser lazy loading (`loading="lazy"`) or an Intersection Observer-based solution for the user avatars to significantly improve initial page load speed, especially on mobile devices.
- [ ] 16. **Pre-computed Subsets:** For common filters (like "Top 50 Followers"), pre-compute the sorted/filtered data on the build step and include these smaller, optimized JSON files. The site can load these instantly before loading the main, large dataset.
- [ ] 17. **Lighthouse/Performance Auditing in CI:** Integrate a performance auditing tool (like GitHub Action for Lighthouse or sitespeed.io) into your GitHub Actions workflow to automatically check page speed and accessibility with every deployment.
### Community & Engagement (8 Ideas)
- [ ] 18. **User Nomination Form:** Add a simple mechanism (e.g., linking to a dedicated GitHub Issue template or a simple form) that allows visitors to suggest other great GitHub users to be added to the list, expanding the user base beyond the initial 400.
- [ ] 19. **"Trending" Feature:** Store follower counts from the previous week and implement a sort/filter option based on the highest *percentage increase* in followers since the last data fetch.
- [ ] 20. **RSS Feed:** Create a simple RSS feed generated during the Python script run that announces users who have recently been added to the list.
- [ ] 21. **Monthly Highlight/Featured User:** Select a user each month to feature prominently at the top, perhaps rotating based on who has the highest engagement or recently released a popular project.
- [x] 22. **Data Export/API Endpoint:** Offer a simple "Download Data" button that exports the currently filtered list (or the full list) as a JSON or CSV file.
- [ ] 23. **Embeddable Widgets:** Allow users to generate HTML snippets to embed a "Top 10" list or a small user card on their own website.
- [ ] 24. **Open Source Contribution Tracker:** For users who are maintainers of large projects, display a simple metric of their recent commit/issue activity within the past month.
- [x] 25. **"Random User" Button:** A prominent button that selects and displays a random user from the dataset, encouraging serendipitous discovery.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.