Weather Hub

The signal layer. Time-sensitive prompts with action buttons that take you where to go.

Weather is the in-app surface for everything time-sensitive a Gardener needs to know about — Seeds ready to bloom, Vaults that haven't been tended, Seed Packet items waiting to plant, Grove contributions due, posthumous arrivals. Every signal is an item with an action button that navigates the Gardener to the relevant surface, not just an inert notification. Weather REPLACES the "daily tasks" / "today's schedule" pattern from generic productivity apps. This page documents three layout options ("draft three" pass) before locking the canonical Weather presentation.

Concept locked 2026-05-02 · Hero icon locked 2026-05-10 (H2 · Partly Cloudy) · Status Layout Draft Three — Founder Pick Pending · Anchored to HW#41 (umbrella spec)
01

Why this hub exists

Across the lifetime of a Gardener's account, things will happen to them. Seeds bloom. Seeds arrive. Vaults grow quiet. Seed Packets fill up. Without a single home for these signals, they fragment across notifications, emails, badge counts, and accidentally-discovered Vault states. Weather Hub is the home — one surface, reliably refreshed, that tells a Gardener what's happening in their garden right now.

The core pattern: signal + action

Every Weather item is two things working together — a signal (something has changed, something is ready, something is asking) and an action button (the one tap that takes the Gardener to the surface where they handle it). No item exists just to inform — every item points to a destination.

Why this hub replaces "daily tasks"

Generic productivity apps have a "Today" or "Daily Tasks" surface that turns life into a checklist. DandyLine refuses that frame — memories aren't tasks, blooms aren't deliverables, planting isn't a chore. Weather instead borrows the language of weather itself: conditions you notice, then respond to. Some days are quiet. Some days have a lot. Both are normal.

Hard NO: "Today's Schedule" framing. We are not a productivity app. Weather is observation + invitation, not assignment.
Brief locked · 2026-05-02 (HW#41 umbrella)
02

Signal types · what shows up in Weather

Weather surfaces the following signal types. Each has an example copy line, an action button label, and a destination surface. Notification preferences (set in Onboarding Setup screen 4 + the Gardener Menu) determine which of these also fire as push/SMS — same signals, two surfaces.

Bloom Ready
"A Seed planted for you 3 years ago has bloomed."
Action → Bloom reveal screen (ux-bloom-reveal.html)
Held in Trust
"Something has been placed in your trust." (Headline stands alone — no sub-line. Q⑫ resolved 2026-05-10 · sub-line dropped 2026-05-10 to avoid role-presumption across the 4 trust scenarios.)
Action → Routes to either the Claim flow (Seed Key system, when the recipient is the eventual opener) OR the Vault detail view (when the recipient is the Guardian-as-trustee or steward holding for someone else). Destination logic determined per-signal-instance based on the relationship type.
Bloom Soon
"3 Seeds will bloom in the next 7 days."
Action → Bloom queue / Field filtered view
Vault Quiet
"The Hatch Family Grove hasn't been tended in 6 weeks."
Action → The specific Vault
Contribute Reminder
"The Hatch Family Grove has 4 Seeds and waits for one more."
Action → Plant flow, pre-filled to that Grove
Seed Packet Nudge
"A Seed has been waiting in your Packet for 10 days — ready to plant?"
Action → Seed Packet (product-seed-packet.html)
Trigger: 10-day waiting threshold per Seed (locked 2026-05-06 Seed Packet Q③). Count-based variant ("Your Packet has N Seeds") could come later as Pro-tier per-Vault granularity matures.
On This Day
"Two years ago today, you planted a Seed in Starlight Cove."
Action → The referenced Seed (per HW#140)
Posthumous Bloom
"A Seed has reached you from someone no longer here."
Action → Bloom reveal with reverent language (HW#54)
Vault Renamed
"Ashley changed 'Family Memories' to 'Hatch Family Legacy.'"
Action → The renamed Vault (per Weather Update sub-spec)
Storage-Cap Approaching
"You're close to your storage limit. Press what matters; let the rest compost."
Action → Storage view (HW#71) + upgrade flow (post-Pro launch)
Garden Cold-Snap
"Your field has cooled. A Seed could warm it back up." (NEW · added 2026-05-10 · whole-account quiet signal · distinct from Vault Quiet which is per-Vault)
Action → Plant FAB (prefilled to encourage one quick capture) · Threshold: 4 weeks of no planting (gentler than Vault Quiet's 6-week per-vault threshold)
Discipline: Weather surfaces signals; it never invents urgency. No item should read as “You must.” Every item should read as “Something happened. When you're ready.”

Items NOT in Weather

  • Marketing announcements — Weather is for the Gardener's own garden. Product news lives in the FAQ & User Guide or, eventually, a dedicated changelog.
  • Achievement / badge unlocks — Garden Almanac (Row #9) is the home for milestones. Weather is time-sensitive; achievements are reflective.
  • Compost-imminent warnings for individual Seeds — handled inside the Vault detail view, not surfaced as Weather noise. (Storage-cap is the umbrella signal that drives Compost decisions, not 50 individual Seed warnings.)
03

Draft three · layout options

The umbrella spec is locked. The presentation is open. Three approaches mocked below — each with strengths, tradeoffs, and the kind of Gardener mood they fit best. Pick one (or a hybrid) before we build the interactive prototype.

Option A · Dashboard
Weather
3Seeds bloomed
View →
1Held in Trust
Claim →
6In Seed Packet
Plant →
2Vaults quiet
Tend →
On This Day2 years ago — Seed in Starlight Cove
Look →
Storage62% full · approaching cap
Manage →
Option A · Dashboard

Counts and category tiles arranged in a grid. Each tile shows a number + label + an action button. Glanceable — the Gardener gets a full picture in one look.

Best for
  • Gardeners who like a control panel
  • Power users with active gardens (multiple Vaults, Groves)
  • Quick triage: "what's the most pressing thing right now?"
Tradeoffs
  • Risks feeling like a productivity app — many tiles, many actions
  • Empty state is awkward — a dashboard with 0/0/0/0 reads as "nothing happening" sterile rather than "all is well"
  • Doesn't scale gracefully past ~6 tiles before becoming a wall
Brand voice fit

Lower than ideal. The grid pattern is administratively coded — too close to "settings panel" energy. Could work if every tile has a brand-flavored label and gentle copy, but the underlying grid skeleton is the wrong metaphor for “a quiet garden.”

✅ Option B · Feed · LOCKED 2026-05-10
Weather
Today
A Seed planted for you 3 years ago has bloomed.
Bloom Now →
Today
2 Seeds will bloom in the next 7 days.
View Field →
This week
The Hatch Family Grove has 4 Seeds and waits for one more.
Plant a Seed →
This week
You have 6 Seeds in your Seed Packet — ready to plant?
Open Packet →
2 yr ago
A Seed in Starlight Cove was planted on this day.
Look back →
✅ Option B · Feed · LOCKED 2026-05-10 (Ashley's pick)

A vertical list of signal cards, grouped quietly by recency (Today / This Week / Older). Each card has the signal text in italic + a small action link. Reads more like a thoughtful letter than a dashboard.

CTA button styling needs design pass — current "Bloom Now →" / "Tend →" / "Plant →" inline links feel weak vs. DandyLine's usual button stylings. Reference ux-button-system.html. Deferred to next session.

Best for
  • Returning Gardeners who scroll through their week
  • Empty / quiet states — a feed with 1 or 2 items still feels appropriate, not sparse
  • The brand's quiet tone — feels closest to "a letter from the garden"
Tradeoffs
  • Less glanceable than dashboard — Gardener has to scan to find the most pressing item
  • Risk of social-feed-y feel if not carefully styled (italics + sparse layout matter)
  • Long lists may need pagination / collapse
Brand voice fit

Highest of the three. Matches "we show growth, not reactions" + "language reads like poetry." Each card is a sentence the Gardener could read aloud. The feed structure mirrors a journal page — quiet, ordered by time, never demanding.

Option C · Card Stack
Weather
2 yr ago
Seed in Starlight Cove
This week
The Hatch Family Grove waits for one more.
Today
A Seed planted 3 years ago has bloomed.
Tap to open it. We've been holding it for you.
Bloom Now →
Swipe — 3 of 5
Option C · Card Stack

One signal at a time, full-width card. Swipe to advance to the next. The most pressing item is always on top; older items stack quietly behind. Borrows from the "deal me one card at a time" pattern.

Best for
  • Mindful, one-at-a-time engagement
  • Beautiful empty state — “the garden is quiet today” on a single card
  • Attention-respecting — can't accidentally see five things at once
Tradeoffs
  • Hides volume — a Gardener with 8 items has to swipe through all 8 to know what's there
  • Friction for fast triage; bad fit for Gardeners with active multi-Vault gardens
  • Pattern reads as "Tinder for tasks" if not styled with restraint
Brand voice fit

Strong on tone, weak on utility. The one-at-a-time presentation embodies patience beautifully — but penalizes the Gardener who wants to see everything at once. Could work as a Field-page widget (a small Weather card) rather than the full Weather Hub.

My recommendation
Option B (Feed) as the canonical Weather Hub — it's the strongest brand-voice fit and scales gracefully across quiet days and busy ones. Option C (Card Stack) is a great companion pattern for a small "Today's Weather" widget on the Field homepage (the Gardener sees the top item in passing without going to the full Hub). Option A (Dashboard) deprecated unless we discover a real need that a feed can't serve.
04

Action button behavior

Every Weather item ends in an action — never an inert read. The action is a single tap that takes the Gardener to the surface where they can do something about the signal. Patterns:

Verb conventions

  • Bloom Now — for ready-to-bloom Seeds ("Bloom Now →" · was "Open the Bloom →" · renamed 2026-05-10 for tighter ritual vocab match)
  • Plant — for Seed Packet items, Grove contributions ("Plant a Seed →")
  • Tend — for Vaults that have grown quiet ("Tend the Vault →")
  • Claim — for Held-in-Trust Seed Keys ("Claim the Seed →")
  • Look back — for On-This-Day items (lower-key verb, quieter retrospection)
  • Manage — for storage / account-level items (used sparingly; this is the only place where slightly-administrative voice is acceptable)

Dismiss behavior

Some items can be dismissed (On This Day reflections), some cannot (a Bloom that's ready to open won't go away just because you swiped it). The dismiss-or-not status is per-signal-type, locked in the spec. Dismissing an item doesn't fire any state change beyond removing it from Weather — it doesn't release the Seed, it doesn't mark it read, it just acknowledges “I saw this, not now.”

Relationship to notifications

Weather signals and notification preferences are tied to the same underlying events (per HW#41 expansion). When a Bloom is ready, both fire — push/SMS for the user out of the app, Weather for when they come back in. The notification is the alert; Weather is the home that holds the alert until the Gardener acts on it.

Action button copy is brand voice

Examples: "Bloom Now →" not "View." "Plant a Seed →" not "Add new." "Tend the Vault →" not "Update." "Claim the Seed →" not "Activate." Reference brand-guide.html Ritual Vocabulary section. Generic verbs are forbidden in this surface.
05

Connection to notifications

Per HW#41 (umbrella spec), Weather signals and notifications are the same source firing at two surfaces:

  • Out-of-app notification (push or SMS) — alerts the Gardener something is happening when they're not in DandyLine
  • In-app Weather Hub item — surfaces the same signal when they come back

This means: a Gardener who has notifications off for a particular type still sees the corresponding Weather items when they open DandyLine. Notifications and Weather are not redundant — they're the same intent surfaced where the Gardener actually is.

Implications for build

  • The signal generation logic is one source of truth, not two
  • Notification preferences gate the out-of-app side only; Weather always shows everything (per the Gardener's preferences for what types they care about — to be set in the Notifications screen)
  • An item viewed in Weather can mark its corresponding notification as read (so the badge count drops when the Gardener handles it in-app)
  • Read state is per-Gardener, per-signal — sealed against changes in other Vaults' Weather feeds (e.g., a Grove member dismissing an item doesn't dismiss it for everyone)

SMS-only at MVP

While DandyLine is web-app-only, notifications fire as SMS (covered in Onboarding Setup screen 4 transparency note). Weather is unaffected — it's an in-app surface, no carrier involvement. When native iOS / Android ships, push joins SMS; Weather stays the same shape.

06

Field-page widget · the compact Weather card

The full Weather Hub is the home for all signals. But on the Field homepage — the surface a Gardener sees most often — a smaller widget shows the top one or two signals as a peek. This is the existing “Weather Update” pattern already live on the homepage (e.g., "Grandma planted 3 seeds this week. Your field is growing."). It's the entry point to the full Hub, not a replacement.

Behavior · auto-scroll + count bubble

  • Auto-scrolls through multiple signals when there's more than one — gentle 5–7 second hold per item, soft fade-or-slide between them. Pauses on hover/tap so the Gardener can read at their own pace.
  • Count bubble on the right edge shows total Weather items not visible in the widget rotation (e.g., +4). Tapping the bubble opens the full Weather Hub. This is the affordance for "there's more here when you want it."
  • Each card is tappable — same action-button behavior as the full Hub. A tap on the card text routes to that signal's destination. The bubble is a separate tap that opens the Hub instead.
  • Top items only in the widget rotation. Lean: max 3 items in the loop, with the bubble counting overflow. So a Gardener with 12 items sees 3 rotating + +9 in the bubble.

Visual treatment

Sage-toned, matching the existing live homepage Weather Update card. Cloud icon at top-left as the signal-type indicator (or per-signal icon when we have visual distinctions for each type). Contributor names highlighted in sage (e.g., "Grandma planted 3 seeds this week") — adds color variety beyond a gold-only palette and quietly anchors who the signal is about. Soft glow particles in the background for the time-active feel.

Empty state

If no Weather items exist, the widget either hides completely OR shows a quiet placeholder card: "The garden is quiet today." Never administrative copy like "0 notifications" or "No new updates." Lean: hide entirely on the Field homepage when empty — let the Field's other content breathe. Confirm with Field-page redesign session.

The widget vs. the full Hub

  • Widget (this section) — compact, top 1–3 items, auto-scroll, count bubble for "more," lives on the Field homepage
  • Full Hub (Sections 1–5) — full feed, all items, manual scroll, no auto-advance, lives at /weather reachable from the bubble + Gardener Menu

Why this matters for color discipline

Color variety vs. brand discipline: the existing live widget already establishes sage as Weather's palette home. The Weather Hub matches that. This is intentional cross-surface coherence — a Gardener moving from the homepage widget to the full Hub feels visual continuity. Equally important: it gives the brand a non-gold accent home, since gold-everywhere starts to feel relentless in a multi-surface app. Sage = signals + signals-from-people; gold stays as the action color (CTAs, Plant FAB, Pro CTA).
① Auto-scroll cadence
5–7 seconds per item is the working number. Confirm during build — if Gardeners can't read the full sentence in that window, slow to 8–10 seconds. Pause auto-scroll on hover / tap.
② Count-bubble visual treatment
Small numeric pill (+4) at the right edge of the widget. Sage background with cream text, or transparent with sage outline — confirm with design pass. Avoid red-dot urgency styling at all costs.
③ Cap on widget items
Max 3 items in the auto-scroll loop? A Gardener with 12 active items sees 3 rotating + +9 in the bubble. Tapping bubble opens full Hub. Confirm threshold during build.
④ Priority for which 3 surface
Which signals win the top 3 slots? Lean: Bloom Ready > Held in Trust > Bloom Soon > Storage-Cap > everything else. Posthumous Bloom always promoted to slot 1 if present. Defer locking the priority order until we see real Gardener behavior post-MVP.
07

What this hub is NOT

Not a "Today's Schedule." Weather is observation, not assignment. A Gardener's day is not gridded; their garden is not gamified by deliverables.
Not a social feed. No likes, no reactions, no “X people are doing the same thing as you.” Each signal is private to the Gardener it concerns.
Not a marketing surface. Product news, partner announcements, and feature releases do NOT appear here. Weather is signals from a Gardener's own garden, full stop.
Not an activity log. “You planted a Seed” doesn't appear here — the Gardener already knows they did that. Weather is for things that are arriving, not things that already happened. (Garden Almanac in Row #9 is the home for retrospective activity.)
Not the home for achievements. Badges, milestones, "you've planted 100 Seeds" — those live in Garden Almanac. Weather is forward-looking, time-sensitive only.
08

Open Questions

Resolution pass 2026-05-06 — see biz-dev-decisions-log.md 2026-05-06 entry. Q1 locked at Spec; Q2–Q9 deferred to focused build/design/Josh sessions; new Qs ⑩–⑮ raised by Ashley's design feedback.

✅ ① Layout Pick · LOCKED 2026-05-06
Feed (Option B), Card-Stack (C), Dashboard (A), or hybrid? My pick: Feed as canonical, Card-Stack as a Field-page widget. Locked: Feed = canonical layout. Card-Stack pattern reserved for the Field-page widget.
⏸ ② Empty-State Copy · DEFERRED to copy pass
What does Weather say when a garden is genuinely quiet? First-pass: "The garden is quiet today. Plant something when the moment comes." Tonally on-brand but worth one more pass at copy. Deferred: First-pass stands. Re-pass during the brand-voice/copy-review session (see new Q ⑪ — full voice sweep needed across all signal types).
⏸ ③ Volume Cap / Pagination · DEFERRED to build
What's the maximum number of Weather items shown at once before pagination kicks in? A long-tenure Gardener could have 30+. Lean: show ~10, then "View older" tap. Deferred: Confirm at build (lean = ~10 then "View older").
⏸ ④ Per-Signal Dismiss Rules · DEFERRED to build
Which signal types are dismissible? Lean: On This Day = yes, Vault Quiet = yes, Bloom Ready = no (sticky until opened), Held in Trust = no, Storage Cap = no until resolved. Deferred: Lock at build (lean stands).
⏸ ⑤ Field-Page Widget · DEFERRED to Field redesign
If we go Card-Stack as a Field widget, how is it positioned? Top of the Field, below the Field, peripheral? And does it show the top item only, or 2–3? Deferred: Owned by the Field redesign session (Q9-v3 vault-card UX work in flight).
⏸ ⑥ Posthumous Variants · TIED to HW#54
Posthumous items in Weather need the softer language framing per HW#54. Confirm: separate visual treatment (slower animations, warmer tones) or same treatment with copy difference only? Lean: visual treatment matches HW#54 spec. Tied to HW#54: Visual treatment matches HW#54 spec (lean stands).
⏸ ⑦ Refresh Cadence · JOSH CONSULT
How often does Weather check for new signals? Real-time on app open, then polling every X minutes while open? Or push-driven only? Josh consult: Technical decision; Josh owns. Add to QUESTIONS-FROM-ASHLEY.md if not already there.
⏸ ⑧ Read State Persistence · DEFERRED to multi-device
Does “read” sync across devices when multi-device launches? Lean: yes — Gardener-level read state, not device-level. Deferred: Multi-device session owns this. Lean = Gardener-level read state.
⏸ ⑨ Prototype Build Next? · SEPARATE SESSION
Once layout pick is locked, the interactive prototype is its own focused build. Likely 600–800 lines for the Feed version with mock data. Separate build session when prioritized.

New questions raised in 2026-05-06 review (Ashley feedback)

⑩ Hero Icon / Image · NEW
Does the Weather Hub need a strong hero icon or image? Currently text-led. Ashley flagged this in the 2026-05-06 review — the page lacks visual anchor. Lean: yes, dandelion-influenced weather mark. Final visual TBD in design pass.
⑪ Brand-Voice Sweep · NEW
Every signal type's copy needs a more weather-flavored brand voice pass. Ashley flagged that current titles + bodies feel too direct, with little dandelion or weather language. Sweep all 10 signal types in §02 (and the empty-state from Q2) for tonal lift.
✅ ⑫ "Held in Trust" Copy Widening · LOCKED 2026-05-10
The original "Held in Trust" signal copy was scoped to a Seed planted for the recipient. Ashley flagged it didn't cover (a) a Vault that's Held in Trust, (b) the case where someone is the trusted Guardian-but-not-recipient and gets notified, (c) "when you're ready" doesn't fit when the recipient is a Guardian-as-trustee, not the eventual opener. Plus a fourth case raised 2026-05-10: (d) a steward holding a piece of someone else's garden for someone else (e.g. Mom holding a Seed from Grandma for her kids — Mom is neither sender nor eventual recipient). Locked: "Something has been placed in your trust." Genericized — drops the "your garden" ownership claim, centers the trust role itself rather than the object. Works whether the recipient is end-user, trustee, or pass-through steward. Pairs with the v3 still-cloud icon (SCRATCH-weather-hero-icon-v3-2026-05-10.html §03 · Alt B2). Routes to Claim flow OR Vault detail per relationship type (logic per-signal-instance).
📋 Signal Catalog · CANONICAL HOME → ux-weather-signals-backlog.md
The living signal catalog moved 2026-05-10. Q⑬ was the first signal-expansion brainstorm but kept growing. Now there's a dedicated tracker at ux-weather-signals-backlog.md · referenced from CLAUDE.md Source-of-Truth Reference table so future sessions auto-route to it. It contains: all 11 locked signals · open Q⑬ candidates · new candidates (Journey-specific J1/J2, Positive momentum P1/P2/P3) · the process for adding new ones. Don't capture new signal ideas here — capture in the backlog. This Q remains as a historical pointer. Where to go for signal work: ux-weather-signals-backlog.md
⑬ Signal-Type Expansion · 1/5 LOCKED 2026-05-10 · 4 still open · ⚑ Tracker now at ux-weather-signals-backlog.md
The current signal types feel light. Ashley wants brainstorm on what other re-engagement signals could surface. Five candidates raised: long-quiet Gardener (months without planting) · weather-anniversaries · milestone-approaching (a bloom date getting near) · Grove-density nudges · Pressed-flower memories. Brainstorm pass needed for the remaining four. Partial lock 2026-05-10: "long-quiet Gardener" closed as Signal #11 · Garden Cold-Snap (see §02 above · thermometer icon · sky-blue cool fill · 4-week threshold · routes to Plant FAB · copy "Your field has cooled. A Seed could warm it back up." per Alt 2 lock). Other 4 candidates remain open for a separate brainstorm pass.
⑭ SMS Reminder-Text Consistency · NEW
At MVP we send notifications via SMS (per §05). Ashley wants those to align with in-app Weather copy where possible. Decide: identical copy verbatim, or a tighter SMS register per type? Specify per-signal-type if needed.
⑮ Seed Packet as Weather Notification Type · NEW (ripple from Seed Packet doc)
Seed Packet (count + time threshold) needs to be a registered Weather notification type. Per product-seed-packet.html §07, the Packet generates Weather prompts when un-planted Seeds hit count/time thresholds (locked: 10-day threshold). Add to §02 signal-types catalog with copy in the same brand-voice pass as Q⑪.
09

Brand voice guardrails

Words used in Weather (on-brand)

  • Open, Plant, Tend, Claim, Look back, Manage — action verbs (Manage is the one slightly-administrative exception, used sparingly)
  • Bloom, Seed, Vault, Grove, Held in Trust, Seed Packet — vocabulary nouns
  • Today / This week / Older — temporal grouping (gentle, not clock-y)

Words explicitly NOT in Weather

  • Today's Schedule, Daily Tasks, To-Do, Action Items, Pending — productivity-app vocabulary
  • Update, Refresh, Click here, Tap here, Now, Urgent — generic UI / urgency language
  • You've completed, You earned, X% done — gamification
  • Reminder as a label (we say "A Seed waits..." or "X needs tending..." — never "Reminder:")
Tone test: if a Weather item read alongside a real weather report ("70°, partly cloudy, light wind") would feel like a tonal mismatch, the item is wrong. Real weather is observation, not assignment. DandyLine's Weather should sit at exactly that altitude.