A modern, responsive portfolio website showcasing my work as a Full-Stack Developer. Built with Next.js and optimized for static hosting with no backend dependencies.
- Static Export - Deployable to any static hosting service
- Responsive Design - Optimized for all devices and screen sizes
- Dark/Light Theme - Smooth theme switching with system preference detection
- Contact Form - Integrated with EmailJS for direct messaging
- Performance Optimized - Fast loading with optimized assets
- SEO Ready - Meta tags and structured data for search engines
- Framework: Next.js 15 (Static Export)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI + shadcn/ui
- Animations: Framer Motion
- Email: EmailJS
- Icons: Lucide React
-
Clone the repository
git clone https://github.com/balshaer/alshaer.git cd alshaer -
Install dependencies
npm install
-
Set up environment variables (optional for contact form)
cp .env.example .env.local
Add your EmailJS credentials:
NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_id NEXT_PUBLIC_EMAILJS_USER_ID=your_user_id
-
Start development server
npm run dev
npm run buildThis generates a static build in the out/ directory.
Netlify
- Connect your GitHub repository
- Build command:
npm run build - Publish directory:
out
Vercel
- Import your GitHub repository
- Vercel automatically detects Next.js configuration
GitHub Pages
- Build the project:
npm run build - Deploy the
out/directory to yourgh-pagesbranch
src/
├── app/ # Next.js app directory
├── components/ # Reusable UI components
├── data/ # Static data files
│ ├── Profile.ts # Personal information
│ ├── Experiences.ts # Work experience
│ ├── Education.ts # Educational background
│ ├── Projects.ts # Portfolio projects
│ └── ...
├── hooks/ # Custom React hooks
└── styles/ # Global styles
Update your portfolio by editing the data files in src/data/:
- Profile.ts - Personal info, bio, skills
- Experiences.ts - Work experience and achievements
- Education.ts - Educational background
- Projects.ts - Portfolio projects with links and descriptions
- Email: alshaer.contact@gmail.com
- LinkedIn: linkedin.com/in/balshaer
- GitHub: github.com/balshaer
- Portfolio: alshaer.vercel.app
Built with ❤️ by Baraa Alshaer