A new "Join the Community" section on the landing page showing:
- GitHub Activity: Live repository statistics (stars, forks, watchers, issues)
- Reddit Discussions: Latest Reddit posts mentioning OpenAdapt
- Hacker News: Latest HN stories about OpenAdapt
- Twitter/X Feed: Official @OpenAdaptAI timeline
- Call-to-Action: Links to Discord and GitHub
/components/GitHubActivity.js
/components/GitHubActivity.module.css
/components/RedditFeed.js
/components/RedditFeed.module.css
/components/HackerNewsFeed.js
/components/HackerNewsFeed.module.css
/components/TwitterFeed.js
/components/TwitterFeed.module.css
/components/SocialSection.js
/components/SocialSection.module.css
/pages/api/social-feeds.js
/pages/index.js (added SocialSection import and component)
SOCIAL_FEEDS_IMPLEMENTATION.md (comprehensive docs)
SOCIAL_FEEDS_PREVIEW.md (visual design preview)
SOCIAL_FEEDS_QUICKSTART.md (this file)
Total: 15 files
cd /Users/abrichr/oa/src/openadapt-web
npm installnpm run devOpen: http://localhost:3000
Scroll down the page or navigate directly to: http://localhost:3000#community
GitHub Activity:
- Stats load (stars, forks, watchers, issues)
- Click card - opens GitHub repo in new tab
- Hover effect works (card lifts up slightly)
Reddit Feed:
- Posts load (if any exist)
- Click post - opens Reddit in new tab
- "View More on Reddit" button works
- Fallback message if no posts
Hacker News:
- Stories load (if any exist)
- Click story - opens HN in new tab
- "View More on Hacker News" button works
- Fallback message if no stories
Twitter Feed:
- Timeline loads (may take a few seconds)
- Shows latest tweets from @OpenAdaptAI
- "Follow @OpenAdaptAI" button works
Call-to-Action:
- Discord button opens Discord invite
- GitHub button opens repository
Desktop (> 1024px):
- Three cards side-by-side
- Twitter full-width below
- CTA buttons side-by-side
Tablet (768px - 1024px):
- Cards stack vertically
- Twitter full-width
- CTA buttons side-by-side
Mobile (< 768px):
- All components stack vertically
- Twitter timeline adjusts height
- CTA buttons stack vertically
Open browser DevTools → Network tab:
First Load:
1. Request to GitHub API - 200 OK
2. Request to Reddit API - 200 OK
3. Request to HN API - 200 OK
Reload within 5 minutes:
Same requests but should be faster (served from cache)
Direct API Test:
curl http://localhost:3000/api/social-feeds | jqShould return JSON with all social data.
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel
# Or deploy to production
vercel --prod# Build
npm run build
# Deploy manually via Netlify dashboard
# Or use Netlify CLI
netlify deploy --prod# Build static export
npm run build
npm run export
# Upload the 'out' directory to your hosting- npm run build completes successfully
- No console errors in production build
- All API routes work on production domain
- Twitter widget loads on production domain
- Caching headers are set correctly
- All external links work
- Mobile responsive design works
- Performance is good (< 2s page load)
Test each API endpoint:
# GitHub
curl https://api.github.com/repos/OpenAdaptAI/OpenAdapt
# Reddit
curl "https://www.reddit.com/search.json?q=openadapt"
# Hacker News
curl "https://hn.algolia.com/api/v1/search?query=openadapt"GitHub API limits:
- Unauthenticated: 60 requests/hour
- Authenticated: 5000 requests/hour
Check your remaining quota:
curl -I https://api.github.com/repos/OpenAdaptAI/OpenAdapt | grep rateSolution:
npm install --no-optional --legacy-peer-depsSolution: Add GitHub token to environment variables:
# .env.local
GITHUB_TOKEN=your_github_personal_access_tokenThen update components to use it (optional).
Possible causes:
- Script blocked by ad blocker
- @OpenAdaptAI account doesn't exist or is private
- Twitter API/widget is down
Solution:
- Check browser console for errors
- Disable ad blockers
- Verify Twitter account exists
This is normal if OpenAdapt hasn't been mentioned yet.
Solution: The fallback UI will show "No posts found" with search links.
Solution: Check that jsconfig.json has the @ alias:
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@components/*": ["components/*"]
}
}
}- Enable Caching: The API route caches for 5 minutes by default
- CDN: Use Vercel/Netlify CDN for fast global delivery
- Image Optimization: Twitter widget loads images lazily
- Code Splitting: Next.js automatically splits code
- Compression: Enable gzip/brotli on your hosting
Track social section engagement:
// Add to components
onClick={() => {
window.gtag('event', 'social_click', {
social_platform: 'github',
action: 'view_repo'
})
}}For issues or questions:
- Check the full documentation:
SOCIAL_FEEDS_IMPLEMENTATION.md - Review the visual preview:
SOCIAL_FEEDS_PREVIEW.md - Submit a GitHub issue
- Contact the team on Discord
Once the basic implementation is working, consider:
- Add LinkedIn - Embed company page widget
- Add YouTube - Show latest videos about OpenAdapt
- Add Discord Widget - Show online member count
- Historical Charts - Graph GitHub stars over time
- Sentiment Analysis - Analyze social mentions
- Real-time Updates - WebSocket for live feeds
You now have a complete social media section that:
- ✅ Shows real-time GitHub statistics
- ✅ Displays Reddit discussions
- ✅ Shows Hacker News stories
- ✅ Embeds Twitter timeline
- ✅ Uses free APIs only
- ✅ Has server-side caching
- ✅ Is fully responsive
- ✅ Handles errors gracefully
- ✅ Follows 80/20 principle
Time to implement: ~2 hours Ongoing cost: $0/month Maintenance: Minimal
Enjoy the new social proof on your landing page!
Questions? See SOCIAL_FEEDS_IMPLEMENTATION.md for detailed documentation.