Personal Portfolio
2026 · Next.js, React, TypeScript, Tailwind v4, SSG
Personal portfolio website presenting projects and development approach. The project is an evolution of an earlier portfolio built with React 16, modernized to a current React / Next.js stack with a focus on performance, clean architecture, and clear UX. It serves both as a portfolio and as a space to experiment with modern ecosystem patterns.
Key technical elements
- Stack: Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS v4
- Performance: full static generation (SSG) for fast loading and no backend dependency
- Internationalization: PL and EN versions with locale routing (
/pl,/en) - Routing: project details displayed in a modal without page reload (Parallel Routes + Intercepting Routes)
- Contact form: validation (react-hook-form, Zod), anti-spam protection, and SMTP email delivery
- SEO: structured metadata prepared for indexing in both languages
- Monitoring: Vercel Analytics and Speed Insights
- Accessibility (a11y): skip link, modal focus trap, keyboard navigation in menu, aria-expanded/aria-controls, prefers-reduced-motion support, aria-busy during form submission
Design decisions
- Static architecture – the site is statically generated to simplify deployment, improve performance, and reduce maintenance costs
- Modal-based routing – project details open in a modal to preserve list context and provide smoother navigation
- Middleware-free i18n – compatible with static export, allowing the site to be hosted on virtually any static platform

