
Zvezdochka — hair-coloring studio, Odessa · 2026
A portfolio site that books clients for a hair colorist
An image-heavy, multilingual portfolio and booking site for a professional colorist — fast galleries served from object storage, reviews, courses, and direct booking channels.
An owned, multilingual home that turns Instagram traffic into bookings
The problem
For a hair colorist, the work is the marketing — clients choose based on before/after photos. The studio's reach was Instagram-only: great content, but no owned home that ranks on Google, works in three languages (English / Ukrainian / Russian), and turns a browser into a booking. An image-heavy site also risks being slow, which kills exactly the visitors you want.
My approach
- Built a portfolio-first site: galleries, services, courses, video and client reviews — structured so the work is the hero.
- Served all media from object storage (Cloudflare R2) so heavy before/after imagery loads fast and cheaply.
- Made it trilingual (en / uk / ru) to match the real client base.
- Put booking front and centre — direct channels (phone, Telegram, WhatsApp) one tap away on every page.
Stack & why
- Next.js — server-rendered, indexable pages so the studio finally has an owned property that ranks, not just a social feed.
- Cloudflare R2 for media — a colorist's site is mostly photos; offloading them to object storage keeps pages fast and hosting cheap.
- i18n from the start — retrofitting three languages later is far more expensive than designing for it up front.
The result
- A professional, fast home that converts profile-stalkers into bookings instead of leaving them in Instagram DMs.
- Multilingual reach matching the actual client base.
What was hard
Image-heavy sites are usually slow, and slow kills a portfolio. The work was in the media pipeline — storage, sizing and delivery via R2 plus Next.js image optimization — so the gallery stays sharp on a phone without the page crawling. That balance, quality vs. speed, was the whole game here.
Related work

A product catalog that turns visitors into quote requests
2026SunCold — containers & solar equipment supplier
A multilingual B2B catalog and lead-gen site for a container and solar-energy supplier — fast product pages, a quote-request flow, and SEO content (blog/FAQ) to pull in buyers.
A self-serve catalog and quote funnel that earns its own search traffic

An AI assistant beauty salons embed in two minutes
2026Futura AI — own SaaS product
A multi-tenant SaaS: an embeddable AI chat widget that answers a beauty salon's clients 24/7 — a ~3 KB loader, an iframe widget app, a .NET backend, and Claude with retrieval over each tenant's own services and prices.
A live product (beautyfutura.com) — salons add an AI assistant with one script tag, no integration work
Want something similar built?
I take on a small number of projects at a time. If this looks like your problem, let's talk.