A modern, minimalist developer portfolio website built with Next.js, featuring an AI-powered chatbot assistant, dark mode support, and a blog system. The site is designed to be clean, functional, and user-friendly while effectively showcasing projects and skills.
- AI-Powered Chatbot: Interactive assistant trained on portfolio content using LangChain and OpenAI
- Minimalist UI: Clean design built with Shadcn UI components
- Dark/Light Mode: Theme toggle for comfortable viewing in any environment
- Blog System: MDX-based blog with syntax highlighting and markdown support
- Projects Showcase: Clean grid layout for featuring development projects
- Contact Form: Integrated email contact system
- Mobile Responsive: Fully responsive design across all devices
- Professional Timeline: Career and education history visualization
- Framework: Next.js with TypeScript
- Styling: Tailwind CSS with Shadcn UI
- AI Integration:
- LangChain for chat functionality
- OpenAI API for natural language processing
- AstraDB for vector storage
- Upstash Redis for caching
- Content: MDX for blog posts
- Analytics: Vercel Analytics and Speed Insights
- Deployment: Vercel
- Node.js (LTS version)
- PNPM package manager
- OpenAI API key
- Upstash Redis instance
- AstraDB instance
-
Clone the repository:
git clone <your-repo-url> cd kevan.ar
-
Install dependencies:
pnpm install
-
Set up environment variables: Create a
.envfile with:OPENAI_API_KEY=your_openai_api_key UPSTASH_REDIS_REST_URL=your_upstash_url UPSTASH_REDIS_REST_TOKEN=your_upstash_token ASTRA_DB_ID=your_astra_db_id ASTRA_DB_REGION=your_astra_region ASTRA_DB_APPLICATION_TOKEN=your_astra_token
-
Generate embeddings and build:
pnpm run build
-
Start development server:
pnpm run dev
/src/app- Next.js app router pages and API routes/src/components- Reusable React components/src/lib- Utility functions and shared code/content- MDX blog posts and content/public- Static assets/scripts- Build and generation scripts
Contributions, issues, and feature requests are welcome! Feel free to check issues page.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Visit my portfolio's Contact page
- Connect through my social links on the portfolio
