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

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.
01 — The range
Specs stay off the shelf until the plant signs them

02 — The bottles
Three bottles, drawn instead of photographed

03 — The line
From orchard to bottle in four steps




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.


Dark — how the site opens
Light — one button away
The page, section by section
On a phone
390 px · one sheet for the menu · one column









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





