Skip to content

Portfolio Checklist

This checklist distills the Recommended and Advanced scope items most relevant to a portfolio site. Use it as a planning tool alongside the phase guides — not as a replacement for them.

All Foundation phases are Essential for every project. No optional items here.

  • Repository initialized with pnpm, the Node.js release pinned in .nvmrc (see versions.json), TypeScript strict
  • Content Collections schemas defined (blog, projects, pages)
  • Design tokens system configured (colors, typography, spacing, motion)
  • Dark mode via CSS variables, dark-first with a persisted toggle (ADR-032)
  • Biome configured (linting + formatting)
  • GitHub Actions CI pipeline (type check, lint, build)
  • Base layout with SEO metadata, OG tags, JSON-LD
  • Security headers via public/_headers
  • Skip links and focus management for accessibility
  • Button (primary, secondary, ghost variants)
  • Card (project card, blog post card)
  • Badge (technology tags, status labels)
  • Image wrapper (Astro <Image> with AVIF/WebP)
  • Pagination (for blog listing)
  • Accordion (for FAQ or skills sections)
  • Hero with clear value proposition and CTA
  • Featured Projects grid (3–6 items)
  • About section with photo and bio
  • Skills / Technologies section
  • Blog listing with pagination
  • Contact section (form or email link)
  • Testimonials (if available)
  • Timeline (career history or project milestones)
  • 3–5 project case studies with results and tech stack
  • 3–5 blog posts demonstrating expertise
  • About page with professional bio
  • All images optimized (AVIF/WebP, responsive srcset)
  • Meta descriptions for all pages
  • OG images for social sharing
  • Manual testing on real mobile devices
  • Cross-browser check (Chrome, Firefox, Safari)
  • Accessibility audit with browser DevTools
  • Lighthouse scores: Performance 95+, Accessibility 98+, SEO 95+
  • No broken links (the scheduled link-check.yml workflow runs markdown-link-check over the docs; there is no local check:links script)
  • Lighthouse Performance 95+ (portfolio sites are judged on this)
  • Core Web Vitals: LCP < 2.5s, CLS < 0.1
  • Fonts subsetted and preloaded
  • No render-blocking resources
  • Bundle sizes within budget (JS < 160KB raw — CI-enforced; CSS < 50KB — advisory only, see budgets & guardrails)
  • Custom domain configured
  • SSL certificate active
  • CI/CD pipeline (auto-deploy on push to main)
  • Privacy-focused analytics (Plausible or Fathom — optional)
Section titled “Documentation — Recommended for Portfolio”
  • README with setup instructions and tech stack
  • AI context updated (docs/ai-context/INDEX.md)
  • ADRs reflect your actual architectural decisions
  • Google Search Console configured
  • Sitemap submitted
  • Weekly maintenance schedule established

Add these only if they serve a specific goal:

FeatureWhen to Add
/showcase living style guideOpen source or team projects
Visual regression testsHigh-churn component library
Playwright E2E suiteContact form or interactive features
<ClientRouter /> view-transition animationsWhen animation enhances UX, not just aesthetics
Preact island for stats counterAnimated numbers section
Newsletter integrationActive content strategy
RUM monitoringPost-launch, when traffic justifies it

Ship when it meets your goals. A portfolio site with 95+ Lighthouse scores, 3 polished case studies, and a clear contact path outperforms a feature-complete site that never launched.