Summary
Product doc section 5.10 specifies 'Platform Auto-Discovery' — when a user enters their GitHub username, DevCard should attempt to auto-discover their linked social profiles from GitHub public metadata and pre-fill the link form.
Context
The GitHub connect OAuth flow already exists in apps/backend/src/routes/connect.ts. After a successful GitHub OAuth, the backend receives an access token. Use this to call the GitHub user API and extract linked profiles.
Tasks
Acceptance Criteria
Difficulty
advanced — requires external API integration, token management, pattern matching, and caching layer.
Summary
Product doc section 5.10 specifies 'Platform Auto-Discovery' — when a user enters their GitHub username, DevCard should attempt to auto-discover their linked social profiles from GitHub public metadata and pre-fill the link form.
Context
The GitHub connect OAuth flow already exists in
apps/backend/src/routes/connect.ts. After a successful GitHub OAuth, the backend receives an access token. Use this to call the GitHub user API and extract linked profiles.Tasks
connect.ts, callGET https://api.github.com/userusing the received token.blog,twitter_username,company,bio, andhtml_urlfields.GET /api/connect/github/autodiscover(authenticated) that:{ platform: string, username: string, confidence: 'high' | 'low' }[].twitter_username→twitter(high confidence).blogURL →portfolio(high) or infer npm/hashnode/devto from URL pattern (low).apps/backend/src/plugins/redis.tsif it exists, or add it).Acceptance Criteria
Difficulty
advanced— requires external API integration, token management, pattern matching, and caching layer.