Skip to content

bug: <short description of the issue>Add Request Deduplication for Repeated GitHub Profile Fetches #770

@AadityaUniyal

Description

@AadityaUniyal

Description

Currently, when multiple users request analytics for the same GitHub profile simultaneously, the application may trigger repeated identical GitHub API requests.

This can lead to:

unnecessary API usage
slower response times
duplicate network calls
faster GitHub API rate-limit exhaustion

Since contribution data for a profile does not change frequently, repeated simultaneous requests should ideally share the same in-progress response instead of creating multiple API calls.

Steps to Reproduce

Start the application locally
Open multiple tabs/windows
Request analytics for the same GitHub profile simultaneously
Observe duplicate API requests being triggered for identical profile data

Expected Behavior

The application should:

detect duplicate in-progress requests
reuse existing fetch promises/responses
avoid redundant GitHub API calls
improve performance and scalability

Screenshots / Logs

Possible Solution

Implement:

request deduplication middleware
shared promise handling
temporary in-memory caching
stale-while-revalidate strategy

Example:
If 20 users request the same profile simultaneously, only one API request should execute while the remaining requests wait for the same response.

Benefits
Reduced GitHub API usage
Better scalability
Faster response times
Improved production stability
Lower chance of rate-limit exhaustion
Additional Notes

This enhancement can be implemented incrementally and would be a great optimization for improving backend efficiency and user experience.

I’d love to work on this enhancement if maintainers approve.

GitHub Username (If applicable)

AadityaUniyal

Environment

Chrome

I would to contribute it under GSSoC program

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions