A personal portfolio website showcasing design system architecture and UX design work, built with Astro, Tailwind CSS, and Web Components.
- Modern Stack: Built with Astro for optimal performance and Tailwind CSS for styling
- Web Components: Uses Magma design system components
- GitHub Pages: Automated deployment via GitHub Actions
- Development Standards: Prettier configured for consistent code formatting
- Magma Design System - Design system based on StencilJS
- Maggioli Design System Styles
- Iconsauce - SVG icon library similar to Tailwind
- Node.js 20 or higher
- npm
npm installnpm run devVisit http://localhost:4321 to see your site.
npm run buildnpm run previewnpm run formatThe homepage opens on the Blobmixer background, and ?background=trunk or ?background=blob brings back the ones before it, to compare them. The Blobmixer, its 14 presets and the combinations tried are documented in docs/blobmixer.md.
The site is automatically deployed to GitHub Pages via GitHub Actions when changes are pushed to the main branch.
Before deploying, make sure to:
-
Update
astro.config.mjs:- Set the
siteURL to match your GitHub Pages URL (e.g.,https://yourusername.github.io) - Adjust the
basepath if your site is not at the root (currently set to/homefor a project page)
- Set the
-
Update social links: Edit
src/components/Footer.astrowith your actual LinkedIn, GitHub, and resume URLs -
Enable GitHub Pages: In your repository settings, go to Pages and select "GitHub Actions" as the source
/
├── public/
├── src/
│ ├── components/
│ │ ├── Hero.astro
│ │ ├── CategoryCards.astro
│ │ └── Footer.astro
│ ├── layouts/
│ │ └── Layout.astro
│ └── pages/
│ └── index.astro
├── .github/
│ └── workflows/
│ └── deploy.yml
└── package.json
- Astro - Static site generator
- Tailwind CSS - Utility-first CSS framework
- Prettier - Code formatter