Skip to content

Benjaminofili/benjamin-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

29 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ป Benjamin Dev - Developer Portfolio

A modern, interactive Next.js portfolio website showcasing projects, skills, and experience. Built with TypeScript, Tailwind CSS, and Radix UI with 3D graphics and smooth animations.

๐ŸŒ Live Site: benjamin-dev-omega.vercel.app


โœจ Features

  • โšก Next.js 16 โ€“ Latest React framework with server components
  • ๐ŸŽจ Beautiful UI โ€“ Radix UI components with Tailwind CSS
  • ๐ŸŽญ Dark/Light Mode โ€“ Theme switching with next-themes
  • โœจ Smooth Animations โ€“ Framer Motion for fluid interactions
  • ๐ŸŽฎ 3D Graphics โ€“ Three.js and React Three Fiber for interactive 3D elements
  • ๐Ÿ“ฑ Responsive Design โ€“ Mobile-first, fully responsive layout
  • ๐Ÿ”ง Form Validation โ€“ React Hook Form with Zod validation
  • ๐Ÿ“Š Data Visualization โ€“ Recharts for analytics and charts
  • โ™ฟ Accessibility โ€“ Accessible components with Radix UI
  • ๐Ÿ” Analytics โ€“ Vercel Analytics integration
  • โš™๏ธ TypeScript โ€“ Full type safety throughout the project
  • ๐Ÿ“ˆ Error Boundaries โ€“ React Error Boundary for robust error handling

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Framework: Next.js 16 (React 19)
  • Language: TypeScript 5
  • Styling: Tailwind CSS 4, PostCSS
  • UI Components: Radix UI (20+ components)
  • State & Forms: React Hook Form, Zod validation
  • Animations: Framer Motion
  • 3D Graphics: Three.js, React Three Fiber, Drei
  • Data Viz: Recharts
  • Icons: Lucide React
  • Theme: next-themes (dark/light mode)
  • Toast/Notifications: Sonner

Build & Deployment

  • Package Manager: pnpm
  • Deployment: Vercel
  • Analytics: Vercel Analytics
  • Linting: ESLint
  • Build Tool: Next.js built-in

๐Ÿ“‹ Prerequisites

  • Node.js 18+ or 22+
  • pnpm (or npm/yarn)
  • Modern browser with WebGL support (for 3D features)

๐Ÿš€ Getting Started

1. Clone the Repository

git clone https://github.com/Benjaminofili/benjamin-dev.git
cd benjamin-dev

2. Install Dependencies

pnpm install

3. Run Development Server

pnpm dev

The site will be available at http://localhost:3000

4. Build for Production

pnpm build
pnpm start

5. Lint Code

pnpm lint

๐Ÿ“ Project Structure

โ”œโ”€โ”€ app/                     # Next.js app directory
โ”‚   โ”œโ”€โ”€ layout.tsx          # Root layout with theme provider
โ”‚   โ”œโ”€โ”€ page.tsx            # Home page
โ”‚   โ””โ”€โ”€ ...                 # Other pages
โ”œโ”€โ”€ components/             # Reusable React components
โ”‚   โ”œโ”€โ”€ ui/                # Radix UI component wrappers
โ”‚   โ”œโ”€โ”€ sections/          # Page sections (hero, projects, etc.)
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ hooks/                  # Custom React hooks
โ”œโ”€โ”€ lib/                    # Utility functions
โ”œโ”€โ”€ styles/                 # Global styles and CSS
โ”œโ”€โ”€ public/                 # Static assets (images, fonts, etc.)
โ”œโ”€โ”€ next.config.mjs        # Next.js configuration
โ”œโ”€โ”€ tailwind.config.ts     # Tailwind CSS configuration
โ”œโ”€โ”€ tsconfig.json          # TypeScript configuration
โ””โ”€โ”€ package.json           # Project dependencies

๐ŸŽจ Customization

Change Theme Colors

Edit tailwind.config.ts to customize the color scheme.

Add New Pages

Create new files in the app/ directory following Next.js conventions.

Modify Components

All Radix UI components are wrapped in components/ui/ for easy customization.

Update Content

Modify component content in components/sections/ to showcase your projects and skills.


๐ŸŽฌ Features in Detail

Dark Mode Support

  • Automatic theme detection based on system preferences
  • Manual toggle with persistent storage
  • Smooth transitions between themes

Responsive Layouts

  • Mobile-first design approach
  • Flexible grid and flex layouts
  • Touch-friendly interactive elements

Form Handling

  • React Hook Form for performance
  • Zod schema validation
  • Real-time validation feedback
  • Accessible form controls

3D Visualization

  • Three.js for 3D graphics
  • React Three Fiber for React integration
  • Interactive 3D models and animations
  • Leva for real-time parameter control

Animations

  • Framer Motion for smooth page transitions
  • Gesture recognition (drag, swipe, hover)
  • Spring physics animations
  • Stagger and sequence effects

๐Ÿš€ Deployment

Deploy to Vercel

# Simply push to GitHub and connect with Vercel
# Automatic deployments on every push to main

Environment Variables

Create a .env.local file if needed:

# Add any environment variables here
NEXT_PUBLIC_ANALYTICS_ID=your_vercel_analytics_id

๐Ÿ“Š Performance

โœ… Fast Load Times โ€“ Next.js optimizations & code splitting
โœ… Optimized Images โ€“ Next.js Image component
โœ… CSS-in-JS โ€“ Tailwind CSS with purging
โœ… Bundle Analysis โ€“ Monitor bundle size
โœ… Web Vitals โ€“ Core Web Vitals optimized


โ™ฟ Accessibility

  • Semantic HTML structure
  • ARIA labels and attributes
  • Keyboard navigation support
  • Color contrast compliance
  • Screen reader friendly

๐Ÿงช Code Quality

  • TypeScript for type safety
  • ESLint for code linting
  • Tailwind CSS for consistent styling
  • Error Boundaries for error handling

๐Ÿค Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is currently unlicensed. Add a LICENSE file if you plan to share it publicly.


๐Ÿ’ฌ Support & Contact

For questions or feedback:


๐ŸŒŸ Key Dependencies

Package Purpose
Next.js 16 React framework
React 19 UI library
TypeScript Type safety
Tailwind CSS 4 Utility-first CSS
Radix UI Accessible components
Framer Motion Animations
Three.js 3D graphics
React Hook Form Form management
Zod Schema validation
Recharts Data visualization

๐Ÿš€ Future Enhancements

  • Blog section with MDX support
  • Dark mode image optimization
  • PWA capabilities
  • SEO optimization
  • Performance monitoring dashboard
  • Contact form with email integration

๐Ÿ“ˆ Lighthouse Scores

Target metrics:

  • Performance: 90+
  • Accessibility: 95+
  • Best Practices: 95+
  • SEO: 100

Made with โค๏ธ by Benjamin

About

Modern developer portfolio built with Next.js 16, React 19 & TypeScript. Features Radix UI, Tailwind CSS, Framer Motion animations, Three.js 3D graphics, and dark mode support. Live at benjamin-dev-omega.vercel.app

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages