Personal Portfolio
The website you're looking at right now. A multilingual, dark/light mode portfolio with animated timelines, project case studies, and a custom translation system — no external libraries.
Custom multilingual system with zero external dependencies
Dark/light mode with animated transitions
Editorial project pages with drop caps and pull quotes
Statically generated for fast loads on Vercel Hobby
This portfolio is itself a project I designed and built from scratch. The goal was a site that feels polished and professional while being technically clean under the hood — no bloated component libraries, no unnecessary dependencies, and full control over every detail.
The site is multilingual using a custom translation system built on Next.js App Router dynamic segments. There are no external translation libraries — just TypeScript dictionaries, a middleware for browser language detection, and a language switcher. All pages are statically generated at build time for every supported language, keeping load times fast on Vercel's free tier.
The design uses a dark/light mode system with carefully chosen color palettes for both themes.
Animations are intentional and subtle: a Framer Motion-powered timeline that fills as you scroll, CSS-animated light pulses traveling along decorative curves, and smooth fade-in transitions for content sections.
Project pages are full case studies with editorial layouts — drop caps, pull quotes, sticky sidebars — designed to read like magazine articles rather than generic portfolio cards. The tech icon grid uses official Simple Icons SVGs for authentic brand representation.
The entire site is built with Next.js 16, TypeScript, and Tailwind CSS v4, deployed on Vercel. No CMS, no database, no runtime dependencies beyond React and Framer Motion. The codebase is clean enough that adding a new project or language is just adding entries to a TypeScript file.