Projects ·
How this site is built
This site is a static Astro 5 build. Every page is plain HTML generated at build time; the only JavaScript shipped to the browser is a pair of small inline handlers — header state and lazy loading of the hero video. There is no client framework, no tracker and no cookie banner, because there is nothing to consent to.
Constraints
The hosting is a shared CloudLinux server under DirectAdmin — the same infrastructure we manage for support clients. No root daemons, no Docker, no edge network. A static build is not an aesthetic choice here; it is the honest answer to the constraint. Anything the server does not execute cannot fail at 3 a.m.
Languages
English, Russian and Ukrainian are separate static routes (/, /ru/, /uk/), not a client-side switcher. Each page declares hreflang for every translation that actually exists, a canonical URL and its own metadata. The sitemap is generated at build time. Search engines see three real documents, not one document pretending to be three.
Design
The design implements the published brand system with no local forks: same colour tokens, same two typefaces, same 6 px control radius, same accessibility floor — 4.5:1 contrast, 44 px targets, visible focus, reduced-motion support. When the brand book changed the primary button this week, the site changed with it, because both read the same tokens.
What this costs
The trade-off is deliberate: no comments, no search, no personalisation. Publishing requires a rebuild — about two seconds — and a file sync. For a site whose job is to state what we do and prove we do it carefully, that is the right price.