# Project Context: Dan Mollel Portfolio ## Overview Personal portfolio website for Dan Mollel, built with modern web technologies focusing on performance, 3D interactivity, and a premium design aesthetic. ## Tech Stack - **Framework:** Next.js 16 (App Router) - **Language:** TypeScript - **UI Library:** React 19 - **Styling:** Tailwind CSS 4 - **Components:** Shadcn UI (Radix Primitives) - **Icons:** Lucide React, React Icons - **Animations:** Framer Motion, Motion - **3D Graphics:** Three.js, React Three Fiber, Drei, Rapier - **Package Manager:** pnpm ## Key Directories - `src/app`: App Router pages and layouts - `src/components`: Reusable UI components - `src/components/ui`: Shadcn UI primitive components - `src/lib`: Utility functions and shared logic - `src/hooks`: Custom React hooks - `public`: Static assets ## Coding Conventions - **React Server Components (RSC):** Default to Server Components. Use `"use client"` only when necessary (state, effects, interactivity). - **Styling:** Use Tailwind CSS utility classes. Avoid inline styles. - **TypeScript:** Strict type checking. Avoid `any`. - **File Naming:** Kebab-case for files (e.g., `my-component.tsx`), PascalCase for component exports. - **Imports:** Use absolute imports with `@/` alias. ## Configuration - `components.json`: Configured for Shadcn UI with RSC support (`"rsc": true`). - `tailwind.config.ts`: Tailwind configuration (v4 uses CSS-first config, but legacy config might exist).