💼 Portfolio - baghel.dev
Welcome to the repository for my personal portfolio website, baghel.dev, showcasing my projects, skills, and professional experience as a full-stack developer.
- Modern Design: Clean, responsive design with custom animations and interactions
- Contact Form: Functional contact form with email integration via Cloudflare Workers
- GitHub Integration: Live GitHub commit history calendar display
- GitRoll Profile: Integrated GitRoll profile showcase
- Project Showcase: Featured projects with live demos and source code links
- Tech Stack Display: Visual representation of frontend, backend, and miscellaneous tools
- Analytics: PostHog integration for user analytics
- Performance Optimized: Fast loading with optimized images and efficient bundling
- Next.js 15.2.4 - React framework with App Router
- React 19.1.0 - UI library with latest features
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Tailwind CSS Animated - Pre-built animations
- Tailwind Motion - Advanced motion utilities
- AOS (Animate On Scroll) - Scroll-based animations
- Cloudflare Workers - Serverless email handling
- Resend - Email delivery service
- Hono - Lightweight web framework for Workers
- PostHog - Analytics and user tracking
- ESLint - Code linting
- Prettier - Code formatting
- OpenNext - Cloudflare deployment optimization
- GitHub API - Commit history display via react-github-calendar
- GitRoll - Developer profile showcase
- React Icons - Icon library
- React Hot Toast - Notification system
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── globals.css # Global styles and animations
│ │ ├── layout.tsx # Root layout with fonts and providers
│ │ ├── page.tsx # Main portfolio page
│ │ ├── providers.tsx # PostHog analytics provider
│ │ └── terms/ # Terms & conditions page
│ ├── components/ # React components
│ │ ├── Contact.tsx # Contact form with email functionality
│ │ ├── Github.tsx # GitHub commit history calendar
│ │ ├── GitRoll.tsx # GitRoll profile integration
│ │ ├── Projects.tsx # Featured projects showcase
│ │ ├── Stack.tsx # Tech stack display
│ │ └── ScrollButton.tsx # Scroll navigation
│ ├── lib/ # Utilities and third-party configs
│ └── utils/ # Helper functions and constants
├── email-worker/ # Cloudflare Worker for email handling
│ ├── src/
│ │ ├── index.tsx # Worker entry point
│ │ └── emails/ # Email templates
└── public/ # Static assets
- Custom typography with Chromate font
- Animated introduction with motion presets
- Social media links and resume download
- Animated SVG background elements
- CodeStash: Code snippet management platform
- SpendSync: Financial planning and expense tracking tool
- Direct links to live demos and source code
- Visual grid layout showcasing frontend, backend, and miscellaneous tools
- Tooltips for each technology
- Organized by category for easy navigation
- Live commit history calendar for recent years
- Scroll-enabled year navigation
- Real-time data from GitHub API
- Embedded GitRoll profile badge
- Direct link to detailed GitRoll profile
- Functional email form powered by Cloudflare Workers
- Real-time form validation
- Toast notifications for user feedback
- Custom email templates with React
- Node.js 18+
- pnpm (recommended) or npm
- Clone the repository:
bash
git clone https://github.com/devansh-baghel/portfolio.git
cd portfolio
- Install dependencies:
bash
pnpm install
- Run the development server:
bash
pnpm dev
- Open http://localhost:3000 in your browser.
- Navigate to the email worker directory:
bash
cd email-worker
pnpm install
-
Set up environment variables in Cloudflare Workers dashboard:
RESEND_API_KEY: Your Resend API key
-
Deploy the worker:
bash
pnpm deploy
bash
pnpm build:worker
pnpm deploy:worker
bash
cd email-worker
pnpm deploy
- Image Optimization: Next.js Image component with proper sizing
- Font Optimization: Local font loading with display swap
- Code Splitting: Automatic code splitting via Next.js
- SSR Safety: Proper hydration handling for animations
- Responsive Design: Mobile-first approach with Tailwind CSS
The portfolio includes PostHog analytics to track:
- Page views and user interactions
- Form submissions and conversions
- Performance metrics
- User journey analysis
- Color Palette: Slate-based with lime accent colors
- Typography: Inter for body text, Chromate for headings
- Shadows: Consistent 3D shadow effects throughout
- Animations: Smooth transitions and scroll-based reveals
- Layout: Responsive grid system with mobile-first approach
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Website: baghel.dev
- Email: hello@baghel.dev
- GitHub: @devansh-baghel
- LinkedIn: devanshbaghel
- Twitter: @bagheldotdev