// engineering portfolio sync backend
Every repository with a project.json gets scanned, validated, and merged with live GitHub metadata — stars, forks, topics, license, last commit — into one document your site can read without ever touching GitHub directly.
live signal path — the website never queries GitHub directly
Health check: version, uptime, GitHub & Firestore connectivity, last successful sync.
Scans every repository, validates project.json, merges GitHub metadata into Firestore.
Every synced project, ready for a portfolio grid or list view.
A single project document, looked up by its slug.
Distinct categories and subcategories, with project counts for each.
Aggregate totals: projects, stars, forks, technologies, categories.
Every public, non-fork repository on the account is listed from GitHub.
Repos without a project.json, or with an invalid one, are skipped — never fatal.
If GitHub's updated_at matches the last sync, the repo is skipped as unchanged.
GitHub metadata and project.json are combined into one Firestore document.