← ALL TRIPS
RELEASE NOTES
EVERY SHIP SINCE THE FIRST PAPER PAGE · NEWEST LAST
v1THE PAPER PAGEAUG 11 2026

A static trip tracker and archive behind a shared passcode — hand-edited HTML, deployed as plain files. Everything since is this page growing up.

1.0
chaos n calm — trip tracker + archive site
The first version: trip tracker + archive as static pages, passcode at the door.
AUG 11 2026 · df3dae1
1.1
Fix deploy workflow: use env vars + pinned CLI version
The deploy pipeline stands on its own — pinned CLI, secrets via environment.
AUG 11 2026 · 2d26902
v2THE DATABASE ERAAUG 12 2026

The content moves into Supabase and the passcode retires for real Google sign-in. Trips become data; the site becomes an app with an edit UI, a calendar, and Claude in the chat.

2.0
Move trip content to Supabase: schema, seed, shared renderers, edit UI, Claude chat
Trip content moves into Supabase: one schema, seeded data, shared renderers, an edit UI, and Claude wired into chat.
AUG 12 2026 · aec5d3c
2.1
Fix render-before-listener race with DOMContentLoaded gate; cache-bust shared assets
Pages stop racing their own scripts — rendering waits for every listener; shared assets cache-bust.
AUG 12 2026 · 4430035
2.2
Full UI creation: new trips, budget/day/section editing, archive editing, trip delete
Everything becomes editable in the browser: new trips, budgets, days, sections, archives, delete.
AUG 12 2026 · e5ae01a
2.3
Replace passcode gate with Google sign-in; lock reads behind RLS
The passcode retires. Google sign-in plus row-level security makes reads real auth, not decoration.
AUG 12 2026 · 38554eb
2.4
Switch OAuth to PKCE so no token ever lands in the URL
Sign-in switches to PKCE so a token never lands in a URL, a history entry, or a screenshot.
AUG 12 2026 · b44b326
2.5
Derive the landing-page badge from trip dates so it can't go stale
LIVE / UP NEXT badges derive from trip dates, so they can never go stale.
AUG 12 2026 · c92d5d4
2.6
Add CALENDAR view: month, week, year, agenda over trips and plans
A CALENDAR view arrives: month, week, year, and agenda across every trip.
AUG 12 2026 · 99a2ea9
2.7
Chat: animated working indicator, today's date, and the ability to write plans
Chat learns the date, shows that it is working, and can write plans.
AUG 12 2026 · 30605b1
2.8
Drop standalone events: this is a trip tracker, not a general calendar
Standalone events leave — this is a trip tracker, not a general calendar.
AUG 13 2026 · cb891a7
2.9
Keep dev-only files off the CDN
Dev-only files stop shipping to the CDN.
AUG 13 2026 · 16260c6
v3THE OVERHAULAUG 13 2026

Sixteen workstreams in one wave: stops-first trips, THE SHELF, structured money, realtime check-offs, the offline PWA, the world map, the close-out ceremony, the document vault, and Judy growing threads, streaming, and a confirm gate.

3.0
Trip overhaul: stops-first trips, the shelf, AI suggestions, attachments
Trips become stops-first with real dates per destination; finished trips move to THE SHELF; AI suggestions and attachments arrive.
AUG 13 2026 · 965d56a
3.1
Fix mojibake in trip stubs from the version bump
A version bump had mangled accented characters in the trip stubs — fixed.
AUG 13 2026 · ff47c7d
3.2
Shelf polish, trophy redo, cleaner attach flow
Shelf polish, redoable trophies, and a cleaner attach flow.
AUG 13 2026 · db3d098
3.3
Unearned trophies: upcoming trips show their emblem greyed out
Upcoming trips show their trophy greyed out — visible, not yet earned.
AUG 13 2026 · 74a33e6
3.4
Working-state that survives, trophies on trip pages, saved tickets
Draft state survives navigation, trophies reach the trip pages, tickets save.
AUG 13 2026 · 2606f76
3.5
Money, realtime, offline, the map, close-out - and an assistant hotfix
The big one: structured budgets, realtime check-off sync between phones, the offline PWA, the world map, and the close-out ceremony.
AUG 13 2026 · 51b5b8a
3.6
The chat assistant grows up: context, threads, streaming, and a confirm gate
Judy grows up: trip context, saved threads, streamed replies, and a confirm gate before big writes.
AUG 13 2026 · d35e6dd
3.7
Quick actions, health check, weather, calendar feed, presence - and v13
Quick actions, the ✦ REVIEW health check, weather on day headers, a private calendar feed, and presence.
AUG 13 2026 · aa367b6
3.8
Assistant docks to the right instead of covering the page
Chat docks to the right on wide screens instead of covering the page.
AUG 13 2026 · a37d682
3.9
Readable proposals, quick menus everywhere, map backfill CTA, mobile header
Readable edit proposals, quick menus on every surface, a map backfill prompt, and a header that fits phones.
AUG 13 2026 · f76a44f
3.10
The vault keeps every ticket, history gets a face, and miles get counted
The document vault opens — every ticket kept in private storage; history gets a browser; MILES TOGETHER starts counting.
AUG 13 2026 · 179360c
3.11
DOCS section refreshes live when a chat attachment lands without an edit
The DOCS section refreshes live when a chat attachment lands without an edit.
AUG 13 2026 · 785b40f
3.12
SW v5 — reprecache the patched shell
Service worker v5 re-precaches the patched shell.
AUG 13 2026 · 1505b68
3.13
Chat can paint: generate_image tool backed by Gemini, filed in the vault
Chat learns to paint — a Gemini-backed image tool that files its work in the vault.
AUG 13 2026 · 0627630
v4THE ASSEMBLYAUG 13 2026

The site gets a face: a 16-bit pixel world painted by Gemini, a hand-drawn cast, Warm Paper design site-wide, and in-world dialogs replacing every browser popup.

4.0
The Assembly: pixel-art identity across every surface, painted by Gemini
The Assembly lands: a 16-bit pixel identity painted by Gemini across every surface.
AUG 13 2026 · fbee9ab
4.1
Review notes: clean head crops, bigger heads and trophies, wrap the chips
Cleaner head crops, bigger heads and trophies, chips that wrap instead of clipping.
AUG 13 2026 · 8a809d6
4.2
Proportional heads, scene-topped shelf cards, tracker hero, duo slot
Proportional heads, scene-topped shelf cards, a painted tracker hero.
AUG 13 2026 · 72b3ad3
4.3
The duo joins the header; crew slims to the two of us; REDO paints scenes
The duo joins the header; REDO learns to repaint whole scenes.
AUG 13 2026 · 45ecd30
4.4
The duo leans on the title, and nobody loses a shoulder to the keyer
The duo leans on the title without the background keyer eating a shoulder.
AUG 13 2026 · 5297be3
4.5
Pull the human pixel art; the scene system and Judy stay
The AI-extracted human art gets pulled — the scene system and Judy stay.
AUG 13 2026 · f343a37
4.6
No trace of Judy on screen; her sprites wait in the wings
Judy steps off screen too; her sprites wait in the wings.
AUG 13 2026 · 66c0ba6
4.7
Banner-crop the trip-page hero (8:5 -> 2:1) so the itinerary stays the star
The trip-page hero banner-crops so the itinerary stays the star.
AUG 14 2026 · 9a4c754
4.8
Two cuts per trip: a bold card thumbnail for the shelf, the vista for the hero
Every trip gets two cuts: a bold card for the shelf, the wide vista for the hero.
AUG 14 2026 · e48bb2e
4.9
Tracker hero becomes an 84px letterbox strip
The tracker hero slims to an 84px letterbox strip.
AUG 14 2026 · 50b69b5
4.10
Hero collapses on scroll: full 8:5 up top, pinned 48px title bar after
The hero collapses on scroll — the full scene up top, a pinned 48px title bar after.
AUG 14 2026 · b03475b
4.11
Edit sheet: sort order gone, PIXEL ART row gains a ↻ SCENES repaint
The edit sheet drops sort-order noise and gains a ↻ SCENES repaint.
AUG 14 2026 · 584523b
4.12
Each art piece repaints on its own: ↻ PIN, ↻ HERO, ↻ CARD
Each art piece repaints on its own: ↻ PIN, ↻ HERO, ↻ CARD.
AUG 14 2026 · aa1ee4c
4.13
The pin retires; calendar bars go quiet grey; the sticky stack learns manners
The circular pin retires, calendar bars go quiet grey, sticky headers learn manners.
AUG 14 2026 · 1d6bcc6
4.14
The scratch map learns two views: ROUTES and COUNTRIES
The scratch map learns two views: ROUTES and COUNTRIES.
AUG 14 2026 · 7eecdee
4.15
The cast returns, drawn by hand: duo on the title, Judy on the chat
The cast returns, hand-drawn this time: the duo on the title, Judy on the chat.
AUG 14 2026 · 8d6be16
4.16
Header duo goes waist-up: a CSS window over the full sprite
The header duo goes waist-up via a CSS window over the full sprite.
AUG 14 2026 · ee8f71c
4.17
The duo takes the right end of the header
The duo settles at the right end of the header.
AUG 14 2026 · bb630f7
4.18
Countries get retro tones under a pixel dither; Judy wags while she works
Visited countries take retro tones under a pixel dither; Judy wags while she works.
AUG 14 2026 · 144a711
4.19
The map gets a camera: wheel, pinch, drag, double-click, ⟲ WORLD
The map gets a camera: wheel, pinch, drag, double-click, ⟲ WORLD.
AUG 14 2026 · e5e95ef
4.20
Art history + undo, cast references, the duo app icon, chunky cards
Art history with undo, cast reference images so repaints keep the right faces, the duo app icon.
AUG 14 2026 · 77cc3a5
4.21
Warm Paper: the pixel direction goes site-wide; Judy wags for real
Warm Paper: the pixel direction goes site-wide, and Judy’s wag becomes a real animation.
AUG 14 2026 · 546f773
4.22
Retire the calendar design handoff — superseded by the pixel direction
The old calendar design handoff retires, superseded by the pixel direction.
AUG 14 2026 · 96ec039
4.23
Warm Paper reaches the chrome the handoff skipped: editors, menus, vault
Warm Paper reaches the chrome the handoff skipped: editors, menus, the vault.
AUG 14 2026 · fcaeccf
4.24
Native confirm() retires: destructive asks get an in-world dialog
Native confirm() retires — destructive asks get an in-world dialog.
AUG 14 2026 · 8f1fe74
4.25
"The assistant" retires from the copy — she's Judy everywhere now
“The assistant” disappears from the copy; she’s Judy everywhere.
AUG 14 2026 · f2a4eb8
v5SCHEMA V2 & NIGHTFALLAUG 14 2026

The content model grows up into destinations, places, stays, and activities; a 56-finding usability audit gets fixed in a day; and the whole paper world learns what it looks like after sunset.

5.0
Schema v2: the content documents grow up — destinations, places, stays, activities
Schema v2: the content documents grow up into destinations, places, stays, and activities.
AUG 14 2026 · 0c99fd5
5.1
The editors grow real controls, rows grow a detail card, TBD learns to derive
The editors grow real controls, rows get a detail card, TBD prices derive instead of being typed.
AUG 15 2026 · f3fbce9
5.2
Judy sometimes hands over ops as a JSON string — unwrap them everywhere
Judy sometimes hands ops over as a JSON string — now unwrapped everywhere.
AUG 15 2026 · 0b9996a
5.3
Native alert() retires: every message speaks in-world now
Native alert() retires; every message speaks in-world.
AUG 15 2026 · e75e3ca
5.4
The detail card learns ✎ EDIT
The detail card learns ✎ EDIT.
AUG 15 2026 · a598740
5.5
The place dropdown dies: one WHERE field, the place record is plumbing
The place dropdown dies — one WHERE field; the place record becomes plumbing.
AUG 15 2026 · e3b73dd
5.6
Solo activities wear their face
Solo activities wear their person’s face.
AUG 15 2026 · 35de36b
5.7
The detail card leads with a pixel map
The detail card leads with a pixel map — OSM tiles, geocoded once, ever.
AUG 15 2026 · b74fc03
5.8
Nothing you typed or ticked gets lost anymore
From the 56-finding audit: nothing you typed or ticked gets lost — dirty check-offs push before pulling, edits refuse stale versions.
AUG 15 2026 · 3cd567b
5.9
Deploys actually arrive now
Deploys actually arrive — the service worker’s stale-shell trap is fixed for good.
AUG 15 2026 · f501b7e
5.10
Nothing fails to a blank screen anymore
Nothing fails to a blank screen anymore — honest offline and error states everywhere.
AUG 15 2026 · 3bb4e79
5.11
The app fits the hand that holds it
The app fits the hand that holds it — touch targets, a keyboard-safe composer, Android Back.
AUG 15 2026 · 3b39807
5.12
Readable in the sun, usable without a mouse
Readable in the sun, usable without a mouse — contrast and keyboard access.
AUG 15 2026 · 2e95c4f
5.13
The app teaches the truth about itself
The app teaches the truth about itself — honest labels and hints.
AUG 15 2026 · 5321e76
5.14
Every asset steps to v33 for the audit release
Every asset steps to v33 for the audit release — 56 findings found and fixed the same day.
AUG 15 2026 · 616bb0e
5.15
The nightfall brief waits in the drawer
The nightfall brief waits in the drawer — dark-mode groundwork.
AUG 15 2026 · b44ff0c
5.16
The same paper world, after sunset
The same paper world, after sunset: full dark mode — umber paper, lit ink, hard shadows kept.
AUG 15 2026 · b2f679f
5.17
A way to disagree with the phone
A way to disagree with the phone — a manual light/dark override.
AUG 15 2026 · fe2554e
5.18
The scenes learn what they look like after dark
The scenes learn what they look like after dark — night variants of the trip art, painted on demand.
AUG 15 2026 · 2140fc5
5.19
The postcard keeps the destination's hours
The postcard keeps the destination’s hours — night art follows the trip’s clock.
AUG 15 2026 · f6f7f2f
5.20
Every asset steps to v34 for the nightfall release
Every asset steps to v34 for the nightfall release.
AUG 15 2026 · 4eb0ad8
5.21
The postcard was reading the departure board
The postcard was reading the departure board — day/night now keys to the destination’s timezone, not the device’s.
AUG 15 2026 · 9b47715
5.22
The stubs catch up to the shell at v35
The trip stubs catch up to the shell at v35.
AUG 15 2026 · d46aaca
v6DREAMSAUG 16 2026

A trip can exist before it has dates — sketched SOMEDAY trips that wake up with one tap and shift every day onto the real calendar.

6.0
The edit sheet wears its bars on the card's edges
The edit sheet wears its bars on the card’s edges — the flush shell with sticky header and footer.
AUG 16 2026 · 696226b
6.1
A trip can be a dream before it's a date
A trip can be a dream before it’s a date — SOMEDAY trips with sketched days, and ✦ LOCK IT IN shifts every day onto the real calendar.
AUG 16 2026 · 94f6d4b
6.2
The confirm button puts Judy's dropped brace back
The confirm button puts Judy’s dropped brace back — a proposal-card fix.
AUG 16 2026 · d3358a2
v7GUESTSAUG 19 2026

The two-of-you site learns to host: read-only guests with per-trip keys, sprites of their own, a place on the WHO row — and the HYROX trip splits in two at the Acela door.

7.0
A guest gets a key that only opens one trip
A guest gets a key that only opens one trip — read-only guests with per-trip invitations. Matt joins the cast.
AUG 19 2026 · 09fc93f
7.1
A member can borrow a guest's eyes for a minute
A member can borrow a guest’s eyes for a minute — the 👁 view-as lens.
AUG 19 2026 · cf4ff97
7.2
The lens keeps its stamp on every page
The lens keeps its stamp on every page — a view-as fix caught live on production.
AUG 19 2026 · c0f0ba9
7.3
The WHO row makes room for invited guests
The WHO row makes room for invited guests — a guest can be put on an itinerary item, face and all.
AUG 19 2026 · a6ad20e
7.4
One trip becomes two at the Acela door
One trip becomes two at the Acela door — HYROX DC → NY splits into HYROX DC ’26 and NEW YORK ’26, art and documents each following their half.
AUG 19 2026 · 1c9b80d
7.5
The landing rows show who else is coming
The landing rows show who else is coming — guest heads ride the trip rows.
AUG 19 2026 · ed02ff6
7.6
The site learns to say hello and remember its own story
A first-visit welcome greets each guest with their own sprite at full size — and this page: every commit since the first paper page, versioned.
AUG 19 2026 · 00fba16
7.7
The welcome drops the wagging finger
The guest welcome stops warning about what can’t be touched and just says what’s here to follow along with.
AUG 19 2026 · ddb040d
7.8
The welcome says it in two lines
You’re added, and that’s you in pixels — the welcome trims to exactly that.
AUG 19 2026 · fb071d1
7.9
The lens always gets the welcome
Viewing as a guest now shows their welcome every time — previewing it is the point — without ever burning the guest’s own first-visit flag.
AUG 19 2026 · 739bb58
7.10
Shelby joins the cast
A second guest gets her pixels — Shelby is on the roster, ready to be invited onto a trip.
SEP 1 2026