A modern, responsive, and interactive personal portfolio website showcasing skills, projects, and achievements with stunning animations and professional design.
Visit the live portfolio: imraunak.dev
- β¨ Features
- π¨ Design & UI
- π οΈ Technologies Used
- π Project Structure
- π Getting Started
- π§ Configuration
- π± Responsive Design
- π― Key Sections
- π API Integration
- π¨ Customization
- π¦ Deployment
- π€ Contributing
- π License
- π¨βπ» Author
- Modern React Architecture - Built with React 19 and TypeScript for type safety
- Responsive Design - Fully responsive across all devices and screen sizes
- Smooth Animations - Powered by Framer Motion for fluid interactions
- Dark Theme - Elegant dark theme with glassmorphism effects
- Performance Optimized - Fast loading with Vite build tool
- SEO Friendly - Optimized for search engines
- Animated Backgrounds - Dynamic particle systems and gradient animations
- Smooth Scrolling - Seamless navigation between sections
- Hover Effects - Interactive hover animations on all elements
- Loading States - Professional loading indicators
- Confetti Effects - Celebration animations for user interactions
- GitHub Integration - Real-time project data from GitHub API
- Skills Visualization - Interactive skill progress bars and categories
- Contribution Graph - GitHub contribution calendar integration
- Contact Form - Functional contact form with email delivery
- Resume Download - Direct resume download with confetti effect
- TypeScript - Full type safety throughout the application
- Tailwind CSS - Utility-first CSS framework
- ESLint - Code quality and consistency
- Vercel Deployment - Optimized for Vercel hosting
- API Routes - Serverless functions for backend functionality
- Minimalist Approach - Clean, uncluttered design focusing on content
- Glassmorphism Effects - Modern translucent elements with backdrop blur
- Gradient Accents - Subtle gradients for visual appeal
- Typography - Professional font hierarchy and spacing
- Color Scheme - Dark theme with cyan, blue, and purple accents
- Framer Motion - Advanced animation library for smooth transitions
- Staggered Animations - Sequential element animations
- Parallax Effects - Depth and movement in background elements
- Micro-interactions - Subtle animations for user feedback
- Performance Optimized - 60fps animations with proper throttling
- React 19.1.0 - Modern React with latest features
- TypeScript 5.8.3 - Type-safe JavaScript
- Vite 7.0.4 - Fast build tool and development server
- Tailwind CSS 3.4.1 - Utility-first CSS framework
- Framer Motion 12.23.9 - Animation library
- React Icons 5.5.0 - Icon library
- Vercel API Routes - Serverless functions
- Resend 4.7.0 - Email delivery service
- GitHub API - Dynamic project data
- React GitHub Calendar 4.5.9 - Contribution visualization
- ESLint 9.30.1 - Code linting
- PostCSS 8.5.6 - CSS processing
- Autoprefixer 10.4.21 - CSS vendor prefixing
- TypeScript ESLint 8.35.1 - TypeScript linting
- Canvas Confetti 1.9.3 - Celebration effects
- React Scroll 1.9.3 - Smooth scrolling
- TSParticles 2.12.0 - Particle system
my-portfolio/
βββ π api/ # Vercel API routes
β βββ contact.js # Contact form email handler
β βββ test.js # API testing endpoint
βββ π public/ # Static assets
β βββ assets/ # Images, PDFs, logos
β βββ vite.svg # Vite logo
βββ π src/ # Source code
β βββ π components/ # Reusable components
β β βββ Navbar.tsx # Navigation bar
β β βββ Footer.tsx # Footer component
β βββ π sections/ # Main page sections
β β βββ Hero.tsx # Hero section
β β βββ About.tsx # About section
β β βββ Skills.tsx # Skills section
β β βββ Projects.tsx # Projects section
β β βββ Contact.tsx # Contact section
β β βββ Education.tsx # Education timeline
β β βββ π about/ # About section components
β β βββ AnimatedBackground.tsx
β β βββ ProfileImage.tsx
β β βββ ResumeButton.tsx
β β βββ SocialIcons.tsx
β βββ π sections/skills/ # Skills section components
β β βββ SkillCard.tsx
β β βββ SkillCategoryTabs.tsx
β β βββ SkillGrid.tsx
β β βββ SkillProgress.tsx
β β βββ skillsData.ts
β βββ π sections/projects/ # Projects section components
β β βββ ProjectCard.tsx
β β βββ GitHubProjectCard.tsx
β β βββ ProjectFilters.tsx
β β βββ githubApi.ts
β β βββ projectsData.ts
β βββ App.tsx # Main app component
β βββ main.tsx # App entry point
β βββ index.css # Global styles
β βββ types/ # TypeScript type definitions
βββ package.json # Dependencies and scripts
βββ vite.config.ts # Vite configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ vercel.json # Vercel deployment configuration
βββ README.md # This file
- Node.js (v18 or higher)
- npm or yarn package manager
- Git for version control
-
Clone the repository
git clone https://github.com/raunak0400/MY_PORTFOLIO.git cd MY_PORTFOLIO
-
Install dependencies
npm install # or yarn install
-
Set up environment variables
# Create .env.local file echo "RESEND_API_KEY=your_resend_api_key_here" > .env.local
-
Start development server
npm run dev # or yarn dev
-
Open your browser Navigate to
http://localhost:5173
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
# TypeScript
npm run type-check # Check TypeScript types
Create a .env.local
file in the root directory:
# Email Service (Resend)
RESEND_API_KEY=re_your_api_key_here
# GitHub API (Optional)
GITHUB_TOKEN=your_github_token_here
-
Update Personal Information
- Edit
src/sections/About.tsx
for personal details - Modify
src/sections/Contact.tsx
for contact information - Update
src/sections/Education.tsx
for education timeline
- Edit
-
Customize Skills
- Edit
src/sections/skills/skillsData.ts
for skills data - Modify skill categories and progress levels
- Edit
-
Add Projects
- Update
src/sections/projects/projectsData.ts
for static projects - Configure GitHub integration in
src/sections/projects/githubApi.ts
- Update
-
Styling
- Modify
tailwind.config.js
for theme customization - Update
src/index.css
for global styles
- Modify
- Mobile: < 640px
- Tablet: 640px - 1024px
- Desktop: > 1024px
- Mobile-first approach
- Touch-friendly interactions
- Optimized images
- Fast loading on mobile networks
- Animated background with particle effects
- Dynamic typing effect for name and title
- Call-to-action buttons
- Smooth scroll navigation
- Personal information with animated profile image
- Social media links with hover effects
- Professional summary with gradient text
- Resume download with confetti animation
- Timeline layout with animated cards
- Certificate downloads for achievements
- Institution details with icons
- Responsive design for all screen sizes
- Interactive tabs for skill categories
- Progress bars with animations
- Skill cards with hover effects
- Category filtering system
- GitHub integration for real-time data
- Project filtering by technology
- Live demos and source code links
- Technology badges for each project
- Functional contact form with validation
- Email delivery via Resend API
- Success/error states with animations
- Social media links with icons
- Social media links with brand colors
- Copyright information
- Back to top button
- Legal links (Privacy Policy, Terms)
- Endpoint:
/api/contact
- Method: POST
- Features: Email validation, spam protection, error handling
- Projects: Real-time repository data
- Contributions: Activity calendar
- Profile: User information and stats
- Reliable delivery to Gmail
- HTML email templates
- Reply-to functionality
- Error handling and logging
/* Primary Colors */
--cyan: #06b6d4
--blue: #2563eb
--purple: #a78bfa
--pink: #f472b6
/* Gradients */
--gradient-primary: linear-gradient(90deg, #06b6d4, #2563eb, #a78bfa, #f472b6)
--gradient-secondary: linear-gradient(135deg, #667eea 0%, #764ba2 100%)
- Staggered entrance animations
- Hover effects with scale and color changes
- Parallax scrolling effects
- Micro-interactions for user feedback
- Font Family: Montserrat, Sora
- Font Weights: 400, 500, 600, 700, 900
- Responsive sizing with Tailwind classes
-
Connect to Vercel
npm install -g vercel vercel login
-
Deploy
vercel --prod
-
Environment Variables
- Set
RESEND_API_KEY
in Vercel dashboard - Configure domain settings
- Set
npm run build
# Upload dist/ folder to Netlify
npm run build
# Push dist/ folder to gh-pages branch
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Commit your changes
git commit -m 'Add amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow TypeScript best practices
- Use ESLint for code quality
- Write responsive components
- Add animations for better UX
- Test on multiple devices
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2024 Raunak Kumar Jha
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Raunak Kumar Jha
- GitHub: @raunak0400
- LinkedIn: Raunak Kumar Jha
- Instagram: @raunak.____.07
- Twitter: @raunak0400
- LeetCode: raunak0400
- Email: [email protected]
- Location: Gandhinagar, Gujarat, India
- Education: Bachelor's in Computer Science and Engineering
- Institution: Gandhinagar Institute of Technology
- Minor Degree: Computer Science at IIT Guwahati
- Passion: Full-stack development, AI/ML, and open source
- Framer Motion for amazing animations
- Tailwind CSS for utility-first styling
- Vercel for seamless deployment
- Resend for reliable email delivery
- GitHub for project hosting and API
- React Icons for beautiful icons
- Canvas Confetti for celebration effects