Start from the problem, not the technology.
Almost everyone who comes to us arrives with one of these four situations. Pick yours: each one leads to what we have already measured about it and to the first step.
Before touching it, we measure what it carries. On the Baguete news portal, 74% of the 3 million lines were third-party; the new version has 25 thousand. The migration starts with that X-ray.
ChatGPT, Gemini and Muse already choose where to buy by reading the HTML. We read your store the way the assistant does, item by item. Free reading within 24 business hours.
Brazil's ECA Digital has required reliable age verification since March 2026; the move to post-quantum cryptography has a timetable. We show how to comply without collecting too much data and what to change first.
An assessment, a benchmark, a sensor reading or an AI score. We audit the yardstick and return three verdicts, with the margin declared beforehand and a receipt a third party can check.
Six areas and a notebook, each in its own color.
Every section has a demo you can play with, the measurement with its number and source, and what could still be wrong. No jargon: every technical word gets an everyday example before the definition.
ChatGPT, Gemini and Meta's Muse already choose where to buy by reading the store's HTML. We show what the assistant gets from yours, item by item.
Seven tools that compress, search, answer and timestamp sensor data with a guarantee anyone can check. Proven on a subsea cable, the power grid and whales.
What the quantum computer breaks, when the estimates say it will, and what it costs to switch.
A live encrypted election and 16 tests on where computing without seeing the data works, costs, or stalls.
Prove you are over 18 without showing your date of birth. A cave to try it and four measured proofs.
Producing reports, assessments and code became almost free; checking did not. We audit the yardstick and return three answers: meets, fails or undecidable.
Agreeing costs less than objecting · Green is silence, not a certificate · The draw made the call
What's on the bench right now.
Six projects at different stages: three for clients, in Brazil and Switzerland, one product of our own, a migration and a simulation from our lab. The numbers are the ones measured through October 2026.
A brand that beats like a balance wheel.
The same client as the visual search needed a face before opening the shop. The chosen direction is called Beat: the C in the name is a balance ring open to the right, around its pivot. On screen it swings 28 degrees each way every 3.6 seconds, like the part that keeps time in a mechanical watch. For anyone who asked their system for less motion, it rests.
The rest follows the watchmaker's bench, not software: ivory, stone, silver, graphite and ink instead of the default blue-grey, a single typeface in a light weight, pill buttons, a gold reserved for movements and a bronze for components. The direction went into the whole site, from the home page to the back office, without rewriting a single screen: the colour scale was remapped in one stylesheet and the pages kept the structure of the wireframes.
Where each tuition price sits against the competition.
A higher-education group with two institutions in Brazil sells 1,181 combinations of course, city and delivery mode. Each price only makes sense next to what competitors charge in the same market, and that number was scattered across scholarship marketplaces, with the same institution spelled three different ways.
The panel collects, twice a day, the discounted tuition of every institution in each market from Quero Bolsa and Educa Mais Brasil, unifies the names and compares it with the average of the competitors management considers the main ones. The rule is a band: 0 to 10% above the average is where a price belongs; below it is margin left on the table; above it is a risk to enrollment. 131 of the 1,181 groups are in the band. The rest show up in order, with the competitor move that changed the picture and the own offer that dropped out of the storefront.
The watchmaker photographs the part. The catalog says which one it is.
A catalog of about 100,000 components, with three photos each. The first lesson came before the algorithm: in bench photos, the part filled 3% to 12% of the frame, and accuracy dropped by half — the search ended up describing the foam tray.
So the rule moved to the moment the photo is taken. At capture.calibr.ch, the camera only fires when the part fills the frame the right way. Whoever takes the picture doesn't need to understand the rule, just follow the arrow. The bad photo never gets to exist.
Guides people open when they're about to decide.
A family of local guides — where to eat, where to get treated, who fixes the house — built from public data and written for someone who arrives from Google at seven in the evening looking for "pizza in Recife". Nobody browses: they open the list for their city and call.
The first one, SaborCidade, went from 2 people a day in July to over 800 in September, with no paid media. 19% of page views end in a contact: WhatsApp, phone, website or map. That's what the advertiser buys, and their dashboard shows the real number.
From 3 million lines to 25,000.
The portal ran on PHP with Zend Framework 1 and an embedded Revive ad server. Counting everything that shipped along with it on disk, it was 3,064,825 lines in 8,374 files. The new version, in Go, with the site, newsroom and newsletter, is 25,422 lines in 179 files.
The gain didn't come from writing the same code shorter: our own code halved, from ~43,600 to ~20,900 lines. The rest came from no longer carrying 2.3 million lines of third-party code and 685,000 lines of generated files stored alongside the program. Fewer parts to update, fewer doors to watch.
| What it was | Lines in legacy | What it is today | Lines in the new version |
|---|---|---|---|
| PHP application (controllers, models, views) | 22,493 | Go application | 12,370 |
| Own front end (CSS, JS, standalone pages) | 21,140 | HTML templates (site, admin, newsletter) and own CSS/JS | 6,837 |
| Revive Adserver | 1,370,831 | — | 0 |
| Zend Framework 1 and PHP libraries | 774,459 | Third-party (Editor.js, jssocials, jQuery Validate) | 314 |
| Generated data (sitemaps, saved newsletter issues) | 685,340 | SQL (schema, migrations, seeds) | 1,701 |
| Third-party in public/, prototypes, campaigns, documentation | 190,562 | Tests, documentation, deploy, configuration, inherited | 4,200 |
| Total | 3,064,825 | Total | 25,422 |
Linking springs with rods: how much firmer, and where.
A pocket-spring mattress sags because every spring works alone. The simulation ties the spring tops together with steel rods, helical wire or plastic plates inside the comfort layer, in 15 patterns, and computes firmness, edge support and how much of a partner's movement crosses the bed. It models the 609 springs of a 138 × 188 cm Brazilian double, SAE 1070 steel, D30, D45 or latex foam, and the weight of each body segment from the Dempster and Winter tables.
The most surprising result: linking springs in pairs, the obvious idea, barely changes anything, because each pair becomes a seesaw. Interlocked C shapes make the mattress 13 times firmer with 4.6 kg of steel, without passing movement to the other side. A triangulated mesh is the firmest, but carries 16% of a push across the bed. The model runs on our server, in Go; the page only receives the numbers it draws.
Four habits, no slogans.
Measure before promising
Every number that goes on a page comes with its source, its date and a way to redo the math. Third-party estimates appear as estimates, with the name of whoever made them.
Publish the correction
When one of our numbers was wrong, the page says what it was, what it is and why. That's what happened with vibration compression and with the scaling of certified search.
Fewer parts
Go, a relational database and pages that arrive ready from the server. Every dependency is one more door to watch; the Baguete migration removed 2.3 million lines of them.
Let the client check
The checker ships with the system. Whoever receives the data, the report or the vote can verify it without having to trust us.
Twenty-six years of real problems.
The first big system was for a hospital, in Parobé, in 2000. Then came a university hospital, web hosting, email marketing, retail, a real-estate lender, agroforestry research and a newsroom. The technology changed several times. The kind of question didn't: scale without breaking, cost less, know when the number is wrong.
Who builds it: Andrey AndradePhysics and mathematics at UFRGS, software engineer since 2000. Everything on this site was written by me. andreyandrade.com →
Tell us the problem. We'll say if we can measure it.
We don't sell packages. First we understand what you need to prove, and to whom. If it isn't a job for us, we say so in the first reply.