A cutting-edge, high-performance portfolio website built with modern web technologies. This project showcases 4+ years of expertise in React, Next.js, TypeScript, and AI/ML technologies.
- π Live Demo: sinahatami.vercel.app
- π» GitHub Repository: github.com/sinahatami/portfolio
β Dark/Light Theme : Fully customizable theme system with persistent user preferences.
β Interactive 3D Elements : Tech sphere visualization and project showcases using
Three.js.
β Smooth Animations : Framer Motion-powered transitions and micro-interactions.
β Responsive Design : Flawless experience across all device sizes (mobile, tablet,
desktop).
β Custom Cursor : Interactive cursor with hover effects (optimized for desktop).
β Next.js 14 App Router : Utilizing the latest React Server Components (RSC) architecture.
β Image Optimization : Automatic compression, lazy loading, and WebP support.
β Code Splitting : Dynamic imports implemented for heavy 3D and interactive components.
β PWA Support : Fully installable as a Progressive Web App.
β Core Web Vitals : Real-time monitoring for optimal LCP, FID, and CLS scores.
β TypeScript First : End-to-end type safety across the entire application.
β 3D Integration : WebGL-based tech visualization with graceful fallbacks for older
devices.
β Real-time Data : GitHub API integration for live activity and repository tracking.
β Contact Form : Server-side validation with Resend email integration.
β SEO & Accessibility : WCAG 2.1 AA compliant and optimized for search engine crawlers.
Category Technologies
Core Framework Next.js 14 (App Router), React 18,
TypeScript 5
Styling & UI Tailwind CSS, Shadcn/ui, Framer Motion,
Lucide React
3D & Graphics Three.js, @react-three/fiber,
@react-three/drei, WebGL
Backend & APIs Resend (Email), GitHub REST API, Next.js
Server Actions
Monitoring Vercel Analytics, Speed Insights,
Performance Observer API
Dev Tools ESLint, Prettier, Husky, Commitlint
src/ βββ app/ # Next.js 14 App Router (Pages & API) βββ components/ β βββ 3d/ # Three.js / WebGL Components β βββ sections/ # Page Sections (Hero, Skills, Projects, etc.) β βββ layout/ # Navigation, Footer, Scroll components β βββ features/ # Cursor, Command Menu, Voice features β βββ ui/ # Base UI Components (Buttons, Cards, Badges) β βββ pwa/ # PWA Registry & Offline indicators βββ contexts/ # Global State (Skills, Theme) βββ hooks/ # Custom React Hooks (WebGL, Performance) βββ data/ # Static Content & Resume Data βββ lib/ # Utility functions & Shared logic βββ actions/ # Next.js Server Actions (Contact form) βββ types/ # Global TypeScript Definitions βββ config/ # Feature flags & Animation configs
β Node.js 18.17 or later
β npm, yarn, or pnpm
- Clone the repository git clone https://github.com/sinahatami/portfolio.git cd portfolio
- Install dependencies npm install
- Environment Configuration Create a .env.local file in the root directory: RESEND_API_KEY=your_resend_api_key_here GITHUB_TOKEN=your_github_personal_access_token_here NEXT_PUBLIC_GA_ID=your_google_analytics_id
- Run Development Server npm run dev Open http://localhost:3000 to view the result.
β npm run dev: Start development server with Turbopack.
β npm run build: Build the application for production.
β npm run start: Start production server.
β npm run lint: Run ESLint to find code issues.
β npm run format: Format code with Prettier.
β npm run type-check: Validate TypeScript types.
β npm run analyze: Analyze bundle sizes for optimization.
The easiest way to deploy this portfolio is using the Vercel Platform.
- Push your code to a GitHub repository.
- Import the project into Vercel.
- Add your environment variables in the Vercel Dashboard.
- Deploy!
npm run build npm run start
This portfolio achieves 100/100 Lighthouse scores through: β Caching : Static Site Generation (SSG) with Incremental Static Regeneration (ISR). β Bundle Optimization : Tree-shaking and aggressive code splitting. β Asset Strategy : Next/Image for WebP delivery and optimized font loading. β Monitoring : Integration with Vercel Speed Insights.
Contributions are welcome!
- Fork the Project.
- Create your Feature Branch (git checkout -b feature/AmazingFeature).
- Commit your Changes (git commit -m 'Add AmazingFeature').
- Push to the Branch (git push origin feature/AmazingFeature).
- Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Sina Hatami - Software Engineer | Data Scientist
- π§ Email: hatamisinaa@gmail.com
- π Website: sinahatami.vercel.app
- πΌ LinkedIn: linkedin.com/in/sina-hatami
- π GitHub: github.com/sinahatami
- π Location: Genoa, Italy
