A modern, blazing-fast portfolio website built with cutting-edge web technologies. Features include SEO optimization, full responsiveness, and a powerful MDX blog system.
- ⚡️ Performance: Built with Next.js 15 for optimal speed and SEO
- 🎨 Design: Modern UI with Tailwind CSS v4 and ShadCN UI components
- 📝 Blog: MDX-powered blog system using Fumadocs & Content Collection
- 🔄 State Management: Efficient state handling with Zustand and TanStack Query v5
- 📧 Contact: Integrated email functionality via Resend
Visit hire-tim.com to see the portfolio in action!
- Framework: Next.js 15
- Language: TypeScript 5
- Styling: Tailwind CSS v4, ShadCN UI
- State Management: Zustand, TanStack Query v5
- Content: MDX, Fumadocs, Content Collection
- Email: Resend
- Node.js 18.0 or later
- npm, yarn, or pnpm package manager
-
Clone the repository
git clone https://github.com/yourusername/portfolio-template.git cd portfolio-template
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Start the development server
npm run dev # or yarn dev # or pnpm dev
Visit http://localhost:3000
to see your portfolio in action!
The project uses several configuration files:
next.config.mjs
- Next.js configurationtailwind.config.ts
- Tailwind CSS configurationtsconfig.json
- TypeScript configurationcontentlayer.config.ts
- Content management configuration
Create a .env.local
file in the root directory with the following variables:
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_WEB_URL=your_production_domain_name
GITHUB_TOKEN=your_github_token
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_key
RESEND_API_KEY=your_resend_api_key
This project is licensed under the MIT License - see the LICENSE file for details.
For questions, feedback, or collaboration:
- 📧 Email: timtb.dev@gmail.com
- 🐦 X (Twitter): @timtbdev
Made with ❤️ by Tim