Support

What changed.

A running record of what this site has done, including the parts that were wrong. Most of the interesting entries are things that were fixed after being measured rather than noticed, which is the honest way round.

The payment plan calculator now works in all four languages

Arabic joins English, French and Spanish, so the tool that turns a monthly payment back into a price reads and answers in whichever language you arrived in, right to left included. The figures come out identical in all four to the cent, and a comma works as a decimal where that is how you write numbers. One detail that took some care: Arabic changes the form of a counted noun depending on how many there are, and it has six of those forms where most languages have two, so the sentences are phrased in a way that stays correct whether you are looking at two payments or twenty four.

The payment plan calculator now reads in Spanish as well as French

Everything the tool says is Spanish now: the questions, the schedule, liquidating it early, the comparison against a rate you already pay, and the late fee scenario. It takes a comma as a decimal, so 24,99 works, and the figures come out identical to the English page to the cent. One choice worth being open about: the site's Spanish leans towards Spain elsewhere, but there was no precedent for the money words, so the tool says tasa anual and pago inicial, which read the same wherever you are, rather than the forms that would sound local to some readers and odd to most. Arabic is the last one left.

The payment plan calculator now reads and answers in French

It existed in English only, which is a strange thing for a tool whose whole point is that the number you are shown is not the number you pay. It is French throughout now: the questions, the schedule, the early payoff, the comparison against a rate you already carry, and the late fee scenario. It takes a comma as a decimal, so 24,99 works, and the figures come out identical to the English page to the cent, which is checked rather than trusted. One small thing that would have been easy to miss: how often a payment falls was a word buried in the calculator's own code rather than in the translations, so the French page would have said twenty four paiements monthly. Spanish and Arabic are next.

The real price calculator now exists in all four languages

Spanish and Arabic join English and French, so the tool reads and answers in whichever language you arrived in. The same sum gives the same figures in all four, which is now checked rather than assumed. Fixing it turned up something latent: the rule for whether a reader writes decimals with a comma was a private copy inside two different calculators, and the copies had already drifted apart. One listed Arabic and the other did not, so the same number typed into two tools on the same page would have been read two different ways.

A fifth tool, and this one is simple: which pack is actually cheaper

A shelf hands you 340 g for one price and 1.2 kg for another and no way to compare them while you are standing there. Put both in and it converts the units and ranks them per 100 g, per litre or each. It also says when the biggest pack is the worse buy, which happens more often than people expect and is the assumption most shopping runs on. Weight and volume are never divided into each other: if you put a kilogram next to a litre it says so rather than hand you a confident wrong answer.

A fourth tool: read the terms for me

Paste a terms of service or a privacy policy and it tells you how long it is, how many minutes that is to read, how hard it is in plain reading-level terms, and which clauses are in there: automatic renewal, arbitration, class action waivers, no refunds, a licence to whatever you post. Each one comes with a line on what it means and the sentence it found it in. It finds language rather than meaning, so it is a way of knowing where to look in nine thousand words rather than a substitute for reading them, and it says so on the page. The text never leaves your browser, which matters more here than on the other calculators, because the thing you are most likely to paste is a contract somebody sent you.

The identifier is a tool again

It asks you to tick whatever you recognise on a page that is bothering you, and it had grown to eighty four things in one undifferentiated column on a page six thousand pixels tall. Nobody reads to the bottom of that looking for their situation. There is a filter now, so typing cancel leaves five lines instead of eighty four. The list is grouped by which part of a page the problem is on, the groups deliberately mix several patterns so the heading does not hand you the answer, and no two neighbouring lines come from the same pattern for the same reason. On a phone the answer rides along in the bar at the top instead of sitting thousands of pixels above whatever you are reading.

The real price calculator speaks French, and reads French numbers

The first of the three calculators is translated. Translating it turned up a bug the English page could never have shown: a French reader typing a tax rate of 14,975 was told it was not a number, because the parser assumed a comma was grouping a thousand. It is fourteen point nine seven five in French and fourteen thousand in English, and the string alone cannot say which, so the page's own language now decides. Amounts and percentages are written the way the reader writes them too. Spanish and Arabic are next, and are now a matter of adding words rather than changing code.

The privacy page is readable in four languages

It says what this site knows about you, which is almost nothing, and it now says it in French, Spanish and Arabic as well. That page is the one a careful reader opens before deciding whether to pay, so having it only in English was a strange thing to ask of three quarters of the languages this site speaks. Terms is the last one still English, and until it is translated the link to it honestly stays English rather than pointing at a page that does not exist.

The refund page exists in the language you are reading

The checkout page in French already told you that you could ask for a refund, in French, and the link went to an English page. Same in Spanish and Arabic. Promising something at the moment someone decides whether to hand over a card, and then delivering it in another language, is a small thing that reads as a large one. The refund page is now written in all four languages, and the link follows you. Privacy and terms are still English and their links honestly say so by staying English, rather than pointing at a translation that does not exist.

Five more patterns, and a check that the sources are still there

The field guide went from twelve patterns to seventeen. The new ones are forced continuity, bait and switch, the account you cannot delete, personalised pricing, and in-game currency. Manufactured scarcity was on the list and was dropped, because the fake urgency page already covers stock counts and two pages on one subject help nobody. While adding the citations, a check found that two of the ones already published returned nothing: a dead link on a page that tells you to go and read the source is the same failure the guide is about. Both are fixed, and all twenty-four are now checked automatically.

The typefaces are served from here now

The fonts came from Google's font service, which sets no cookie and is not analytics, and still meant that Google's servers saw your address every time you opened a page. Both families are under a licence that allows a site to host them, so they are hosted. Outside the checkout, a page of this site now contacts nothing but this site.

The footer said No tracking while Stripe fingerprinted every visitor

Measuring what the live site actually loads, rather than reading the source, turned up something this site had no business doing. Stripe's script was on the home page, although nothing on the home page charges anything, and it set an identifier that lasts about a year on anyone who arrived. Because the cookie sat on this domain, it then followed the reader to every game and every calculator. Stripe now loads only on the checkout, where it is doing a job. Everything else sets nothing at all. There is a test that keeps it that way, because a claim in a footer is a promise.

Privacy, terms and refunds exist

A site taking real payments should say what it keeps, what you are agreeing to, and how to get your money back. Everything factual on the privacy page was measured rather than asserted. Refunds: ask and you get one, with no window, no form and no reason required.

Text you could not read, and a language picker that did not switch language

The five dollar card rendered as near black text on a near black background in the light theme, and the checkout's error message, of all things, was the least readable thing on the page. Separately, the language picker said EN on every page in every language and English was unreachable from anywhere but English. Both are fixed, and both are now measured: one harness reads the actual painted pixels of every run of text on every page in both themes, and another follows every link in the picker and checks what the server really serves.

A light theme, and a navbar that is not a list

The site had one look. It now has two, and follows whichever your system asks for unless you say otherwise. The navigation was getting long, so it is grouped, and the language picker is a small control rather than a wall of options.

Three calculators

What your subscriptions really cost, what a price becomes once the fees arrive, and what a payment plan charges you for the privilege. They run entirely in your browser, keep nothing, and send nothing anywhere. Each one is checked against arithmetic worked out a second time, independently, because a calculator that is wrong is worse than no calculator.

Every language is a real page

French, Spanish and Arabic used to be a translation widget. They are now real pages with real addresses, which means a search engine can find them and a reader is not handed a machine translation of an argument.