Built by Alex logo
All work

2026 · Vanilla JavaScript

POLINO Mosaic Studio

Bilingual storefront for a Ukrainian mosaic atelier

Client

POLINO Mosaic Studio

Year

2026

Role

Design & Development

Stack

Vanilla JavaScript · HTML5 · CSS3

The challenge

What the project required

The studio sold through Etsy and Instagram and had no home of its own. It needed a site that spoke Ukrainian to customers at home and English to buyers abroad, showed the work the way the work deserves, and took an order without sending anyone off to a marketplace — with no CMS to maintain and no monthly platform fee.

A storefront the studio owns — with no CMS to maintain and no monthly fee.
POLINO Mosaic Studio — Homepage

The solution

How it came together

Hand-written HTML, CSS and JavaScript — no framework, no build step, nothing to keep patched. A Python importer turns Etsy's own shop-data export into the catalogue the site reads, so restocking is a one-command job. One product template renders all 62 listings from that JSON. The cart lives in localStorage as ids and quantities only, so prices are read fresh at render time and can never go stale; placing the order writes the whole basket into the contact form, and a single Vercel serverless function delivers it to the studio's Telegram.

Features

What's under the hood

Ukrainian and English across every page — one dictionary, no reload
62-product catalogue generated from Etsy's shop-data export
A single product template renders every listing from JSON
Cart in localStorage — ids and quantities only, so prices are never stale
Checkout writes the basket into the contact form; a Vercel function sends it to Telegram
Scroll-scrubbed film sequence and a canvas mosaic-assembly hero
Ambient particle layer and reveal-on-scroll motion, all reduced-motion aware
No framework, no build step, no dependencies to keep patched
POLINO Mosaic Studio — Catalogue
POLINO Mosaic Studio — Product page

Results

Lighthouse, measured on the live site

100SEO score — mobile and desktop
92Performance score — desktop
0Cumulative layout shift

Built with

Vanilla JavaScriptHTML5CSS3Vercel ServerlessCanvasPython

Built in 2026 with Vanilla JavaScript · HTML5 · CSS3

Next project

Worldline Corporation