Muhammad Saad Zafar
000%
INITIALIZING ENVIRONMENT
Skip to content
All projects

Portfolio · 2026

Portfolio Website 

A statically generated Next.js 16 portfolio built from scratch with an editorial dark aesthetic, WebGL aurora shaders, animated constellation particles, a fluid clamp() type scale, and a content layer designed to slot into a headless CMS.

Role
Design & development
Year
2026
Category
Portfolio
Stack
Next.jsReactTypeScriptTailwind CSSOGLMotion
Previous portfolio website layout

Key engineering metrics

Lighthouse

100 / 100

Perfect scores across Performance, Accessibility, Best Practices, and SEO

Animation

WebGL + Canvas

OGL aurora shader and 2D constellation particles, both GPU-accelerated

Accessibility

WCAG AA

Reduced-motion fallbacks, skip links, focus rings, aria-live regions

The problem

Most developer portfolios are template-driven and visually generic — a card grid, a hero image, and a skills logo wall that looks identical to every other developer's page. Standing out to a recruiter who reviews dozens of portfolios a week requires a site that communicates craft at first glance.

The solution

I designed an editorial dark aesthetic with a single accent token, a fluid type scale that holds from 390px phones to ultra-wide monitors, and a WebGL aurora shader rendered on a single OGL triangle for the hero. A constellation particle canvas runs site-wide behind all content. Every page is statically generated, every animation is gated on prefers-reduced-motion, and the content layer is async-first so a CMS can replace the data source without touching a single component.

The outcome

A fully static site that scores 100 across Lighthouse categories, ships zero layout shift, and loads in under 1s on 4G. The same codebase serves as the primary demonstration of my Next.js, TypeScript, and design ability.

Architecture

  • Frontend
    • Next.js
    • React
    • TypeScript
    • Tailwind CSS
  • Tooling
    • OGL
    • Motion