01 / 08 Case study
iavorkolev.com
A bilingual Rust/Dioxus site with 72 static routes, route-specific search assets, strict CSP, and a cinematic experience delivered as progressive enhancement.
72
Localized static routes
2
Complete language editions
98–100
Lighthouse performance in the latest gate
02 / 08 The product challenge
An expert website has to explain, prove, persuade, and remain fast at the same time
The project brings services, engineering work, professional authority, and enquiry paths into one bilingual system. Core content is statically rendered for people and search engines; GSAP and Three.js add motion and atmosphere without owning meaning or navigation.
Commercial structure
From broad capability to specific decisions and evidence
Services are organized around buyer intent, project pages expose real engineering boundaries, and related routes move visitors from a problem to proof and a useful next step.
Static-first delivery
Every important word and relationship exists before JavaScript
Dioxus generates a separate HTML document for every route and locale. Canonicals, hreflang, schema, sitemap entries, and social previews derive from the same route contract.
Cinematic layer
Motion with an explicit authority boundary
GSAP owns sequencing and one shared Three.js canvas serves the visual scenes. Under reduced motion, constrained hardware, or absent JavaScript, content and conversion paths remain complete.
03 / 08 Implemented system
Rust and Dioxus for the static foundation; TypeScript, GSAP, and Three.js only for experience
The custom SSG renders localized routes, selects route-specific CSS, fingerprints assets, and generates CSP hashes from finished HTML. Cloudflare serves the static artifact, while one narrow Pages Function accepts anonymous conversion events without form content or persistent identifiers.
04 / 08 Architecture flow
One route system connects content, search, experience, and delivery
The route is the primary unit: it determines localized HTML, metadata, social preview, internal relationships, and release verification.
- 01
Routes
Typed Dioxus pages with matching English and Bulgarian destinations.
- 02
Render
Static semantic HTML containing navigation, content, evidence, and calls to action.
- 03
Policy
SEO, schema, sitemap, OG images, CSS layers, CSP, and cache rules.
- 04
Enhance
GSAP and a shared Three.js canvas mount after useful content already exists.
- 05
Verify
Build, smoke, browser, dx serve, delivery, and Lighthouse gates protect the artifact.
05 / 08 Decisions
The decisions that shape the system
Implemented
Dioxus Link remains the internal-navigation contract
A dx serve regression gate protects client navigation; runtime failures are investigated rather than hidden behind full-document reloads.
Implemented
CSP hashes derive from finished HTML
The build discovers inline scripts and writes deployment headers, so editing a script cannot leave a hand-maintained hash silently stale.
Implemented
Motion is progressive enhancement
Content, structure, and calls to action are not created by GSAP or Three.js; reduced-motion mode removes nonessential dynamics.
Implemented
Measurement does not create a visitor profile
The conversion endpoint accepts a narrow event allowlist and safe route categories without form values, fingerprinting, or a persistent visitor ID.
06 / 08 Verifiable evidence
What the current QA contract protects
- 72 localized static routes with canonical, reciprocal hreflang, schema, sitemap, and route-specific Open Graph images
- Semantic content and navigation that remain usable without JavaScript and under reduced motion
- Fingerprinted CSS assets, generated CSP hashes, and Cloudflare cache and security contracts
- Desktop and mobile browser smoke tests plus a separate dx serve regression gate for Dioxus Link navigation
- The latest production-like Lighthouse gate scored 98 to 100 for Performance and 100 for Accessibility, Best Practices, and SEO on all four audited pages
08 / 08 The next move
Need a website that feels distinctive and operates like a serious commercial system?
I can bring positioning, design, technical SEO, and disciplined delivery into one product instead of repairing each concern separately after launch.
Start a project->Explore the service->