One-click sync from your LinkedIn profile to the JSON files your portfolio reads.
linkedin-sync. Expiration: your choice (1 year is fine).at0m-b0mb/linkedin-sync.github_pat_…).This is the bookmarklet — drag it (don't click it on this page; it only works when you're on LinkedIn):
javascript: link from some pages. If the drag doesn't fly, the cleanest fallback is:
Sync LinkedIn → GitHubGenerating…
https://www.linkedin.com/in/kailash-parshad/localStorage scoped to linkedin.com — your PAT never leaves your browser except when going to GitHub.profile.json and experience.json are updated in the repo.at0m-b0mb/linkedin-sync with only Contents: read and write. If you suspect it leaked, revoke it at github.com/settings/tokens. Never use a classic PAT or a token with broader scopes here.
const base = 'https://raw.githubusercontent.com/at0m-b0mb/linkedin-sync/main';
const [profile, experience] = await Promise.all([
fetch(`${base}/profile.json`).then(r => r.json()),
fetch(`${base}/experience.json`).then(r => r.json()),
]);
In LinkedIn's tab → DevTools → Console:
localStorage.removeItem('linkedin_sync_pat_v1');