git radar_

Background Sync

How GitRadar keeps your starred repositories up to date automatically.

GitRadar continuously syncs your GitHub stars in the background so your recommendations always reflect your current interests.

Sync types

TypeWhen it runsTriggered by
Initial syncOnce, right after sign-inAutomatic
Background syncEvery 6 hoursAutomatic
Manual syncOn demandYou

Initial sync

The first time you sign in, GitRadar fetches every repository you've ever starred on GitHub. This is a one-time operation. You'll see a progress indicator on the Discover page while it runs:

Syncing your repositories...
[████████████████░░░░] 412 / 500 repositories processed

When the initial sync completes, you'll receive a confirmation email with the total number of repositories imported. After that, the Discover page becomes available.

Background sync

Once the initial sync is done, GitRadar automatically re-syncs your stars every 6 hours. This picks up any new repositories you've starred directly on GitHub since the last sync.

You don't need to do anything — it runs silently in the background. The sync status is visible in the app if a sync is currently in progress.

Manual sync

You can trigger a sync at any time from the app. This is useful if you've starred a batch of repositories on GitHub and want them available in GitRadar immediately without waiting for the next scheduled sync.

What gets synced

During each sync, GitRadar:

  1. Fetches your full list of starred repositories from the GitHub API.
  2. Upserts each repository into the database (name, description, stars, topics, language, etc.).
  3. Records the star relationship between you and each repository.
  4. Generates vector embeddings for repositories that meet the minimum star threshold (used for discovery).

Repositories you've dismissed in GitRadar are not unstarred on GitHub — dismissal only affects GitRadar's recommendations.

Sync status

The current sync state is one of:

StatusMeaning
idleNo sync running. Everything is up to date.
initial_syncFirst-time import in progress.
background_syncScheduled 6-hour sync running.
manual_syncYou triggered a sync manually.
errorThe last sync failed. Try triggering a manual sync.

If your sync status shows error, your recommendations may be based on stale data. Trigger a manual sync to recover.