Vaflet LLC
← All work

Türkmenistan · Ahal welaýaty · since 2011

Sada Suw

A website for a juice plant in Turkmenistan — eleven flavours in glass, three languages, and not one file from anybody else’s server

Web design · Full-stack build · CMS

Sada Suw first screen: Gowy hilli, tebigy tagam, and the orange bottles beside it

The brief

The page has to open where the internet stops

Sada Suw presses fruit and vegetable juice in the Ahal region and ships it by the pallet under ELLE and ILKENT, across Turkmenistan and abroad.

Its buyers open the site from a country where a foreign domain does not fail with an error. A Google font or a CDN script simply never arrives, and the page waits for it.

So the site asks nothing of anybody else. Every font, film and bottle is served from its own address, and a check walks the live pages to catch anything that sneaks in.

What the page asks for

Everything it loads comes from one address

Recorded on one visit to the English page, scrolled from top to bottom. Every dot is a font, a film or a picture the browser fetched.

Its own address

23 files

Type

Prata, Manrope, Unbounded and IBM Plex Mono

127 KB7 files

Film

The factory floor behind the first screen

634 KB1 file

Stills

Posters for both films

75 KB2 files

Bottles

The eleven flavours, in AVIF

148 KB13 files

Page

The page itself, its styles and its scripts — built and served by the site

Anywhere else

0

files from any other address. No Google Fonts, no CDN, no captcha.

01The range

Specs stay off the shelf until the plant signs them

The ELLE range: a card per flavour, a bottle and a note on each

02The bottles

Three bottles, drawn instead of photographed

Packaging formats: the 0.25, 0.5 and 1 litre bottles as line drawings

03The line

From orchard to bottle in four steps

Production: four steps from intake to quality control, above the plant’s film

Two themes

The light theme is the catalogue’s paper, not an inversion

The site opens dark, like a shelf lit from inside. One button in the header turns the lights on.

What comes up is not the same page flipped. It has a palette of its own taken from the printed catalogue, its own pattern, and a softer glow behind each flavour.

The choice is kept in the browser rather than in a cookie — a cookie would make the page dynamic, and a cached page is what opens fast on a slow line.

The first screen in the dark theme
The first screen in the light theme

Dark — how the site opens

Light — one button away

The page, section by section

Company — the plant in its own words, its figures under them
Company — the plant in its own words, its figures under them
Range — each flavour lit in its own colour
Range — each flavour lit in its own colour
Formats — the same drawings on the catalogue’s paper
Formats — the same drawings on the catalogue’s paper
Production — the plant’s film, framed to its own proportions
Production — the plant’s film, framed to its own proportions
Export — the markets as a numbered list, not a scatter of pills
Export — the markets as a numbered list, not a scatter of pills
Contacts — the price request, on paper
Contacts — the price request, on paper

On a phone

390 px · one sheet for the menu · one column

First screen — the flavours turn under the heading
First screen — the flavours turn under the heading
Menu — sections, language and theme in one sheet
Menu — sections, language and theme in one sheet
Range — one flavour to a card
Range — one flavour to a card
Company — the story, then the figures
Company — the story, then the figures
Formats — one bottle at a time
Formats — one bottle at a time
Production — four steps, top to bottom
Production — four steps, top to bottom
Export — eight markets, numbered
Export — eight markets, numbered
Contacts — every number is a tap away
Contacts — every number is a tap away
The light theme, in a hand
The light theme, in a hand

How it runs

Built to be run by the plant

One address

Fonts, film, pictures and scripts all come from the site’s own server. A script walks the live pages in all three languages and names any file that would load from somewhere else.

Cached on purpose

The page is built once and served from cache; saving in the admin is what rebuilds it. A second check guards that, because one read of a cookie would quietly send every visitor to the database.

No captcha

reCAPTCHA and Turnstile load from google.com and cloudflare.com. Spam is stopped by a hidden field, a timing check and the message itself.

Price requests

Every request is saved first and sent to the plant’s Telegram second, and the admin shows whether that message actually went out.

Three languages

Russian, English and Turkmen. An untranslated field falls back to Russian and the page still looks whole, so the admin’s first screen lists every gap by name.

Backups

One command copies the database and the photos. A drill restores the copy into a scratch database and counts the records — a backup nobody has restored is not a backup.

0

files loaded from any address but its own

0

languages — Russian, English, Turkmen

0

flavours, each edited from the admin

What came out

Ready for the plant’s own server — the site, the admin and the database come up together with one docker compose

The plant edits its range, texts and contacts in Russian, and any record can be rolled back to an earlier version

Specs stay off the page until the plant confirms them — a food producer’s numbers are not placeholders

Next.js 16 · Payload 3 · PostgreSQL 16 · Docker

Next projectASAR TECH