Cenk Savran
Savran Creative Studio — Photography Portfolio
Dark-themed photography and video portfolio for an Antalya-based creative studio. Trilingual, with a lightbox gallery, lazy-loaded images, and a Turnstile-protected contact form.
The brief
Cenk Savran is a photographer and videographer based in Antalya with over 25 years of experience in hotel, resort, restaurant, and corporate work. He needed a portfolio site that let the photography speak — dark, minimal, fast — with a way for potential clients to get in touch.
What was built
A static portfolio site with a Node.js contact form backend. The site is trilingual in Turkish, English, and Russian — matching his international client base. Language switching happens client-side without a page reload, with the preference stored in localStorage.
The portfolio showcases 21 projects across five categories — hotel & resort, restaurant & café, corporate, beauty & fashion, and miscellaneous. Each project opens in a full-screen lightbox gallery with keyboard navigation, touch swipe support, and a synced thumbnail carousel. The grid is filterable by category.
The hero section features an auto-rotating image carousel of selected portfolio work. Statistics highlight his experience: 25+ years, 400+ projects, 150+ clients.
The services section covers four areas: professional photography, video production, social media management, and web & software development (in partnership with dogru.tech).
Technical notes
No frameworks — pure HTML, CSS, and vanilla JavaScript. Images use a thumbnail system (1-thumb.jpg for grid, 1.jpg for lightbox) with lazy loading for performance. Portfolio data lives in a JavaScript module with multilingual titles and descriptions.
The contact form is handled by a Node.js API server with Cloudflare Turnstile verification and Resend for email delivery. Nginx enforces rate limiting per IP. Asset caching is aggressive — one year immutable for images, 30 days for CSS and JavaScript.
Stack
HTML · CSS · JavaScript · Node.js · Nginx · Cloudflare Turnstile · Resend · Hetzner CX22 · Let’s Encrypt
Have a similar project?
I'm available for new engagements. Let's talk.