FIDIC.uz Case Study | Content, SEO & Astro by Rodion Belousov
Back to selected work
Case Study / Knowledge Platform

FIDIC.uz

A fast, premium knowledge platform around FIDIC contract standards — built to make complex authoritative material feel navigable, trustworthy and modern.

fidic.uzLIVE
FIDIC.uz digital marketing and web development case studyFIDIC / 02LIVE SYSTEM / 2026
PRODUCT ECOSYSTEM / SOLO BUILD / 2026

A contract knowledge operating system.

Designed and shipped solo as a multilingual product, not a brochure: 429 static pages across three languages, 117 expert articles, a nine-book contract atlas, 16 tools and calculators, a certification registry and a serverless AI layer — roughly 48,000 lines of code I own end to end.

STATIC PAGES429

pages in the production build

MDX / 39 x 3117

expert articles, 39 per language

TOOLS + CALCULATORS16

tools and calculators

FIDIC LIBRARY09

contract books

RU / EN / UZ03

complete languages

STRUCTURED DATA32

schema.org types in the markup

01117 / MDX

Knowledge graph

39 articles per language, 27 dissected FIDIC clauses, 26 glossary terms and MDB project cases — one typed content model, three complete languages, no partial translation.

0209 / CONTRACTS

Nine-book atlas

Red through White Book profiles translate scope, risk and applicability into a visual contract library.

0316 / WORKFLOWS

Professional workflows

Contract Map, Claim Readiness, Notice Deadline, risk scoring, the Tender Risk Lab and book selection turn reading into action. Every calculation runs in the browser — nothing a user types is sent anywhere.

0405 / MODELS

Contract calculators

Time-bar under Sub-Clause 20.2, EOT and delay, liquidated damages, interim payment under Clause 14 and DAAB timelines — the five models a contract team reruns constantly.

05SERVERLESS / AI

Ask FIDIC layer

Ask FIDIC AI calls the Anthropic Messages API over raw HTTPS, so no SDK ever lands in the client bundle and the site stays fully static. Length and history caps guard a paid public endpoint.

06CERTIFY / VERIFY

Trust infrastructure

A CLI issues each training certificate into a versioned registry with a QR code; anyone can verify it on a public page. Certificate pages are force-noindexed so personal data never reaches search results.

Google Search Console · fidic.uz · 19 Jun – 8 Sep 2026

Eighty-two days of search, and nothing else.

No advertising, no social posts, no bought links. Every visit below arrived because a page answered a question someone typed into Google — in a field with a few thousand specialists in it worldwide.

17,380
search impressions
414
clicks
118
pages that earned a click
78
countries

Still climbing: 13,003 impressions in the last thirty days against 3,475 in the thirty before them.

  • Ranking for
  • fidic#8.1
  • daab#5.8
  • фидик#5.7
  • eot#5.8
  • daab fidic#7.5
RoleSolo build: product strategy, content, SEO, code and art direction
StackAstro / MDX / Serverless
Year2026
Scope3 locales, 429 pages, 117 expert articles, 16 professional tools
Challenge

FIDIC content is dense by nature. The challenge was to avoid the usual legal-document fatigue and build a platform where users can enter through clarity: contract logic, learning paths, article structure and trust-first navigation.

System

The platform uses a disciplined information architecture with cinematic surfaces: high-contrast sections, controlled scroll rhythm, motion cues and a dark spatial atmosphere. The content stays readable, search-ready and scalable, while the interface signals that this is not a basic archive — it is a premium professional resource.

Outcome

FIDIC.uz becomes a credible digital home for contract-standard knowledge in the region: fast, structured, memorable and ready to scale into articles, explainers, education modules and expert-led content.

LIVE DATA LAYER / WORLD BANK / UNATTENDED

A tender archive that refuses to forget.

The World Bank procurement API only ever returns a rolling window — a notice that drops out of the feed is gone for good. So the pipeline never overwrites. Every morning it merges the fresh response into a cumulative archive, and if the upstream fails it exits non-zero instead of quietly saving an empty snapshot.

2 900+

notices in the archive

08

countries across Central Asia and the Caucasus

2019

archive depth, first notice onward

06:15

daily unattended refresh, in UTC

  1. 01WORLD BANK API

    Source

    The World Bank Procurement Notices API, queried per country and normalised into a single typed dataset.

  2. 02CRON 15 6 * * *

    Schedule

    A GitHub Actions cron job. Every bot commit carries the current open-versus-total count in its message, so the archive's health is readable from the git log alone.

  3. 03MERGE, NEVER OVERWRITE

    Data model

    A cumulative snapshot. The run merges the API response into the stored archive rather than replacing it, so history accumulates instead of eroding.

  4. 04COMMIT -> BUILD -> INDEX

    Publication

    The refreshed dataset is committed to main, which triggers a rebuild and a targeted IndexNow ping — one summary page plus seven country cuts, in three languages.

RUNTIME / 03 SERVERLESS FUNCTIONS

Static by default, dynamic only where it earns it.

429 pages compile to plain HTML with no server in the request path. Three serverless functions carry everything that genuinely has to run at request time.

01AI ASSISTANT

Anthropic Messages API

Ask FIDIC AI is called over raw HTTPS so the SDK never reaches the client bundle. Request and history caps protect a paid public endpoint.

02LEAD ROUTING

Telegram Bot API

Leads route straight into a chat. If no bot is configured the function returns non-2xx on purpose and the form falls back to a prefilled mailto, so no enquiry is ever silently lost.

03SOCIAL CARDS

@vercel/og

Social cards generated per headline at 1200x630, with fonts vendored into the function folder so Cyrillic renders correctly instead of dropping to boxes.

04INDEXING / ENTITY

IndexNow + Wikidata

A deploy maps changed source files to the public URLs they render and pings only those. The organisation entity is closed off against Wikidata so search engines resolve it unambiguously.

0507 SCRIPTS

Own tooling

Seven purpose-built scripts: tender collection, changed-URL mapping, IndexNow submission, OG truncation checks, certificate issuing, SEO audits and PDF extraction.

06STRUCTURED DATA

32 schema.org types

Article, TechArticle, DefinedTerm, Course, EducationalOccupationalCredential, Dataset and 26 more — SEO built into the architecture rather than bolted on afterwards.

MEASURED, THEN CUT / PER DEVICE

Most of the engineering was taking things out.

Four Three.js scenes, smooth scroll, a custom cursor and magnetic buttons all shipped — and then got measured. Whatever cost more than it returned was removed per device, not per opinion.

01

Smooth scroll was hurting LCP on phones.

Lenis stopped loading on mobile entirely. The scroll animation is now a desktop-only affordance.

02

Cards strobed under a cursor that wasn't even moving.

Hover-state logic rewritten so scrolling can no longer retrigger it.

03

A dropped request could strip a page of its styling.

Page-level CSS is inlined. A failed asset request can no longer leave a page unstyled.

04

Tables and cards overflowed on phones.

The tender table rebuilds itself as cards, wide tables gained a scroll indicator, the home page became swipeable rails.

05

Search returned results that did not match the query.

Relevance logic rewritten and retested against real queries.

PRINCIPLE

Everything that reveals content — entrance animations, counters — lives in a plain script outside the build bundle. If the bundle never loads, the content is still there. Resilience beats effect.

Highlights

Clarity over density.

01

Turned complex contract standards into a navigable digital system.

02

Built an experience that feels authoritative without feeling static.

03

Prepared the platform for long-form content, SEO and expert publishing.

Build logic
01

Map — grouped heavy topics into clearer user-facing entry points.

02

Frame — designed the interface around trust, hierarchy and momentum.

03

Ship — implemented the front-end with Astro, animation timing and performance discipline.

Visual language

Blueprint & Brass: deep ink surfaces, brass signals, monospaced technical labels, editorial grids and the color-coded Rainbow Book library. Dense contract knowledge becomes a navigable professional operating system rather than a legal-document archive.

VISUAL SYSTEM / 04FIDIC.UZ
01EDITORIAL GRID02CONTRACT ATLAS03FIDIC GOLD