A modern, responsive portfolio website built with Next.js 15, TypeScript and Tailwind CSS. Features a clean and minimal design with dark/light mode support and dynamic content management through MDX. Deployed on Vercel.
- 🌓 Dark/Light mode support
- 📱 Fully responsive design
- 📝 MDX-based blog posts and projects
- 🔍 Search functionality for posts
- 📬 Contact form with email integration
- 🎨 Clean, minimal UI with Tailwind CSS
- ⚡ Fast page loads with Next.js App Router
- Framework: Next.js 15
- Language: TypeScript
- Styling: Tailwind CSS
- Content: MDX with gray-matter
- Email: Resend
- UI Components: Radix UI, Shadcn UI
- Form Handling: React Hook Form + Zod
- Notifications: Sonner
- Clone the repository
- Install dependencies:
pnpm install
- Create a
.env
file with required environment variables for managing emails and newsletter:
RESEND_API_KEY=your_resend_api_key
RESEND_AUDIENCE_ID=your_resend_audience_id
- Run the development server:
pnpm dev
- Open http://localhost:3000 in your browser
/src/app/*
- App router pages and layouts/src/components/*
- React components/src/content/*
- MDX content (posts and projects)/src/lib/*
- Utility functions and type definitions/src/emails/*
- Email templates/public/*
- Static assets
Posts and projects are managed through MDX files in the /src/content
directory. Each content piece includes frontmatter for metadata:
---
author: Your Name
title: Post Title
date: YYYY-MM-DD
image: /images/posts/image.jpg
source: http://blabla
summary: Brief description
---
MIT License