Skip to content

Engineering

How this site was built

It is the same engineering we sell, applied to ourselves first. None of what follows asks for your trust: it can be inspected from the outside.

Full HTML, no JavaScript required

AI crawlers — GPTBot, ClaudeBot, PerplexityBot — do not execute JavaScript. Every page of this site is statically generated per language and arrives whole in the server's first response. Check it yourself: switch JavaScript off in the browser and the content is still there.

Three languages published, without breaking Guarani

Guarani uses characters most popular typefaces leave out — ẽ, ỹ and g̃, which does not even exist as a precomposed character. This site's fonts load the subset that covers them, and an automated check reads the generated CSS after every build: pick a typeface without them and the check fails. It runs on every proposed change, not whenever somebody remembers to look.

The Guarani route ships once the content is translated, not before. Serving /gn/ with Spanish text would be duplicate content for search engines and disrespectful to the people who speak the language.

What gets checked on every change

Every check that runs here came out of a concrete failure, and they all share one trait: they break no build and print no warning.

One forbids formatting dates and numbers with the content language. Asking for a format under the code "gn" raises no error — it silently falls back to the server's default language: Portuguese on the machine where the code is written, English inside a container, from the same source. Another requires every string to be in a single Unicode normalization form, because g̃ only exists decomposed and mixing the two forms breaks comparisons, search and URL generation while looking identical on screen. Another forbids plural syntax in Guarani, which would always pick the wrong branch. And another compares real translation coverage against the list of published languages, failing in both directions: a language published half-translated, or a language already complete that nobody published.

Alongside those run the type check and a full production build — not the development mode. And a test in a real browser opens the page, confirms the Guarani text is present in the HTML the server sends, that it keeps its normalization, and that a web font covering those characters is actually loaded. That test also saves a screenshot of the g̃ cluster for human inspection: looking at how the tilde sits over the g is the one thing no automated check settles on its own.

Language detection without sacrificing SEO

The site root redirects exactly once (307), based on the cookie and the browser's Accept-Language header. Within each language there are no redirects, and hreflang is reciprocal with x-default. Search engines crawl each version without interference.

Structured data with a stable identity

A single JSON-LD graph with @id connects organization, services, people and breadcrumbs. No FAQPage: Google retired that rich result in 2026, and we do not add schema for decoration.

Light and dark, with contrast measured on the pixel

The theme selector has three states — light, dark and the system one — and works through an attribute on the document root, not the system preference alone. A tiny script in the head applies the saved choice before the first paint, so nobody sees a light flash ahead of a dark page. That choice is stored in the browser, on your own device, and switching back to "system" deletes it.

The first implementation used the CSS light-dark() function and it did not work: inside a colour variable it does not react to the manual switch, only to the system preference. The system theme worked, the selector did nothing, and there was no error and no warning anywhere. It surfaced by measuring the resolved colour value instead of looking at a screenshot.

Contrast gets the same treatment: measured on the real pixel, never estimated from the CSS. The method matters — sampling inside the text box measures the antialiased edge of the letter, which is how a white heading on a petrol background once read 1.56:1, a physically impossible number that is precisely what exposed the method. What works is hiding the text, capturing the background that was behind it and reading the worst pixel of that shot. Every new colour and every translucent panel goes through it, in both themes, before it ships.

The illustrations are our own interface, not stock photos

What illustrates each service line is neither a stock photo nor a generated image: they are interface miniatures built from the same HTML and CSS as the rest of the site, assembled on the server, one per line. There is no image to download, and the text inside goes through the same dictionary as everything else, in all three languages.

The entities are generic on purpose — "Order 0412", "AP 3". A name that looks like a real client, or a number that looks like a promised result, would be fabricated social proof, which is exactly what this site criticises elsewhere.

They are illustration and are marked as such for screen readers: what needs to be read lives in the text, not inside the little window. The entrance sequence is CSS, and the final state is the resting state — with reduced motion you see the complete screen, no animation.

Performance, and no third party in between

Self-hosted fonts with preload, space reserved for every image before it loads, and no WebGL: the animated backdrop at the top of the page is CSS gradient blobs, with no canvas and no GPU context. The entrance animations use a motion library that ships in the client JavaScript, after the HTML has already arrived whole. No third-party scripts and no trackers: nothing stands between the server and the text. The public target: LCP ≤ 2.5 s, INP ≤ 200 ms and CLS ≤ 0.1 at the 75th percentile.

The map on the contact page is the most concrete proof of that. Instead of embedding somebody else's map, OpenStreetMap tiles were downloaded once, stitched into a 1200 × 675 image and stored as a file of roughly 49 KB served from our own domain. An embedded map writes a third-party cookie on the first visit, before any consent, and would make the page contradict our own privacy policy. When you open that page not a single request leaves the domain: WhatsApp, Google Maps and OpenStreetMap appear only as links, and act only if you click them.

The dark version of that map is not a second file either: it is the same one, with a CSS filter that follows the theme selector. An alternative image keyed to the system preference would have ignored the manual choice — the same problem as light-dark().