A modern, responsive portfolio website built with React, TypeScript, and TanStack Router showcasing my work as a Senior Full Stack Engineer and Engineering Manager.
- Framework: TanStack Router with React
- Styling: Tailwind CSS
- Language: TypeScript
- Build Tool: Vite
- Linting/Formatting: Biome
- Icons: Lucide React
- Deployment: Netlify
- 🎨 Modern, responsive design with dark theme
- 📱 Mobile-first approach with excellent mobile experience
- 🖨️ Print-optimized resume with clean PDF export
- ⚡ Fast page loads with code splitting
- 🔍 SEO optimized with meta tags and structured data
- 📊 Project showcase with category filtering
- 🎯 PWA-ready with offline support
- ♿ Accessible and keyboard navigable
- Node.js 18+
- pnpm (recommended) or npm
- Clone the repository:
git clone https://github.com/vinaypuppal/portfolio-site.git
cd portfolio-site
- Install dependencies:
pnpm install
- Start the development server:
pnpm dev
The site will be available at http://localhost:3000
# Development
pnpm dev # Start dev server
pnpm build # Build for production
pnpm preview # Preview production build
# Code Quality
pnpm format # Format code with Biome
pnpm lint # Lint code with Biome
pnpm typecheck # Run TypeScript type checking
portfolio-site/
├── public/ # Static assets (favicons, images)
├── src/
│ ├── components/ # Reusable React components
│ ├── content/ # Site content and data
│ ├── routes/ # Page components (TanStack Router)
│ ├── styles/ # Global styles
│ └── utils/ # Utility functions
├── biome.json # Biome configuration
├── tailwind.config.mjs # Tailwind CSS configuration
└── vite.config.ts # Vite configuration
- Home (
/
) - Landing page with hero section and featured projects - Projects (
/works
) - Complete project showcase with filtering - Resume (
/resume
) - Professional resume with print optimization
Edit src/content/data/site-config.ts
to update:
- Personal details (name, title, location)
- Social media links
- Skills and expertise
- Company information
Edit src/content/data/works.ts
to manage your project portfolio.
- Global styles:
src/styles/app.css
- Tailwind config:
tailwind.config.mjs
- Component styles use Tailwind utility classes
The site is configured for automatic deployment to Netlify. Push to the main
branch to trigger a deployment.
- Build the project:
pnpm build
- Deploy the
dist
folder to your hosting service
master
- Current React/TanStack Router versionv1
- Legacy Gatsby version (archived)
MIT License - feel free to use this code for your own portfolio!
- Email: [email protected]
- LinkedIn: linkedin.com/in/vinay-puppal
- GitHub: github.com/vinaypuppal
- Website: vinaypuppal.com
Built with ❤️ by Vinay Puppal