Parent: #6
Build public, indexable discovery surfaces for spectators and prospective contributors.
Routes
/ — platform landing page
/contests — public contest directory
/contests/[contestSlug] — contest overview
/contests/[contestSlug]/projects — participating projects
/contests/[contestSlug]/projects/[owner]/[repo] — public project detail
/contests/[contestSlug]/leaderboard — contest ranking
/u/[handle] — public contributor profile
/privacy and /terms — legal surfaces
Acceptance criteria
- Public metadata, canonical URLs, and social previews are defined
- Lists support accessible loading, empty, and pagination states
- Private contest data never appears in public mocks or UI assumptions
- No backend implementation is included
Parent: #6
Build public, indexable discovery surfaces for spectators and prospective contributors.
Routes
/— platform landing page/contests— public contest directory/contests/[contestSlug]— contest overview/contests/[contestSlug]/projects— participating projects/contests/[contestSlug]/projects/[owner]/[repo]— public project detail/contests/[contestSlug]/leaderboard— contest ranking/u/[handle]— public contributor profile/privacyand/terms— legal surfacesAcceptance criteria