A high-performance, developer-focused portfolio and blog built with the bleeding edge of the React ecosystem.
Report Bug
·
Request Feature
This project is a modern, production-ready portfolio and blog engine designed to showcase technical skills and content with exceptional performance. It leverages the latest features of Next.js 16 (App Router, Server Actions) and React 19 to deliver a seamless user experience.
Key features include:
- Dynamic MDX Blog Engine: Write content in Markdown/MDX with fully custom components and syntax highlighting.
- High Performance: Optimized with
next/image, zero-CLS layout shift protections, and efficient scroll handling. - SEO Optimized: Dynamic metadata, OpenGraph images, sitemap generation, and JSON-LD structured data.
- Beautiful UI/UX: Dark mode support, glassmorphism effects, and smooth framer-motion-like animations using Tailwind.
- Robust Engineering: Strict TypeScript, ESLint configuration, and CI/CD pipelines ensuring code quality.
| Blog Section | Projects Grid |
|---|---|
![]() |
![]() |
- Framework: Next.js 16 (App Router)
- Library: React 19
- Language: TypeScript
- Styling: Tailwind CSS & Lucide Icons
- Content: MDX with next-mdx-remote
- Animation: CSS Animations & custom hooks
- CI/CD: GitHub Actions
To run this project locally, follow these simple steps.
- Node.js 18+
- pnpm (recommended) or npm/yarn
- Clone the repo
git clone https://github.com/Abdssamie/nextjs-portfolio-blog.git
- Install packages
pnpm install
- Start the development server
pnpm dev
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Abdessamie
- Email: abdessamie.elmoubarki@gmail.com
- GitHub: @Abdssamie
- LinkedIn: Profile
Code built with ❤️ using Next.js & TypeScript.


