Skip to content

feat: add Projects (GitHub showcase) section#8

Merged
Codestz merged 2 commits into
masterfrom
feat/projects-showcase
Jun 7, 2026
Merged

feat: add Projects (GitHub showcase) section#8
Codestz merged 2 commits into
masterfrom
feat/projects-showcase

Conversation

@Codestz

@Codestz Codestz commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a new Projects section at /projects to showcase open-source GitHub projects, mirroring the existing Experience/Experiments architecture with a distinct ShowcaseProject entity (no collision with Project, which models work experience).

What's included

Domain & data

  • ShowcaseProject type + guard, ShowcaseRepository (reads src/content/showcase/*.mdx), service methods, facade + interface wiring
  • routes.projects/projects (repurposed an unused legacy alias)

UI (existing brutalist/terminal design system)

  • /projects listing with ShowcaseGrid — search + tech-filter pills, status/featured badges, stars/forks/language, hero thumbnails
  • /projects/[slug] MDX detail page + dynamic OG image + nav links (desktop + mobile)

Content — rich MDX writeups grounded in each repo's README, using StatBlock / ProcessFlow / Terminal:

  • hireloom — local-first résumé builder, on-device AI
  • mcpx — secure gateway for MCP servers
  • claude-hindsight — observability for Claude Code

Thumbnails — generated hero/OG images per project (public/images/blog/).

SEO — sitemap + search API include showcase entries.

Automation — GitHub Action (update-showcase-stats.yml) + script that refreshes stars/forks in frontmatter every 6h via the GitHub API (surgical line edits → minimal diffs; auto-tracks any new showcase .mdx).

Notes

  • The /projects/[slug] page sets blockJS: false on MDXRemote so expression-prop components (Terminal/StatBlock/ProcessFlow) render — matching the experiments page. Without it, array props are stripped and the components crash at prerender.
  • Stars/forks are static frontmatter refreshed by the Action (MDX-only data source, per design choice).

Verification

  • pnpm type-check
  • pnpm lint
  • pnpm build ✓ — /projects + all 3 detail pages + OG images prerender
  • Stats script run locally: idempotent, correct values (★19/⑂2, ★11/⑂1, ★0/⑂0)

🤖 Generated with Claude Code

New `/projects` section showcasing open-source GitHub projects, mirroring the
Experience/Experiments architecture with a distinct `ShowcaseProject` entity.

- Domain: ShowcaseProject type + guard, ShowcaseRepository (content/showcase),
  service methods, repository facade + interfaces
- Routes: /projects index + /projects/[slug] detail (MDX), OG image, nav links
- UI: ShowcaseGrid (search + tech filter, status/stars/forks, hero thumbnails)
  in the existing brutalist/terminal design system
- Content: rich MDX writeups for hireloom, mcpx, claude-hindsight grounded in
  each repo's README (StatBlock/ProcessFlow/Terminal components)
- Thumbnails: generated hero/OG images per project (public/images/blog)
- SEO: sitemap + search API include showcase
- Automation: GitHub Action (.github/workflows/update-showcase-stats.yml) +
  script to refresh stars/forks in frontmatter every 6h via the GitHub API

Note: projects [slug] page sets blockJS:false so MDX expression-prop components
(Terminal/StatBlock/ProcessFlow) render, matching the experiments page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 7, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
portfolio Ready Ready Preview, Comment Jun 7, 2026 2:30pm

@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Images automagically compressed by Calibre's image-actions

Compression reduced images by 78.9%, saving 2.9 MB.

Filename Before After Improvement Visual comparison
public/images/blog/claude-hindsight.png 1.4 MB 433.7 KB 70.7% View diff
public/images/blog/mcpx.png 1.1 MB 171.6 KB 84.6% View diff
public/images/blog/hireloom.png 1.1 MB 176.6 KB 84.1% View diff

@Codestz
Codestz merged commit d404dcc into master Jun 7, 2026
2 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