My personal portfolio built with Next.js 15 & contentlayer.
- Next.js for bootstrapping the project.
- Contentlayer for content management.
- Tailwindcss for styling.
- Shiki for syntax highlighting.
- Lucide React for icons.
- Shadcn/ui for components.
- Enhanced version of shadcn-button component for better shadcn buttons.
- Origin UI for extended shadcn components.
- Deployment for deployment.
git clone https://github.com/ahmedsomaa/portfolio
cd portfolio
bun install
bun run content:build && bun run devI use 4 font variables. Change them to your own styles in app/layer.tsx.
font-logofor the website's logo.font-displayfor the landing page headline.font-sansfor the website's body.font-monofor code blocks.
Replace my content under the /content directory with yours. This includes:
- Navigation items.
- Social links.
- Projects.
- Education & Experience.
I use contentlayer alongside mdx. Delete the files under /posts, and add your own.
I made a custom code block component /components/code-block.tsx using shiki. Change your
light & dark themes there.