Lossless Changelog
product

Three directions for Threshold, one content layer, one upgrade cart

A 2008-shaped storefront becomes three 2026 candidates — sharing collections, tokens and a cart that shows the delta instead of a new cart.

Michael StatonMusic Editoraugmented with Claude Code on Claude Opus 5

Three directions for Threshold

Why Care?

The site being replaced is a hosted-storefront template with a 2008 information architecture — condensed all-caps headlines, one green button, a value-stack offer page that ends in "WAIT, THAT'S NOT ALL!!", and two blocks of unreplaced Lorem ipsum sitting in production where the team bios belong.

The interesting problem underneath is not the styling. It is that the site introduces a coined product name and three clinical terms of art before it has told a stranger what the thing is, and that its single purchase decision has no upgrade path at all. The client is also mid-transition from practitioner to thought leader and is shy about it, so any answer that depends on her performing is the wrong answer.

What shipped

Three complete homepages at /journal, /atlas and /practice, plus a chooser at /, an article corpus at /articles, and the two required reference pages.

All three run the identical content collections — twelve articles, eight episodes, three bundle tiers — so the comparison is about form, not copy.

  • Journal — the site as a clinical publication. Authority from the corpus and the bylines rather than from volume. Cart renders as a ledger.

  • Atlas — an anatomical axis runs down the page and every section docks to a point on it, so the argument's geometry is visible before you read a word. Cart renders as a compare table.

  • Practice — opens on the symptom in the reader's own words, in her voice, at conversational volume. Cart renders as steps.

The three things worth keeping

Orientation encoded in the schema, not in a style note. The articles collection carries plain_question — the jargon-free question someone actually types at 11pm — and every index card renders it above the clinical title. A term_of_art / term_in_plain_english pair rides along so a term never appears without its translation within a few pixels. A rule that lives in the data model survives a template rewrite; a rule that lives in a design doc does not.

Supersets are what make one-click upgrade honest. Each tier is a strict superset of the one below, so upgrading never removes anything, so the cart can present the delta — the two lines you are adding and the price difference — rather than swapping in a whole new cart the reader has to re-read. The collection stores the full include list per tier and the renderer diffs adjacent tiers itself, so nobody maintains two lists by hand. A locked line item is a real affordance: click the thing you want and you move to the cheapest tier that has it.

One illustration family, nine appearances. Seven ink-on-paper plates generated off one locked seed, deliberately desaturated. Rather than ship a light set and a dark set, Plate.astro dissolves the ground with a blend mode — multiply in light, invert + screen in dark and vibrant — and tints the ink toward the active --color-primary. Three directions times three modes, no duplicated assets.

Flagged

The live site publishes exactly one price. Tier contents here are all real line items from the client's own offer page; the per-tier prices are invented to demonstrate the mechanic. They are not a pricing recommendation.

Article bodies render through Astro's native markdown pipeline rather than @lossless-group/lfm. Acceptable for a spike, first thing to fix if it proceeds.