Personal portfolio website for Arafat Kamal, built with React, TypeScript, Vite, and Tailwind CSS.
- Liquid Glass inspired UI design system
- Dark and light theme support with persistence
- Route-based pages for Home, Projects, About, and Resume
- Project showcase and interactive portfolio sections
- Performance-focused setup with lazy loading and memoization patterns
- React 19
- TypeScript (strict mode)
- Vite
- Tailwind CSS
- Zustand (state management)
- React Router DOM
- Jest + React Testing Library
- Node.js 18+ (recommended)
- npm 9+ (recommended)
npm installnpm run devnpm run buildnpm run testsrc/
components/
About/
Home/
Projects/
Resume/
stores/
hooks/
styles/
Assets/
/→ Home/project→ Projects/about→ About/resume→ Resume
- Theme and UI state are managed with Zustand stores in
src/stores/ - Theme preference is persisted via localStorage
npm run dev- start development servernpm run build- build production bundlenpm run test- run test suite
- Asset mocks for tests are located in
__mocks__/ - Main app entry is
src/index.tsx