Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

v2

The second version of my portfolio — guilyx.github.io.

It sits between v1 and v3, and it is deliberately the smallest of the three.

What it is

One page. Three files. No framework, no build step, no dependencies to install.

index.html      the whole site
css/style.css   hand-written, CSS custom properties, dark + light
js/main.js      ~100 lines: nav, scrollspy, filters, theme
favicon.svg

Open index.html in a browser and it works. Deploy by pushing — GitHub Pages serves it as-is.

Sections

About · Experience · Projects · Open Source · Writing · Education · Contact

Where it sits between v1 and v3

v1 (2020) v2 v3 (2025)
Stack Bootstrap + jQuery template Plain HTML/CSS/JS React + Vite + Tailwind + framer-motion + d3
Build none none tsc && vite build
Dependencies 6 vendored libraries 0 30+ npm packages
Pages 9 1 15 routes
Assets 46 MB of GIFs ~40 KB total optimised images
Theme light, blue #2c98f0 dark + light toggle dark, neon #f72585 / #4cc9f0
Colour source template defaults guilyx/branding its own

The left sidebar is v1's signature, kept and cleaned up.

Brand

Colour and the mark come from guilyx/branding, which is the source of truth. If this repo drifts from it, this repo is wrong.

  • Dark is Ink & Iris#0d0e12 ground, #8b95f0 accent.
  • Light is Bone & Rust#f5f3ee ground, #b0472b accent. It is the runner-up palette documented in brand/palette.md, used here because it is the only light ground the brand defines; the iris accent falls to roughly 2:1 on cream and darkening it would fork the palette.
  • The accent is the only saturated value, and it is spent deliberately: mono keys, links, one active control per view, the mark, focus rings. No gradients.

The logo is the swarm mark — three agents holding a formation. It is inlined in index.html rather than loaded through <img>, because currentColor does not cross that boundary and the mark would render black.

Regenerate brand assets with the bundled skill; never hand-write the SVG:

cd .claude/skills/logo-variants/scripts
python3 build_mark.py --list
python3 build_mark.py --variant favicon --out ../../../../favicon.svg
python3 validate_mark.py ../../../../favicon.svg --tile
python3 test_validator.py          # 14 cases covering every documented misuse

Notes

  • Content is current as of late 2022.
  • Ships dark by default, respects prefers-color-scheme on first visit, and remembers the choice in localStorage.
  • Everything readable without JavaScript; the script only adds the nav toggle, scrollspy, project filters and the theme switch.
  • Honours prefers-reduced-motion, has a skip link, visible focus rings and a print stylesheet.

Licence

MIT

About

v2 of my portfolio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages