2026-08-11

Untwine Is Out, and So Is Three Weeks of Everything Else

I haven't written one of these since July 22nd. That's not because nothing happened — it's because too much did, and every evening the choice was write about it or build the next thing. I kept picking the next thing. So this is the catch-up.

Untwine is on the App Store

It went live yesterday. It's free, there's no account, and it runs on both iPhone and Mac from one codebase.

Untwine is a to-do app for the tasks you keep not doing. Not the ones you forgot — the ones you look at every day and slide past, because they're hard to face rather than hard to understand. So how hard something feels is a real field in there, sitting next to priority and effort instead of being guessed from them. A task can take two minutes and still be the worst thing on your list. An ordinary list can't show you that gap, and the gap is the whole point.

The rest of the time it stays out of the way. Buying milk never gets asked how it feels.

The Mac version was the part I didn't plan on. It started as "the layout should probably not break in a wide window" and ended up a real second shell — a sidebar, menu commands, the keyboard shortcuts you'd expect. Getting the two to agree meant taking 232 screenshots across both platforms and reading every one of them, twice, because the second sweep found things the first didn't. Most of what I fixed in the last stretch came out of that pile rather than out of my own head.

Sleep Map learned the rest of the world

At launch Sleep Map knew a slice of the world well and the rest not at all. Since then it's been a curation pipeline running most days: 4,105 cards published, with photographs and a written night for the places behind them.

The interesting part was how much of that work was catching my own pipeline lying. One audit found 161 stories that were about somewhere else — right name, wrong continent. Another found 444 "photographs" that weren't photographs at all. Neither of those was visible from the inside; both needed something adversarial pointed at the output. I've stopped treating a generated batch as done until something has actively tried to prove it wrong.

Everywhen has a daily now

1.4 is in review. The big one is a daily round — five places, generated against the actual calendar, the same five for everyone that day.

Also in 1.4: places stop being baked into the app. The catalogue used to ship inside the binary, so a new place meant a new version and a wait for review. Now new places just turn up. As a side effect the download is less than half what it was, because the app had been carrying every asset it might ever need whether or not it could show it to you.

Acadia is on Android

1.5 is out on both platforms. The Android client is native Kotlin and Compose rather than a wrapper, so getting it to parity with iOS took a while — searchable towns, the leaderboards, the explainer sheets for ranks and economy figures. Play publishing is wired into the release script now, so both stores go out in one command.

What's still in the queue

Compass is the last one waiting. Sleep Map 1.1 is built but blocked on a check I can only do on a real phone. And Ice Age Life has two new homelands and a pile of other work sitting past 1.6.

Back to it.

All devlog posts