Skip to content

yahyafakhroji/cv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Yahya Fakhroji - CV/Portfolio

Next.js TypeScript Bun React Cloudflare License

A modern, high-performance CV/Portfolio website with a retro 80s synthwave aesthetic. Built with Next.js 16 and deployed on Cloudflare Workers for global edge performance.

Live Site: https://hiyahya.dev

✨ Features

Design & UX

  • Retro 80s Synthwave Theme - Neon colors, gradient effects, and nostalgic vibes
  • Smooth Animations - Motion (Framer Motion v12) powered interactions
  • Native Smooth Scrolling - CSS-based smooth scroll (no JavaScript required)
  • Parallax Effects - Sunset sun with scroll-based animations
  • Responsive Design - Mobile-first, works perfectly on all devices
  • Dark Mode - Synthwave dark theme with neon accents

Performance

  • Edge Deployment - Cloudflare Workers with global CDN
  • Static Generation - Pre-rendered pages for instant loads
  • Image Optimization - Next.js Image component with Cloudflare Images support
  • Lightweight - Minimal dependencies, maximum performance

Developer Experience

  • Single Config File - Update everything in src/data/resume-data.tsx
  • TypeScript - Full type safety throughout
  • Git Hooks - Automated code quality checks with Lefthook
  • Auto Deploy - Push to main branch triggers automatic deployment
  • Hot Reload - Fast local development with Next.js Turbopack

πŸš€ Tech Stack

Core

Styling

  • Tailwind CSS 3.4 - Utility-first CSS
  • Radix UI - Headless UI components
  • Custom Synthwave Theme - Neon colors, gradients, and animations

Animation & Interactions

  • Motion (Framer Motion v12) - Declarative animations
  • Native CSS - Smooth scrolling and transitions
  • Scroll-based animations - Parallax effects with Motion hooks

Deployment

Icons & UI

Developer Tools

πŸ“¦ Installation

# Clone the repository
git clone https://github.com/yahyafakhroji/cv.git
cd cv

# Install dependencies
bun install

πŸ› οΈ Development

# Start development server
bun dev

# Open http://localhost:3000

Git Hooks

This project uses Lefthook for automated code quality checks. Hooks are automatically installed on bun install.

Pre-commit checks:

  • ESLint with auto-fix
  • TypeScript type checking
  • No console.log in source files

Pre-push checks:

  • Full build validation

Commit message validation:

See docs/LEFTHOOK.md for detailed documentation.

πŸ—οΈ Build & Deploy

Local Build

# Build for production
npm run pages:build

# Preview locally
bun run pages:dev

Deploy to Cloudflare Workers

# Deploy to production
bun run pages:deploy

Auto Deploy

Push to main branch to automatically trigger deployment via Cloudflare Workers integration with GitHub.

βš™οΈ Configuration

Update Your Information

Edit src/data/resume-data.tsx to customize:

  • Personal information
  • Work experience
  • Projects
  • Skills
  • Education
  • Contact details

Custom Domain

Update wrangler.toml to add your custom domain:

[[routes]]
pattern = "yourdomain.com"
custom_domain = true

Theme Customization

Modify colors and styles in:

πŸ“ Project Structure

cv/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                    # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ layout.tsx         # Root layout
β”‚   β”‚   β”œβ”€β”€ page.tsx           # Home page
β”‚   β”‚   └── globals.css        # Global styles & theme
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ sections/          # Page sections
β”‚   β”‚   β”‚   β”œβ”€β”€ hero.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ about.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ experience.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ projects.tsx
β”‚   β”‚   β”‚   └── skills.tsx
β”‚   β”‚   β”œβ”€β”€ ui/                # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ animations/        # Animation components
β”‚   β”‚   └── providers/         # React context providers
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   └── resume-data.tsx    # πŸ“ Edit this file!
β”‚   β”œβ”€β”€ hooks/                 # Custom React hooks
β”‚   └── lib/                   # Utility functions
β”œβ”€β”€ open-next.config.ts        # OpenNext configuration
β”œβ”€β”€ wrangler.toml              # Cloudflare Workers config
└── package.json               # Dependencies & scripts

🎨 Sections

The portfolio includes these sections:

  • Hero - Introduction with animated text
  • About - Personal summary
  • Experience - Work history timeline
  • Projects - Portfolio showcase
  • Skills - Technical skills grid
  • Contact - Get in touch section
  • Footer - Social links

πŸ”§ Scripts

# Development
bun dev                  # Start dev server
bun run build            # Build Next.js app

# Cloudflare Deployment
bun run pages:build      # Build with OpenNext
bun run pages:dev        # Preview locally
bun run pages:deploy     # Deploy to Cloudflare

# Code Quality
bun run lint             # Run ESLint

πŸ“ License

MIT

πŸ™ Credits

πŸ“§ Contact

Yahya Fakhroji


Built with ❀️ using Next.js and Claude Code

About

Modern CV/Portfolio with 80s synthwave aesthetic built with Next.js 16 and deployed on Cloudflare Workers

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors