π― A high-performance, visually appealing, and feature-rich portfolio website showcasing my skills, projects, and achievements. Built with modern web technologies, optimized for responsiveness, and deployed on Vercel.
This portfolio represents the fourth iteration of my personal website, featuring a modern design system, optimized performance, and seamless user experience. It serves as a comprehensive showcase of my technical expertise, projects, and professional journey.
Category | Technology Used | Version |
---|---|---|
Framework | Next.js | 14.x |
Language | TypeScript | 5.x |
UI Framework | ShadCN/UI, Magic UI | Latest |
Styling | Tailwind CSS, PostCSS | 3.x |
Content | MDX | Latest |
Package Manager | PNPM | Latest |
Deployment | Vercel | Latest |
Version Control | Git & GitHub | Latest |
- Modern UI Design β Aesthetic and responsive design powered by ShadCN/UI & Magic UI
- Optimized Performance β Built with Next.js 14 for blazing-fast performance and SEO optimization
- Dynamic Blog System β Supports .mdx files for seamless content management with syntax highlighting
- Theme System β Integrated dark/light mode with ShadCN's theme toggle
- Social Integration β GitHub, LinkedIn, Twitter, and Instagram embedded with smooth animations
- Fast & Secure Deployment β Hosted on Vercel with optimized configurations and CDN
- Custom Animations β Smooth UI/UX using Magic UI animations and Framer Motion
- Reusable Components β Well-structured component library for scalability and maintainability
- TypeScript Support β Full TypeScript integration for type safety and better development experience
- Responsive Design β Mobile-first approach with seamless experience across all devices
- SEO Optimized β Meta tags, structured data, and performance optimizations
- Progressive Web App β Service worker integration for offline functionality
- Analytics Ready β Google Analytics and performance monitoring integration
- Accessibility β WCAG 2.1 AA compliant with proper ARIA labels and keyboard navigation
graph TD;
A[Root Directory] --> B[content]
A --> C[public]
A --> D[src]
A --> E[Configuration Files]
B --> B1[blog posts]
B --> B2[projects]
C --> C1[images]
C --> C2[icons]
C --> C3[favicon]
C --> C4[preview.gif]
D --> D1[app]
D --> D2[components]
D --> D3[data]
D --> D4[lib]
D --> D5[types]
D --> D6[hooks]
D1 --> D1a[globals.css]
D1 --> D1b[layout.tsx]
D1 --> D1c[page.tsx]
D1 --> D1d[blog/page.tsx]
D1 --> D1e[blog/slug/page.tsx]
D1 --> D1f[projects/page.tsx]
D1 --> D1g[about/page.tsx]
D2 --> D2a[ContactSection.tsx]
D2 --> D2b[Sharebutton.tsx]
D2 --> D2c[Navbar.tsx]
D2 --> D2d[ThemeProvider.tsx]
D2 --> D2e[ProjectCard.tsx]
D2 --> D2f[Footer.tsx]
D2 --> D2g[Hero.tsx]
D2 --> D2h[MagicUI]
D2h --> D2h1[BlurFade.tsx]
D2h --> D2h2[Dock.tsx]
D2h --> D2h3[AnimatedText.tsx]
D2 --> D2i[UI Components]
D2i --> D2i1[Avatar.tsx]
D2i --> D2i2[Badge.tsx]
D2i --> D2i3[Button.tsx]
D2i --> D2i4[Card.tsx]
D2i --> D2i5[Dialog.tsx]
D3 --> D3a[blog.ts]
D3 --> D3b[resume.tsx]
D3 --> D3c[projects.ts]
D3 --> D3d[skills.ts]
D4 --> D4a[utils.ts]
D4 --> D4b[mdx.ts]
D4 --> D4c[analytics.ts]
E --> E1[next.config.mjs]
E --> E2[tailwind.config.ts]
E --> E3[tsconfig.json]
E --> E4[package.json]
E --> E5[.env.example]
content/
β Stores .mdx blog posts and project documentationpublic/
β Static assets including images, videos, and previewsrc/app/
β Main application logic, routing, and page componentssrc/components/
β Modular UI components organized by functionalitysrc/data/
β Data files for blog, resume and projectssrc/lib/
β Utility functions and helper modules
tailwind.config.ts
β Tailwind CSS configuration with custom themenext.config.mjs
β Next.js configuration with optimizationstsconfig.json
β TypeScript configurationpackage.json
β Project dependencies and scripts
- Node.js (v18 or higher)
- PNPM (recommended) or npm
- Git
1οΈβ£ Clone the Repository
git clone https://github.com/rajtilak-2020/K-Rajtilak_s-Portfolio-V4.git
cd K-Rajtilak_s-Portfolio-V4
2οΈβ£ Install Dependencies
pnpm install
# or
npm install
3οΈβ£ Environment Setup
cp .env.example .env.local
# Edit .env.local with your configuration
4οΈβ£ Run the Development Server
pnpm dev
# or
npm run dev
5οΈβ£ Open in Browser
πΉ Navigate to localhost:3000 in your browser
Script | Description |
---|---|
pnpm dev |
Start development server |
pnpm build |
Build for production |
pnpm start |
Start production server |
pnpm lint |
Run ESLint |
pnpm type-check |
Run TypeScript type checking |
- Connect your GitHub repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy automatically on every push to main branch
# Build the project
pnpm build
# Start production server
pnpm start
Create a .env.local
file with the following variables:
NEXT_PUBLIC_SITE_URL=https://your-domain.com
NEXT_PUBLIC_ANALYTICS_ID=your-analytics-id
Dark Mode | Light Mode |
---|---|
![]() |
![]() |
- Create a new
.mdx
file in thecontent/
directory - Add frontmatter with metadata
- Write your content using MDX syntax
- Update
src/data/project-cards.tsx
with project information - Add project images to
/public
- Optionally create detailed project pages
- Modify
tailwind.config.ts
for custom theme colors - Update component styles in respective component files
- Add custom CSS in
src/app/globals.css
- Update site metadata in
src/app/layout.tsx
- Modify navigation in
src/components/navbar.tsx
# Run unit tests
pnpm test
# Run e2e tests
pnpm test:e2e
# Run tests with coverage
pnpm test:coverage
# Lighthouse audit
pnpm lighthouse
# Bundle analyzer
pnpm analyze
- Code Splitting β Automatic code splitting with Next.js
- Image Optimization β Next.js Image component with WebP support
- Bundle Size β Optimized bundle size with tree shaking
- Caching β Strategic caching with Vercel Edge Network
- Core Web Vitals β Optimized for Google's Core Web Vitals
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Run tests and linting
- Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow TypeScript best practices
- Use Prettier for code formatting
- Follow component naming conventions
- Write meaningful commit messages
Build Errors
# Clear cache and reinstall dependencies
rm -rf .next node_modules
pnpm install
TypeScript Errors
# Run type checking
pnpm type-check
Styling Issues
# Rebuild Tailwind CSS
pnpm build:css
- Google Analytics β Traffic and user behavior tracking
- Vercel Analytics β Performance monitoring
- Core Web Vitals β Real user monitoring
- Error Tracking β Sentry integration for error monitoring
- Content Security Policy β Implemented for XSS protection
- HTTPS β SSL/TLS encryption via Vercel
- Environment Variables β Secure configuration management
- Dependencies β Regular security audits with npm audit
This project is licensed under the MIT License β feel free to use and modify.
See the LICENSE file for details.
- Special thanks to Dillion Verma for his base template!
- Icons by Lucide
- Animations by Magic UI
- UI Components by ShadCN/UI
π© Email: rajtilak1062020@gmail.com
π GitHub: rajtilak-2020
π LinkedIn: krajtilak2020
π Website: krajtilak.vercel.app
If you found this project helpful, please consider:
- β Starring the repository
- π Reporting bugs
- π‘ Suggesting new features
- π Sharing with others
Made with β€οΈ by K Rajtilak
Β© 2025 K Rajtilak. All rights reserved.