
Portfolio · template
Premium Next.js photography portfolio with editorial typography, three gallery modes, and a full-featured lightbox.
Everything you need to showcase your craft.
Lens is a photography-first Next.js portfolio with the kind of gallery and lightbox interactions you'd build by hand if you had three weeks. Three layout modes (uniform, masonry, editorial) with a one-click toggle, a pinch-zoomable lightbox supporting wheel zoom, double-tap, drag-to-pan, fullscreen, swipe and full keyboard control.
Four hand-tuned themes — including a fullscreen-slider "monolith" variant — plus a custom animated cursor that respects pointer:fine. A journal/blog with JSON-LD BlogPosting and a services page with an accessible FAQ accordion. Multilingual (EN / ES / FR / PT) and ships with Resend and Formspree contact adapters as commented drop-ins.
Built on Next.js 16 + React 19 + Tailwind v4 + Framer Motion. 34 unit tests, full SEO, WCAG 2.1 AA accessibility, and prefers-reduced-motion handled throughout. Optional Sanity CMS adapter for photographers managing a large catalog.
Tech stack
The experience
Companion templates, same precision.