Cardboard · Checklist Card
Two sessions, one shared working copy, 30 commits — everything that shipped between and (a little under 17 hours).
Legendary — the headline shipments Rare — real features Common — fixes & polish
The smallest series in the set — but it's the one that turned a dead sale-channel relabel into a real feature.
Landed in both Mark Sold and the POS register. The rule: what you gave up is the cost, not the sticker price of what you got back.
d652d2c
Trade's accent color got in line with the rest of the app instead of freelancing purple.
d0aed90
The biggest series by count, and the one everything else stands on: breakpoints, primitives, a self-enforcing CI guard, and pass after pass making every screen tablet-native without moving a single phone pixel.
The width-detection primitives every tablet decision since has been built on.
29ac277
The bottom tab bar grows a left-side rail on tablet. Phone layout: untouched, byte for byte.
213d428
Full-screen flows stopped stretching edge to edge on wide tablets.
bb39861
Captured what "done" means for tablet-native before building the rest of it.
0661c43
Cardboard stopped being portrait-only. The foundation phase closes out here.
bfea0bd
Each screen got its own sensible max-width instead of one blanket rule.
7724932
Every remaining screen got tablet treatment in one pass. The phone experience never moved.
cf090ff
Bottom sheets become centered dialogs on tablet; charts stopped stretching wide enough to look silly.
1ea8f22
Profile masonry, a two-column Storefront/Showcase, and a centered Scout chat — three screens learning to use the extra width.
7295641
Remaining full-screen forms and overlays got their tablet width cap.
70321f2
The two components every popup and form now shares, so new UI is responsive by construction, not by remembering to add classes.
4fc4959
The build now fails on device-sniffing or an un-adapted full-screen page. The rule enforces itself from here on.
0394b9e
Shipped build-plan specs archived; stale session pointers dropped.
f3abd8e
A sizing bug in the shared dialog primitive, caught and fixed.
afd74ee
Two screens the earlier passes missed, brought in line.
6f030f2
The POS flow, rebuilt around one register instead of a dashboard-plus-register split, with a single payment menu doing all the tender-picking.
Apple Cash and Cash App joined the channel list, plus a place to store your own handles.
4e808c4
Charge → pick a tile → QR or handle → mark as paid. One flow, one place.
976f79b
The Register splits into grid + cart side by side on tablet. Phone stays one column.
1e0a596
Opening a show now drops you straight onto the Register — no dashboard detour. The old dashboard screen is dead code now.
8d44a99
Clean up an empty show from the history.
2c46acd
Delete a show that actually sold something, and every sale unwinds — cards go back to inventory like it never happened.
d9b672c
One less decision on screen: the payment menu is now the only way to pick how someone paid.
1af6708
Social Layer
6 cardsIdentity, sharing, discussion, activity, and notifications — a whole social layer, plus a real security leak found and closed along the way.
Identity spine — public /u/{username}
Every collector gets a public page. The spine the rest of the social layer hangs off of.
ae0aad4Share cards + OG images
Shareable collection-value cards, rendered as real images other apps know how to unfurl.
cf1b47eData-native discussion
Comments and discussion, anchored directly to a specific card.
93dc491Comment editing + one level of replies
Edit your own comment, and reply once — one level deep, no reply-to-a-reply spiral.
6ba7987Security fix: anon-identity leak, closed
A real leak — anonymous posts were readable by direct query, bypassing the intended masking — found and fixed. Shipped alongside the admin-gated activity feed.
8cc663fNotifications
Replies, batched vote tallies, a ±20% price-swing alert, and admin announcements — all in-app, no OS push yet.
22cc79c