Personal portfolio website — responsive, accessible, zero frameworks.
Live: boziao.github.io/portfolio
- 🌙 Dark / light mode — persisted in
localStorage - 📱 Fully responsive — mobile, tablet, desktop
- ♿ Accessible — semantic HTML, ARIA labels,
prefers-reduced-motionsupport - ✨ Scroll animations —
IntersectionObserverwith staggered reveals - 🔒 Anti-spam email — address assembled in JS, never exposed in raw HTML
- 🔍 SEO-ready — Open Graph and Twitter Card meta tags, favicon
- ⚡ Zero dependencies — no frameworks, no build step, pure HTML/CSS/JS
portfolio/
├── index.html # Single-page layout — hero, about, projects, contact
├── style.css # All styles — CSS custom properties, dark mode, animations
└── README.md
No build step required — just open the file:
git clone https://github.com/BoziaO/portfolio.git
cd portfolio
open index.html # or drag into a browserOr serve with any static server:
npx serve .| Feature | Implementation |
|---|---|
| Dark mode | CSS custom properties + localStorage |
| Scroll reveal | IntersectionObserver API |
| Stagger animations | CSS --stagger variable + animation-delay |
| Email protection | JS-assembled address from data-u / data-d attributes |
| Open Graph | <meta property="og:*"> tags for rich link previews |
| Reduced motion | prefers-reduced-motion media query — animations disabled if requested |
MIT
Maciej (Bozia) — github.com/BoziaO · boziao.github.io/portfolio