OutletStores App Mock-up
Changelog
What changed and when, across both demo flavors — the main OutletStores demo and the Big Lots pitch demo (one source file, two deploys).
Entries tagged:
MAINStores.com demo only
BIG LOTSpitch demo only
BOTHshared behavior
Sep 17 the mark wears its ™, About us gets designed
- The mark carries its ™ everywhere it renders. The variant with the trademark below the underline, flush right — already what
deliverables/ and the CDN master ship — is now the mark the app builds in CSS too: app bar, store switcher footer, membership lockup, the landing, and the press and newsletter pages. Geometry is the documented one (cap line 1.30 cap down, letters .19 cap, flush right), and the letters are literal Spartan TM rather than the ™ glyph so a missing glyph can never swap the face. BOTH
- About us is designed, not just typeset. It opens on an ink hero wearing the mark, then runs in the app's own components — section headers with accent sub-labels, a callout card for the line worth stopping on, and a four-up grid for one login / one cart / one checkout / one rewards program. It reads like a page of the site now instead of a document pasted into it. BOTH
- The Deals feed offers the way in. A What is OutletStores? row sits in the feed's top section, directly under the membership strip, so a first-time visitor meets the explanation where they actually land. MAIN
- It's OutletStores, not OutletStores.com — the domain form is now reserved for when the subject is literally the URL. Swept across the app, the press release and the newsletter. BOTH
Sep 17 the writing behind the concept
- “About us” is a page in the app. Account › About OutletStores opens the About us v2 copy in full — why outlet stores stopped being outlets, what makes this one different, who is running it, and what is in it for brands and for shoppers. It is themed by whichever store you are standing in, and it is linked again from the footer of the OutletStores landing, which is the front door the copy is actually addressed to. BOTH
- The press release and the newsletter are their own pages. /press carries Press Release v2 and /substack carries Substack intro v3, both wearing the OutletStores mark and palette. They are linked from the desktop sidebar under “The writing behind it” and from the foot of the in-app About page. Main demo only — the Big Lots build never ships them, and its About page simply has no Read more rows. MAIN
- The press release ships with its blanks showing. The source document still says BRAND, BRAND, and BRAND and at least NUMBER other manufacturers; those render as marked blanks rather than invented launch partners, and a note records that the release and the newsletter currently disagree on the newsletter’s title. MAIN
Sep 17 Ollie's Online Outlet joins the app
- Ollie's Online Outlet is a store here now. The store built for the Ollie's pitch demo (stores-ollies.pages.dev) stands in the main app beside Big Lots Online Exclusives — their real palette and type off ollies.com (red
#FF0000 / yellow #FFFF00, Luckiest Guy over Oswald), the flyer's grammar, Ollie's Daily Deal, Doorbusters, 18 department tiles, and an assortment led by Bush Home furniture we own outright. It has a registry row of its own rather than borrowing another store's, so its discovery card carries Ollie's products. MAIN
- Two partner chains, not one. Big Lots and Ollie's both hold a partner slot: both appear in the switcher, the discovery shelves, the cross-store cart and the firehose, and the firehose filter row gained an Ollie's chip. The pitch-build machinery that let only one exist per build is gone from this file — the Big Lots demo still boots straight into its own store. BOTH
- "Your account" is a real page. The name row in Account was decoration; it now opens a page with name, email, password and sign out — built for the Ollie's demo, kept for every store. BOTH
- Ollie's gets a favorite star like every other store. The Ollie's build had deliberately dropped it (09-05); with Ollie's standing in the main app it keeps a store the same way the others do. It joins the header as a third disc in their own icon language — red ground, yellow glyph, ink ring, offset ink shadow — beside the search and switch-store discs, and runs the normal flow: ★ asks before removing, ☆ keeps a store you're only visiting. MAIN
- The app opens as a non-member. It used to open with membership already active, which hid the whole $8.99 pitch behind a toggle nobody flips. Now Membership reads JOIN, Stores.com Cash says "you earn 5% — members earn 10%", and checkout offers the $9.99 flat-shipping path — the state a first-time shopper is actually in. BOTH
- Email opt-ins, in every store. The Notifications page gains an Email section — a daily-deal email and offers/news — alongside the per-store push rows. Built for the Ollie's demo; Ollie's keeps its own wording ("Ollie's Daily Deal email", "the flyer, sales and Ollie's Army events"). BOTH
- Membership preview is a switch, not a demo badge. "Preview as non-member" with a DEMO badge becomes Membership view with an eye and a real switch — "You're seeing the store as a member" / "See the store as a member". It reads like the product instead of like a mock-up control. BOTH
- Account tab reordered to the order the Ollie's build used: Orders, Payment, Notifications, Membership, Stores.com Cash, then your account — what you came to do first, identity last. Default store, Dark mode and Start over keep their place below. BOTH
- Scroll and safe-area fixes ride along. The phone frame can no longer be scrolled as a whole (
overflow:clip), every vertical scroller blocks sideways drag, and on an installed iPhone the frame pins to the screen with the header and tab bar inset off the safe areas — all found while shooting the Ollie's build on real hardware. BOTH
Aug 11 Outlet everywhere, Lewis & Conger included
- Lewis & Conger becomes Lewis & Conger Outlet. It was the one house store still wearing its plain name — it now gets the same treatment as MorningSave: "Outlet" in the store name everywhere (directory rows, switcher, search hint) and the OUTLET sub-line under its real wordmark in the store header. Its heritage tagline ("The Finest Home & Life Goods since 1868") stays. BOTH
- Every store in the switcher says Outlet. Starred and visited brand stores (Cuisinart, JVC, …) previously listed as bare brand names in the switch sheet — their store names now carry " Outlet" everywhere the name shows, and their header wordmarks wear the same OUTLET sub-line as MorningSave/SideDeal/Hammacher. Big Lots Online Exclusives stays the one deliberate exception, and OutletStores itself already says it. BOTH
Aug 10 official vs house-run outlets
- A quiet split, no badges. The platform runs two flavors of brand outlet — brand-authorized (e.g. Hypergear) and stores.com-run (e.g. Olympia USA) — so outlets say "Official outlet · brand-authorized" if they're the former, "Operated by OutletStores" if they're the latter. Only the brand-page/deal-sheet sub-line changes; nothing else about a house-run outlet's presentation differs. MAIN
- Sidebar tells the outlet story. The desktop demo's intro copy realigns to the pivot — a count-forward headline ("125 outlet stores. One front door."), the brand-outlet bullet, and the landing masthead's own number all stamp live off the same
IDX.outlets.length at boot (never hand-typed, so the three can't drift apart), and the provenance credit drops Meh and community finds. MAIN
- Big Lots provenance trimmed to match — "community finds" dropped from the pitch demo's own credit line too (community submissions are off everywhere, not just Main). BIG LOTS
Aug 10 bug fixes + polish
- Hammacher firehose cards get real heat. Three HS_DEALS rows are full-price (no list price, so no
v field) — heat() multiplied that missing field unguarded, so those cards showed "▲NaN heat" and poisoned the Hot sort wherever one landed. heat() now floors a missing v at zero instead. MAIN
- Post-rebrand color cleanup. The last cool-navy literals (#04101a, #003554) realign to the mark's warm-ink family (#0c0b0a) already used elsewhere — the discovery picker's collection-card footers and brand-island gradients, plus a dead unreachable rule. The Big Lots pitch aside's "The network behind it" bullet also drops leftover Stores.com blue for grass green. BOTH
- Black+Decker outlet lookup mended — a "Black+Decker" vs the registry's "Black & Decker" spelling mismatch silently missed the outlet resolution, so it fell back on luck rather than the registry's own official/house-run answer. Also pre-wired (not yet reachable — community finds still render a plain overview card, no Story tab) the same official-vs-house-run story gate for if/when community finds ever grow one. No visible change today. MAIN
- Big Lots price markup hardened to carry its own decimal.
blPrice()/blDailyBand() split "99.99" into whole + cents with no literal "." between them, relying entirely on the Big Lots flyer CSS to visually separate them via superscript sizing — correct wherever that CSS applies, but "$9999" anywhere it doesn't. Both call sites are gated to the Big Lots demo today, which is why nothing user-visible ever broke, but the markup itself wasn't mode-safe. Now the dot is real markup that flyer CSS hides; default rendering anywhere else stays honest "$99.99". No visible change in either demo — Big Lots flyer prices are pixel-identical. MAIN
Aug 7 the app becomes OutletStores
- The whole app wears the mark. The Stores.com firehose is now OutletStores — ink app bar carrying OUTLET ✦ STORES, grass green #62AE41 replacing the blue family, light and dark. The landing re-grounds from navy to the mark's ink night. BOTH
- Hybrid spine. Checkout, account, membership, and the "operated by" bylines say OutletStores; Stores.com Cash keeps its name — the parent company's currency inside the app. "Powered by Stores.com" footers retire in favor of the mark itself. BOTH
- Green star icon. The mark's true-vector star, white on grass, replaces the globe and the red spark — store pill, push toasts, checkout, and the installable-app icons. BOTH
- The accent settled on grass green #62AE41 after kelly (#669C35) and teal (#3E8E7E) detours — same pick otherwise (League Spartan 800, seam .50, bias .08); a darker companion #3c8825 covers deep-tone roles. MAIN
- Brand stores wear Outlet — crazily repetitive on purpose. Every brand-outlet store name ends in "Outlet" (Big Lots keeps "Online Exclusives" instead), and MorningSave/SideDeal/Hammacher Schlemmer trade their old taglines for one shared line: "Deeper discounts, while they last." BOTH
- Community submissions toggled off in the firehose — submit-a-deal, community finds, and the Leaderboard go dormant behind a single flag; threads and the Forum tab are unaffected. BOTH
Aug 7 the logo finds its face
- The OutletStores mark, picked and wired — League Spartan 800 over the stores.com star/swoosh device, retro teal #3E8E7E, from four rounds of comps at /oslogo (live accent picker, seam + bias sliders, mid-century font sweep). The landing wears it. MAIN
- The device went pure vector — the star and underline are the actual paths from the platform's stores-com-logo.svg, and the /oslogo anatomy walkthrough documents (and caught) every place the composition could mangle: an amputated star window, intrinsic-width column inflation, cap-band and baseline math, weight-aware font calibration, seam registration. MAIN
Aug 6 the outlet-everything pivot
- Our stores became outlets. MorningSave Outlet, SideDeal Outlet, and Hammacher Schlemmer Outlet — full outlet identity: names everywhere, OUTLET sub-lines under each wordmark (the Big Lots lockup pattern, generalized). Big Lots Online Exclusives stays the one exception. BOTH
- Meh removed entirely — "Meh Outlet doesn't make sense." Mode, Discover row, feed pin, chip, cart/order seeds, notifications, and the /meh origin path all gone (the frozen /v1 and /vshawn archives keep it). BOTH
- The OutletStores landing returns — the Discover surface is the outletstores.com front door, wearing an interim OUTLET ✦ STORES lockup; the house shelf is now Featured Outlets ("Classics" retired with the pivot). MAIN
- Hammacher Outlet joined the firehose, and the feed's Outlets chip became Brand outlets (everything is an outlet now). Whether stores.com stands as its own consumer destination is an open question, deliberately undecided. MAIN
- New logo comps at /oslogo — six modern directions replacing the Rockwell mark ("too western"), all keeping the red/black palette and the spark. MAIN
Aug 5 the restructure day — 8/3 Cofounder Weekly decisions land
- OutletStores aggregation store retired. Stores are stores; outlet is a store type. The Community mode became the Stores.com page (first tab "Deals") with Outlets as a filter chip — Outlets-only pins the Deal of the Day. Outlet deals now attribute to their brand outlet ("Sharper Image Outlet"), and tapping an unstarred outlet walks you into its store as a visit (star it to keep it). MAIN
- Stores.com pinned in the switcher for everyone — always present, not removable, no longer listed on the Discover page. MAIN
- Origin-based arrival — the URL path picks your home store: /morningsave, /sidedeal, /meh, /hammacher seed that store as your favorite and skip the picker. MAIN
- Home tab → Events on every event-led store (the separate Events tab is gone — home is the events list); Meh's tab is Today's Meh with the meh script mark. BOTH
- Big Lots store renamed "Big Lots Online Exclusives" — header lockup, switcher, discovery, pitch copy; the home section that borrowed the name reverted to "Best Sellers". BOTH
- Community firehose cut from the Big Lots demo — no Stores.com feed, threads, or nudges anywhere in the pitch flavor (a deliberate distinction between the two demos). BIG LOTS
- Big Lots pitch page de-Stores.com'd — solo Big Lots lockup, no platform name-drops above the fold; subhead now sells online exclusives ("Online exclusives your shelves can't hold"). BIG LOTS
- Web-first copy sweep — the word "app" removed from all user-visible text (8/3 decision: never say app at acquisition); headline antithesis patterns replaced with human copy ("All our stores just moved in together."). BOTH
- Shawn's thin switcher + stacked-favicon header pill; the Big Lots demo starts with Big Lots as the only My Store. BOTH
- Frozen comparison archives: /v1 (pre-discovery boot picker) and /vshawn (Shawn's full redesign branch). MAIN
Aug 4 Shawn's selector comes aboard
- First run IS discovery — Shawn's night-directory Discover/setup surface ported from his redesign branch: store registry with 125 outlets, featured cards, categories, A–Z, star-to-add; also reachable anytime via Find more stores. MAIN
Aug 3 My Stores + Hammacher + BL home structure
- My Stores — favorites (header star on every store) plus stores you've bought from; per-demo seeds. BOTH
- Full Hammacher Schlemmer store mode — hammacher.com design and real scraped products. MAIN
- Big Lots home restructured to market-view sections with events under "The Big Events"; tinted torn-edge stripes; Big Deal band polish; store pill shows the current store's icon. BOTH
Aug 2 flyer language + dark mode
- Big Lots flyer language — Bangers headlines, THEIR PRICE compares, tilted stickers; Today's Big Deal became a flyer band with the BIG-letterform burst mark, torn edges, and a live countdown. BOTH
- User-set dark mode — Account toggle, brand-derived dark schemes. BOTH
- Deal imagery moved to the media.stores.com CDN domain. BOTH
Aug 1 the Big Lots demo becomes its own deploy
- stores-biglots.pages.dev launched — same source file with the Big Lots flavor baked in: co-branded studio, pitch aside, boots straight into Big Lots, runtime QR from the live URL. BIG LOTS
- Big Lots parity round — Today's Big Deal, weekly-ad and store-finder quick links, the online-exclusives shelf. BIG LOTS
Jul 24 stars make stores
- Star-brand-to-store — starring any brand promotes it to a full store in the switcher (theme, feed, brand page), with persistence and a Start-over demo control; Big Lots built as the first bespoke promoted store with real closeout data. MAIN
Jul 13–16 theming rigor
- Side-by-side brand guides at /brands with redline callouts; registry-only theming (no invented colors); Material 3 role alignment; canonical blue/yellow MorningSave logo everywhere. MAIN
- 7/13 meeting round — buy-sheet Story/Specs pager, one-brand outlet stripes, brand-page events, cart quantity stepper, Discuss as the primary deal action, community leaderboard, Top sort with time ranges. MAIN
- Hard rule adopted: Meh deals show real scraped meh.com copy or nothing — never AI-generated. MAIN
Jul 12 the firehose restructure
- Community owns the firehose (per Matt's 7/12 threads): every deal from every store with per-store filter chips, per-deal threads, submit-a-deal, leaderboard + submitter reputation; OutletStores went event-led. First-run store picker; member/non-member states with real membership economics; guided demo tour at /demo; dead-end sweep (orders, notifications, wallet, Apple Pay express). MAIN
Jul 11 the audit build-out
- Route-level and module-level audits of all three storefronts, then the tiers built: full checkout mock, Stores.com Cash page, Meh launch machine with streak calendar and confetti, badges and scarcity kit, Market tab, brand outlet pages, working votes, add-to-home-screen install, phone-real full-bleed mode. OutletStores went red/black/white ("light-mode SideDeal"). MAIN
Jul 10 kickoff
- Concept mock-up born from Matt's #co-founders proposal: brand modes for MorningSave, SideDeal, Meh, and OutletStores with real scraped deals, galleries, brand marks and typography; the meh button flips to today's face; spark icon comps; the Stores.com firehose added the same afternoon from Matt's DMs. MAIN
Internal page — lives on the main mock-up project only, deliberately not deployed to the Big Lots pitch domain. Source of truth for decisions: docs/backlog.md and the specs in docs/superpowers/specs/ in the shared repo.