Stickybit · Porto Alegre, Brazil · since 2004

Software with a receipt.

We build systems for people who can't afford to be wrong in the dark: retail, healthcare, newsrooms, research. Every delivery comes with proof of what it does — how much it misses, what it leaves out, what it costs. When the math changes, we publish the correction.

In September we corrected one of our own numbers from 36.8× to 23.6×. The page says what it was, what it is, and why.

Receipt · E-commerce

PromiseAI assistants find and understand your store
How we prove itwe read the store the way the bot reads it, item by item
4 of 4
large retailers with no machine-readable barcodeaudit · Sep 2026
If the math changeswe publish the correction
open the section →
Where to start

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.

Legacy systemAn old system that cannot stop.

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.

E-commerceMy store does not show up for AI.

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.

Regulatory deadlineA requirement with a date.

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.

Contested numberA number someone disputes.

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.

Live now

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.

E-commerce
Your next customer has no eyes.

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.

4 of 4large retailers audited with no barcode a machine can read
Certified telemetry
Smaller measurements, with proof.

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.

23.6×smaller, on bearing vibration, with no measurement outside the tolerance
Post-quantum
Today's lock has an opening date.

What the quantum computer breaks, when the estimates say it will, and what it costs to switch.

95 µsfor the new key exchange, against 63 µs for the current one
FHE
Do the math without opening the safe.

A live encrypted election and 16 tests on where computing without seeing the data works, costs, or stalls.

0votes the server had to see to count the ballot box
0k-proof
Prove it without showing it.

Prove you are over 18 without showing your date of birth. A cave to try it and four measured proofs.

164 Bone age proof, made in 26 ms and checked in 1.4 ms
Verification
Verdicts that hold up when contested.

Producing reports, assessments and code became almost free; checking did not. We audit the yardstick and return three answers: meets, fails or undecidable.

33 of 198winners the most common rule invented comparing a program with itself
Research notebook
Thinking out loud, hands on.

Agreeing costs less than objecting · Green is silence, not a certificate · The draw made the call

9entries, each with a specimen to play with
In progress

What's on the bench right now.

Three projects at different stages: one for a client in Switzerland, one product of our own, and a migration. The numbers are the ones measured through the end of September 2026.

Calibr · Switzerland · visual search for watch partsprototype live

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.

~100,000parts in the catalog, 3 photos each
53% → 24%right answer in the top 5, with raw bench photos
69.3%right answer in 1st place, on 482 shop photos
≥ 50%of the frame filled by the part, required when the photo is taken
Open capture.calibr.chbest on a phone: it asks for the camera
4% of the frame "move closer" fires on its own beforethe photo goes in, the search misses nowthe bad photo doesn't exist
The gauge at the bottom is how much of the frame the part fills. The threshold comes from the catalog's photo specification; the accuracy drop with raw photos is measured in the project documentation.
City directories · Brazil, Mexico and the US · our own productlive and growing

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.

336,409restaurants, bars and cafés in 230 cities
20,000people a month, at last week's pace
9,400contact clicks a month
92%of visits come from Google
SaborCidadeBR SaborCiudadMX SavorCityUS HealCityUS SaludCiudadMX CasaCidadeBR SaúdeCidadeBR AutoCidadeBR · 108,000 businesses
People per week on SaborCidade Google Analytics, through Sep 26, 2026 188Aug 16 753Aug 23 1,098Aug 30 1,957Sep 6 3,725Sep 13 4,767Sep 20 week starting on
In the week of September 20–26: 4,767 people, 8,178 page views and 1,581 contacts. The daily numbers are on the advertising page (in Portuguese).
Baguete · tech news portal · migrationin progress

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.

120×fewer lines overall
115 → 1.7 MBof code on disk
8,374 → 179files
2.1×less code of our own
Non-blank lines, on the same scale legacy · PHP / Zend 1 + Revive Revive (ads) · 1.37 M Zend and libs · 774 K generated · 685 K our own code · 43.6 K new · Go 25,422 lines: the sliver on the left 3,064,825 → 25,422
Count of non-blank lines by category, across both project trees. In the legacy system, 74% of the lines were third-party (Revive, Zend, libraries in public/) and 22% were generated files.
What it wasLines in legacyWhat it is todayLines in the new version
PHP application (controllers, models, views)22,493Go application12,370
Own front end (CSS, JS, standalone pages)21,140HTML templates (site, admin, newsletter) and own CSS/JS6,837
Revive Adserver1,370,831—0
Zend Framework 1 and PHP libraries774,459Third-party (Editor.js, jssocials, jQuery Validate)314
Generated data (sitemaps, saved newsletter issues)685,340SQL (schema, migrations, seeds)1,701
Third-party in public/, prototypes, campaigns, documentation190,562Tests, documentation, deploy, configuration, inherited4,200
Total3,064,825Total25,422
How we work

Four habits, no slogans.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Who with

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.

Contact

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.

algorithms@stickybit.com.br WhatsApp Porto Alegre, Brazil · we reply within one business day · English or Portuguese