A modern, responsive portfolio website built with Next.js 15, TypeScript, and Tailwind CSS. Features smooth animations, dark/light theme toggle, and optimized performance.
- Modern Tech Stack: Next.js 15, React 19, TypeScript
- Responsive Design: Mobile-first approach with Tailwind CSS
- Smooth Animations: Framer Motion for fluid interactions
- Theme Support: Dark/light mode with system preference detection
- Performance Optimized: Code splitting, lazy loading, service worker
- SEO Optimized: Comprehensive meta tags, structured data, sitemap
- Accessibility: ARIA labels, keyboard navigation, screen reader support
- PWA Ready: Service worker for offline functionality
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Icons: Lucide React
- Smooth Scrolling: Lenis
- Analytics: Vercel Analytics
- SEO: Next SEO
-
Clone the repository
git clone https://github.com/mustafalanewala/portfolio.git cd portfolio -
Install dependencies
npm install
-
Run development server
npm run dev
-
Build for production
npm run build npm start
npm run dev- Start development server with Turbopacknpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run format- Format code with Prettier
portfolio/
├── public/ # Static assets
│ ├── favicon.* # Favicons
│ ├── manifest.json # PWA manifest
│ ├── robots.txt # SEO robots
│ └── sw.js # Service worker
├── src/
│ ├── app/ # Next.js app directory
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Home page
│ ├── components/ # React components
│ │ ├── ui/ # Reusable UI components
│ │ └── *.tsx # Page sections
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions
│ └── types/ # TypeScript interfaces
├── next.config.mjs # Next.js configuration
├── tailwind.config.ts # Tailwind configuration
└── tsconfig.json # TypeScript configuration
Edit src/app/globals.css to customize the color scheme and design tokens.
Update personal information in the respective components:
src/components/Hero.tsx- Name, title, social linkssrc/components/About.tsx- Bio and personal detailssrc/components/Experience.tsx- Work experiencesrc/components/Skills.tsx- Technical skillssrc/components/Contact.tsx- Contact information
Update site metadata in src/app/layout.tsx:
- Title, description, keywords
- Open Graph and Twitter meta tags
- Structured data (JSON-LD)
- Push to GitHub
- Connect repository to Vercel
- Deploy automatically
The app can be deployed to any platform supporting Next.js:
- Netlify
- Railway
- DigitalOcean App Platform
- Core Web Vitals: Optimized for speed and user experience
- SEO: Comprehensive meta tags, sitemap, robots.txt
- Performance: Code splitting, lazy loading, optimized images
- Accessibility: WCAG compliant with proper ARIA labels
- Installable on mobile devices
- Offline functionality via service worker
- Native app-like experience
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is private and proprietary.
Mustafa Lanewala
- Email: contact@mustafalanewala.dev
- LinkedIn: mustafalanewala
- GitHub: mustafalanewala
- Website: mustafalanewala.dev
Built with ❤️ by Mustafa Lanewala