Aperture — adaptive landing page for a photographer (React+Tailwind CSS)
Aperture — a one-page portfolio website for a photo studio: dark minimalist design, focus on large photographs and details important for the photographer (EXIF data of the shots directly on the page).
What's inside:
Hero block with a fullscreen photo, services section, gallery of works with EXIF bars (shutter speed, aperture, ISO, location), client brands block, newsletter subscription.
Full responsiveness: mobile, tablet, desktop; animated burger menu with scroll locking.
Accessibility (a11y): semantic markup, aria attributes, keyboard navigation.
Speed: lazy-loading sections, SVG sprite for icons, optimized fonts (~95 kB gzip for all JS).
Stack: React 19, TypeScript, Tailwind CSS, Vite, Nx monorepo with its own UI component library (buttons, cards, burger menu — reusable for future projects).
Code: https://github.com/Yasenuk/Portfolio
What's inside:
Hero block with a fullscreen photo, services section, gallery of works with EXIF bars (shutter speed, aperture, ISO, location), client brands block, newsletter subscription.
Full responsiveness: mobile, tablet, desktop; animated burger menu with scroll locking.
Accessibility (a11y): semantic markup, aria attributes, keyboard navigation.
Speed: lazy-loading sections, SVG sprite for icons, optimized fonts (~95 kB gzip for all JS).
Stack: React 19, TypeScript, Tailwind CSS, Vite, Nx monorepo with its own UI component library (buttons, cards, burger menu — reusable for future projects).
Code: https://github.com/Yasenuk/Portfolio