Delta first: nothing moved. The resource returns a Last-Modified of July 18, 2026. That's six days ahead of the July 24 audit, and nothing since. Title tag unchanged: Equinox+ · Teaser · Juno Chen. Description still absent. Headers can lie when caching sits in front of them, so I pulled the visible proof strings and matched them against the July record. Line for line, identical. Read this audit as confirmation, not discovery.
One exception. The full case at cs-04-equinox.html, which is where the CTA points, timestamps August 1. Something in that file changed this week. I can't tell you what; the prior record doesn't hold enough of the old copy to diff against. Log it, don't act on it.
The page itself argues correctly. Hero reads Five brands. One platform. No compromise. The descriptor names the ninety-day build. The closing section names token architecture outright. Anyone who reads this teaser end to end walks away with exactly the craft story you want them to have.
Nobody reads it end to end. A hiring manager at an Act-tier company gives a teaser under ten seconds, and inside that window they take in two labels, a headline, and whatever image is biggest. All four are currently doing fitness-category work. You built a case about architectural execution under compression and shelved it in the gym section.
That gap costs more here than anywhere else in the portfolio, because Equinox+ is the one case with no domain equity to trade on. Thermo Fisher sells regulated-industry credibility. Red Cross runs on stakes. Equinox+ sells five distinct consumer brands rendered off one component system in ninety days, and the platform buyer does not care that the brands happened to be gyms. You are the only person applying the domain filter.
The one layer that leaves the page
Priority fix. Also worse than the July pass recorded.
The head contains charset, viewport, title. That's the entire metadata layer. No description, no Open Graph tags. og:title, og:description and og:image are what Slack, LinkedIn and email clients read to build a preview, and none of them exist. No Twitter card either.
A recruiter drops the link into a hiring channel and it renders as a bare blue URL. A hiring manager forwards it to a panel and the email shows nothing at all. In a live review, the browser tab reads Equinox+ · Teaser. "Teaser" is your internal filing vocabulary. To a buyer it scans as placeholder.
Your server redirects the .html path to the extensionless /cs-04-equinox-teaser, so that's the resolved URL. Point og:url there and add a matching canonical, or shares will fragment across two addresses for one page.
<title>Equinox+ · Five Brands, One Platform, 90 Days — Juno Chen</title>
<link rel="canonical" href="https://junochen.com/cs-04-equinox-teaser">
<meta name="description" content="Five consumer brands on one platform in
ninety days — one token architecture, 600K+ premium members, 4.8★ App Store
at launch.">
<meta property="og:title" content="Equinox+ · Five Brands, One Platform, 90 Days">
<meta property="og:description" content="I led product design for Equinox+
across SoulCycle, Equinox, Precision Run, Pure Yoga and HeadStrong — one token
architecture giving each brand its own visual DNA from a shared component base.
0→MVP in three months.">
<meta property="og:type" content="article">
<meta property="og:url" content="https://junochen.com/cs-04-equinox-teaser">
<meta property="og:image" content="[cross-brand composition, 1200×630]">The description is short on purpose. Search results clip near 155 characters, and a proof point cut in half does more damage than a proof point you left out. The fuller version lives in og:description, which survives.
On the share image: 1200×630, and it has to hold at 300px wide inside a Slack unfurl. Five app screens in a row won't resolve at that size. Two or three brand marks over one shared interface shell will. What it cannot be is the SoulCycle live-class frame. Strongest composition on the page, and the single image that most reads spin class.
Two visible labels, and one of them is wrong
Hero eyebrow: Equinox · Consumer Fitness · iOS & Android · 2020. First text cluster the eye lands on. It hands over the domain frame two beats before the headline gets a chance at the craft frame.
Equinox+ · Five-Brand Consumer Platform · iOS & Android · 2020
The closing eyebrow does the real damage. It reads Case Study 03 —— Equinox · Luxury Fitness Platform, and the section watermark also shows 03. Your URL, your navigation and your case index all say 04. Red Cross is 03. So your craft-and-precision case misnumbers itself twice, on the page whose entire thesis is architectural rigor.
Case Study 04 —— Equinox+ · Five-Brand Consumer Platform
"Luxury Fitness Platform" is simultaneously the most audience-narrowing string on the page and the least accurate description of what you built. The claim you're making is architectural; "luxury" sells a membership tier.
Your best headline is sitting at the bottom
- Hero: Five brands. One platform. No compromise.
- Closing: Five brands. One platform. Three months.
The closing version is stronger, and it sits below the full visual grid where a ten-second scanner never arrives. "No compromise" asserts quality and supplies no evidence. "Three months" is the evidence.
Swap them. Hero takes Three months. Let No compromise close, where a reader who has just absorbed the token-architecture argument will grant it. Then restack the descriptor so it opens on constraint rather than audience size. 600,000 premium members already appears twice on the page, so this is a reorder, not a new claim:
Five brands, one platform, ninety days. I led product design for Equinox+ across
SoulCycle, Equinox, Precision Run, Pure Yoga and HeadStrong, on a single token
architecture that gave each brand its own visual DNA from a shared component base.
600K+ premium members. 0 → MVP in three months.The grid argues category before it argues range
There is no static thumbnail. The page runs straight into a grid of interface compositions, and the first and largest is SoulCycle live class: instructor on a bike, live indicator, participant count, leaderboard, cadence and output readouts. Two seconds in, that frame says boutique cycling app, at full width, before one piece of cross-brand evidence has appeared.
The architecture frames exist. You sequenced them behind the category frame. Lead with the cross-brand result panel and the modality breakdown, the compositions where different brand worlds render off the same system. Push SoulCycle to second or third, where it stops defining the product and starts demonstrating the range. Range before category, same rule as the share card.
The 4.8, and why deleting it is the wrong instinct
Outcome row currently reads 0 → 1 in 90 days · 4.8☆ App Store.
Unqualified, a 4.8 proves users liked the app. That's consumer-satisfaction evidence. It does nothing for a platform buyer. Qualified, the same number changes jobs entirely. Your context file already carries the accurate version: 4.8 stars at launch. Two words take it from "people were happy" to "the quality bar held under ninety-day compression."
Outcome: 0 → 1 in 90 days · 4.8★ App Store at launch
Check the glyph while you're in there. The row uses ☆, hollow. The App Store renders ★, and so does every other rating inside your own mockups. A small error anywhere else on the site. Not on the page arguing craft.
Same neighborhood: 4.8★ Rating also appears inside the instructor-profile mockup. One number doing two jobs on one page dilutes both. Change the mockup value.
200+ clubs is true, and it is real-estate evidence for a gym chain. Trade it:
Scale: 5 brands · 1 token architecture · 600K+ premium members
Why 0→1 stays out of this title
The obvious patch for a fitness-signal problem is to stamp 0→1 on the title. Don't.
Two siblings already carry the literal string: Thermo Fisher as 0→1 Pharma Supply Chain, Red Cross as 0→1 Build. Neither Alibaba nor Allē uses it; Allē leads on dual-surface scope and audience scale. So the string is currently doing 0→1 duty for exactly two cases. Add a third identical claim and the pillar becomes three cards making one point, at which stage the scanner just picks whichever shows the biggest number.
The altitude split works if you let it hold.
| Case | Altitude it owns | Compression |
|---|---|---|
| Thermo Fisher | Institutional coordination | 12 months |
| Red Cross | Crisis deployment | One response cycle |
| Equinox+ | The multiplier: 5 brands, 1 architecture, built in parallel | 90 days |
Neither of the others can say that sentence.
And while you're in here: Equinox+ is never going to be your AI-native proof. Stop asking it to be. Let it own speed, and let the cases carrying judgment over machine output take that buyer.
Keep 0 → 1 in the Outcome row, where it functions as a data point.
The CTA promises a conversation and delivers a password field
Both buttons read Request the full case study. Both link to the full case, which serves its HTML and then bounces an unauthorized browser to a login screen. "Request" implies a form or a person. The buyer gets a password prompt and no password.
Primary: View the full case — access required
Secondary: Request access · juno@junochen.comGate behavior is unchanged from the site-integrity piece: full document delivered before the check fires.
Order of operations
- Head metadata. Title, description, canonical, four OG tags. Highest leverage, because it's the only layer that travels off the page.
- Closing eyebrow. One edit kills the
03error and "Luxury Fitness Platform" together. - Hero eyebrow. Retire "Consumer Fitness."
- Headline swap. Hero takes "Three months."
- Visual sequence. Cross-brand frame first. SoulCycle demoted.
- Outcome and Scale rows. Add "at launch," fix the glyph, drop "200+ clubs," de-duplicate the mockup rating.
- CTA language. Match the button to what's actually behind it.
Steps one through three. That resolves the category-signal problem outright. Everything below it is sharpening a page that already argues the right case to anyone who stays long enough to read it.
- Suno wants consumer speed: Equinox+ is your closest published consumer precedent, and the live Head of Product Design posting at Suno asks for a hands-on leader across Product Design, Design Engineering, and UX Research — but be clear-eyed that it requires five days onsite in LA or New York and that no published case of yours addresses creative provenance or rights-aware interaction.
- Amplitude names the exact anxiety: The Head of Product Design posting states outright that AI makes interface production cheap while letting quality erode, which is the buyer fear Equinox+ answers directly — ninety days, five brands, quality bar held — provided the teaser stops leading with the category.
- Token architecture is now agent infrastructure: Altana's Head of Product Design posting describes the design system as a structured, machine-readable language of patterns and primitives that engineers and agents compose, which makes your Equinox+ shared-component-base story more current than its 2020 date suggests.
- The full case changed this week:
cs-04-equinox.htmlcarries an August 1 timestamp with no diffable prior record, and its access behavior remains what the site-integrity audit documented — complete HTML delivered before the client-side check redirects — so verify what moved before sending the link to anyone.

