A modern, responsive personal portfolio website built with React, TypeScript, and CSS3. This website showcases my skills, projects, and professional information in an elegant and dreamy manner, inspired by the aesthetic of PoppyNest.
- Modern React Architecture: Built with React 18 and TypeScript for type safety
- Dreamy Aesthetic: Celestial, pastel-inspired design with neon pink accents
- Responsive Design: Works perfectly on all devices (desktop, tablet, mobile)
- Interactive Elements: Smooth scrolling, mobile navigation, hover effects
- Portfolio Showcase: Dedicated section displaying your projects
- Skills Display: Organized presentation of your technical expertise
- Contact Form: Professional contact form with validation
- SEO Optimized: Proper meta tags and semantic HTML structure
- Netlify Ready: Optimized for deployment on Netlify
- Frontend: React 18 + TypeScript
- Styling: CSS3 with custom animations and effects
- Build Tool: Create React App
- Deployment: Netlify (configured)
- Icons: Emoji-based icons for a playful touch
src/
βββ components/ # React components
β βββ Header.tsx # Navigation header
β βββ Hero.tsx # Hero section with profile
β βββ About.tsx # About me section
β βββ Skills.tsx # Skills and technologies
β βββ Portfolio.tsx # Project showcase
β βββ Contact.tsx # Contact information and form
β βββ Footer.tsx # Footer with social links
βββ App.tsx # Main app component
βββ index.tsx # App entry point
βββ index.css # Global styles
βββ App.css # App-specific styles
public/
βββ index.html # Main HTML file
βββ favicon.ico # Site favicon
netlify.toml # Netlify deployment config
- Primary: Neon Pink (#ff69b4)
- Secondary: Deep Pink (#ff1493)
- Background: Dark blue gradients (#1a1a2e, #16213e, #0f3460)
- Text: White and light blue (#b8c5d6)
- Accents: Gold (#ffd700), Light Blue (#87ceeb), Light Green (#98fb98)
- Floating animations: Gentle floating elements and sparkles
- Glow effects: Neon pink glows and shadows
- Gradient backgrounds: Smooth color transitions
- Hover interactions: Smooth transforms and color changes
- Responsive design: Mobile-first approach
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone <your-repo-url> cd bihan-portfolio
-
Install dependencies
npm install
-
Start development server
npm start
-
Open your browser Navigate to
http://localhost:3000
npm run build-
Push to GitHub
git add . git commit -m "Initial portfolio website" git push origin main
-
Deploy on Netlify
- Connect your GitHub repository
- Build command:
npm run build - Publish directory:
build - Deploy!
-
Custom Domain (Optional)
- Add your custom domain in Netlify settings
- Configure DNS records
- Vercel: Connect GitHub repo, automatic deployment
- GitHub Pages: Enable Pages in repository settings
- Traditional hosting: Upload
buildfolder to your server
Update the following files with your information:
- Hero Section:
src/components/Hero.tsx - About Section:
src/components/About.tsx - Skills:
src/components/Skills.tsx - Portfolio:
src/components/Portfolio.tsx - Contact:
src/components/Contact.tsx
- Colors: Update CSS variables in
src/index.css - Animations: Modify keyframes and transitions
- Layout: Adjust grid layouts and spacing
Replace the placeholder in src/components/Hero.tsx:
// Replace this:
<div className="profile-placeholder">
<span className="profile-icon">π©βπ»</span>
</div>
// With your actual image:
<img
src="/path/to/your/headshot.jpg"
alt="Bihan Dasgupta"
className="profile-image"
/>The website is fully responsive with:
- Mobile-first approach
- Flexible grid layouts
- Adaptive typography
- Touch-friendly interactions
- Optimized for all screen sizes
- Scroll-triggered animations: Elements animate as they come into view
- Hover effects: Interactive elements respond to user interaction
- Staggered animations: Sequential animation delays for smooth entrance
- Floating elements: Gentle floating animations for dreamy effect
npm start- Start development servernpm run build- Build for productionnpm test- Run testsnpm run eject- Eject from Create React App
- Components: Functional components with TypeScript interfaces
- CSS Modules: Scoped styling for each component
- Props: Type-safe component props
- State: React hooks for state management
- Lazy loading: Components load as needed
- Optimized images: Compressed and optimized assets
- Minified CSS/JS: Production builds are optimized
- CDN ready: External resources use CDNs
- Caching: Proper cache headers for static assets
- HTTPS: Secure connections recommended
- Input validation: Form validation on client side
- XSS protection: React's built-in XSS protection
- Secure links: External links open in new tabs
- Semantic HTML: Proper heading hierarchy
- Meta tags: Optimized for search engines
- Alt text: Image descriptions for screen readers
- Keyboard navigation: Full keyboard accessibility
- ARIA labels: Proper accessibility attributes
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source and available under the MIT License.
- Design Inspiration: PoppyNest
- Icons: Emoji-based icons for universal compatibility
- Fonts: System fonts for optimal performance
- Animations: Custom CSS animations and transitions
Your dreamy portfolio is ready to impress! πΈβ¨
Built with love and lots of pink sparkles for Bihan Dasgupta π