Skip to content

Redesign portfolio with Japanese minimalism × Swiss typography#1

Open
brad-cooley wants to merge 4 commits intomainfrom
claude/redesign-portfolio-minimal-lDZT5
Open

Redesign portfolio with Japanese minimalism × Swiss typography#1
brad-cooley wants to merge 4 commits intomainfrom
claude/redesign-portfolio-minimal-lDZT5

Conversation

@brad-cooley
Copy link
Copy Markdown
Owner

Complete visual overhaul removing glassmorphism in favour of a
precise, typographic design system.

  • Design tokens: warm off-white / near-black palette, single accent
    (#1246F0), Syne display + DM Sans body + JetBrains Mono labels
  • Custom cursor: 10px dot expands to ring on hover; dragging state;
    mix-blend drives visibility on any background
  • Grain texture: fixed 3.2% opacity SVG noise overlay for depth
  • Progress bar: 1.5px accent line tracks horizontal section position
  • Desktop: full-bleed sections, ghost section numbers (4% opacity),
    animated hero (name → rule → footer), text-only nav with animated
    top-edge indicator line
  • Mobile: matching typographic treatment, minimal dot navigation,
    clean slide-out menu with mono numbering
  • Motion: cubic-bezier(0.16, 1, 0.3) easing throughout; staggered
    entrance animations on home section; underline extends on link hover

https://claude.ai/code/session_01BkB715SdTfJR99BjBzB1N4

claude and others added 4 commits April 17, 2026 21:46
Complete visual overhaul removing glassmorphism in favour of a
precise, typographic design system.

- Design tokens: warm off-white / near-black palette, single accent
  (#1246F0), Syne display + DM Sans body + JetBrains Mono labels
- Custom cursor: 10px dot expands to ring on hover; dragging state;
  mix-blend drives visibility on any background
- Grain texture: fixed 3.2% opacity SVG noise overlay for depth
- Progress bar: 1.5px accent line tracks horizontal section position
- Desktop: full-bleed sections, ghost section numbers (4% opacity),
  animated hero (name → rule → footer), text-only nav with animated
  top-edge indicator line
- Mobile: matching typographic treatment, minimal dot navigation,
  clean slide-out menu with mono numbering
- Motion: cubic-bezier(0.16, 1, 0.3) easing throughout; staggered
  entrance animations on home section; underline extends on link hover

https://claude.ai/code/session_01BkB715SdTfJR99BjBzB1N4
- Progress bar: removed from HTML, base.css, and main.js
- Name animation: slow 14s colour-breathing cycle (ink → accent → ink)
  on both desktop h1 and mobile name; animation pauses during theme
  switch so colour transitions cleanly instead of jumping
- Section titles: accent colour (--accent) on h2 for consistent
  colour pop across all non-home sections on desktop and mobile
- Theme toggle: unique CSS half-circle that rotates 180° between modes
  (left-half filled = light, right-half filled = dark); fixed in nav
  on desktop, bottom-left on mobile
- Theme init: inline <head> script sets data-theme before first paint
  to prevent flash; preference persisted in localStorage
- Transition: .is-theme-transitioning class adds 500ms colour
  transitions to every element during the mode switch, then is removed

https://claude.ai/code/session_01BkB715SdTfJR99BjBzB1N4
Name gradient:
- background-clip: text with 200% wide gradient: --bg → --ink → Cosmic
  Orange (#BF4800 → #F07218 → #BF4800) → --ink → --bg
- Edges fade to --bg so the name blends into the background colour
- nameShimmer keyframe animates background-position 100%→0%→100% on
  an 18s ease-in-out loop: orange sweeps left→right, holds, returns
- Applied identically on desktop (h1) and mobile (.mobile-name)

Theme toggle:
- Icon size: 16px → 18px, border colour: ink-3 → ink-2 (more visible)
- Rotation now uses individual CSS `rotate` property; scale uses
  `scale` property — they animate independently so the pulse and flip
  never conflict (togglePulse keyframe: 0→1.5→1 in 360ms spring)
- Flash overlay: directional tint (#fff when going light, #000 dark)
  fades in to 12% opacity, theme switch fires at peak, then fades out
  creating a physical "shutter" sensation
- Transition class applied at peak flash for 700ms colour settle

https://claude.ai/code/session_01BkB715SdTfJR99BjBzB1N4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants