Personal portfolio website for Adalberto Kutuxidis — a Dark Souls-inspired pixel art website with an animated Canvas 2D bonfire scene, built with a lean stack and zero animation libraries.
- Vite — build tool
- React 18 + TypeScript
- Tailwind CSS v4 — styling with custom Dark Souls bonfire theme
- Canvas 2D API — animated pixel-art bonfire, trees, stars, embers
- IntersectionObserver — scroll-triggered reveal animations
- Google Fonts — Press Start 2P, Outfit, JetBrains Mono
No animation libraries. All visual effects are native browser APIs.
- Full-screen pixel-art bonfire hero scene with twinkling stars, flickering flames, pixel hero sprite, and forest trees
- Scroll-reveal animations on all sections
- Project card grid with ember glow hover effects
- Terminal-styled contact section
- Responsive design (mobile + desktop)
# Install dependencies
npm install
# Start dev server
npm run dev
# Build for production
npm run build
# Preview production build
npm run previewThe dev server runs at http://localhost:5173/.
src/
├── components/
│ ├── Navbar.tsx # Sticky nav with pixel-font branding
│ ├── Hero.tsx # Full-viewport bonfire scene wrapper
│ ├── BonfireCanvas.tsx # Canvas 2D animated scene
│ ├── About.tsx # Bio, experience, skills
│ ├── Projects.tsx # Project card grid
│ ├── ProjectCard.tsx # Individual project card
│ ├── Contact.tsx # Terminal-styled social links
│ ├── Footer.tsx # Copyright footer
│ └── ScrollReveal.tsx # IntersectionObserver wrapper
├── hooks/
│ ├── useCanvasAnimation.ts
│ └── useIntersectionObserver.ts
├── data/
│ └── projects.ts # Project entries (edit this!)
├── App.tsx
├── index.css # Tailwind + custom theme
└── main.tsx
- Projects: Edit
src/data/projects.tsto add your own projects - About: Edit
src/components/About.tsxto update bio, skills, and experience - Contact: Edit
src/components/Contact.tsxto update social links - Colors: Edit the
@themeblock insrc/index.cssto change the color palette - CV: Replace
public/CV_Adalberto.pdfwith your own
MIT