Skip to content

refactor: GitHub as single source of truth for projects; simplify About page#104

Merged
kaiiiichen merged 8 commits into
mainfrom
feat/merge-course-projects
Jul 12, 2026
Merged

refactor: GitHub as single source of truth for projects; simplify About page#104
kaiiiichen merged 8 commits into
mainfrom
feat/merge-course-projects

Conversation

@kaiiiichen

Copy link
Copy Markdown
Owner

Summary

Refactor project cards and About page to follow GitHub-first architecture:

  • GitHub single source: Course Projects (Kai Course Notes) and Personal Projects now sync all fields (description→summary, topics→tags, stars) live from GitHub API
  • Demo URLs restored: SudoSodoku and buttercut href point to demo sites (not GitHub repos), while GitHub metadata is fetched live
  • About page simplified: Removed all coursework lists (SUSTech, UC Berkeley, Oxford), keeping only institution, role, and grade
  • Homepage cleaned: Removed "SUSTech, UC Berkeley, Oxford, and beyond" institution list from Kai Course Notes summary

Changes

app/lib/personal-projects.ts

  • Improved GitHub data merging: always prioritize fetched data (including empty arrays) over fallbacks
  • Restored buttercut and SudoSodoku href to demo sites

app/lib/course-projects.ts

  • Simplified GitHub data merging for consistent behavior with personal projects

app/about/page.tsx

  • Removed CourseworkTip component import and all coursework arrays
  • Simplified education entries to show only dates, institution, role, and grade

app/lib/course-projects.ts (summary update)

  • Removed institution list from Kai Course Notes summary

Why

  • Single source of truth: All project metadata comes from GitHub, reducing sync burden
  • Better UX: Users see live star counts and actual GitHub description/topics
  • Cleaner About: Removed expanded coursework lists that took up space
  • Consistent data flow: GitHub API is the source, fallbacks are only for resilience (network failures)

Test plan

  • Verify homepage Projects card shows correct summaries for all projects
  • Check /projects page displays same data as homepage
  • Confirm buttercut and SudoSodoku links point to demo sites
  • Verify star counts update correctly (2, 8, 3, 1)
  • Check /about page Education section shows no coursework buttons
  • Verify Kai Course Notes summary no longer mentions institutions

🤖 Generated with Claude Code

@vercel

vercel Bot commented Jul 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
kaichen.dev Ready Ready Preview, Comment Jul 12, 2026 10:07am

kaiiiichen and others added 8 commits July 12, 2026 03:05
- desc/summary mirror the repo About, stack/tags mirror repo Topics,
  stars stay live — all fetched with the same 120s revalidate window;
  hand-written values remain only as API-failure fallbacks (synced)
- Course Projects card is GitHub-backed too (Kai-Course-Notes) and now
  shows its live star count
- SudoSodoku and buttercut cards link to their live sites
  (sudosodoku.kaichen.dev, buttercut.kaichen.dev); destination hint
  label now reflects the actual host instead of hardcoded GitHub

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
- Update buttercut and SudoSodoku href to point to GitHub repos instead of demo sites
- Simplify GitHub data merging: always prioritize fetched data (including empty arrays) over fallbacks
- Ensures all project fields sync directly with GitHub: description/About, topics/Topics, stars, and archived status

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove all coursework arrays (SUSTech, UC Berkeley, Oxford)
- Remove CourseworkTip component import and usage
- Simplify education entries to show only institution, role, grade, and dates

Co-Authored-By: Claude <noreply@anthropic.com>
Simplify the summary to focus on the content type rather than specific institutions.

Co-Authored-By: Claude <noreply@anthropic.com>
- SudoSodoku: https://sudosodoku.kaichen.dev/ (not GitHub)
- buttercut: https://buttercut.kaichen.dev/ (not GitHub)

This ensures users visit the project demos first, with GitHub repo still linked via metadata.

Co-Authored-By: Claude <noreply@anthropic.com>
Link: https://claude.com/product/claude-code

Co-Authored-By: Claude <noreply@anthropic.com>
@kaiiiichen kaiiiichen force-pushed the feat/merge-course-projects branch from 0aee2c1 to 5ffccf8 Compare July 12, 2026 10:05
@kaiiiichen kaiiiichen merged commit 9c94aa8 into main Jul 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant