Description
src/data/leaderboard.js contains fully fabricated static user data with fake names, usernames, avatars from Unsplash, and arbitrary point values:
export const leaderboardData = [
{
rank: 1,
name: "Alex Rivera",
username: "arivera_dev",
avatar: "https://images.unsplash.com/photo-...",
contributions: 1420,
points: 9850,
...
},
// 7 more fake entries
];
export const womenLeaderboardData = [
// 5 fake entries
];
If any page in the application imports from leaderboard.js and renders these arrays, users will see fake placeholder rankings (Alex Rivera, Sarah Chen, Marcus Vance, etc.) instead of the real leaderboard computed from Firestore. This undermines the core value proposition of the platform.
Additionally, the fake avatar URLs point to Unsplash images that are loaded over the network on every page render, creating unnecessary external requests and potential privacy concerns (Unsplash logs referring URLs).
From checking GitRank.jsx, the main GitRank leaderboard correctly reads from Firestore in real time. However, any page that imports leaderboardData or womenLeaderboardData from leaderboard.js will show fake data. This includes any component that has not yet been wired to the real Firestore source.
Steps to Reproduce
- Open the application's RankHer page (or any page that renders the women's leaderboard).
- Observe that the displayed names and usernames are "Sarah Chen", "Elena Rostova", "Aiko Tanaka", etc. regardless of who has actually registered.
- Check the browser Network tab and observe requests to
images.unsplash.com for avatar images that do not correspond to real users.
Expected Behavior
All leaderboard components should pull real-time data from Firestore (the users collection, filtered by onboardingStatus == "complete" and sorted by points.totalPoints), matching the approach used in GitRank.jsx.
Actual Behavior
The placeholder data in leaderboard.js is used as-is, displaying fabricated user profiles and arbitrary point values.
Affected Code
src/data/leaderboard.js: contains 13 fake user entries across leaderboardData and womenLeaderboardData.
Any page/component that imports from this file will show fake data.
Suggested Fix
- Remove
leaderboard.js or replace its exports with empty arrays clearly marked as defaults.
- Wire all leaderboard components to use
onSnapshot against the Firestore users collection, applying the same query and sorting logic used in GitRank.jsx.
- Remove Unsplash avatar fallbacks and use the real
user.photoURL from Firestore.
Contribution Guidelines
I would like to work on this under NSoC '26. @indresh404, could you please assign/ this issue to me?
Description
src/data/leaderboard.jscontains fully fabricated static user data with fake names, usernames, avatars from Unsplash, and arbitrary point values:If any page in the application imports from
leaderboard.jsand renders these arrays, users will see fake placeholder rankings (Alex Rivera, Sarah Chen, Marcus Vance, etc.) instead of the real leaderboard computed from Firestore. This undermines the core value proposition of the platform.Additionally, the fake avatar URLs point to Unsplash images that are loaded over the network on every page render, creating unnecessary external requests and potential privacy concerns (Unsplash logs referring URLs).
From checking
GitRank.jsx, the main GitRank leaderboard correctly reads from Firestore in real time. However, any page that importsleaderboardDataorwomenLeaderboardDatafromleaderboard.jswill show fake data. This includes any component that has not yet been wired to the real Firestore source.Steps to Reproduce
images.unsplash.comfor avatar images that do not correspond to real users.Expected Behavior
All leaderboard components should pull real-time data from Firestore (the
userscollection, filtered byonboardingStatus == "complete"and sorted bypoints.totalPoints), matching the approach used inGitRank.jsx.Actual Behavior
The placeholder data in
leaderboard.jsis used as-is, displaying fabricated user profiles and arbitrary point values.Affected Code
src/data/leaderboard.js: contains 13 fake user entries acrossleaderboardDataandwomenLeaderboardData.Any page/component that imports from this file will show fake data.
Suggested Fix
leaderboard.jsor replace its exports with empty arrays clearly marked as defaults.onSnapshotagainst the Firestoreuserscollection, applying the same query and sorting logic used inGitRank.jsx.user.photoURLfrom Firestore.Contribution Guidelines
I would like to work on this under NSoC '26. @indresh404, could you please assign/ this issue to me?