cd ..

2026-07-05

Hello, World: Rebuilding This Site to Be Quieter

Why I stripped the glow effects, added a light mode, and kept the terminal — notes from redesigning this portfolio toward minimalism.

1 min read design nextjs webgl

This site used to be loud. Glow borders, ~40 canvas-animated skill tiles, 3D-tilting project cards, scroll-triggered reveals on everything. Fun to build — exhausting to read.

The redesign keeps one rule in mind: personality should be discovered, not shouted. The WebGL grid in the hero is still there, just quieter. The terminal is still there (try the button in the corner, or press Ctrl+K and type >). The Konami code still works. But the default experience is now mostly typography, whitespace, and a single cyan accent.

The stack

Nothing exotic — the interesting part is what got removed:

// Before: every skill tile was a canvas animation
<PixelCard variant="blue" gap={10} speed={5}>
  <SkillTile name="React" level="Expert" />
</PixelCard>
 
// After: it's a <span> with a border
<span className="rounded-md border px-2.5 py-1 text-sm">
  <SiReact /> React
</span>

Removing the effect components cut the home page’s client bundle noticeably, and the page no longer runs dozens of requestAnimationFrame loops while you’re just trying to read what I do for a living.

What stayed

  • The terminal (NormanCLI) — now with theme, ls blog, and cat blog/<slug> commands
  • The easter eggssteam balatro, akaza, and the Konami code
  • The shader — one subtle ambient layer instead of five competing ones

More posts soon — probably about WebGL lighting in Lighting VTT, or building dialog-tree tooling for game devs.