The Lineup · app · earning every commitment · June 12, 2026
When to ask — and when to shut up
You know the feeling: an app you’ve used for ninety seconds throws up a “rate us five stars?” You haven’t used it yet. Same disease as “invite your friends” on first open, or a notification grab before there’s anything to notify you about. So everything the app surfaces over time is gated to a moment that earns it — and the low-friction stuff (that helps the reader’s own experience) is all that happens up front.
Kind 1
Asks
A commitment is requested — invite, notifications, a review. Gated to a value moment. Earned, never cold.
Kind 2
Tips
Teach the non-obvious, one at a time, across early sessions. Capped, then they stop. Not the manual we killed.
Kind 3
Rhythms
A recurring, brand-anchored nudge — the Thursday weekend prompt. Plan-serving, rotated, dismissible.
Three kinds of timed surface, one discipline: each is governed by what the reader has actually done — which is why the whole thing leans on event logging (last panel). Below: the asks first, then tips, then the rhythm.
Asks · the ladder — every ask, and the moment that unlocks it
Top to bottom = low commitment to high. The first-run flow only spends the green and amber rungs. The high-commitment asks (invite, rate) wait for a value moment — which is exactly why the app needs to know what you’ve done.
First run
Up front
Your area + interests
Improves the reader’s own feed immediately. Framed by the payoff, never a cold wall.
Low · helps them
First run
Up front
Your display name
About you, not your contacts — zero social friction. Personalizes the first Today.
Low · about them
First run · late
After areas + interests are set
Notification permission
Asked once there’s something worth a ping (a watched weekend, your people deciding). “Not now” is a peer.
Medium · earned in-session
Not first run
When they reach for it
Invite your people
Recruiting friends is the highest-friction thing we ask. It waits — for the moment the reader wants it.
Trigger ① they tap “Float it” on a real event · Trigger ② their 2nd+ day back (not a 2nd session) after they’ve saved a few
High · earn it
Value-gated
after a plan actually comes together
Rate the app
DECIDED 6/13 — value-gated, not day-gated. The earlier “3rd day” rule would fire before most users had made a plan, spending the one good App Store prompt on an un-wowed user and filling reviews with descriptions of a generic events list. Fewer, later, higher-quality prompts win. Launch-listing social proof is seeded separately, from warm beta users who already felt the value — not by lowering this bar.
Trigger ▸ a float that RESOLVED with 1+ people in — the honest proxy for “a plan happened” (we never track attendance). No real value event = no ask, just wait.
High · earn it
Days earn the right to ask; behavior triggers it; sessions pace it. Time-based counts (the invite nudge’s “2nd+ day”) count distinct calendar days opened, never raw visits — but they only ever delay an ask, they never fire one. The trigger is always a real value event (saved 2+, floated, a float resolved). That keeps the model from nagging idle browsers or penalizing the power user who does everything in one session.
The arbiter — one interruption per open (adopted from the review)
Every surface above is restrained on its own, but nothing stopped them stacking — a tip + an invite nudge + the Thursday push could all land on one screen. The fix: at most one interruption per app-open, by fixed priority — (1) a plan-serving ask (e.g. the post-plan review), (2) the single most relevant tip, (3) the rhythm push. Everything below the line waits for the next open; nothing stacks. Pull surfaces the reader initiated (tapping “Float it”) are always allowed and never count against the budget. This one rule is what makes the whole model safe to keep extending.
Where the deferred asks actually live
The two high-commitment asks, shown at the moment they’re finally earned — both reframed as something the reader is glad to see, not something interrupting them.
Local · Northshore ▾
Nightfall: The Pinkerton Raid
Miller Plaza · Fri 8 PM · Free
An open-air set on the plaza
Doors 7:30 · 12 min away
Float it to your people
+++
You haven’t added anyone yet
Bring in a couple people and they can call it — in or out, no group chat.
Baseline is the 3rd day back; this is the best case — the morning after a plan landed, when five stars is a feeling, not an imposition.
Tips · teaching the non-obvious, one at a time
This is not the upfront “Quick tips” manual we killed — that explained the UI before you’d used it. This is the opposite: a drip. One “did you know” at a time, across early sessions, revealing only the differentiated, non-obvious capabilities (the float, watch-a-weekend, switching Local/Visiting). The obvious stuff — saving, searching — teaches itself and never gets a tip.
Local · Northshore ▾
Tuesday, June 10
You’ve saved a few. Quiet idea below.
A tip · 1 of a few✕
You can turn any of these into a plan.
Tap Float it on a night and your people weigh in — in or out, no group chat.
Fires once they’ve saved 2+ — a behavioral trigger, not a calendar one. “1 of a few” promises it ends.
Rhythms · the Thursday weekend nudge
At heart it’s a gentle weekly reminder to open the app — but one with a reason, never “we miss you.” Thursday is when people plan; the weekend “lineup” is literally the product; “a few thousand weekends” stops being a line and becomes a weekly heartbeat. It’s the one sanctioned push — re-engagement and plan-serving, pointed at the float. Rotated across seven messages so it never turns to wallpaper; dismissible (“not this week”); suppressed if a plan’s already set.
7:04
Thursday, June 11
τ
The Lineup · now
It’s Thursday — the weekend lineup just dropped.
Rhythm · Thursday push
Arrives Thursday evening — opens straight into this weekend’s good stuff.
The rotation · 7 messages, never the same two weeks running
1“It’s Thursday — the weekend lineup just dropped.”
2“It’s Thursday. Another one of your weekends is almost here.”
3“Have you and your people made plans?”
4“Thursday. The good stuff for this weekend is in — you just pick.”
5“Thursday again. Who are you rounding up this weekend?”
6“It’s Thursday. Float a night before everyone’s busy.”
7“Two days out. Somewhere in this weekend is a good night.”
qQUIET-WEEK VARIANT: “Quiet one this weekend — but here are the two worth knowing.”
The discipline
Rotate in order, no repeats until the set cycles. It’s a push, so it honors the notification permission — and it’s the only recurring one. Suppress the week a plan’s already floated, and a “not this week” always works. Wistful, never guilt.
DECIDED 6/13 — it goes silent on a genuinely empty weekend
“We surface the good stuff” commits us to admitting when there isn’t any. A truly dead week = no push at all — and that silence is the strongest trust signal we have (“they only buzz me when it’s worth it”). For a thin-but-not-empty week, the honest quiet-week variant above fires instead — we don’t go dark when one or two gems exist, and we don’t oversell. Full silence only when nothing clears the bar.
DECIDED 6/13 — first-push maturity floor (reconciles the two clocks)
The push is calendar-anchored, but the first one a user ever gets never fires until onboarding is done, 48h have passed, and the app isn’t already open — so install-day luck can’t crash a “come back!” nudge into someone’s first session.
What this asks of engineering — event logging (APP + Systems lane)
All three kinds — asks, tips, and the Thursday rhythm — fire off what the reader has done: which distinct day this is, whether they’ve saved anything, floated an event, completed a plan, already seen a given tip, or already have a plan this weekend. That’s a lightweight event-logging layer + a small rules layer (counts, distinct-day buckets, a once-weekly scheduled check, a per-tip “seen” flag, suppression conditions). Brand owns the map + the copy; the logging schema, storage, trigger engine, and scheduling are an APP/Systems build, not a Brand asset — flagged, not specced here.
app_open (distinct days)event_viewedevent_savedfloat_createdfloat_resolved (1+ in) ◀ the value eventinvite_sentnotif_prompt_shown / resultrating_prompt_shown / resulttip_shown / dismissed (per tip)weekend_plan_exists? (rhythm suppression)
DECIDED 6/13 — the value event is float_resolved (1+ in), not “attended.” The review-ask fix leaned on knowing a plan happened — but the app can’t honestly see whether people physically went, and trying to would be the surveillance the brand rejects. So the honest proxy is a float that came together (at least one person in). ⚠ Confirm with APP/Systems that this is cleanly loggable before any copy is written against it — it’s the load-bearing event for the whole earned-ask model.
Brand’s line: the moments and their copy are a brand-voice surface (the ask must sound like us, and never nag). The schema, the storage, the trigger engine, and any analytics are engineering’s. This board is the hand-off, at the altitude of “ask X fires after moment Y.”
Someday-maybe · parked, not scoped · Stacy’s down-the-road idea
The weekends you’ll remember — made visible
The truest expression of the whole brand, captured for later. It closes the weekly arc the Thursday push opens: Thursday says the weekend’s coming, Monday asks how it went, and over time you get a record of the ones that landed. “A few thousand weekends” stops being a number and becomes your good ones.
Monday: “how was your weekend?”A gentle Monday push — but this rates the weekend, not the app. Reflective, personal, theirs. A different thing in kind from the 3rd-day app review.
A “great weekends” recordOver time, a quiet dashboard of the weekends that were worth it — the finite-weekends thesis made personal and visible. The emotional capstone of the product.
Trust-gated, most of all. Rating your weekend — and letting us keep a record of your life — is the most intimate ask in the whole model. So it sits at the very top of the ladder: it surfaces only after we’ve clearly earned trust (an established, returning user), never early. The same earn-it discipline, taken to its furthest point.
Deliberately not built into the current flow — it’s a feature + data model of its own, bigger than onboarding. Revisit once the core ships.