A modern, responsive, and feature-rich portfolio website showcasing full-stack development expertise with cutting-edge technologies and optimal performance.
- β¨ Features
- π οΈ Tech Stack
- ποΈ Architecture
- β‘ Performance
- π Getting Started
- π Project Structure
- π§ Development
- π Deployment
- π± Responsive Design
- π¨ Theme & Styling
- π§ Contact Integration
- π SEO & Analytics
- π¨βπ» About the Developer
- π License
- Interactive Portfolio Sections: Intro, About, Projects, Skills, Experience, Contact
- Dynamic Project Showcase: 3 featured projects with live demos and source code
- Professional Experience Timeline: Detailed work history with animations
- Skills Visualization: Comprehensive technical skills display
- Contact Form: Integrated email functionality with React Email and Resend
- Dark/Light Theme Toggle: Persistent theme switching with smooth transitions
- Smooth Animations: Framer Motion powered interactions and page transitions
- Responsive Design: Mobile-first approach with optimal viewing on all devices
- Interactive Elements: Hover effects, scroll animations, and dynamic content
- Performance Optimized: Image optimization, lazy loading, and code splitting
- Server-Side Rendering: Next.js 14 with App Router for optimal SEO
- TypeScript Integration: Type-safe development with comprehensive type definitions
- Modern React Patterns: Custom hooks, context providers, and functional components
- Code Quality: ESLint configuration with Next.js best practices
- Analytics Integration: Vercel Analytics and Speed Insights
- Accessibility: WCAG compliant with semantic HTML and ARIA labels
- Next.js 14.0.4 // React framework with App Router
- React 18 // UI library with latest features
- TypeScript 5 // Type-safe JavaScript
- Tailwind CSS 3.3 // Utility-first CSS framework- Framer Motion 10.16.16 // Advanced animations and gestures
- React Intersection Observer // Scroll-based animations
- React Vertical Timeline // Experience timeline component- React Email 0.0.12 // Email template components
- Resend 2.1.0 // Email delivery service
- React Hot Toast 2.4.1 // Toast notifications- React Icons 4.12.0 // Comprehensive icon library
- Next.js Image // Optimized image loading
- Custom SVG assets // Performance-optimized graphics- Vercel Analytics 1.3.1 // User analytics and insights
- Vercel Speed Insights 1.0.14 // Performance monitoring
- Microsoft Clarity // User behavior analytics- ESLint 8 // Code linting and quality
- PostCSS 8 // CSS processing
- Autoprefixer 10 // CSS vendor prefixingβββ π± App Router (Next.js 14)
β βββ π¨ Layout Components
β β βββ Header (Navigation)
β β βββ Footer (Links & Info)
β β βββ ThemeSwitch (Dark/Light)
β βββ π Page Sections
β β βββ Intro (Hero Section)
β β βββ About (Personal Info)
β β βββ Projects (Portfolio)
β β βββ Skills (Technical Stack)
β β βββ Experience (Timeline)
β β βββ Contact (Form & Links)
β βββ π§ Utility Components
β βββ SectionHeading
β βββ SectionDivider
β βββ SubmitBtn
βββ π Context Providers
β βββ ActiveSectionContext
β βββ ThemeContext
βββ π― Custom Hooks
β βββ useSectionInView
β βββ useActiveSectionContext
βββ π Data Layer
βββ Static Content (lib/data.tsx)
βββ Type Definitions (lib/types.ts)
βββ Utility Functions (lib/utils.ts)
- Context API: Global state for theme and active section tracking
- React Hooks: Local component state and side effects
- Custom Hooks: Reusable stateful logic for section visibility
- TypeScript: Compile-time type safety and IntelliSense
- Static Generation: Pre-rendered pages for instant loading
- Image Optimization: Next.js Image component with lazy loading
- Code Splitting: Dynamic imports for non-critical components
- Bundle Analysis: Optimized bundle size (149kB total)
- Caching: Aggressive caching strategies for static assets
# Build Output
Route (app) Size First Load JS
β β / 18.6 kB 149 kB
β β /_not-found 869 B 82.8 kB
+ First Load JS shared by all 82 kB- Structured Data: JSON-LD schema for rich snippets
- Open Graph: Social media preview optimization
- Twitter Cards: Enhanced Twitter sharing experience
- Meta Tags: Comprehensive SEO meta information
- Sitemap: Automatic sitemap generation
Node.js 18+ and npm or yarn package manager- Clone the repository
git clone https://github.com/selvin-paul-raj/dev_portfolio.git
cd dev_portfolio- Install dependencies
npm install
# or
yarn install- Set up environment variables
cp .env.example .env.localRequired environment variables:
# Email Service (Resend)
RESEND_API_KEY=your_resend_api_key
# Analytics (Optional)
NEXT_PUBLIC_VERCEL_ANALYTICS_ID=your_analytics_id- Run the development server
npm run dev
# or
yarn dev- Open in browser
http://localhost:3000
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint checksdev_portfolio/
βββ π± app/ # Next.js App Router
β βββ favicon.ico # Site favicon
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout component
β βββ page.tsx # Home page component
β βββ profile.jpg # Profile image
βββ π§© components/ # React components
β βββ About.tsx # About section
β βββ Contact.tsx # Contact form
β βββ Experience.tsx # Experience timeline
β βββ Footer.tsx # Site footer
β βββ Header.tsx # Navigation header
β βββ Intro.tsx # Hero section
β βββ Project.tsx # Individual project card
β βββ Projects.jsx # Projects section
β βββ SectionDivider.tsx # Visual dividers
β βββ SectionHeading.tsx # Section titles
β βββ Skills.tsx # Skills display
β βββ SocialLinks.tsx # Social media links
β βββ SubmitBtn.tsx # Form submit button
β βββ ThemeSwitch.tsx # Theme toggle
βββ π― context/ # React Context providers
β βββ active-section-context.tsx # Active section tracking
β βββ theme-context.tsx # Theme management
βββ π§ email/ # Email templates
βββ π lib/ # Utility libraries
β βββ data.tsx # Static content data
β βββ hooks.ts # Custom React hooks
β βββ types.ts # TypeScript definitions
β βββ utils.ts # Utility functions
βββ πΌοΈ public/ # Static assets
β βββ aicalculator.png # Project screenshot
β βββ speedtype.png # Project screenshot
β βββ troothview.png # Project screenshot
β βββ SPR_Resume.pdf # Resume document
β βββ selvinpaulrajK_profile.png # Profile images
βββ π¬ actions/ # Server actions
β βββ sendEmails.ts # Email sending logic
βββ π οΈ utils/ # Utility functions
β βββ calculateDuration.js # Date calculations
βββ βοΈ Configuration Files
β βββ .eslintrc.json # ESLint configuration
β βββ .gitignore # Git ignore patterns
β βββ next.config.js # Next.js configuration
β βββ package.json # Dependencies and scripts
β βββ postcss.config.js # PostCSS configuration
β βββ tailwind.config.ts # Tailwind CSS configuration
β βββ tsconfig.json # TypeScript configuration
- TypeScript: Strict type checking enabled
- ESLint: Next.js recommended configuration
- Prettier: Code formatting (configured in VS Code settings)
- Component Architecture: Functional components with hooks
- Custom Hooks: Reusable stateful logic extraction
1. Feature Development
βββ Create feature branch
βββ Implement component/feature
βββ Add TypeScript types
βββ Test functionality
βββ Run lint checks
2. Testing & Quality
βββ npm run lint # Code quality check
βββ npm run build # Production build test
βββ Manual testing # UI/UX verification
3. Deployment
βββ Merge to main branch
βββ Automatic Vercel deployment
βββ Production verification// 1. Create component in /components
export default function NewSection() {
const { ref } = useSectionInView("NewSection", 0.5);
return <section ref={ref} id="newsection">...</section>;
}
// 2. Add to navigation in /lib/data.tsx
export const links = [
// ... existing links
{
name: "NewSection",
hash: "#newsection",
icon: <YourIcon />,
},
];
// 3. Import and use in /app/page.tsx
import NewSection from "@/components/NewSection";The project is optimized for Vercel deployment with automatic:
- Build Pipeline: Automatic builds on git push
- Environment Variables: Secure environment management
- Analytics: Built-in performance monitoring
- Domain Management: Custom domain support
1. Build the application
npm run build
2. Test production build locally
npm run start
3. Deploy to Vercel
npx vercel --prod
4. Configure environment variables
- RESEND_API_KEY
- Any additional API keys- Netlify: Full static site support
- AWS Amplify: Enterprise-grade hosting
- GitHub Pages: Static deployment option
- Railway: Full-stack deployment
/* Mobile First Approach */
sm: '640px' // Tablets
md: '768px' // Small laptops
lg: '1024px' // Laptops
xl: '1280px' // Desktops
2xl: '1536px' // Large screens- Navigation: Collapsible mobile menu
- Project Cards: Responsive grid layout
- Timeline: Adaptive vertical/horizontal layout
- Images: Optimized for all screen sizes
- Typography: Scalable text hierarchy
// Color Palette
Primary: #805c8b (Purple)
Secondary: #CDECFF (Light Blue)
Background Light: #FAFAF9
Background Dark: #000000
Text Light: #374151
Text Dark: #f3f4f6- CSS Variables: Dynamic theme switching
- Tailwind Classes: Conditional dark mode classes
- Local Storage: Theme preference persistence
- System Preference: Automatic OS theme detection
// Framer Motion Configurations
Initial: { opacity: 0, y: 100 }
Animate: { opacity: 1, y: 0 }
Transition: { delay: 0.175 }The contact form uses Resend for reliable email delivery:
// Required Environment Variables
RESEND_API_KEY=re_xxxxxxxxx
// Email Configuration
From: noreply@yourdomain.com
To: selvinpaulrajk@gmail.com
Template: React Email components- Validation: Client-side form validation
- Toast Notifications: Success/error feedback
- Rate Limiting: Spam prevention
- Accessibility: Screen reader compatible
// Metadata Configuration
Title: "Selvin PaulRaj | Full-Stack MERN Developer Portfolio"
Description: "Explore the portfolio of Selvin PaulRaj K..."
Keywords: ["Full-stack Developer", "MERN Stack", "React", "Next.js"]
OpenGraph: Social media optimization
StructuredData: JSON-LD schema markup- Vercel Analytics: User behavior tracking
- Speed Insights: Performance monitoring
- Microsoft Clarity: Heatmap and session recordings
- Google Verification: Search Console integration
Selvin PaulRaj K - Full-Stack MERN Developer
- B.Tech Information Technology - DMI College of Engineering (CGPA: 8.4)
- Founder & CEO - GenXRverse (Mar 2024 - Present)
- Python Development Intern - OCTANET SERVICES PVT LTD
- Web Development Intern - VERITECH SOFTWARE IT SERVICES
- Full Stack Intern - SERVIMOS TECHNOLOGIES PVT LTD
- AI Calculator - Next.js 15 + TypeScript + Gemini AI
- TroothView - React + AI Image Verification + Chart.js
- Speed Typing - React + TypeScript + Framer Motion + Jest
Frontend: HTML5, CSS3, JavaScript, TypeScript, React, Next.js, Tailwind CSS Backend: Node.js, Express.js, Python, Flask Database: MongoDB, MySQL Tools: Git, VS Code, Postman, Vercel Other: Redux, Framer Motion, REST APIs, Responsive Design
- Website: selvinpaulraj.vercel.app
- LinkedIn: selvinpaulrajK
- GitHub: selvin-paul-raj
- Email: selvinpaulrajk@gmail.com
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Give a βοΈ if this project helped you or if you found it interesting!
Built with β€οΈ by Selvin PaulRaj
Showcasing modern web development with Next.js, TypeScript, and cutting-edge technologies