Modern developer portfolio built with Next.js, TypeScript, and Tailwind CSS.
- Responsive Design - Adapts to all screen sizes
- Multilingual - Support for Polish and English
- Animations - Smooth animations and visual effects with Framer Motion
- Contact Form - EmailJS integration for message sending
- Modern UI - Using shadcn/ui and Radix UI components
- Dark Mode - Dark theme support
- Performance - Optimized for performance and SEO
- Framework: Next.js 15.2.4
- Language: TypeScript 5
- Styling: Tailwind CSS + CSS Modules
- UI Components: shadcn/ui, Radix UI
- Animations: Framer Motion
- Forms: React Hook Form + EmailJS
- Maps: React Leaflet
- Analytics: Vercel Analytics & Speed Insights
-
Clone the repository:
git clone https://github.com/KetusDev/old-portfolio.git cd old-portfolio -
Install dependencies:
pnpm install # or npm install # or yarn install
-
Configure environment variables:
cp .env.example .env.local
Fill in your EmailJS credentials in
.env.local:NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_id NEXT_PUBLIC_EMAILJS_USER_ID=your_user_id
-
Start the development server:
pnpm dev # or npm run dev # or yarn dev
-
Open in browser: http://localhost:3000
To make the contact form work, you need to configure EmailJS:
- Create an account at EmailJS
- Create a new email service
- Create an email template
- Add your credentials to
.env.local
- Connect your repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy will be triggered automatically
The app is compatible with:
- Netlify
- GitHub Pages (requires additional configuration)
- Railway
- Heroku
old-portfolio/
├── app/ # App Router (Next.js 13+)
├── components/ # React components
│ ├── ui/ # UI components (shadcn/ui)
│ └── *.tsx # Main components
├── hooks/ # Custom React hooks
├── lib/ # Libraries and utilities
├── public/ # Static files
│ ├── icons/ # Technology icons
│ ├── images/ # Images
│ └── projects/ # Project screenshots
└── styles/ # CSS styles
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Check code with ESLint- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Szymon Skorupski - @KetusDev - code.szymon@gmail.com
Project Link: https://github.com/KetusDev/old-portfolio