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 dev
I use 4 font variables. Change them to your own styles in app/layer.tsx
.
font-logo
for the website's logo.font-display
for the landing page headline.font-sans
for the website's body.font-mono
for 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 cod block component /components/code-block.tsx
using shiki. Change your
light & dark themes there.