A blazing-fast, SEO-optimized personal portfolio built with Next.js 15
Built with performance in mind β’ Optimized for Google PageSpeed β’ Production-ready
Live Demo β’ Features β’ Performance β’ Getting Started β’ Changelog
A production-ready, high-performance portfolio template featuring:
- β‘ 90% image size reduction through WebP optimization (8.4MB β 793KB)
- π Sub-3s LCP (Largest Contentful Paint)
- π¨ Modern animations with Framer Motion & GSAP
- π§ Integrated contact form with email notifications
- π Complete SEO setup with structured data
- π± Fully responsive design for all devices
- π― 56+ technology icons with primary color overlay
- π Cloudflare Turnstile security integration
- β¨ NEW: Engagement Layer - Smart contact form & live GitHub integration (Demo)
- β‘ Next.js 15 with App Router and React Server Components
- π¨ Tailwind CSS 4 with custom design system
- π§© ShadCN UI components for consistent design
- π Framer Motion for smooth animations
- π§ Contact Form with Resend API integration
- π Cloudflare Pages Functions for serverless email handling
- π¦ Dynamic Imports - Lazy loading for heavy components
- πΌοΈ WebP Images - 90% size reduction (8.4MB β 793KB)
- π€ Font Optimization -
display: swapwith fallbacks - β‘ Code Splitting - Optimized bundle sizes
- π― Priority Loading - Critical resources loaded first
- π¨ CSS Filter Overlay - Primary color branding for all icons
- π Structured Data - JSON-LD for rich results
- π·οΈ Complete Meta Tags - Open Graph, Twitter Cards
- πΊοΈ Sitemap & Robots.txt - Automated generation
- π Canonical URLs - Prevent duplicate content
- π± Social Media Integration - Optimized sharing
- π Custom Color Palette - DarkNavy + Rose Red theme
- β¨ Smooth Animations - Scroll-triggered effects with Framer Motion
- π Interactive Components - Hover states and transitions
- π± Mobile-First - Responsive on all devices
- π Glass Morphism - Modern UI effects with backdrop blur
- π¨ 3D Holographic Card - Interactive profile card with tilt effects
- πͺ Curved Text Marquee - Infinite scrolling text animation
- πΌοΈ Vignette Effect - Elliptical image vignette with soft feather
- π¨ Smart Desaturation - Images desaturate to 30%, restore to 90% on hover
- π·οΈ Category-Colored Badges - Dynamic color-coded tech stack badges
- β‘ Smooth Ease-In Transitions - Professional hover animations (0.7s ease-in)
- π Theme Toggle - Animated dark/light mode button with smooth transitions
- π€ Multi-Platform Share - Share portfolio across 6+ platforms
- π Calendly Integration - Direct meeting booking with optimized UI
- π― Floating Action Buttons - Consistent spacing and animations (Share, WhatsApp, Back to Top)
| Category | Tools |
|---|---|
| Framework | Next.js 15 (App Router, RSC) |
| Styling | Tailwind CSS 4 + ShadCN UI |
| Animations | Framer Motion + GSAP |
| Icons | Lucide React + Simple Icons (56+) |
| Resend API + Nodemailer | |
| Deployment | Cloudflare Pages + GitHub Actions |
| Forms | React Hook Form + Zod |
| Security | Cloudflare Turnstile |
| Analytics | Vercel Analytics |
| Version Control | Git & GitHub |
| Type | Color | Hex | Usage |
|---|---|---|---|
| Primary | π΄ Rose Red | #e11d48 |
Buttons, links, CTAs |
| Background | π Deep Navy | #0a122c |
Main background |
| Foreground | βͺ Almost White | #f8fafc |
Text, headings |
| Muted | π΅ Blue Gray | #94a3b8 |
Secondary text |
```text π― Performance Score: 90+ β‘ LCP (Largest Contentful Paint): < 3s π¨ CLS (Cumulative Layout Shift): < 0.1 β±οΈ FID (First Input Delay): < 100ms π¦ Total Bundle Size: ~250KB (images) π§° Best Practices: 96/100 ```
- β Converted all project images to WebP format
- β Reduced total image size by 90% (8.4MB β 793KB)
- β media-server.png: 6.2MB β 534KB (91% reduction)
- β Implemented lazy loading for below-the-fold images
- β
Used
next/imagefor automatic optimization
- β Dynamic imports for heavy components
- β Lazy loading for Testimonials, Projects, Services
- β Reduced initial JavaScript bundle size by 42%
- β
display: swapto prevent font blocking - β Preloaded critical fonts
- β System font fallbacks for better CLS
- β Removed unused font weights
- β Complete structured data (JSON-LD)
- β Optimized meta tags for all platforms
- β Automatic sitemap generation
- β Robots.txt configuration
```bash git clone https://github.com/tariqsaidofficial/portfolio-onepage.git ```
```bash cd portfolio-onepage ```
```bash pnpm install ```
```bash pnpm dev ```
```bash pnpm build ```
-
Update Personal Info
- Edit
components/about.tsxfor bio and timeline - Modify
components/hero.tsxfor main heading - Update
components/contact.tsxfor contact details
- Edit
-
Change Colors ```css /* In app/globals.css / :root { --primary: #e11d48; / Your brand color / --background: #0a122c; / Your background */ } ```
-
Update Images
- Replace images in
public/folder - Use WebP format for best performance
- Update image references in components
- Replace images in
-
Modify Sections
- Add/remove sections in
app/page.tsx - Create new components in
components/ - Follow existing patterns for consistency
- Add/remove sections in
```typescript // tailwind.config.ts export default { theme: { extend: { colors: { primary: '#e11d48', background: '#0a122c', // Add your custom colors }, animation: { // Add custom animations } } } } ```
-
Get Resend API Key
- Sign up at resend.com
- Verify your domain
- Get your API key
-
Add to Cloudflare Pages
- Go to Settings β Environment Variables
- Add
RESEND_API_KEYwith your key - Redeploy the site
-
Customize Email Templates
- Edit
functions/api/send-email.js - Modify HTML templates
- Test with your email
- Edit
-
Fork the Repository ```bash
git clone https://github.com/YOUR_USERNAME/portfolio-onepage.git ```
-
Connect to Cloudflare Pages
- Go to Cloudflare Dashboard
- Pages β Create a project
- Connect your GitHub repository
- Build settings:
- Build command:
pnpm build - Output directory:
out
- Build command:
-
Set Environment Variables
RESEND_API_KEY: Your Resend API keyNODE_VERSION: 18 or higher
-
Deploy
- Push to
mainbranch - GitHub Actions will auto-deploy
- Check deployment status in Actions tab
- Push to
Current Version: 6.2.0 (2025-10-23)
- π¨ New theme toggle button with smooth animations
- π€ Multi-platform share button (6+ platforms)
- π Calendly integration for direct meeting booking
- π§ͺ Jest testing framework and ESLint setup
- π Comprehensive documentation (11 new guides)
For detailed version history and complete changelog, see CHANGELOG.md
- Production: https://portfolio-1yp.pages.dev/
- Last update: 2026-01-15T00:15:23.039Z
- Stars: 3
- Forks: 0
- Last commit:
8f104c5β chore(readme): auto-update profile block (2026-01-13T00:13:17Z)
Created and maintained by: Tariq Said
- π Portfolio: portfolio.dxbmark.com
- πΌ LinkedIn: tariqsaidofficial
- π GitHub: tariqsaidofficial
Built with:
- β‘ Next.js - React framework
- π¨ Tailwind CSS - Styling
- π§© ShadCN UI - Components
- π Framer Motion - Animations
- π§ Resend - Email API
- βοΈ Cloudflare Pages - Hosting
Special Thanks:
- π¨ v0.dev by Vercel for initial design inspiration
- π Cloudflare for excellent hosting and edge functions
- π Open source community for amazing tools
This project is licensed under the MIT License. Feel free to use, modify, and distribute it.
Β© 2025 Tariq Said β’ LinkedIn β’ GitHub
