A modern, minimal-design portfolio built with Vue 3 + TypeScript + Vite + Tailwind CSS.
Converted from React/TSX to Vue 3 Composition API.
- 🎨 Glassmorphism Design – Glass-effect UI with gradient accents
- 🌊 Smooth Animations –
@vueuse/motionfor page and element transitions - 📱 Fully Responsive – Mobile-first layout
- 🔀 Vue Router – Smooth page transitions with client-side routing
- 🎯 Skill Bars – Scroll-triggered animated progress bars
- 📬 Contact Form – Ready to wire up to your Flask backend
| Category | Tech |
|---|---|
| Framework | Vue 3 (Composition API) |
| Language | TypeScript |
| Build Tool | Vite |
| Styling | Tailwind CSS |
| Animations | @vueuse/motion |
| Utilities | @vueuse/core |
| Routing | Vue Router 4 |
# Install dependencies
npm install
# Start dev server
npm run dev
# Build for production
npm run buildEdit src/data/portfolio.ts to update all your personal info:
export const portfolioData = {
name: "Your Name", // ← Change this
title: "Your Title", // ← Change this
email: "you@email.com", // ← Change this
github: "...",
linkedin: "...",
projects: [...], // ← Add your projects
skills: {...}, // ← Update skill levels
}src/
├── components/
│ ├── Navbar.vue # Top navigation
│ ├── SkillBar.vue # Animated skill bar
│ └── Footer.vue # Footer
├── pages/
│ ├── Home.vue # Hero section
│ ├── About.vue # About + education
│ ├── Projects.vue # Projects showcase
│ ├── Skills.vue # Skills grid
│ └── Contact.vue # Contact form
├── router/
│ └── index.ts # Vue Router config
├── data/
│ └── portfolio.ts # 📝 ALL YOUR DATA HERE
├── App.vue
├── main.ts
└── style.css
npm run build
# Deploy the `dist/` folder to Vercelnpm run build
# Deploy the `dist/` folder to NetlifyMade with ❤️ using Vue 3