The story · Chapter 8 of 14
Sep 29 to 30

Shipping it

The first piece was live five hours after the first idea. The rest was learning to ship well.

5 hoursfrom the first message to the first piece live
21pull requests to the site, #3 to #23
5.9 → 1.2 MBwhat a phone downloads for the window
4 pieceson the site: the landing, the room, Light roads, the plain map

How a change gets onto the site

Every change takes the same path. Export only the files the page actually loads, each named by a fingerprint of its bytes. Open a pull request. Wait for an explicit “approved” with its number. Then merge, build, restart and check the public pages.

Weight

it doesn’t show up on mobile. :(

Sep 29, 22:20

It did show up, just slowly. The window first weighed 5.9 MB, and its 4 MB parcel file wasn’t being compressed on the way out. The shapes were rewritten to 0.8 MB with every point within an inch and a half of the original, and the rivers went from 2.8 MB to 0.1. A still picture shows first, and phones stop redrawing while nothing moves. A phone now fetches about 1.2 MB. Light roads went from 9.2 MB to 1.9, and Glass rain from 11.9 to 2.0.

Asked whether the big downloads would blow up the costs, the answer was caching: every data file is named by its contents and cached for a year at the edge, and every page is always fresh. A changed file gets a new name, so nothing stale is ever served.

Guardrails, learned the hard way

  • A background rebuild once worked from a stale copy and quietly dropped the navigation. Since then, every pull request is checked for its features by name before it goes up.
  • Never overwrite a cached file under the same name.
  • The site credits itself, “mccracken.properties, brought to you by Fork Development Corp.” The pieces name no other product; this story names Taxr, because none of it happens without it.

A workshop, then a factory

On the second afternoon the work moved into a private repository on the company’s studio machine. Every edit is made there, so a private preview shows reality on refresh. A preview server runs only while a session does, and stops by itself.

The checks drive each piece’s real code against the real data, without a browser: the camera’s path, the timings, the heartbeat’s beats, the facts and their glow, the buttons. A separate check compiles every shader on a real GPU. Final judgement stayed with a person in a real browser: “no chrome i’ll verify it.”

Each piece has a playbook: how it’s built, what it’s tied to, and what to do when the next delivery comes from the county. The rain’s playbook includes what to do if that update is dull.

Ship

The landing was tagged three times on the way: a first candidate at 15:58 (“honestly really good”), “almost there” at 16:44, and the production candidate at 19:57 (“gorgeous”). At 20:40 came the line, and pull request #23 made the landing the front page, moved the room to /window and put the plain map at /plain. It was live and healthy five minutes later.

ship it. this is mccracken.properties

Sep 30, 20:40

Still in the idea bank

  • Timing the landing to the voice: the storyboard has a version that lands with it at 38 seconds.
  • A map of where the ground moved, so the room can light that fact too.
  • Combined parcels, done properly.
  • The sun moved by a laptop’s lid.
  • The past and the future at two addresses.
  • And whatever the next delivery from the county turns up. The standing issue is called “Never stop riffing.”
  • #3: the first piece live, at /tron.
  • #4 the window as the front page; #5 Light roads.
  • #6 Glass rain; #7 parcel links; #8 one nav for all three.
  • #9 the window from 5.9 MB to about 1.2 on phones, and a year of caching.
  • #10 the nav restored; #11 addresses on hover; #12–#14 slimmer pieces, and the intro film tried and removed.
  • #15 the moving share card; #16–#18 the credit, and nothing named that shouldn’t be.
  • #19 the title card folds on phones.
  • #22 and #23: one still for every share, and the landing as the front page.