Modern portfolio website built with Astro 5 and Tailwind CSS 4.
- Node.js 18+
- npm or pnpm
cd astro
npm installnpm run devVisit http://localhost:4321 to view your site.
npm run buildThe built site will be in the dist/ directory.
npm run preview/
├── public/ # Static assets (images, favicons, etc.)
│ ├── img/
│ │ └── projects/ # Project images
│ ├── favicon/
│ └── manifest.json
├── src/
│ ├── components/ # Reusable Astro components
│ │ ├── Header.astro
│ │ ├── Hero.astro
│ │ ├── Intro.astro
│ │ ├── ProjectList.astro
│ │ ├── Stack.astro
│ │ ├── Comments.astro
│ │ └── Footer.astro
│ ├── data/
│ │ └── app.json # Portfolio content data
│ ├── layouts/
│ │ └── Layout.astro
│ ├── pages/
│ │ ├── index.astro
│ │ └── project/
│ │ └── [name].astro
│ └── styles/
│ └── main.css # Tailwind CSS with custom theme
├── astro.config.mjs
├── tailwind.config.mjs
└── package.json
- Modern Stack: Astro 5 + Tailwind CSS 4
- Static Generation: Fast, SEO-friendly pages
- Dynamic Routing: Individual project pages
- Responsive Design: Mobile-first approach
- Custom Styling: CSS-based Tailwind v4 configuration
- Zero JavaScript: Ships minimal JS by default
All content is managed through /src/data/app.json. Edit this file to update:
- Hero section
- About/Intro content
- Projects
- Skills/Stack
- Testimonials
- Social links
- Astro - Static Site Generator
- Tailwind CSS v4 - Utility-first CSS
- TypeScript - Type safety
Private project - All rights reserved.