- Replace the flat dither backdrop with a lit, rotating torus drawn the
way donut.c does it: a z-buffer per cell and a luminance ramp from a
dot to a solid block, sized against the shorter viewport axis. The
dither field stays underneath as dust. It leads on the landing page
and fades back where there is reading to do, and a scrim keeps the
projects heading legible over it.
- Thicken the glass: one .surface treatment with a heavier blur, more
transparency and an SVG film grain, shared by the header, hero,
cards, panels and footer.
- Give the landing page labelled contact cards for LinkedIn, Gitea and
email in place of three bare icons.
- Drop the status chips from project cards and entry headers.
- Remove the light theme, its toggle and theme.js outright.
- Add restrained motion: underlines growing from the left on links and
nav items, a lift on cards, buttons and contact cards, and tags
brightening with their card. All of it is off under
prefers-reduced-motion.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The first pass applied terminal decoration to everything, which read as
costume rather than design. Strip it back to a few deliberate cues and
let an animated backdrop carry the character instead:
- Drop the prefix glyphs from links, tags, nav items, badges and
headings, and restore plain section names in place of snake_case.
- Keep one prompt in the hero, the ~/ on the wordmark, ISO dates and
status dots; everything else is ordinary type.
- Restore depth: acrylic surfaces over soft radial light, 6px radii,
and an accent glow on the primary action and status dots.
- Draw a dithered ASCII field behind the page. A fixed per-cell dither
value decides which cells are lit so coverage stays even, while slow
interfering waves move brightness through it. It idles when the tab
is hidden and stays still under prefers-reduced-motion.
- Remove the nested panel boxes on the projects page and size the entry
page to its article column.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>