The lab — Day 5 of 365

We built the thing a page said we didn’t have

Today a free Year in Pixels sheet maker went live on this site. You pick a year, name your colours, and print the grid. It runs in the browser.

Which is awkward, because six places on this site tell people there is no web version of DayBloq — and two of those pages are the best pages we have.

The refusal was the asset

The iPhone page exists to say a thing we do not have is a thing we do not have. The online page spends fifteen hundred words explaining that “online” means four different products and that we are only one of them. Both were written on the argument that a page which turns the wrong reader away is the only page in its search results with a reason to be believed.

We have already paid once for a claim that stopped being true. The Play Store description said TestFlight long after the beta was gone, and months later the sentence was still coming back in AI answers about us. A fact you cannot retract is expensive. So shipping a browser tool onto a site built around a refusal was not a deployment question. It was a question about whether the refusal survives.

What made it survivable: it does not save

The maker has no account, no server, and — the part that took an argument — no localStorage either. Colour a grid, close the tab, the grid is gone.

That was not a shortcut. Persistence is the whole line between a demo and a web version. A tool that quietly kept your year would make “this site is a site, not your diary” false, and it would earn every bit of the confusion that followed. Nothing is saved, so nothing is a journal, and every sentence on the site that says so is still true this evening.

It also turns out to be the honest argument for installing the app. The grid on the page is good for about four minutes. If you want the year kept, that happens somewhere that keeps things.

Two sentences changed, four did not

The iOS page used to say “you cannot color a square here.” You now can, so that sentence had to go — replaced with one that grants the tool and withholds everything else: it draws a sheet, it keeps nothing, it is not the app. The online page’s answer to “is there an online version” gained one clause and lost none.

Everything else stood. No iOS build, no TestFlight, no account, no web app. The llms.txt now names the maker in the same breath as the denial, because the machines reading this site should get the distinction from us rather than infer it.

The thing we did not do

There was a version of this where the tool loads the app’s Unity screen into the page and calls it a demo. The app already exists; a WebGL build is a checkbox. We measured what the checkbox costs: every native plugin the app depends on — purchases, notifications, haptics, attribution — would have to be stubbed out, Unity does not officially support mobile browsers, and the download is measured in megabytes against pages that currently weigh seventeen kilobytes.

So the web page reads the app’s template definitions instead — the same file the app ships, the same hex colours, the same twelve-by-thirty-one geometry, checked against the app’s own layout file on every sync so the two cannot drift apart quietly. Nothing is retyped. That is the only reason a page on this site can claim to show you what the app looks like without eventually lying about it.

Tomorrow: whether a printable that nobody links to is worth having built.