A corporate site for a trade, logistics and customs company in Tashkent
- UX/UI
- Next.js
- Motion design
- Multilingual
- SEO

- Trade and logistics
- B2B services
- In production
- Next.js, React, TypeScript, Tailwind CSS, GSAP
- Uzbekistan
About the client
ADAS TRADE is a trade, logistics and customs company in Tashkent. It moves goods by air, road, rail and sea for clients in Uzbekistan and abroad, clears them through customs, and trades wholesale on its own account.
Challenge
Explain seven connected services, from procurement to commissioning, to importers and foreign suppliers in three languages, in a tone that fits a customs business, and make it easy to call or write.
Solution
- A home page that follows a deal in order: services, supply directions, brands, the company, questions, contacts
- A page for each of the seven services, with its steps
- Russian, Uzbek and English versions of every page
- A design system built from the company’s existing navy, indigo and mint
- Scroll-driven motion that switches off for visitors who ask for less
- Metadata and a canonical address for every page, structured data, a sitemap, rules for AI crawlers, llms.txt and llms-full.txt
- A branded 404 page
Services in the order a shipment meets them
The seven services are listed in the order a consignment meets them: procurement, payment support, financial logistics, freight, customs brokerage, commissioning, wholesale. A thin route line with a node for each service fills as the page scrolls, so the order itself tells the visitor how a deal runs.
A customs declaration that fills itself in
On the customs brokerage page a specimen cargo declaration stays in view beside the four steps of the work. As the visitor reads down, its fields fill in, the commodity code rolls in digit by digit, the document checks are ticked, and at the last step the release stamp lands.
A supply gallery and a brand wall
Six standing supply directions, from auto parts to stable isotopes, sit in a gallery that scrolls sideways while the page holds still. Below it, the auto parts and lubricant brands the company supplies run across the screen in two rows.
Three languages from one shape
Russian is the default, with Uzbek and English beside it. Each language has its own content file of the same shape, so a page cannot exist in one language and be missing in another.
Motion that stays out of the way
All motion lives in one table: a section opts in with an attribute and stays server-rendered. With reduced motion switched on nothing animates and the gallery becomes an ordinary sideways scroller. The content is readable without JavaScript.
Built to be found
Each page carries its own title, description and canonical address, with links between its three language versions. Structured data describes the organisation, the site, its services, the questions and the breadcrumb trail. The robots file names the AI crawlers it admits, llms.txt and llms-full.txt give assistants a plain account of the company and its services, and the share image is generated by the site.
Static, with nothing behind it
All 34 pages are generated ahead of time and served from Vercel. There is no CMS, database or sign-in behind the site. Jost and Golos Text are served from the site itself as variable fonts.
Outcome
In production at adas-trade.uz in three languages. The content sits in one registry per language, so a new service or supply direction is one entry, and the counts on the company card update themselves.



