Writing
Every number on this page can be checked
4 min read
There is a version of this website that says 50,000+ downloads a month, eight years of experience and trusted by leading organisations across Nepal. It would take an afternoon to write and nobody would ever check it.
We did not build that one, and the reasons are more practical than moral.
A claim you cannot check is a claim that does nothing
The download figure on this site is read from npm and pub.dev while the page is being built, then rounded down to the nearest thousand. It sits next to a link to the registries.
That link is the whole point. A number beside a link to the page that disproves it is worse than no number — and a number beside a link that confirms it is doing work that no adjective can do. The rounding goes down for the same reason: the only version of the figure we can defend on any given day is the one that is lower than the truth.
Three things we took off the site
An age. The company had a founding year on it. It came off — not because it was wrong, but because a number saying how long we have existed is an argument about seniority, and the arguments worth making are about output.
A team size. Two words, and it would have been out of date within a month of hiring.
"Quoted in full." This one was the uncomfortable one. The testimonials page said nothing had been trimmed. Three of four quotes had been shortened, and one of them spliced two non-adjacent sentences together. Nobody did that dishonestly — the shortening happened, and the sentence claiming otherwise was written separately and never re-checked against it.
A claim written once and never checked against the thing it describes will go false on its own, quietly, and stay that way.
The fix was not to delete the sentence. Each testimonial now stores the full published quote as the record, plus an optional excerpt that a test proves is a contiguous substring of it. Shortening can no longer become rewriting, because the build will not let it.
What we did instead of remembering
Discipline that lives in someone's head decays in the first busy week. So the rules that matter here are enforced by the build:
Contrast is computed, not written
Ratios are calculated from the tokens rather than typed into a comment. Two hand-written ratios in an early document were simply wrong, which is how the check came to exist.
Every sector names an engagement
A list of industries is the easiest claim on a website to inflate. Each one here cites a specific piece of work, and a test resolves that citation against the records. A sector nothing backs fails the build.
Mission statements are refused certain words
A test rejects sixteen terms read off competitors' pages — innovative solutions, world-class, customer first. It cannot judge whether a sentence is true, but it can refuse the vocabulary that lets a sentence avoid being either.
Outward links are checked, but not by the build
A test that requests somebody else's DNS fails on a train and behind a proxy, and neither says anything about our code. Links are verified by a separate command, on demand.
The part that is genuinely expensive
It is slower. Writing "we work with clients across healthcare, finance and education" takes ten seconds. Writing a list where every entry names an engagement takes an afternoon and produces a shorter list.
It also means the site says less than it could. There are six sectors on the company page because six is what the work supports. There is one case study in full because one is what we have permission to write up. Every competitor page we read while building this has more of everything.
We think the shorter version is worth more, for a reason that has nothing to do with virtue: it is the version that survives the meeting. A number you can defend when somebody asks where it came from is worth more than five you have to explain.
Start here
Tell us what you are building
Or what is breaking, or what has to go faster. You will get a straight answer from an engineer who would do the work.