A modern portfolio website built with Next.js and TypeScript, featuring an interactive "AI Twin" assistant powered by Mistral AI.
- Live site: pierrelapolla.com
- AI assistant:
- A custom assistant that answers questions based on Pierre's profile.
- Streaming responses powered by the Vercel AI SDK.
- Sections:
- Hero
- Certifications
- Projects
- Experience
- Skills
- AI Assistant
- Contact
- Localization:
- Language toggle between English and French
- Styling:
- shadcn/ui components
- Tailwind CSS
- Light/dark mode toggle
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- AI provider: Mistral AI via Vercel AI SDK
- Hosting: Vercel
- Styling: Tailwind CSS + shadcn/ui
- Package manager/runtime: Bun
Ensure you have the following installed on your local machine:
-
Clone the repository:
git clone https://github.com/PierreLapolla/portfolio cd portfolio -
Install dependencies:
bun install
-
Environment variables: Create a
.env.localfile in the root directory and add your API keys (e.g., Mistral AI API Key):MISTRAL_API_KEY=your_api_key_here
-
Data configuration: The AI is driven by text files located in the
data/folder:data/pierre_profile.txt: Contains the knowledge base/bio for the AI.data/system_prompt.txt: Contains the instructions for the AI's behavior.
Development server: To start the application in development mode with hot-reloading:
bun run devOR
Production build: To start the application:
bun run build && bun run startThen open http://localhost:3000 with your browser to see the result.
This project is licensed under the MIT License - see the LICENSE file for details.