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 withtheme,ls blog, andcat blog/<slug>commands - The easter eggs —
steam 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.