0%||
Skip to content
A site that checks itself before it ships
← Index2026 - current

r352.com

A site that checks itself before it ships

80+
Pages, One Build
4
Blocking Checks per Release
6
Releases in One Day
Context

This site is our own case, and the point of it is practical: how one person keeps a large bilingual site consistent and safe to publish. More than 80 pages in two languages come out of a single build, the rules live in the system rather than in someone's head, and nothing reaches production until four automated checks pass. People make the decisions, AI does the assembly in between.

01

The site, live

r352.com · 80+ pages, two languages
A cockpit rather than a brochure: a frame with real state in the corners, four capabilities, a Project / Retainer readout and a process that scrolls with the page.

The problem

A small team cannot review 80+ pages by eye every time something changes, and a site that says 'we build systems' cannot be maintained by hand. Speed without checks breaks things quietly: a meta description that is too long, a link too small to tap on a phone, a Polish page pointing at an English one.

What we took responsibility for

Everything, which is the point: positioning, design, code, both language versions and the checks that decide whether a release is allowed to go live.

Capabilities at work

Strategy & Design
A written design system and machine-readable tokens are the source of truth for the team and for every AI session that touches the site.
Digital products
80+ pages prerendered to static HTML from one build, in English and Polish, with mutual language pairs checked on every release.
Creative delivery
Changes ship the same day through one pipeline: six production releases in a single day during the September 2026 update.
AI elevation
AI builds and verifies between decisions. A person approves every release, and the gates hold the standard when the pace goes up.

Decisions

One deploy command, no shortcuts: build, then four blocking checks, then release. The crawl check reads every page for titles, descriptions and headings. The link check looks for orphan pages and language leaks. The mobile check opens key pages at 390 px and counts tap targets under 44 px against a budget. The interaction check clicks every control to make sure nothing crashes. A separate brand check compares the written guide with the code.

How we delivered

Content lives in data, pages are compiled from it, and AI writes the difference instead of the page. When the offer moved from three areas to four capabilities, the home page, the services map, the services page and three case studies changed together, in both languages, because they read from the same structure.

The work

02

Every page, from one build

Live · 60 of 84 prerendered pages, two languages
Overview of sixty pages of the site in English and Polish
Home, services, process, industries, networks, journal, glossary, case studies, and the same again in Polish. One person and an AI pipeline keep all of it consistent, because the rules sit in the system and four checks run before anything ships.
03

Living backgrounds: WebGL and motion

Live · rendered in the browser
Three backgrounds, one rule: motion sits behind the message and never competes with the call to action. A field of 3, 5, 2 and R marks in the hero, a contour map on the process page, a grid of marks under the neon footer. Each one pauses when it leaves the screen and holds still for readers who ask for reduced motion.
04

Light mode: the same system, inverted

Live
One switch in the header turns the whole site from graphite to a cool off-white. Lime stays the only signal colour, the frame and the readouts keep their place, and the hero trades the glyph field for oversized R marks.
05

The same cockpit on a phone

Live · audited on every release
The phone gets the same order of information, not a reduced site. One of the four release checks measures every tap target against a 44-pixel minimum and stops the release when a new one falls short.
06

Navigation that tells the same story

Services map with four columns
Services page header with jump navigation
End-of-module panel leading to the next page
Four capabilities in the same order on the home page, in the services map and on the services page, and a panel at the end of every page that hands the reader to the next one.
07

One image language: graphite and a single lime signal

Generated imagery · 7 frames
A hand turning a dial with a lime needle
A row of dominoes with one lime piece
An hourglass with lime grains
A city grid at night with lime points
Glass hands holding a lime element
A stack of sheets with one lime layer
A single lime line on a dark surface
Every picture follows one rule from the brand guide: a near-black scene, one object, one lime element that carries the meaning. Control, consequence, time, scale, care, system, signal.
08

Brand Centre: the rules, written down

Internal · content blurred
One address for how r352 looks, moves, sounds and speaks: colour and theming, typography, layout, motion, voice, logo and mascot. A person reads it as a guide; an AI session reads the same rules as tokens, and a drift check compares the guide with the code.
09

The mascot: a friendly robot

Generated · animated
Graphite body, lime visor, one antenna. The robot is the warm counterweight to a precise, dark site: it greets, points and waits in the corner of every page as the way into a conversation.
"

Two releases were stopped that day. Neither of them reached a single visitor.

Outcome

During the September 2026 update the site went through six production releases in one day. Two more were blocked by the checks before going live: one for meta descriptions over the length limit, one for new links that were too small to tap on a phone. Both were fixed at the source, not by loosening the budget.

Reflection

The checks are not there because we distrust the work. They are there so the work can move fast without anyone having to remember everything.

Cookies & analytics - strict opt-in. Nothing loads until you say yes. Privacy policy