Crafting a Killer Developer Portfolio: 2024 Edition with Next.js 14 & WebAssembly

Behind the scenes of krisnafirdaus.dev - Learn how I achieved 99/100 Lighthouse score while showcasing projects with interactive 3D previews.

Krisna Firdaus

Krisna Firdaus

2025-01-20

1. Next.js 14 App Router Magic

Key implementations: ⚡ Dynamic OG image generation for project pages ⚡ Incremental Static Regeneration for blog content ⚡ Route groups for multiple dashboards Code snippet for dynamic metadata:
export async function generateMetadata({ params }): Promise<Metadata> {
  const project = await getProject(params.slug);
  return {
    openGraph: {
      images: [
        {
          url: `/og?title=${project.title}&desc=${project.excerpt}`,
          width: 1200,
          height: 630
        }
      ]
    }
  };
}

2. Performance as a Feature

My optimization stack: ▸ WebAssembly-powered 3D project previews (200KB vs 1.2MB Three.js) ▸ AVIF images with Sharp.js preprocessing ▸ Custom service worker for offline blog access ▸ React Server Components for 0kb client JS Lighthouse results: ✅ Performance: 99 ✅ Accessibility: 100 ✅ SEO: 100

3. Interactive Storytelling

Engagement boosters: • Terminal-style about section with Typewriter effect • Project case studies with before-after performance metrics • Interactive architecture diagrams using Mermaid.js • Custom web components for resume timeline
3. Interactive Storytelling

4. Growth Engineering

My analytics setup: ▶ Plausible Analytics for traffic monitoring ▶ Hotjar session recordings ▶ Custom GPT for visitor Q&A ▶ Automated newsletter with ConvertKit API Conversion rates: 📈 35% contact form completion rate 📈 22% blog subscription rate

Want my portfolio checklist? Subscribe for exclusive access to templates!