A modern, responsive portfolio website built with Astro, TailwindCSS, and TypeScript. This portfolio showcases my projects, skills, and experience as a Software Engineer.
- Astro - Static site generator
 - TailwindCSS - Utility-first CSS framework
 - React - For interactive components
 - TypeScript - Type-safe JavaScript
 
Make sure you have the following installed:
- Clone the repository:
 
git clone https://github.com/ansrDev/web-portofolio.git
cd web-portofolio- Install dependencies:
 
pnpm install- Start the development server:
 
pnpm dev- Open your browser and visit 
http://localhost:4321 
# Start development server
pnpm dev
# Build for production
pnpm build
# Preview production build
pnpm preview
# Run Astro CLI commands
pnpm astroportofolio/
├── public/                 # Static assets (images, icons, etc.)
│   ├── favicon.ico
│   ├── logo.webp
│   └── ...
├── src/
│   ├── assets/            # Project assets
│   │   └── projects/
│   ├── components/        # Reusable components
│   │   ├── ui/           # UI components (buttons, cards, etc.)
│   │   ├── Button.astro
│   │   ├── CardProject.astro
│   │   └── TextFollowPath.tsx
│   ├── contents/          # Content data
│   │   └── projects/
│   │       └── project.json
│   ├── layouts/           # Page layouts
│   │   └── main.astro
│   ├── lib/              # Utility functions
│   │   └── utils.ts
│   ├── pages/            # Route pages
│   │   └── index.astro
│   └── styles/           # Global styles
│       ├── global.css
│       └── component.css
├── astro.config.mjs       # Astro configuration
├── tailwind.config.js     # TailwindCSS configuration
├── tsconfig.json          # TypeScript configuration
└── package.json
- Add project images to 
src/assets/projects/ - Update 
src/contents/projects/project.jsonwith your project details: 
{
  "projects": [
    {
      "name": "Your Project Name",
      "description": "Project description",
      "image": "assets/projects/your-project/image.webp",
      "links": {
        "github": "https://github.com/yourusername/project",
        "live": "https://yourproject.com"
      },
      "techStack": ["React", "TypeScript", "TailwindCSS"]
    }
  ]
}Edit the content in src/pages/index.astro:
- Update the name and description in the hero section
 - Modify the header title
 - Update footer information
 
- Global styles: 
src/styles/global.css - Component styles: 
src/styles/component.css - TailwindCSS utilities: Used throughout components
 
pnpm buildThe built files will be in the dist/ directory, ready for deployment to any static hosting service.
- Vercel: Connect your GitHub repo for automatic deployments
 - Netlify: Drag and drop the 
dist/folder or connect via Git - GitHub Pages: Use GitHub Actions for automated deployment
 - Cloudflare Pages: Connect your repository for edge deployment
 
The portfolio is fully responsive with breakpoints:
- Mobile: 
< 768px - Tablet: 
768px - 1024px - Desktop: 
> 1024px 
- Chrome (latest)
 - Firefox (latest)
 - Safari (latest)
 - Edge (latest)
 
This project is open source and available under the MIT License.
- Fork the repository
 - Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
 
Muhammad Ansari - @ansrDev
Star this repository if you found it helpful!