DandyLine -- UX Inspiration
Inspiration Library

Saved Mobbin, Dribbble, and in-the-wild patterns Ashley loves. Each entry captures the screenshot, what specifically caught her eye, and the design takeaway. This is an active design directive, not a passive archive -- Claude reads this file at the start of any UX design task and pulls inspiration from the relevant tagged entries.

For future sessions: how to USE this library

When Ashley asks for any UX/UI design (a button, a card, a nav, a filter, anything visual), the workflow is:

1. READ THIS FILE FIRST -- before sketching, coding, or proposing.
2. FILTER BY TAG -- match the design ask (e.g., "button" task → button-tagged entries).
3. PULL THE TAKEAWAYS -- each entry's "Design takeaway" line translates the inspiration into DandyLine vocabulary. Use those.
4. CITE WHICH ENTRIES INFORMED THE DESIGN -- so Ashley can trace your reasoning back to her own taste.

If no relevant entry exists for a design ask, design freshly but tell Ashley -- she may want to seed the library with a few references before you proceed.

How to add an entry (Ashley's prompt pattern)

Drop a screenshot in chat (Mobbin links alone don't work -- mobbin.com is blocked from Claude's network). In the same message, tell Claude:

1. SOURCE: Mobbin / Dribbble / app name
2. WHAT I LOVED: 1-2 sentences in your own words ("the pill toggle slides under your finger like butter")
3. WHERE IT MIGHT FIT: button / nav / menu / filter / animation / planting flow / vault detail / etc. (one or more tags)
4. STATUS (optional): NEW (just saved), NOTED (worth thinking about), APPLIED (already used)

Claude will: save the screenshot to inspiration-images/, write the design takeaway, add a card below in the right grouping, and confirm with the entry name. To find anything later, just ask: "show me everything tagged 'menu'" or "what did I save about animation?"

All Buttons Navigation Menus Filters Lists Search Icons Animation Planting Flow Vault Detail Prompts Journey Vault Sealed State Confirmation Compost Media Flip Notifications Permissions Discover / Home 3D Bloom View Audio / Voice Onboarding Empty States Glass / Frosted Framed Card Wheel Picker Stacked Cards Map View Settings Profile Avatar / Orb Bottom Sheet Draggable
Buttons
// example placeholder // Example
Sample entry showing the card format

This is where Ashley's quote about what she loved goes. One or two sentences in her voice.

This is where Claude writes the design takeaway -- a one-line distillation that connects the inspiration back to a DandyLine pattern we could try.

Navigation & Menus
Filters & Search
GROVE PERSONAL MILESTONE SEALED BLOOM SOON 3 SEEDS GROVE Mom's Letter 12d to bloom · planted Apr 2 GROVE Family Trip Recap 3 mo to bloom · planted Mar 14 GROVE Dad's Voicemail Archive Sealed · 18 years New
Filter pills + thumbnail list for browsing

I sometimes imagine seeing vaults or seeds stack in a list format to easily view -- showing thumbnails or icons, and then high-level detail. As you search/filter, this seems like an easy way to view a lot in one location, while seeing the filter options at the top that are easy to reference and edit.

A vault-filtered list view: pill row at the top (active pill takes the vault color, inactive pills are outlined-only), result count below, then stacked rows. Each row = small vault-colored thumbnail (uses the same drawIconJar dot language we built into the brand), eyebrow tag (vault name in vault color), seed name in Syne, then a one-line meta (time-to-bloom + planted date OR "Sealed · X years" for legacy). Heart for save, 3-dot menu for actions. Easy to scan, easy to filter down. Plays well with our existing F01+F05 merged filter widget -- the pills could replace or live alongside it depending on screen context.

Filter Seeds VAULT (1) ^ GROVE PERSONAL MILESTONE LEGACY BLOOM TIMING ^ BLOOM NOW BLOOM SOON SEALED MOOD v GUARDIAN v SHOW 38 SEEDS New
Full filter modal with collapsible sections

A good way to choose from lots of filters when trying to find things or narrow down seeds (whether in a vault/dandelion, in the compost/pressed folders... etc.). Just a good filter visual.

Modal pattern for "deep filtering" -- sections you can expand/collapse (Vault, Bloom Timing, Mood, Guardian, Date Planted, etc.), pills inside each section show all options at a glance, count next to the section header shows how many filters are active. Live "Show N seeds" CTA at the bottom updates as you toggle (the gold sticky CTA = the one moment of commitment, matches the gold rule). This is the "Press Filter button" deep view, complementing the inline F01+F05 filter widget that sits on the main browsing screen for quick filters. Compost folder + pressed seeds use the same modal -- different content, same UX.

VAULT TYPE Grove Personal Milestone Legacy Journey Roots color + dot pattern + label = instant recognition New
Color-coded category pills with icons

Another good filter visual to show how to view options for inspo.

Each filter pill carries its category's color tint AND icon -- so you recognize it without reading. This is exactly how DandyLine's six vault colors should work in any filter, picker, or selector: Grove (sage), Personal (sky), Milestone (gold), Legacy (purple), Journey (teal), Roots (terracotta). Each pill uses the vault color at ~22% opacity for fill, ~50% for border, ~70% for icon/text. The drawIconJar dot language doubles as the pill's mini-icon -- 3 orbiting dots for Grove, ascending dots for Journey, etc. Brand consistency for free.

Choose a Vault GROVE PERSONAL MILESTONE LEGACY Tap to select. Each vault speaks its own visual language. CONTINUE New
Large visual cards for selecting from a fixed set

Love seeing options for filters or selections when building a seed or vault in a VISUAL vs just text when able. Feels like a good way to choose vault types. Or scheduling icons.

When the choice space is small (~3-6 options) and visual identity matters, big tappable cards with bold central icon + label below beat any pill or dropdown. Two highest-value places in DandyLine: (1) Vault picker when planting a new seed -- 6 cards (Grove, Personal, Milestone, Legacy, Journey, Roots) each with the full drawIconJar rendering. Selected card glows in its vault color (~2px border + ~18% fill); unselected cards stay muted. (2) Bloom-timing scheduling -- cards for "Bloom Now," "1 Year," "5 Years," "On a Date," "When [trigger]" with iconography for each. Same pattern, swap content. Cards are bigger than pills = feels deliberate, ceremonial -- which fits planting a seed.

Animation & Motion
No entries yet Animations are best captured as short screen recordings -- screenshot a key frame and describe what moves.
Planting Flow & Vault Patterns
12d UNTIL BLOOM Mom's Letter GROVE FROM Mom PLANTED Apr 2, 2026 BLOOMS May 1, 2026 New
Arc-over-number for Locked Seed countdowns

The arch over a number is interesting. Showing progress visually as you flip through Locked Seeds. Could surface seed name, planted/bloom timing, who planted it, and which vault -- color reflects the seed/vault. Creates anticipation outside of just the countdown clock.

A vault-colored progress arc that fills as the seed approaches bloom. Lives alongside the existing countdown clock (not replacing it) -- arc = ambient/at-a-glance, clock = precise. Implementation isn't bad: an SVG <path> using stroke-dasharray animated from "empty" to "% complete" based on time elapsed. Arc stroke uses --vc-hex so it inherits Grove green / Personal sky / Milestone gold automatically. Bloom date can be the one moment gold appears on the card -- subtle reinforcement that bloom = the commitment.

YEAR ONE Monthly Reflections 5 / 12 x 5 Beautiful, Ashley 5 Memories Captured SHARE CONTINUE → New
Prompt-completion screen for Journey vault

I like this visual for inspo for the JOURNEY Vault when thinking through prompts. Letting the user know what the prompt is, when the next one is (optional), etc. The styling made me think of that experience.

A reusable "you completed a prompt" celebration template. Top header: small vault-colored thumbnail (Journey teal jar) + series name in Syne + sequence number ("5 / 12") + thin progress bar — tells you exactly where you are without scrolling. Body: oversized hero number with a soft vault-color radial glow behind it (Journey teal); short congratulations line; one-line stat ("5 Memories Captured"). Footer CTAs: outlined Share (low pressure, optional) + filled gold Continue — gold for the forward action since advancing is the small commitment. Pattern reusable for any vault that runs in series (Journey "year one prompts," Roots family questions, etc.).

x What memory do you want your future self to remember? Tap to record TEXT PHOTO AUDIO ^ New
Cream-background prompt-entry screen with multimedia capture

This one too -- feels like a prompt screen. [The Suno "Hum a tune" entry pattern.]

A prompt-entry surface that feels like opening a memory journal, not a form. Background: DandyLine cream (--cream / #F5F0E8) instead of dark — this is the rare moment we step out of the dark canvas because the action is intimate, almost paper-like. Visual decoration: a small scrapbook-style collage of muted polaroid cards stacked at gentle rotations — wordless cue that "you're capturing a memory." Prompt text: Syne, calm and questioning. Capture options: Text / Photo / Audio tab row at bottom — one prompt, three ways to answer. Action: single big circular button using the vault's color gradient (Journey teal here, but inherits from --vc-hex). Single big button = no decision fatigue. Plays well with the Aura completion pattern (Entry 006) — together they bookend a single prompt: open / capture / celebrate.

YOUR VAULTS SEALED SEED x 12 days UNTIL BLOOM Mom's Letter FROM Mom MEDIA Audio · Photo PLANTED Apr 2, 2026 BLOOMS May 1, 2026 Notify me when it blooms GOT IT New
Sealed-seed reveal modal (defines a new DandyLine screen)

This visual made me realize we will need to have a screen pop-up when a seed or vault is still sealed. Should show countdown, details that are allowed to be shown (that the gardener allowed to be shared prior... usually title, when it was planted, when it will bloom, which vault it's in, media type). We will NOT be showing it blurred. But we want to design something that creates anticipation. Perhaps it also includes a prompt to turn on notifications (IF NOT ALREADY DONE SO). Good way to get that to be a likely approval.

→ NEW SCREEN: Sealed Seed Reveal Modal. Triggered when a recipient taps any sealed seed before its bloom date. Bottom-sheet modal slides up over the dim'd vault browse screen. Anticipation, not opacity: instead of Azar's literal blur (which feels like withholding), DandyLine uses the vault jar + the arc-countdown from Entry 001 as the hero — the visual progress IS the anticipation. Layout: SEALED SEED badge eyebrow + close X | hero jar+arc combo on the left + "12 days / UNTIL BLOOM" beneath | meta stack on the right showing only what the gardener allowed (FROM, MEDIA TYPE, PLANTED, BLOOMS — bloom date in gold). Smart notification ask: a soft sky-blue "Notify me when it blooms" pill appears only if push permission isn't yet granted -- contextual permission prompts get higher approval rates than upfront ones (you're asking AT the moment they want the thing). CTA: gold "Got it" — small commitment to leave the modal. Cross-references Entry 001 (the arc pattern). Should eventually live on the style guide as a CONSIDERING block, then locked once content rules are confirmed.

9:41 Mom's Birthday Letter Grove Audio · 2:14 For Mom Blooms 5/12 Sealed, Ashley. Mom will be notified the morning of her birthday — until then, this seed grows quietly in your Grove. YOU'VE PLANTED 4 SEEDS THIS MONTH New
Seal-confirmation moment (after planting completes)

Love this visual for when someone SEALS something (video, note, voice, etc.)... kind of like a CONFIRMATION it's sealed so it feels like a genuine action. Then it shows some kind of recap of the details for what you just sealed. Love that it's not only a strong visual that has interesting features, but it also has fantastic animation to keep it interesting. I LOVE animation/movement that feels soft and clean.

→ NEW SCREEN: Seal Confirmation (the moment after Plant). Triggered the instant a gardener finishes the planting flow — replaces a generic toast with a full-screen, two-tone confirmation that feels like an act. Top half (vault-tinted blur): a soft abstract preview of the seed (vault-color gradient + 2-3 organic orbs — never the literal media, since it's now sealed), the seed name in Syne, and TheFork's signature pill row showing the recap (Vault · Media type · Recipient · Bloom date in gold). Bottom half (cream): the curved transition reveals a cream confirmation surface (matches our prompt-screen palette from Entry 007). Hero is a small gold disc with a sealed-jar mark inside — replacing TheFork's check because "sealed" is more accurate than "done". Animation philosophy (Ashley's "soft and clean" rule): 1) cream surface curves up from below (350ms ease-out), 2) gold disc scales in (250ms spring), 3) outer ring pulses outward once and fades (600ms ease-out) — the pulse IS the seal action. No bounces, no wiggles. Copy pattern: "Sealed, [Gardener's first name]." (Syne) + 2-line plain-English recap (Outfit) telling them what happens next and where the seed lives now. Soft brag line at the bottom — "YOU'VE PLANTED 4 SEEDS THIS MONTH" — a quiet reinforcement, never a streak/gamification. Cross-references Entry 007 (cream prompt surface) and Entry 008 (the sealed-state visual language). Should land on the style guide as a CONSIDERING block, then lock once we finalize the recap-line copy and the bloom-notification timing rules.

Compost 27 seeds composting · drag any card to preserve All vaults GROVE Old letter Composts Apr 24 PERSONAL Voice memo 03 Composts May 2 MILESTONE Draft toast Composts tomorrow ROOTS Test recording Composts Apr 21 LEGACY Family note Apr 30 4 SEEDS WILL FULLY COMPOST THIS WEEK · TAP ANY TO PRESERVE OR DELETE NOW New
Compost-pile dump (animated tumble + per-card compost date)

Love this animation for composting: kinda feels like they are being "dumped" as they "compost"... showing the thumbnails of each file with a true compost day that's unique to each one is a fun way to view. Then someone can click on something composting to change their mind and press/preserve if they'd like to... or immediately delete if preferred. Try not to lose the essence of the animation by only reviewing the screenshot.

→ NEW SCREEN: The Compost view. When a gardener taps "Compost" from the bottom nav (or from a vault detail), they land on a quiet dark canvas with their composting seeds rendered as small tilted cards scattered like they've physically been dumped onto the floor of the pile. Per-card content: vault-colored top stripe + vault label, seed name (Outfit medium), and the seed's own compost date in terracotta (e.g., "Composts Apr 24" / "Composts tomorrow") — every seed has a unique compost timeline based on when it was sent to compost, so the dates feel personal and real rather than batch-stamped. Animation (Ashley's "essence" warning — this is the whole point): 1) when entering the screen, cards tumble in from the top staggered by 60-90ms, each with a slight rotation (-25° to +35° randomized within bounds) and a soft settle wobble at the end (like leaves into a compost pile, not a card-shuffle), 2) cards have a subtle idle drift — 1-2px slow oscillation — so the pile feels alive and decomposing, never frozen, 3) the warm terracotta floor glow at the bottom gently pulses (4s cycle), suggesting heat/decomposition. Interactions: tap a card → small detail card lifts up out of the pile with two CTAs: "Press & preserve" (sage outline — moves it back to the original vault) and "Delete now" (terracotta outline — skips the wait). Long-press a card → it visibly sinks deeper into the pile and shows a faint deletion hint. Bottom strip: contextual count showing what's about to be permanently deleted this week (action-prompting, not anxiety-inducing). Cross-references Entry 004 (vault-color pill language) and Entry 008 (warm-glow pulse pattern). Should land on the style guide as a CONSIDERING block under a new "Compost & Press" section once we test the tumble timing on real device.

MOM'S BIRTHDAY LETTER · 4 ITEMS x Audio Mom's voice · 2:14 Photo Photo Letter Video DRAG THE ARC TO FLIP THROUGH New
Arc dial for flipping through media inside a seed

An interesting way to consider how we will allow users to interact through their media (flipping through media): obviously with a dandelion/orb design, but the motion of the arc is interesting.

→ INTERACTION PATTERN: Dandelion-orb arc for in-seed media flipping. When a seed contains multiple media items (an audio + 2 photos + a video, say), the bloom view uses an arc dial instead of swipe-cards or a gallery row. Why an arc: it gives spatial weight to the "now" — the centered item is dramatically larger and glowing while peripheral items shrink and fade along a curved path. The motion of dragging feels like spinning a wheel of memories, which fits DandyLine's "soft and clean" rule and feels less utilitarian than a horizontal carousel. Visual language: each media item is a dandelion-seed orb (replacing Believe's flat ticks) — the centered orb has the gold halo + ~7 drifting seed-fluffs and a small media-type indicator (▷ for audio, photo glyph, etc.); peripheral orbs shrink and lose their dandelion fluff at the edges, becoming simple cream dots. The seed name and media type/duration sit above the center orb in Syne + Outfit. Animation rules: 1) the arc itself never visibly moves (it's a track) — only the orbs travel along it, 2) as orbs scroll past center, the dandelion fluffs physically scatter outward briefly (a 200ms detach animation) before settling back as the next orb takes center, 3) light haptic at each "click" past an orb. Position dots beneath the arc give a quiet "1 of 4" sense without numerals shouting. Use cases: in-seed media flipping (primary), browsing sealed seeds inside a vault from the detail screen (secondary), Journey vault prompt-stepping (tertiary — the orbs become numbered prompts instead of media). Cross-references Entry 001 (the arc as a sacred shape in DandyLine), Entry 005 (visual selectors), and our existing dandelion-fluff iconography. Should pilot this in the seed-bloom view first since that's where multi-media is most common.

9:41 Find your people. DandyLine uses your contacts to find friends & family already in DandyLine — and to send seeds to those who aren't. Contacts stay on your device. Never stored on our servers. ALLOW ACCESS Maybe later New
Contact-permission ask (Find your people)

Interesting image for how to search for friends to add them.

→ NEW SCREEN: Find Your People (contact permission ask). Triggered when a gardener taps "Add a recipient" for the first time, or during onboarding step 3. Layout: dark-to-gold vertical gradient (gold gradient pools at the bottom right where the CTA is — gold = the moment of consent commitment, matches the Golden Rule). Top 50% shows a blurred mock contact list card with silhouette avatars and skeleton text — this previews the value (you'll see your people here) without revealing anyone yet (you haven't given permission). The blur is the integrity: "we won't show you anything until you say yes." Headline in Syne ("Find your people.") sits over the gradient transition zone, body copy in Outfit explains both use cases honestly (find friends already on DandyLine + send seeds to those who aren't). Trust line: small lock icon + "Contacts stay on your device. Never stored on our servers." — this is non-negotiable in the copy and should be tested with real users to confirm it lowers refusal rate. Two CTAs: gold "Allow access" (the gold rule — high commitment) and a soft sky-blue "Maybe later" text-link (no friction to opt out, builds trust). Why this matters for DandyLine specifically: contacts is one of our most sensitive permission asks because seeds will be sent to people in their address book — phrasing that emphasizes device-only storage and both sides of the relationship (existing users + outsiders) preempts the most common objection. Cross-references Entry 008 (contextual permission ask philosophy — same playbook, different permission). Should land in the style guide's onboarding/permissions section as a CONSIDERING block once we lock copy with privacy review.

3D Grid Mom's letter BLOOMING NOW First steps BLOOMS IN 2 DAYS SOON Anniversary toast My Garden Pinch · drag to spin 12 blooming · 47 sealed · next bloom in 2d 14h New
3D dandelion bloom-globe (rotate to discover seeds in your garden)

LOVE this interactive animation: it feels like a powerful way to move through a 3D animated dandelion to see all the blooms around it. Assuming you'd use your fingers to move the dandelion around, and instead of locations on a map, you'd see seeds that seem they are BLOOMED or SOON BLOOMING pop up with media icon and title perhaps?

→ NEW SCREEN (BIG ONE): The Dandelion Globe — an alternate "Home / Discover" view. Replaces the static vault grid for gardeners who prefer a more spatial, almost meditative way of seeing what's growing. Concept: a translucent 3D dandelion sphere floats in the center of a star-flecked night canvas (DandyLine's `--bg`), with sage-green latitude/longitude curves for subtle 3D depth. Sticking out from the sphere in all directions are dandelion seed-fluffs — each one is a real seed in the gardener's garden. Color = state: gold + pulsing halo = blooming right now; vault color (sage/sky/gold/purple/teal/terracotta) = blooming soon (within ~7 days); cream/dim = still sealed, distant bloom. Tooltip cards attached to the most-relevant blooms show a tiny media-type glyph (audio waveform, photo, video, letter) + seed title + state line ("BLOOMING NOW" in gold / "BLOOMS IN 2 DAYS" in vault color / "SOON" in cream). Interaction (Ashley's gesture insight): drag with one finger = spin the globe along an axis, pinch = zoom in/out on a region (revealing more tooltip cards as you focus), tap a fluff = lift it into a focused detail card with the seed's full meta. The "powerful way" payoff: when you rotate, fluffs you've never seen drift into view from the back of the sphere — every gardener has seeds they've forgotten about, and the globe surfaces them passively rather than requiring search. Bottom sheet (Apple Maps pattern) holds the "My Garden" header (tap to switch to grid view), counts ("12 blooming · 47 sealed"), the next-bloom countdown in gold, and a sky-blue gesture-hint chip. Top-right toggle mirrors Apple Maps' 3D/Map switcher — but for us it's Globe / Grid. Animation rules: the globe has a gentle idle drift (very slow rotation, ~120s full revolution) when untouched, so the screen is never frozen. Blooming-now fluffs gently pulse outward (the dandelion-fluff scatter from Entry 011, but slower). Tooltip cards fade in/out as fluffs cross the visible hemisphere. Why this is huge for the brand: this is the first interaction in the app that visually fulfills the dandelion metaphor — your garden is alive, three-dimensional, and constantly revealing itself. Cross-references Entry 011 (dandelion-orb language), Entry 005 (visual selectors), and the core dandelion brand mark. Build complexity flag: this is non-trivial — would need WebGL/Three.js or a native 3D layer. Worth a feasibility spike from Josh before committing. Should land on the style guide as a flagship CONSIDERING block with build-cost note.

M GROVE · SEALED BY MOM Your First Birthday Photo · Apr 12, 1996 · Joyful Reveal more New
Bloom view (full-bleed media + hovering meta + thumbnail strip)

I really need to view it to get the idea of the animation, but I love how clean it is — imagine the dandelion logo on the top left corner, and as it's a photo, it would show the photo full screen with hovering information about the photo on top — who the gardener is, when it was shared, sentiment, all those things we've already predetermined. Showing that visually just hovering over the image where it doesn't feel too intrusive. Then the dots at the bottom make you feel like you can swipe through — everyone's familiar with those — and underneath, the thumbnails let you quickly navigate to different media types, voice memo or note. It feels like a really interesting way once you're inside the dandelion to really experience it without feeling like a file system.

→ NEW SCREEN: Bloom View (full-bleed media after a seed has bloomed). Triggered when a recipient taps a bloomed seed (the opposite of Entry 008's Sealed Reveal Modal — this is what they see after the wait is over). Layout philosophy: the media IS the screen. Full-bleed photo / video frame / note background, with a top fade for legibility (small dandelion logo top-left + gardener avatar circle top-right) and a bottom fade where the meta overlay lives. Nothing else competes with the moment. Meta overlay (the "hovering info"): a small vault eyebrow pill ("GROVE · SEALED BY MOM") + the seed title in Syne + a single sub-meta row with media type · date · sentiment (predetermined sentiment from the gardener at planting). All three lines sit in the lower third with a soft dark fade behind them — visible but never intrusive. Two CTAs: gold "Reveal more" pill (opens a fuller meta drawer with the full predetermined details — sentiment why, planting context, gardener's note to recipient) + a small circular "+" save action (let recipient add to their own keepsakes/Roots vault). Pagination dots: familiar swipe pattern for multiple media inside the same seed (4 max recommended — beyond that, use Entry 011's arc dial). Bottom thumbnail strip: replaces "Top 10 on Apple TV" with this seed's other media items — current item highlighted in vault color, others as small media-typed thumbnails (waveform, note lines, play-triangle) so recipient can leap to any media without losing the immersive feel. Soft and clean motion (Ashley's animation rule): meta overlay fades in 250ms after media settles, thumbnail strip slides up from bottom 80ms after that. Tap-to-dim hides all overlays for full unobstructed viewing (auto-restore after 3s of stillness). Cross-references Entry 011 (multi-media flipping) and Entry 008 (the sealed counterpart). Should land as a CONSIDERING block once we lock the sentiment vocabulary.

9:41 GROVE FROM GROVE VAULT PLANTED BY MOM Seeds in this vault - - - First steps VIDEO · BLOOMING NOW Birthday letter AUDIO · BLOOMS APR 28 Recipe card PHOTO · SEALED 8 MO Wedding day toast VIDEO · SEALED 2 YR New
Tilted vault tile + vertical seed stack (reusable list pattern)

This animation is interesting because on the first screen it feels like you're looking at the vault, the master, the main dandelion with its visual — and then whenever you swipe, you can get into it and that's a different way to view the different media inside the dandelion in a list format. It just kind of stacks them and tells you high-level information. It's just another interesting way to view the detail of a dandelion or the list of the seeds. I think this menu stack could be used for several different things.

→ REUSABLE PATTERN: Master-Visual + Stack-List (a 50/50 split-screen list view). A modular layout for any "container + items" relationship in DandyLine. Left half: a tilted "master tile" — could be a vault jar (Grove, Personal, Milestone, etc.), a Journey vault prompt-set cover, or even a single seed showing its primary media. The tilt (~-10°) gives the tile physical weight like a vinyl record sleeve, signalling "this is the thing you're inside of." Below the tile sits a small rotated "FROM [VAULT] · PLANTED BY [GARDENER]" eyebrow in Outfit caps. Right half: a clean vertical stack of the items inside, each row showing seed title in Syne + a single all-caps sub-line ("VIDEO · BLOOMING NOW", "AUDIO · BLOOMS APR 28") in Outfit. Hairline dividers between rows — no card chrome, just typography. Why this works: it answers "where am I?" (left tile) and "what's in here?" (right list) on one screen without overwhelming. The list breathes (no boxes, no avatars, no extra meta) because the master tile carries the identity. Use cases Ashley flagged ("could be used for several different things"): 1) Vault detail — tile = the vault jar, list = seeds inside; 2) Journey prompt-set — tile = the journey cover, list = prompts in order; 3) Compost detail — tile = compost icon, list = composting seeds with countdowns; 4) Single seed expanded — tile = primary media, list = other media items in this seed (alternate to Entry 014's thumbnail strip when there are 5+ items). Bottom control tray: small pill with 3 view-mode toggles (sort / mood-filter / stack-vs-grid) — non-intrusive, only visible if needed. Animation: when entering the screen, master tile slides in from off-canvas with a slight wobble settle (200ms ease-out); list rows stagger-fade in 40ms apart (top to bottom). Why this is in the inspiration library: it's a chassis, not a single screen — once approved, build it once and reuse it across the four use cases. Cross-references Entry 011 (in-seed media flip alternative) and Entry 010 (compost view).

Mom's Birthday Voice Note Wed, Apr 12, 1996 · From Mom · 2:14 x 1:14 LIVE TRANSCRIPT · TAP FOR FULL "Happy birthday my sweet girl. I can't believe you're already six years old today..." Prev Next CC New
Voice-memo bloom view (waveform hero + vertical progress + live transcript)

This is one of several interesting ways to view voice memos. The visuals are very strong, so you do have to find a way to show that well as another media — showing the progress bar, the details of what you're listening to. A bonus would be the transcription as well, which I hoped to include. This is a decent clean visual, but I know we're going to need to develop one.

→ NEW SCREEN: Voice-Memo Bloom View (specialized variant of Entry 014's Bloom View, just for audio). Audio seeds get their own treatment because there's no visual media to make full-bleed — the waveform itself becomes the hero. Pulled from two references: Spotify's centered, dynamically-rendered waveform (the audio's own personality made visual) + Quibi's elegant vertical progress bar on the right edge (frees the horizontal axis for the waveform; feels less player-app, more cinematic). Layout: top-left dandelion logo + seed title in Syne ("Mom's Birthday Voice Note") + meta sub-line in Outfit (date · gardener · duration); huge centered waveform across the middle band — gold for played, cream-faded for unplayed, with a clear seam where the playhead is; vertical gold progress bar on the right edge with a draggable dot and current time below. Live transcript strip (Ashley's "bonus ask" — making this a must, not a nice-to-have): a soft cream-on-dark caption box just below the waveform that scrolls in sync with playback, current word/phrase highlighted in gold; tap to expand to full transcript modal. This makes audio seeds readable for accessibility, scanning, and recipients who want to revisit a phrase. Transport row: Prev (sage outline), large gold Play button (the moment of commitment to listen), Next (sage outline) — gold-rule applied. Utility row at bottom: CC toggle (transcript on/off), share, save to Roots. Animation rules (soft and clean): 1) waveform bars gently breathe at idle (subtle 1-2px height oscillation, like a sleeping creature) so the screen never feels frozen, 2) on play, gold sweep moves left-to-right through the bars in real time — no glow pulse, just clean colorshift, 3) transcript words fade in ~80ms before they're spoken (not after — anticipation, not lag). Why an "interesting visual" matters here: the waveform isn't generic — every voice memo's wave shape is unique to that recording. Treating it as the seed's visual fingerprint turns a faceless audio file into something that looks like the memory it holds. Build note: Web Audio API can render a real waveform from the audio buffer at upload time and cache the SVG path — no need to recompute on each play. Cross-references Entry 014 (parent bloom-view chassis) and Entry 011 (multi-media flipping when audio sits alongside other media).

12 APR 1996 "Happy birthday my sweet girl. I can't believe you're already six years old — may this day be the start of your brightest year yet." Mom · Grove vault · Voice transcript 12 New
Note + transcription view (gardener-picked background image with light overlay)

I really liked this example because it shows a general background image — for a note where there's a general background image that someone could pick from, but then it's got either the transcription from a voice memo or a text note that they've given you. I'll give you a couple examples of how you could show transcription from voice memo and/or text. I feel like showing a light overlay that feels personal and like a special note is important.

→ NEW SCREEN: Note Bloom View (for text seeds and voice-transcript companion view). A third bloom-view variant alongside Entry 014 (full-bleed media) and Entry 016 (waveform). Used when the seed is primarily a written note OR when a recipient wants to see the transcript of a voice memo as its own screen. The big idea: at planting, the gardener picks a background image from a curated DandyLine library (sunsets, oceans, mountains, abstract dandelion gradients) OR uploads their own. The image becomes the emotional canvas; the note is overlaid in clean Syne with a soft dark scrim for legibility. Layout (TIDE-inspired): large date numeral in Syne ("12") + month/year caps ("APR 1996") sit in the lower-left as an anchor, then the note text rises above in Syne — short lines, generous spacing, never more than ~6 lines visible (longer notes scroll). Attribution row at the very bottom in italic Outfit ("Mom · Grove vault · Voice transcript") tells the recipient where this note came from and what kind of seed it is — italics give it a "letter signed by hand" feeling. Heart counter on the right (recipient can tap to mark this as one they want to revisit; the count is private to them, not social — never a like-count). Light overlay philosophy (Ashley's word "personal"): the scrim is a soft vertical gradient (transparent at top, ~55% black at bottom) — only enough to make text readable, never enough to flatten the image. The image must feel chosen, not "wallpapered." Top utility row: dandelion logo (left, identity anchor), heart-favourite + change-background + share (right). The change-background option lets the recipient swap to a different image if they want to re-experience the note in a new mood — a small but powerful touch of personal agency. Voice transcript variant: same chassis, but a small sage-green play-pill appears beneath the attribution row ("▷ Listen — 2:14") so the recipient can switch to the audio bloom view (Entry 016) at any moment. The transcript and the audio are two faces of the same seed, not separate items. Soft and clean motion: 1) background image fades in over 600ms on entry (slowly, so it lands), 2) note text types in line-by-line if it's the first time the recipient is viewing (subtle, ~30ms per character, only first time — re-visits show fully written), 3) the small accent line under the note draws itself left-to-right as the final touch (200ms). Cross-references Entry 014 (parent bloom-view), Entry 016 (audio counterpart), Entry 007 (cream prompt surface lineage). Should land as a CONSIDERING block once we curate the starter background image library and lock the typing-in animation rule.

dandeline A SUNDAY · APRIL 19 Good morning, Ashley. 3 seeds bloom this week. PLANT a new seed TEND your garden COMPOST light & let go New
Background motion + transparent glass action tiles (the "doesn't feel like flipping through files" home)

For this one, I love that there's like this animation — the video in the background that isn't being overwhelmed by buttons and NAV options. It's got like your buttons on top or detail or tiling on top, but it's light. It's got like a very transparent view through it so it feels like an actual action button, but doesn't feel like it's overwhelming the video that's running in the background. I just really like the clean display so it doesn't feel like you're flipping through files and it doesn't feel intrusive to the message or the product and how it's displayed.

→ NEW HOME PATTERN: Glassmorphic Quick-Action Home (likely the "Today" or "Quick Actions" home variant). The scene-setting layer is always ambient motion — never static chrome. The action layer is always glass — light, transparent, and visually subordinate to what's behind it. Background layer (the "video"): a slow, looping, low-contrast bloom — could be (1) a calm version of the Dandelion Globe (Entry 013) drifting at 0.05x rotation, (2) the Bloom-Soon weekly view fading between vault colors, or (3) a hand-picked ambient video the gardener chose during onboarding (sunrise, ocean, leaves). Rule: nothing in the background ever demands attention — it sets mood, period. Tiles (the "buttons"): 3 across at the bottom, ~88×40, border-radius:14px, fill rgba(245,240,232,.08), stroke rgba(245,240,232,.18), with a frosted highlight strip across the top half (slightly more opaque) to suggest a glass refraction line. Each tile = small icon + ALL-CAPS verb in Outfit 600 + lower-case modifier in Outfit 400 muted ("PLANT / a new seed", "TEND / your garden", "COMPOST / light & let go"). The verb is the action, the modifier is the warmth. Greeting lockup (center): tiny eyebrow date in Outfit caps + Syne greeting + italic "soft brag" line ("3 seeds bloom this week.") — never a number followed by an exclamation point. Top utility row: dandelion logo + wordmark on the left as identity anchor; gardener avatar on the right (tap = profile/settings). Nothing else. Bottom page indicator: 3 tiny dots, gold for current — this home is page 1 of a small set (possibly page 2 = Garden / page 3 = Compost). Soft and clean motion: 1) on app open, the background fades up over 800ms (slow on purpose), 2) the greeting lockup writes itself in (Syne characters appear letter-by-letter at ~30ms each — only the first time per session), 3) the three glass tiles ease up from 8px below their resting position with a 60ms stagger, 4) the gold dot in the page indicator pulses very softly (scale 1 → 1.15 → 1, 2.5s loop). Why glass over solid: solid buttons would compete with the video for attention; glass tiles let the bloom happen through the buttons, which keeps the user emotionally inside the product, not staring at a control panel. Build note for Josh: needs backdrop-filter: blur(20px) saturate(1.2); + a 1px inner highlight stroke. Falls back to a flat tinted card on browsers without backdrop-filter (Firefox without flag) — never use solid white. Cross-references Entry 013 (Dandelion Globe as bg source), Entry 008 (anticipation, not opacity), Entry 014 (clean display lineage).

PLANT THIS SEED First steps in the kitchen VIDEO · 0:42 PLANT IN G Grove M Milestone P Personal New
Framed seed dialog with bottom recipient picker (the "held in your hand" planting flow)

When planting a seed — or I guess uploading something and deciding where you want to share it — I think it's important to have the visual still feel like a tangible file. Not fill up the entire screen, but be framed in, and then you select at the bottom the options of where you want to share it or plant it or compost it or press it. I just feel like making it feel like… you're holding it in your hand in that moment, and it's not filling up the whole screen to be experienced is important — with the options lightly at the bottom, but keep it clean.

→ NEW PATTERN: Framed-Seed Planting Dialog (the "held in your hand" sheet). This is the universal pattern for any moment when the gardener is about to commit a seed somewhere — planting, re-planting, sharing with a vault, pressing, or composting. The seed must always be visible AS a tangible object, with breathing room around it. Never full-bleed, never edge-to-edge, never a generic share-sheet. Layout: tiny verb-eyebrow at top ("PLANT THIS SEED" / "PRESS THIS SEED" / "MOVE THIS SEED"), then a centered, framed preview of the seed (about 60% of the dialog width, with generous margin around it). The seed has its vault-color stripe at the top, a play triangle if video / waveform if audio / first line of text if note, and its title + meta beneath it in Syne + Outfit. The framing is the magic: the dark space around the framed seed is what makes it feel like an object you're holding rather than a screen you're inside. Drop-shadow underneath (filter: drop-shadow(0 8px 24px rgba(0,0,0,.4))) gives it the lifted-from-the-surface feel. Gold halo softly behind the seed when this is a planting moment (because gold = committing). Recipient/option picker (bottom third): tiny "PLANT IN" eyebrow, then a horizontal scroll row of vault chips — each chip = vault-color avatar circle with monogram + vault name in Outfit 500. Tap to select (chip fills in, gold underline appears). Multi-select allowed (a seed can live in multiple vaults — the chip becomes filled). Bottom CTA: a single gold "Plant" button (full-width with slim margins) — disabled if no vault selected, full gold once at least one is. Underneath the gold CTA, a small text-link "Save as draft" in muted cream — never a competing button, just an escape hatch. Tap-outside behavior: tapping the dark space around the framed seed dismisses with a "Save as draft?" toast (never silently discards). Soft and clean motion: 1) the dialog rises from the bottom 25% of the screen with the seed slightly enlarging into its frame (scale 0.92 → 1, 280ms ease-out), 2) the vault chips slide in from the right with 50ms stagger, 3) selecting a chip = chip fills + gold underline draws left-to-right (180ms), 4) on Plant tap = the framed seed lifts up and out the top of the screen while the gold CTA collapses inward (the seed leaves your hand and is planted). Why this matters: a generic full-screen "Share" sheet treats the seed like a file. The framed dialog treats it like an heirloom — held, considered, then placed. Reusable: same chassis used for Pressing (replace vault chips with "Press into Grove / Personal / etc."), Composting (replace chips with single confirmation + soft "letting go" copy), and Re-planting after a recipient unseals. Cross-references Entry 015 (master-visual chassis lineage), Entry 009 (sealed confirmation cousin), Entry 008 (cream surface for committing moments).

First steps in the kitchen When should this bloom? JUL SEP DEC MAR 23 24 25 26 2030 2031 2032 2033 Blooms in 6 years, 8 months New
Faded-context background + scroll-wheel bloom-date picker (planting flow modals that don't feel like pop-ups)

I kind of liked this visual for thinking about the planting process or sealing process — where you see at the top it's like faded in the background, it's not intrusive, but you can still tell what you're actually working on. What seed you're planting. And here at the bottom you're seeing you select which vault you want to put it in or when are you scheduling it for, and you kind of scroll through a timer or date or whatever — maybe it's the calendar, maybe it's the clock. But I feel like all of those things feeling like not just a basic pop-up window but actually engaging UX/UI would be very powerful, but still seeing the thing that you're referencing in the background somehow.

→ NEW PATTERN: Faded-Context Bottom Sheet (with engaging custom inputs, never default OS pickers). The hard rule: any time the gardener is making a sub-decision about a seed in flight, the seed must remain visible behind the decision. Never a fullscreen pop-up that hides the work. The work itself fades to ~35% opacity with a vertical gradient so the bottom 60% goes nearly black — the modal sits in that dark band, with the seed clearly recognizable above it. Layout: faded seed/preview at top (occupies the upper third — opacity 0.3-0.4, original colors preserved so it's still recognizable, never grayscaled), vertical scrim gradient bridging into the modal, then the modal itself (no harsh top border — just emerges from the darkness). Modal contents: small handle bar (24×3px, cream at 30% opacity) → Syne question header ("When should this bloom?" / "Which vault?" / "How long until pressing?") → custom engaging input → soft-brag preview line → gold CTA. The engaging input is the differentiator: NEVER use the default OS date picker, time picker, or dropdown. Each decision gets a custom, tactile control:

· Bloom date = 3-column scroll-wheel barrel (month / day / year) with the selected row highlighted in a gold pill, the row above and below at 60% opacity, two rows further at 40% opacity. Wheel scrolls with momentum + magnetic snap. Selected row uses Syne font (heavier, larger); unselected rows use Outfit (lighter).
· Vault assignment = horizontal vault-chip carousel (see Entry 019 chassis) with a gold underline drawing under the active selection.
· Press timer = circular dial (think Apple's stopwatch) with vault color trace as you drag — gold tick marks at meaningful intervals (1 mo, 6 mo, 1 yr, 5 yr, 18 yr, "next major birthday").
· Recipient = stack of contact cards (see Entry 021 stacked cards chassis) flipping through.

Soft-brag preview line (above the gold CTA): always shows the human-translation of the choice in muted gold italic ("Blooms in 6 years, 8 months" / "Planting in 3 vaults" / "Pressed for 5 years"). This grounds the abstract picker into a felt timeframe — never just "12/25/2032" alone. Gold CTA bar: a 6px gold strip at the absolute bottom edge of the screen — when tapped, it expands upward into a full button with "Set bloom date" copy. This is a deliberate inversion of the usual giant button — it's quiet until invoked. Soft and clean motion: 1) modal rises from the bottom over 320ms with the seed above fading from 1.0 → 0.35 simultaneously (NOT after — they happen together so the connection between seed and decision is visceral), 2) wheel barrel scrolls with iOS-style momentum + magnetic snap (haptic tick on each detent — important: navigator.vibrate?.([8]) per snap on supported browsers), 3) the soft-brag line re-types as the wheel settles (counter rolls fast → slow), 4) gold bar pulses very gently (opacity 0.85 → 1.0, 2s loop) until first interaction. Why this matters: planting is a multi-step decision (which vault, when, with whom, sealed how long). If each step is a fullscreen modal, the seed becomes abstract. Keeping it visible — even faded — preserves the gardener's emotional connection to the thing they're committing. Build note for Josh: wheel picker likely needs a custom JS implementation (not <input type="date">) — could prototype with a snap-scroll div and CSS scroll-snap, or use a library like react-mobile-picker as a starting point. Cross-references Entry 019 (planting chassis), Entry 011 (arc-dial motion lineage for the press timer dial), Entry 008 (cream-surface confirming-moment pattern).

Garden GROVE Family 12 seeds PERSONAL Just for me 28 seeds MILESTONE Birthdays & firsts 7 seeds LEGACY For my children 3 seeds ROOTS Where I came from 9 seeds New
Stacked-card vault flip-through (header-anchored stack with peeking previews)

Perhaps this is an interesting way to flip through vaults if you had the main information at the top so it's easy to kind of flip through whenever you're going through a long list. Then, when you select it, you can see more detail. Just a thought — I'm still trying to figure out the best way to flip through a large volume of media and vaults and seeds and all those things.

→ NEW PATTERN: Stacked-Card Browse (the Wallet pattern, applied to vaults and to seeds inside a vault). This solves the "long list of distinct things" problem without making them feel like file rows. Each card keeps its visual identity (vault color = unmistakable), shows its summary info (vault name + seed count) at the top edge so it's readable when half-tucked under the next card, and unfolds to a full-detail view on tap. Layout: persistent top header (Syne 18pt "Garden" + small search/add icon row) — never scrolls away. Below it, a vertical stack where each card is ~32px tall when tucked, peeks above the card below it by ~22px (the part that shows = vault-color stripe + icon-jar mark + vault name + seed count). The stack scrolls as a unit — nothing slides under the header, the whole stack glides. Card visual: full-bleed vault-color gradient (Grove sage → Journey teal at 95%, Sky blue → deeper sky, Gold → darker gold for milestone, etc.) with the icon-jar mark in cream on the left, vault name in Syne 11pt 600 weight, seed count on the right in Outfit 9pt. The vault-color is the entire card, which makes the stack feel like a deck of distinct heirlooms rather than a list. Tap behavior — the magic: tapping a card lifts it OUT of the stack (rises ~12px with a soft shadow), the cards above it slide up to fill the gap, and the cards below slide down out of the way. The selected card then expands open to its full detail (transitioning into the Master-Visual chassis from Entry 015). Hitting back collapses it gracefully back into the stack at its original position. Long-list strategy: when there are >12 vaults (rare for vaults, common for seeds inside a vault), the stack uses momentum scrolling with the header pinned; there's no bottom nav competing for attention. Re-ordering: long-press a card to grab it and drag-reorder. The other cards reflow under your finger. Search/add chips top-right: search filters the stack in place (non-matching cards fade and tuck more tightly); add slides in a "Plant a new vault" sheet (Entry 019 framed dialog). Soft and clean motion: 1) on entry, the stack assembles bottom-up — each card slides into position from below with a 60ms stagger over 280ms, 2) tap-lift uses a subtle scale (1.0 → 1.04) + 12px translateY with a 220ms ease, 3) shadow under the lifted card builds in over the same 220ms (0 6px 24px rgba(0,0,0,.35)), 4) the gap close-up uses a slight bounce at the end (overshoot by 4px then settle), 5) reorder drag-cards have a slight tilt (rotateZ 2deg) while in motion, settle flat when dropped. Why this matters: a vertical list of vault rows treats vaults as items in a database. A stack of cards treats them as a collection — like flipping through a deck of polaroids or a stack of envelopes. It's tactile, identity-rich, and scales beautifully (the stack metaphor naturally accommodates 6 vaults or 60 — they just tuck tighter). Reusable: same chassis used inside a vault to flip through seeds (each seed = a card with media thumbnail + title + bloom-status), and on the recipient side to flip through "seeds shared with me" (each card = sender's vault color + seed title + bloom date). Cross-references Entry 015 (Master-Visual unfolds from selection), Entry 002 (filter pills work above this stack), Entry 014 (bloom view as the destination after tap). Ashley's open question — "best way to flip through large volume" — this is a strong candidate, but should be A/B tested against a swipe-through "card carousel" (one card at a time, swipe horizontally). Build a quick prototype of both for her to feel the difference.

austin 12 SEEDS NEAR HERE GROVE · 4 SEEDS South Austin childhood 3 bloom this year · 1 sealed New
Place name as headline + clean stylized map + vault pins + bottom-swipe detail card (location-tagged seed discovery)

I like this visual for vaults where, whenever you are looking at a location, you can see nearby vaults in the area. Maybe the ones that aren't public — you know, the hidden ones — or the ones that you're not a part of are a little more faded. But then there's pop-up cards so you can flip through and experience the details of the vault that you're allowed to on a card at the bottom. The name is big and bold at the top — I'm not really into the boldness at the top, just the fact that the map feels clean. It does show the icons so the map isn't overwhelming. It doesn't look like an actual Google map — just gives you a general area, a little bit of badging on the vaults' locations, and then the detail below.

→ NEW SCREEN: Place-Tagged Vault Map (a discovery / "where my seeds live" view). This screen shows DandyLine's spatial dimension — the seeds and vaults tied to a specific place. Triggered from: tapping a location on a seed (e.g., "South Austin"), tapping "Near me" on the home screen, or browsing a friend's profile. The map itself is opinionated: do not render a real Google/Mapbox basemap. Instead, render a stylized, simplified land-mass abstraction in DandyLine's palette — soft sage land shapes, deep teal water, no roads, no labels. The map is a backdrop that suggests place without dictating it. (Use Mapbox with a custom DandyLine style — simplified geometry layer + custom colors — or render a vector simplification on the client). Place name (top-left): lowercase Syne, very large (~28pt), 95% opacity — feels like a headline, not a UI label. Tiny eyebrow underneath: "12 SEEDS NEAR HERE" in Outfit caps. Ashley's note: she's not in love with the "boldness" of zenly's headline — interpret as "yes large, but lowercase + softer color (cream not pure white) so it feels intimate not shouty." Pins on the map use the same icon-jar dot language as the vault chassis (Grove = 3 orbiting dots, Personal = 1 drift, Milestone = 1 large, etc.) so the user can read vault types AT A GLANCE without a legend. Three pin states:

· Visible (you're a member): full vault-color fill + cream stroke + the icon-jar mark inside. Selected pin gets a gold dashed ring around it (Entry 008 anticipation pattern).
· Visible but not a member (public/discoverable): half-opacity fill, smaller dot, cream stroke at 60%. Tap = "Request to join this vault" overlay.
· Hidden (private vaults you're not in or don't know about): ghost outline only — dashed cream stroke at 22% opacity, no fill, no inner mark. The user can see that something is there but not what. This is intentional — the map honors privacy while hinting at the richness of the world.

Bottom card carousel: a single horizontally-swipeable card sits at the bottom (vault color tint background, vault avatar + Syne name + Outfit soft-brag meta line). Swiping horizontally pages through the visible vaults at this location, and the corresponding pin on the map highlights with the gold ring + the map gently re-centers on it. Pagination dots at the very bottom show how many vaults you can swipe through. Right side of the card has a small → arrow chip that takes you into the vault's full Master-Visual view (Entry 015). The map is clean BECAUSE the icons carry the meaning — Ashley's word "clean": no street names, no markers, no overlays — the only things asking for attention are the pins themselves, and those use a visual language she already knows. Soft and clean motion: 1) map drifts in with a slow ken-burns zoom (1.05 → 1.0 over 600ms) so it feels alive on entry, 2) pins fade in with a subtle bounce + 30ms stagger (the order of fade-in matches distance from center — closest first), 3) selecting a pin = ring draws around it counter-clockwise + bottom card slides in from the right (220ms), 4) swiping cards = the gold ring travels from one pin to the next along a soft curve (not a straight line — feels like wind catching a seed), 5) hidden ghost pins very subtly pulse opacity (0.18 → 0.28 → 0.18 over 4s) so the user senses the "there is more here, you can't see it yet" mystery. Permissions / hidden state copy: tapping a hidden ghost pin shows a small overlay: "There's a private vault here. Only its members can see what's inside." — never reveals the vault name. Why this matters: places carry seeds. A childhood neighborhood, a wedding venue, a grandmother's town — these are emotionally rich containers. Surfacing them on a map gives gardeners a way to walk through their own past. Cross-references Entry 013 (3D Globe at planetary scale → this is the city scale), Entry 014 (bloom view = destination after pin tap), Entry 021 (stacked-cards is the alternate detail-list pattern). Build note: needs Mapbox custom style + custom pin renderer; defer ghost-pin pulse animation until after the map renderer is locked.

SETTING UP Mom's Letter · Grove vault VAULT Grove Change › RECIPIENT Future Ashley + Mom Change › BLOOM DATE Dec 25, 2032 Change › SEAL DURATION How long stays sealed? 1 YEAR 5 YEARS 10 YEARS CUSTOM New
Stacked settings sheets — visible history of every choice you've already made (plant-flow scrubber)

These stacked cards feel really interesting when trying to build a seed or decide where to plant it or set rules for a seed or a vault. There's lots of settings to choose from and I'm trying to make those less overwhelming. Sometimes you might want to go backwards and change a setting, and obviously those have implications when you change it and impact other things in the flow. But I feel like this is a way to scroll through and visualize everything you've chosen already in your options — that feels a little more powerful than just the basic list and filter system.

→ NEW PATTERN: Stacked Settings Sheets (the "scrubber" for multi-decision flows like planting and vault setup). Solves the "too many decisions, no way to see what I picked" problem in flows that touch 3+ settings (planting a seed, configuring a vault, scheduling a press). Rather than a sequential wizard or a dense settings list, each decision the gardener makes becomes a card that stacks under the current one. The active question is always the front-most, fully opaque sheet at the bottom (where the thumb lives). Past decisions tuck above it, ordered by recency, with their selected value shown as a peek — the user can scroll up to see what they've decided and tap any one to revisit. Layout: persistent context header at top ("SETTING UP / Mom's Letter · Grove vault") so the gardener never loses the thread. Then the stack: each completed decision is a 36px-tall chip showing eyebrow ("VAULT") + chosen value ("Grove") + a "Change ›" link on the right, with progressively more opacity as you get closer to the active layer (deepest = 6% white, 2nd = 10%, 3rd = 14%, active = full cream). The active layer is taller (~68px), uses cream background instead of dark glass to draw the eye, and contains the question + the input chips/wheel/picker for that decision. The visual progression of opacity is the whole point — it gives a felt sense of "you're building toward something." Older choices fade not because they're less important, but because they're done and trusted. They're still present (always visible above the fold), just not demanding attention. Tap-to-revisit behavior: tapping any past chip lifts it forward (it becomes the new active card with full input shown), and any decisions made after it animate down and fade further into the deep stack — but they're not lost, just queued behind. If changing this setting invalidates a downstream choice (e.g., changing vault from Grove to Roots invalidates the recipient set), a small terracotta "this will reset 2 later choices" inline note appears in the active card, requiring confirmation. Soft and clean motion: 1) when a decision is committed (active card's CTA tapped), the active card shrinks up into a chip and slides up to take its position in the stack with a 280ms ease, 2) the next decision's card slides up from below to become the new active layer, 3) revisiting a chip = the chip expands downward into the active position with a soft swap, while everything below queues with a 60ms stagger, 4) when the user changes a value that resets downstream, the affected chips briefly turn terracotta-tinted before fading back to cream — visceral signal of impact, no scary modal needed. Why this matters: most settings flows force the user to either trust their memory of what they chose 4 screens ago, or open a sidebar to check. This pattern keeps every decision physically present on the screen at all times. The user can reason about the entire seed they're building, not just the question in front of them. The "implications" problem Ashley raised — when you change setting A and it impacts B and C downstream — is solved structurally: because B and C are visibly stacked right above the change point, the user immediately sees what's affected. Reusable: same chassis applies to vault setup (decisions: vault color, vault name, who can join, default seal duration, who can plant seeds), seed editing (edit a planted seed before bloom), press configuration, journey vault prompt-set design. Build note for Josh: needs a state machine that tracks decision-order + dependencies; downstream-invalidation rules should be declarative ("changing vault resets recipient if recipient was vault-specific"). The opacity ramp on stacked chips can be CSS-only (4 fixed opacity classes). Cross-references Entry 015 (master-visual chassis is the destination after planting completes), Entry 019 (framed-seed dialog is the planting kickoff), Entry 020 (faded-context bottom sheet is the active-layer pattern), Entry 021 (stacked-cards motion language).

Bloomed Pressed SUN · APR 19 3 YEARS AGO Italy summer ❤️ Pressed Aug 2023 · Personal vault AUG Friday 04 Us against the world. That golden hour picnic by the ocean, as the sun dipped slowly VOICE 2:14 New
Mixed-media thumbnail strip for the Pressed Shelf (preserved seeds, glanceable, expand-on-tap)

An interesting way to view thumbnails of media — maybe this is a way to view things that are pressed / preserved. Just kind of showing thumbnails, and then maybe you can click on them to blow them up and see the detail. And then this would of course have additional features within it where you would be able to filter and sort, like we've talked about, and many other options.

→ NEW SCREEN: Pressed Shelf (the "everything you decided to keep forever" view). The Pressed Shelf is the long-term, no-bloom-pressure home for any seed the gardener has chosen to preserve instead of seal/bloom. Pressed seeds don't have countdowns, recipients, or rules — they just sit on the shelf, browseable forever. Layout: top tab toggle Bloomed | Pressed (Syne 16pt, inactive at 45% opacity, active at 100%) so the gardener can swing between the two timelines without losing context. Tiny date eyebrow underneath. Group headers: pressed seeds cluster under contextual time-headers — chip-style "3 YEARS AGO" / "WHILE I WAS ENGAGED" / "MOM'S FINAL YEAR" — these are warmer than absolute dates and let the gardener navigate by life chapters. The chip is small and lives just above the title. The title beneath is the collection name in Syne ("Italy summer ❤️"), with an italic Outfit attribution underneath ("Pressed Aug 2023 · Personal vault"). Thumbnail strip (the heart of this entry): a horizontally-scrollable row of mixed-media tiles, each 56×68px, border-radius:10px. Each tile looks like the medium it represents:

· Date card = cream tile with day-number in big Syne, month/weekday in tiny Outfit caps, a faint dot grid representing the month, and a gold heart marking the day (Canopi-style). Used for milestone/date seeds.
· Photo = full-bleed cropped image with a soft gradient overlay (vault-color tint at 20%).
· Note = colored sticky-note style (E8D77E warm yellow) with the first 4-5 lines of the note in Syne + Outfit, clipped softly at the bottom.
· Voice memo = dark vault-color background with mini waveform centered + tiny "VOICE" eyebrow + duration in the corner (mini version of Entry 016).
· Video = thumbnail still + tiny play triangle bottom-left + duration top-right.
· Document/clipping = cream tile with a folded-corner SVG mark and a couple lines of headline.

The mixed-media variety is the whole point — pressed shelves should feel like a scrapbook page, not a uniform photo grid. The tiles having distinct shapes and colors lets the gardener's eye move across the strip and recognize each kind of memory immediately. Tap to expand: tapping a thumbnail expands it into the appropriate bloom view (Entry 014 for media, Entry 016 for voice, Entry 017 for note). Long-press = quick actions (move, share, unpress back into a timed seed). Filter/sort affordance: NOT shown by default — the strip should feel uncluttered. Pull-down to reveal filter chips (by vault color, by year-chip, by media type, by collection); the chips slide in and the strip re-renders. Floating gold "+" planting button in the lower-left corner (Canopi-style) — always-available shortcut to plant a new pressed seed without leaving the shelf. Soft and clean motion: 1) on enter, thumbnails fade-in with 30ms stagger left-to-right, 2) on horizontal scroll, the thumbnails have a very subtle parallax drift (date-cards drift slowest, photos drift fastest — gives depth), 3) on tap, the selected thumbnail morphs UP into the expanded bloom view (shared-element transition; the thumbnail rect IS the expanded view's hero rect, animated to fill), 4) on close, the inverse — the bloom view shrinks back into its original tile position. Why this matters: pressed = a deliberate choice to keep something forever without making it perform. The Pressed Shelf has to feel valuable but unburdened — a museum, not a feed. The mixed-media thumbnail vocabulary is what carries that. Reusable: same thumbnail vocabulary can power the Sealed Reveal grid (when a recipient unseals a vault and sees everything bloom at once), and the "Recently Bloomed" home strip. Cross-references Entry 010 (compost shelf is the inverse — same chassis, terracotta tint, sense of release), Entry 015 (master-visual is the chassis when one of these expands), Entry 014 (bloom view as the destination on tap). Build note for Josh: thumbnail components should be a small library — <Thumbnail kind="photo|note|voice|video|date|doc" data={...}/> — used everywhere a seed-preview is needed (shelves, search results, vault detail, recently bloomed). Address Ashley's open question on filtering: this entry is the strongest candidate for "best way to flip through large volume of pressed media" — pair it with a swipe-up filter sheet and a long-press multi-select for batch operations.

VAULT DETAILS Mom's Letters GROVE VAULT · 12 SEEDS A vault for the letters Mom wrote me — handwritten, voice, and notes. Some bloom on birthdays, some on hard days. SEAL RULE Until next milestone NEXT BLOOM Dec 25 · 8 mo PREVIEW Mom on my 5th birthday Bloomed Apr 12, 2024 · 1:14 +2 5 GARDENERS · MOM, ME, AUNT JEN +2 New
Vault Detail screen — description + rules + preview seed + next bloom + contributors (the "what is this vault" view)

I feel like this is an interesting way to see vault details. Description, maybe there's a preview of a medium that's already bloomed, RULES and DESCRIPTION of the vault, "Next bloom" perhaps? Contributors too.

→ NEW SCREEN: Vault Detail (the canonical "this is what this vault is" view). Reached by: tapping a vault card in the stacked-card stack (Entry 021), tapping a vault pin on the place-tagged map (Entry 022), or tapping a contributor's vault link in a notification. This is the screen that explains a vault to its members and to anyone considering joining — what's in it, who's in it, what the rules are, and when the next bloom will hit. Layout (top to bottom):

1. Mood header (top ~30%): vault-color gradient backdrop with subtle drifting dandelion-fluff motion (vault chooses its own ambient — Grove uses sage/journey-teal motion, Personal uses sky drift, Roots uses warm terracotta dust). Top utility row: close X (left) + tiny "VAULT DETAILS" eyebrow (center). The header carries no chrome — only mood. 2. Vault identity: large lowercase Syne title ("Mom's Letters") + eyebrow row underneath with vault icon-jar mark + vault-color caps ("GROVE VAULT · 12 SEEDS"). The icon-jar mark on the eyebrow is identity at a glance. 3. Description (1-2 lines): warm Outfit body copy that the vault creator wrote. Should sound like a person, not a setting. ("A vault for the letters Mom wrote me — handwritten, voice, and notes. Some bloom on birthdays, some on hard days.") This is what the recipient reads on their first visit; it sets the emotional register. 4. Rules row (two pills side-by-side): WHOOP-inspired stat pills, but DandyLine-styled — soft cream-tinted rounded rect with tiny eyebrow caps + Syne value. Two slots:
· SEAL RULE — the default seal duration for new seeds in this vault ("Until next milestone" / "5 years" / "Until I'm 30").
· NEXT BLOOM — countdown to the next seed in this vault that will bloom, in gold ("Dec 25 · 8 mo"). This is the most emotionally charged data point on the screen — gold draws the eye to anticipation.

Tap either pill to expand to the full rules sheet (uses Entry 023 stacked-settings chassis to edit). 5. Preview seed: a single, already-bloomed seed from this vault, displayed as a horizontal card with vault-color gradient + play triangle + title + bloom date in italic Outfit + a small "PREVIEW" chip in the upper-right corner. This is what the vault feels like — gives recipients a taste before joining and reminds members of the warmth they're a part of. Tap = expand to full bloom view (Entry 014). 6. Contributors row (lower edge): avatar stack (overlapping circles, vault-color stroke) showing up to 4 contributors + "+N" overflow circle, then a tiny Outfit caps label ("5 GARDENERS · MOM, ME, AUNT JEN +2"). Tap = full contributor list with roles (creator, can-plant, can-view-only). 7. Sticky bottom CTA (not shown in mockup — would be off-screen): gold "Plant a seed in this vault" if the gardener has plant permissions, otherwise a soft cream "Tend / Browse seeds" CTA. What WHOOP gets right that we steal: the stat-pill row (instead of a settings list). It compresses several pieces of info into glanceable, emotionally-readable chips — fits DandyLine's "no spreadsheet feel" rule. What we change from WHOOP: their hero is a content thumbnail (Huberman portrait) — ours is a mood backdrop. Their copy is functional ("This physiological sigh exercise...") — ours is personal ("A vault for the letters Mom wrote me..."). Their CTA is a solid blue stroke ("START EXERCISE") — ours is a gold-filled action ("Plant a seed in this vault"). Soft and clean motion: 1) on entry, the mood header drifts in over 600ms (slow on purpose — sets emotional tone), 2) the title types in letter-by-letter (Syne, ~25ms per char), 3) the eyebrow + description fade up with 80ms stagger, 4) the rules pills slide in from the right with 60ms stagger, 5) the preview seed card lifts up from below (translateY 12px → 0 + opacity 0 → 1), 6) the contributor avatars draw in left-to-right, each with a tiny scale bounce. The whole sequence reads as the vault "introducing itself" to you — not a screen loading. Reusable bits: the rules-pill row can be reused on every detail-style screen (vault detail, seed detail, journey vault prompt-set detail). The mood-header pattern is the universal "container detail" header. Build note for Josh: vault description should support 2 visual modes — "by member" (warm copy from creator) and "by AI" (gentle suggested copy if creator skipped writing one — using gardener's planting patterns to write it). Cross-references Entry 015 (master-visual chassis lineage), Entry 021 (entry point — tapping a stacked card lands you here), Entry 022 (entry point — tapping a map pin lands you here), Entry 014 (preview seed expands to bloom view), Entry 023 (rules pills tap-through edits via stacked-settings chassis), Entry 008 (cream pill chrome lineage).

Aunt Jen @jen.h aunt jen @jen.h · Brooklyn, NY "Planting letters for my niece since 2021." + TEND VAULTS TENDED 6 SEEDS PLANTED 42 BLOOMING SOON 3 Recents Pressed Garden New
Profile design — orb-color default avatar (gradient before photo) + reframed stat row + quick-access strip

Profile design: Obviously it would need to follow the rules of what we are actually going to include that we've established, but this is a nice layout that shows an orb color prior to adding a profile photo.

→ NEW SCREEN: Gardener Profile (the "who is this person" view). The most important inspiration here is the orb-color default avatar — when a gardener hasn't uploaded a photo, their identity is represented by a beautiful gradient orb in their chosen "personal hue." This is the OPPOSITE of the gray initials placeholder used everywhere else on the internet. The orb is dignified, identifiable, and on-brand from the very first second. The orb itself: a soft radial gradient circle (~64-128px depending on context), with a hot-spot in the upper-left at ~40%/35% (suggests the orb has light/dimension, not a flat disc). Each gardener picks their personal hue during onboarding from a curated palette derived from the 6 vault colors PLUS soft mid-tones (e.g., sage→teal, sky→deeper sky, gold→amber, lavender→deep purple, terracotta→clay, etc.). The same orb appears EVERYWHERE this person shows up: search results, contributor stacks, notifications, sender attribution. When a photo IS uploaded, the photo fills the orb but the gradient orb remains as a soft 4px outer halo — your color identity persists even with a photo. Optional gold dashed ring around the orb = "year ring" — one tick for each year the gardener has been on DandyLine (Apple Watch ring metaphor, but soft and dashed, never filled-in for gamification). Add-photo affordance: small gold-bordered "+" pill in the lower-right of the orb, ONLY shown when this is the gardener's own profile and they haven't added a photo. Layout (top to bottom): 1) optional search-result row at the top (when reached via search); 2) hero block with name in lowercase Syne ("aunt jen"), handle + city in muted Outfit, italic soft-brag bio line one line below ("Planting letters for my niece since 2021."), and a cream "+ TEND" button (DandyLine reframe of "Follow") that means "I want to be notified when this gardener plants something I'm a recipient of"; 3) the orb avatar floats to the right of the hero text; 4) STAT ROW (the reframe) — DandyLine does NOT use Followers/Following. The trio is: VAULTS TENDED + SEEDS PLANTED + BLOOMING SOON (gold). These are tangible, non-gamified, never-streak counters; 5) quick-access strip of 3 cards (Recents / Pressed / Garden) with mini vault-color dots indicating their dominant content. What we explicitly REJECT from the source: streak counters (current streak, best streak), accomplishments, challenges, life score. None of that fits DandyLine's "anti-gamification" rule. Replace with humane counters that suggest care, not performance. Soft and clean motion: 1) on enter, the orb fades up + slowly rotates its hot-spot 5° clockwise (suggests it's a living thing, not a disc), 2) the year-ring draws clockwise from 12 o'clock (one tick per year, ~120ms per tick), 3) the stat numerals roll from 0 to their value (rapid then settling — like a Vegas counter but soft), 4) the quick-access cards lift up from below with 60ms stagger. Editing your own orb hue: tap the orb → "Change your color" sheet (Entry 020 wheel-picker chassis, except instead of date columns it's a vault-color carousel with custom mid-tone shades; live preview of the orb above the picker). Build note for Josh: orb gradient should be a single SVG component <Orb hue="sky" size={64} hasPhoto={url} yearRingTicks={3}/> reused across the app. Cross-references Entry 022 (orb pins on the map carry the same hue), Entry 021 (stacked-card vault rows show contributor orbs), Entry 025 (vault detail's contributor row uses these orbs). LOCKED Apr 26: orb hue is INDEPENDENT — picked once during onboarding from a curated palette, stays stable as personal identity, NOT tied to vault activity.

GROVE VAULT · MOM'S LETTERS the kitchen on her birthday planted by you · 4 days ago BLOOMS Mar 14 · 11 mo sealed until then New
Held-Medium Drawer — medium stays in view; draggable bottom sheet brings detail up over it (chassis)

There's something about this screenshot that feels powerful to me. It feels like what you'd want to experience in DandyLine when you're examining a medium — if you're looking at a photo or a video, having that in the background so you can still see it and recall exactly what you're uploading as you're planting the seed. That blue bar in the middle is kind of like above what I believe would be a floating detail card that pops up. The visual is pretty cool — your medium in the background and a pop-up card that pulls up from the bottom. You could drag your finger down and hide it too — pull up that bar for more detail or push it back down to stop covering up the medium. The back button on the top left feels not intrusive — that feels healthy. This style would also be great for seeing more detail about a specific vault. We're trying not to interrupt the medium or the seed, but at the same time there's a lot of deeper information you might want to know.

→ NEW CHASSIS: Held-Medium Drawer. A reusable detail-page pattern where the thing itself (photo, video frame, voice-memo waveform, handwritten note, vault hero) stays held in the background — never cropped, never blurred away — while a draggable cream drawer lifts up from the bottom carrying its details. The user is always in the presence of the seed/vault they're examining; details are an overlay, not a replacement. This is the structural answer to Ashley's repeated rule: never make DandyLine feel like a file system. A file system shows you a row about a thing. Held-Medium Drawer keeps the thing in your hands and lets the metadata come to you. Anatomy (top to bottom):

1. The Medium (full bleed, 100% of frame) — the seed's actual content fills the entire viewport behind everything else. For a photo seed: the photo. For a video seed: the paused first frame (autoplay-on-tap once the drawer is dismissed). For a voice memo: the waveform from Entry 016 rendered full-screen with the chosen background image behind it. For a vault detail: the vault's mood-color drift + a faint dandelion-fluff motion (vault picks its own ambient). For a handwritten note: the scanned page softly de-saturated. The medium is always present — the user can drag the drawer down to see it fully unobstructed at any time. 2. Soft back arrow (top-left, ~26px cream-glass pill, ~22% opacity backdrop) — Ashley's exact note: "feels not intrusive." Returns to the previous surface (Garden, vault, search, notification) — never to a generic home. The pill is intentionally translucent so the medium reads through it. 3. Floating action chip row (mid-screen, gold-tinted glass capsule, hovering over the medium) — this is the screenshot's signature element, translated. Four to five quick actions, glyph-only, no labels, all tappable while the drawer is closed. Default action set for a seed: vault-tag (which vault it lives in — tap to move), recipients (who will see it bloom — tap to add/remove), press (open the press shelf), bloom-date (open the wheel-picker from Entry 020 to change), more dots (compost, share, edit). For a vault detail, the chip set is different: plant new seed, contributors, rules, map view. The capsule is gold (commitment color) because tapping any chip is a decision moment. 4. The Drawer itself (bottom ~40%, cream surface, rounded top corners) — pulled up partway by default to show the most-glanced details (vault eyebrow, title, planted-by, bloom countdown). User drags up to expand to ~85% (full detail: description, seal rule, all recipients, contributor activity log, related seeds). User drags down to ~12% (just the drag handle visible, medium is fully revealed). Three snap points: collapsed (12%), peek (40%, default), full (85%). 5. The drag handle (32px wide, ~3px tall, dim ink) — the universal "I am draggable" signal. Visible at every snap point. 6. Drawer content (peek state): vault eyebrow in vault-color caps + Syne lowercase title + small orb avatar of the planter + "planted by [name] · [time-ago]" + right-aligned bloom countdown in gold. What we're stealing from the source: the floating mid-screen action capsule (instead of a top toolbar — which would compete with the back button and crop the medium) + the photo-as-hero-not-thumbnail + the soft non-intrusive back arrow. What we change: source uses a static info panel — ours is draggable with three snap points. Source's chip row is solid blue (brand) — ours is gold-tinted glass (commitment color, slight transparency so the medium stays sensed). Source has a "contact owner" footer card — ours has the planted-by orb inline in the drawer because there's no transactional party in DandyLine (no "owner" — only gardeners and recipients). Where this chassis gets reused: Single-seed expanded view (the canonical home for this pattern) · Vault detail (medium = vault mood backdrop, drawer = description/rules/contributors — replaces the static scroll layout of Entry 025 when the user enters from a media-rich context like map or search) · Bloom view (medium = the bloomed seed at full bleed, drawer carries bloom-day note + memory thread) · Pressed-shelf detail (medium = the pressed seed, drawer carries press history) · Composted seed view (medium = the seed dim-tinted terracotta, drawer carries the "let it go" note). Soft and clean motion: 1) on entry, the medium fades up first (300ms), then the drawer rises from -100% to peek snap (~450ms, ease-out, no overshoot), then the chip row scales in from 0.92 to 1.0 with opacity 0→1 (~200ms, slight delay 150ms after drawer settles); 2) drag follows the finger 1:1, no rubber-band; 3) on release, snap to nearest of three points with a soft 280ms ease-out; 4) when the drawer is between peek and full, the chip row fades out gently (the drawer is taking over) — when it's between peek and collapsed, the chip row stays put (still useful while medium is exposed); 5) chip taps cause a soft gold pulse around the tapped glyph (radial scale 1→1.4, opacity .6→0, 320ms) before the next surface opens; 6) back-button tap: medium darkens 8%, drawer drops, back arrow itself softly fades — feels like setting the seed down rather than closing a window. Anti-patterns this chassis prevents: a) iOS-default share sheet covering the medium (use the share chip instead — opens a Held-Medium-Drawer-style recipient picker that still shows the seed); b) navigating away from the medium to "edit metadata" (everything edits in-place from the drawer); c) modal full-screen confirmations (use the framed-dialog from Entry 019, which itself respects the held-medium principle). Build note for Josh: build this as <HeldMediumDrawer medium={...} chips={[...]} drawer={...} snapPoints={[0.12, 0.40, 0.85]} onSnap={...} />. Use a single shared gesture handler so the drawer drag and the chip-row fade-out are mechanically coupled (not two animations racing). The medium component should accept any seed-type renderer — photo, video-frame, waveform, scan, vault-mood — and the chassis itself stays type-agnostic. Snap point thresholds should be configurable per surface (vault detail might want a deeper peek state than seed detail). Cross-references: Entry 014 (full-bleed media lineage — bloom view), Entry 015 (master-visual chassis — sibling pattern, uses queue stack instead of drawer), Entry 016 (voice-memo as the medium variant), Entry 017 (Syne-quote-over-photo motif used inside the drawer's full state), Entry 020 (faded-context bottom sheet — the chip-row sub-actions open these), Entry 022 (entry point — tapping a map pin can land you here), Entry 023 (drawer's full state can stack a Craft-style settings sheet for editing rules), Entry 025 (mood-header detail — the static alternative; this chassis is for media-rich entries, that one for cold-entry like deep-link or notification). LOCKED Apr 26: chip row stays PERSISTENT — the chips ARE the navigation, not just controls. Always visible while drawer is collapsed or peek; fades only when drawer is dragged past peek. Also resolves part of open thread #1 (best way to flip through a large volume of media): this chassis is for examining ONE seed deeply; browse-many is now LOCKED Apr 28 to Entry 029 Radial Carousel as primary chassis (Q3 lock). Three-tier hierarchy is now: browse many (Entry 029 Radial) → choose one (arc collapses, focused item scales up) → examine deeply (this chassis).

FILTERS Status All ▾ Vault Grove ▾ Mood Media 12 of 23 seeds GROVE mom's jar 3 seeds bloom this week 9:41 vault view shifted right · filters revealed beneath · drag back to dismiss New
Push-aside reveal — the main view shifts right + scales down to expose filters/menu underneath

It basically zoomed out what felt like the main page and then revealed a full deeper menu underneath... swiping the white box back into view by pulling it left to hide the menu. It might even be a cool place to hide filters — instead of a drawer thing, it's a really easy thing you learn to open up filters. While you're viewing, let's say a dandelion with multiple blooms or multiple seeds in it, when you hit the menu button the interface gets pushed out and on the left you'd see all the filters and everything.

→ NEW PATTERN: Push-Aside Reveal (filters live BEHIND the main view, surfaced by sliding the main panel right). This is a strong candidate for the canonical filter-reveal motion specifically inside vault contexts — where the dandelion / seed view IS the thing you're filtering, and any drawer or modal would obscure exactly what you need to see. Instead of an overlay, the entire vault view "scales down slightly + slides right" by ~50%, revealing the filter system that was always there, layered behind it. Why this matters: a drawer or bottom-sheet forces a context switch — you leave the dandelion to filter it, then return. The push-aside keeps the dandelion visible the whole time, so you can SEE which seed-orbs fade out as you tap each filter chip. Spatial. Felt. Real. Layout: two stacked layers — (1) the filter layer at fixed position (always there, always sized for the left ~50% of viewport), (2) the main vault view as a transformable card on top. Tap menu icon = main card transforms translateX(50%) scale(.94). Drag the main card's left edge to dismiss; release with momentum, snap to closed if past 30% threshold. What we KEEP from the source: the spatial reveal (you understand the filters were always behind), the seam shadow on the left edge of the main card (lifted-off-the-page feel), the drag-to-dismiss gesture. What we CHANGE: source slides the main panel ~70% off-screen (loses the content); we cap at ~50% so the dandelion stays meaningfully visible — you're filtering WITH the dandelion, not behind a wall. Source uses it as a generic nav menu (Categories/Wallet/etc.); we use it specifically for FILTERS, where the live preview is the value. Live filter feedback (the magic): as you tap each filter chip, the seed-orbs in the still-visible main panel fade down (per Motion Spec A10c — Cascade Invalidation, retuned to feel like a soft sigh, not a flash). Filtering becomes a felt act, not a list-narrowing. Where this fits in DandyLine: 1) Vault detail filtering (the canonical use case — Grove vault interior with multiple seeds), 2) Pressed Shelf filtering (narrow keepsakes by year/sender/media), 3) Garden filtering (filter the field of seeds by lifecycle state), 4) Search results filtering, 5) Could extend to action menus (move seed / share / compost) without obscuring the seed itself. Where this DOESN'T fit: cold-entry list views (no spatial context to preserve — use B1(B) bottom-sheet there). Onboarding (too much novelty up front). Soft and clean motion: 1) Tap menu icon → main panel scales 1.0 → 0.94 + translateX(50%) over 350ms ease-out, NO overshoot (canonical "soft and clean" — never bounces), 2) As panel begins sliding, filter chips fade up + slide right ~10px with 50ms stagger so they "rise from underneath" (matches Motion Spec A3 entrance), 3) As you tap a filter chip, the visible seed-orbs in the main panel fade-through to reflect the new filtered set (per A10c cascade), 4) Drag panel back left = finger 1:1, no rubber-band, 5) Release: snap to closed if past 30% threshold (280ms ease-out), snap back open if held below threshold, 6) On full close, filters fade down + slide left ~10px stagger as the panel covers them (mirror of step 2). Anti-patterns this prevents: a) opaque drawer that obscures the content you're filtering, b) bottom-sheet that pushes content above the fold and breaks visual continuity, c) modal full-screen filter UI that requires a "close" tap to return. Build note for Josh: implement as <PushAsideReveal main={...} reveal={...} maxSlide={.50} snapThreshold={.30} />. The reveal layer is fixed-position, sized to the slide-amount. The main layer uses CSS transform (NOT margin/left) for GPU acceleration. Use Pointer Events for the drag (mouse + touch in one gesture handler). backdrop-filter:blur(8px) saturate(1.2) on the main layer's left edge during transit gives a frosted "lifted" feel. Cross-references: MOTION-SPEC-V1.html B1 (Filter Expand) — this is now a strong B1(D) candidate for vault-context use cases (and arguably better than B1(A/B/C) where preserving the dandelion view matters), Entry 023 (Stacked Settings Sheets) — sibling concept, but settings stack ABOVE while this slides ASIDE, Entry 022 (zenly map) — the "filter while viewing media-rich content" use case, Entry 024 (Canopi pressed shelf) — pull-down filter chips alternative, Entry "Held-Medium-Drawer" (027) — sibling pattern, but that one keeps medium full-bleed with drawer below; this one shifts the medium aside. Status (LOCKED 2026-05-02 via F08 Context-Adaptive Filter Surface): Push-Aside Reveal is canonical for spatial-content surfaces (vault interior, Roots map, Garden globe). List views (Search, Garden grid post-toggle) use F05=B Left Panel. Pressed Shelf uses Pull-down chips (Entry 024). See biz-dev-decisions-log.md 2026-05-02 entries.

FROM MOM Day you were born voice note · 2:14 · planted Mar 12, 2024 Joyful · Proud Blooms in 2h 43m 3 / 12 Day you were born arc of seeds · centered orb is focused · detail above changes as you swipe New
Radial item carousel — items arc at the bottom, centered one is focused, detail panel above crossfades as you swipe

I love the ability to swipe through. Maybe it's people's profiles, maybe it's the actual notes. If you're flipping through a long variety or a list of notes left in a vault, or maybe it's a way of showing photos. As you're scrolling through different seeds, you're seeing the label, the detail at the top of them. The fact that you're not just using your finger to scroll through tons of things — it's like a radial motion where you see a small, almost like a thumbnail in that circular thing. That feels really cool. And then what you're clicking on expands the detail of it or the image or the video itself, all expanded in all of its glory to fill the screen. There's also this part towards the 1:43 mark — can also go full screen by swiping down, but importantly we have the background that can be clicked or swiped to change modes.

→ NEW PATTERN: Radial Item Carousel (the "constellation picker" — items arc, centered one is focused, detail panel above changes as the center changes). Solves the "browse 6–15 distinct items where each has its own identity" problem WITHOUT making them feel like list rows. The arc itself is the spatial frame: the user can see all options at once, but the center is where attention lives. Layout: a curved baseline at the bottom holds 5 visible orbs (more can rotate in via swipe). Centered orb is full size + full opacity + gold focus ring. Adjacent orbs scale down to ~50% + ~55% opacity. Far-edge orbs scale to ~33% + ~35% opacity (just enough to suggest "more on the way"). Above the arc, a detail panel surfaces the centered seed's metadata — vault eyebrow, title (Syne), media + sentiment + bloom countdown. Pagination indicator (3 / 12) sits subtle in the corner. Where this fits in DandyLine: flipping through SEEDS in a vault (the canonical use case — you see the dandelion's children as orbs in an arc), flipping through RECIPIENTS when assigning a seed (each recipient is an orb-color avatar in the arc), flipping through MEDIA inside a multi-media seed (each media item is a thumbnail in the arc — voice/photo/note shown as their respective glyphs), flipping through GARDENERS in a Grove vault (orb-avatars in arc, contributor profile detail above), journal-style vault with notes (each note's first line as an arc item). The "swipe down for full screen" sub-pattern (1:43 mark): tapping or swiping down on the centered item commits — the arc fades out and the centered item scales up + transitions into the bloom view (Entry 014) or held-medium drawer (Entry 027). The background that "can be clicked or swiped to change modes" suggests this picker can live above multiple modes (e.g., the SAME arc could let you swipe horizontally to change focused seed, OR swipe vertically to switch between filter modes — by-recipient, by-vault, by-mood). Soft and clean motion: 1) on entry, orbs arc-in from outside the screen edges with 80ms stagger (each orb travels along the arc baseline to its resting position over 360ms ease-out); 2) drag/swipe horizontal = the gold focus ring travels along the arc to the next position with a soft 280ms ease, simultaneously the previously-centered orb scales DOWN and the next orb scales UP — a continuous transition, not a snap; 3) detail panel above crossfades during the swipe (old detail fades 180ms while new detail fades in 180ms behind, slight overlap); 4) pagination counter rolls (3 → 4) using the canonical Vegas-soft counter (Motion Spec A6); 5) tap centered orb = orb scales UP to 1.4x while arc + detail panel fade out, then transitions into the destination view (bloom or held-medium); 6) swipe centered orb DOWN = same scale-up but the detail panel slides up with it, becoming the floating-action chip row of the held-medium drawer (Entry 027). Why this matters: the inspiration library's "doesn't feel like a file system" rule (philosophical throughline) gets its strongest expression here. A list-scroll = files. A radial picker = constellation, deck of cards, jewelry on velvet. Each item has weight because it has POSITION. Build note for Josh: the arc baseline is a simple SVG quadratic curve — items are absolute-positioned along it via parametric formula x = startX + t * (endX - startX); y = baselineY - 4 * curveHeight * t * (1-t). Use requestAnimationFrame for smooth orb scale interpolation during drag. Snap thresholds at 50% of the gap to next item. Cross-references: Entry 011 (Believe arc dial — sibling pattern with arc-rotation for media flipping; this entry is sibling at "browse seeds" rather than "flip media inside one seed"), Entry 014 (bloom view destination after tap), Entry 026 (orb avatars are the items when the arc shows people), Entry 021 (stacked-cards is the alternate browse-many pattern; both should be A/B tested per Open Thread #1), Entry 027 (held-medium drawer is the destination after swipe-down), Entry 028 (push-aside is the "filter mode" the background-swipe might invoke). Status (LOCKED 2026-05-02): Radial Carousel is the CANONICAL browse-many pattern across DandyLine. Per-surface routing matrix in biz-dev-decisions-log.md 2026-05-02. Entries 015 / 021 / 024 reserved for specific contexts; Entry 033 parked as alt. Source caveat: interpreted from static frames at 1:30/1:40/1:43 + Ashley's verbal description; motion timings are inferred to match the canonical "soft and clean" rule, not directly observed.

Garden JOURNEY · BLOOMING NOW Wedding day vows tap orb · dark blob swells from origin · seed fills the page New
Bloom-from-card-to-page — tapped orb's surrounding area swells from the resting position, growing to fill the page

3:00–3:28 feels like an interesting way to select an orb to bloom, and then have it truly fill up the page as a way of "blooming" and feeling powerful.

→ NEW PATTERN: Bloom-from-Origin Expansion (the seed's own area swells outward to consume the page). This is the canonical bloom GESTURE for DandyLine — the moment when a sealed seed actually opens. The seed doesn't just "open in a new view" via a generic page transition — its surrounding area literally grows from where the seed was sitting, expanding outward (up, left, right) until it fills the entire screen. The original Garden / vault interior stays visible underneath but dims to background, never fully gone. Feels like the seed is becoming its own moment, not navigating to one. Why this matters: the difference between "tap to open" (file-system feel) and "tap to bloom" (DandyLine feel) is exactly this expansion gesture. The seed is a tangible thing whose ENERGY grows. The page transition IS the metaphor. Layout / mechanics: 1) seed-orb is at its resting position in the Garden / vault interior, 2) on tap, the orb's color (the seed's lifecycle color, usually gold for Bloom Now) expands as a radial blob from that exact origin point, 3) the blob's edge is organic (slight curve, not circular) and grows over ~600ms ease-out, 4) by the end of the expansion, the blob fills the screen and becomes the background of the seed's full bloom view (Entry 014 chassis or the held-medium drawer Entry 027), 5) the original Garden / vault content dims to ~25% opacity and translates DOWN ~8px during expansion (subtle parallax — the "page" is being lifted away), 6) the seed's metadata + media emerge in the expanded blob in the order: state eyebrow → title → media (per Entry 014 hierarchy). Where this fits in DandyLine: every "bloom now" tap on a seed orb that's ready. Also: tap on a "blooming soon" orb to preview the bloom view before it's actually unlocked (with a soft countdown overlay rather than the full media). For SEALED seeds (still in waiting), this expansion is REPLACED by the held-state response (D-Ring ripple + "not yet" text — per Motion Spec A2). What this is NOT: this is not a slide transition. Not a fade-in. Not a modal. The expansion's ORIGIN matters — it must come from where the user tapped, so the gesture feels causal. Soft and clean motion: 1) seed orb pulses gold on tap (Motion Spec A2 D-Ring ripple fires simultaneously — 3 concentric rings as acknowledgment); 2) within 80ms of the tap, the gold/colored blob begins expanding from the orb's center, scaling outward with an ease-out cubic-bezier(.16, 1, .3, 1) curve over 600ms; 3) the blob's edge is a quadratic curve (slight organic curl, not perfect circle), animated via SVG path morphing or canvas; 4) original Garden / vault content dims to .25 opacity + translates DOWN 8px over the same 600ms; 5) at expansion end, the bloom view's content (state eyebrow → title → media → meta row) cascades in with 60ms stagger over the next 280ms (Motion Spec A3 element entrance applied to bloom-view children); 6) gold accent ring appears around the entire bloom view edge for the first 1.5s as a "you are now in the bloomed memory" frame, then fades to subtle. Build note for Josh: implement as a CSS clip-path or SVG mask animation. Two layers: the bloom view (always rendered, hidden behind clip-path circle at orb-origin radius=0) + the original page underneath (CSS transform translateY + opacity). On tap, animate the clip-path radius from 0 to Math.hypot(viewportW, viewportH) over 600ms. Cheaper than animating the path directly. Cross-references: MOTION-SPEC-V1 A2 (D-Ring ripple) — fires simultaneously as the tap acknowledgment, before the bloom expands; Entry 014 (Apple TV bloom view) — the destination layout for the expanded bloom; Entry 027 (Held-Medium Drawer) — alternative destination when the seed is media-rich and needs the drawer chassis; Entry 008 ("anticipation, not opacity") — this expansion IS anticipation paid off, the philosophical principle made literal; Entry 030 visual trigger would be the "bloom now" lifecycle state (Motion Spec A12 — gold pulse on the orb means "ready"); Entry 011 (arc dial) — the inverse pattern (multi-media INSIDE a bloomed seed gets arc-flipping; this entry is the moment of bloom ITSELF). Source caveat: interpreted from static frames at 3:00 / 3:15 / 3:25 — saw the resting state, mid-transition with vertical scrubber, and partial blob expansion. Direction (origin → outward) is clear from the captured frames; exact easing curve is inferred to match canonical "soft and clean" / "no overshoot" rule.

PHOTO · 1 OF 3 Mom's birthday picnic Grove vault · planted Mar 12 · Joyful "That afternoon in the backyard, three generations laughing —" Contributors (4) card slides up · media at top · structured detail below · expandable sections New
Pull-up structured detail card — image at top, title, meta, expandable sections (the "tell me more" surface, distinct from the immersive bloom view)

4:00 would be a great way to pull up details of a photo/video/note when you want to see the details of that item.

→ NEW PATTERN: Pull-Up Structured Detail Card. The "tell me more about this" surface, sibling to but DISTINCT from the held-medium drawer (Entry 027) and the bloom view (Entry 014). Where the bloom view is IMMERSIVE (full-bleed media, sparse chrome — the moment of opening) and the held-medium drawer is GESTURAL (medium stays held, drawer carries metadata as a draggable layer), this Pull-Up Card is STRUCTURED — image/media at top, title, meta row, body text, then expandable sections (Contributors / Press history / Related seeds / etc.). It's the canonical "I want to see all the details about this seed" view, used when the user is BROWSING and wants context, not when they're in a bloom moment. When to use which: Bloom view (014) = first time a recipient unseals a seed; the moment matters. Held-medium drawer (027) = re-visiting a media-rich seed where the medium itself is the primary; metadata is supplementary, draggable. Pull-up structured card (this entry) = browsing seeds in a list/grid context; user wants the full structured info as a coherent card without leaving the list page. The card slides up over the list, list dims behind. Layout (top to bottom): 1) cream card (rounded top corners, full width) slides up from the bottom; 2) drag handle at top (32px wide, dim ink) — same as held-medium drawer for consistency; 3) media area at top — about 35% of card height (image, video frame, waveform, or note background); 4) title in Syne 13pt, dark on cream; 5) meta row in Outfit 7pt: vault eyebrow + planted date + sentiment; 6) description / quote in italic Outfit (when there's a planter's note); 7) expandable sections below — each section has a Syne header + a chevron, tapping expands the section in place (Entry 023 stacked-settings chassis applies here for the cascade); 8) section content shows orb-avatars (contributors), thumbnail strips (related seeds), or text (press history), depending on the section. Where this fits in DandyLine: tap a seed in a list view (Pressed Shelf, Garden grid, search results) → pull-up card lifts. Tap a vault row in the vault chooser → pull-up card with vault details (description, contributors, rules, recent seeds). Tap a notification → pull-up card showing the source seed/vault. What we change from the source: source uses a generic recipe/product layout with calorie metrics; we adapt to seed/vault metadata with DandyLine vocabulary (no "calories", instead vault-color + sentiment; no "Order Ingredients", instead "Contributors" or "Related seeds"). Source's expandable section is utilitarian; ours uses the cascade chassis from Entry 023 with the soft terracotta-flash for downstream impact (Motion Spec A10c). Soft and clean motion: 1) card slides up from bottom 100% → 0 over 420ms ease-out, no overshoot; 2) media area at top fades in 200ms AFTER the card settles (not during — gives the card time to land before the visual content lights up); 3) body text (title + meta + description) cascades up with 60ms stagger (Motion Spec A3 element entrance); 4) expandable section chevrons settle into place last (subtle drift down 4px → 0); 5) tapping a section header expands content with the cascade chassis (Entry 023 stacked-settings); 6) drag down on the drag handle = card slides back to closed state, 1:1 with finger, snap to closed if past 30% threshold. Anti-patterns this prevents: a) modal full-screen detail page (loses spatial context — user doesn't know how to "go back" to the list); b) inline expansion within the list (cramps the list, no room for media); c) full-bleed bloom-view-style detail (overkill for the "I'm browsing" mood). Build note for Josh: implement as a fixed-position bottom sheet with snap points [0, 0.85, 1.0] (closed / detail-shown / fullscreen). The fullscreen state is the same chassis but at 100% height — useful when the user wants to immerse in details without leaving for a separate page. Cross-references: Entry 014 (bloom view) — sibling for the moment-of-bloom (immersive); Entry 027 (Held-Medium Drawer) — sibling for media-rich detail (medium stays held); Entry 023 (Stacked Settings) — chassis for the expandable sections within this card; Entry 025 (WHOOP Mood-Header Detail) — alternative for cold-entry to a detail page (e.g., from a notification or deep link); Entry 026 (Orb Avatar) — used in the contributor section; MOTION-SPEC-V1 A3 (element entrance) + A10c (cascade invalidation) — applied throughout the card's body cascade and expandable sections. Source caveat: interpreted from a single static frame at 4:08 (Fresh Caesar Salad detail screen). Motion is inferred from "the card had to get there somehow" + canonical Soft and clean rule.

GROVE · ALL SEEDS mom's jar First steps 2d Compost Anniversary toast SLIDE TO COMPOST swipe row left · compost zone reveals · slide handle right to commit three states stacked: resting · mid-swipe · slide-confirm New
Swipe-to-reveal-actions + sliding-button-confirm — destructive actions need TWO gestures (swipe to surface, slide to commit)

4:20 feels like a smart addition for adding/inviting people to a vault. Or flipping through named seeds and dragging/dropping which ones you want to pool together to "compost" or "press/preserve" when in that "mode". A sliding button (to evoke firmer action) to compost is an interesting idea too.

→ NEW PATTERN: Two-Gesture Confirmation for Irreversible Actions (swipe to surface action zone, then SLIDE a dedicated button to commit). Solves the "destructive actions need real friction without being annoying" problem. A single swipe is too easy to commit accidentally; a modal confirmation is too much friction. Two-gesture confirmation lives in between — the SWIPE surfaces the action zone (low commitment, easy to undo by swiping back), and the SLIDING BUTTON requires deliberate, unmistakable intent (high commitment, hard to do by accident). Pulled directly from "slide to power off" pattern, applied to DandyLine's compost ritual. Where this fits in DandyLine: 1) Composting a seed (the canonical use case — letting a seed go forever is irreversible, so it gets the slider); 2) Releasing a sealed seed early (also irreversible — the seal is broken, recipient sees it now); 3) Removing a recipient from a vault before bloom (their access disappears — they wouldn't even know it was there); 4) Cancelling a vault (deletes all sealed seeds inside — definitely needs the slider). Lighter actions (press, share, edit) get a normal swipe-to-action — no slider needed because they're reversible. Multi-select variant (Ashley's "drag-drop ones you want to pool together"): when the user enters a "compost mode" (long-press a seed, or tap a "Compost" button at top), the row chrome shifts to multi-select — each row gets a checkbox + drag-handle on the left. User can long-drag rows into a "compost pile" zone at the bottom of the screen (like a trash visualization). Once seeds are pooled, the slide-to-commit button appears at the bottom: "SLIDE TO COMPOST 4 SEEDS." Same gesture, batch operation. The pile visualization should reuse Entry 010's compost-dump motion. Layout for single-seed swipe: 1) row at rest (vault-color dot + title + bloom countdown); 2) swipe LEFT = compost zone (terracotta with leaf-fall icon) reveals on the right; 3) swipe RIGHT = press zone (cream with bookmark icon) reveals on the left; 4) at swipe threshold (>50% of row width) = action zone color saturates + slight haptic; 5) on release past threshold = action zone takes over the row width and slide-to-commit button appears (for compost) OR action commits immediately (for press, since press is reversible — you can un-press from the Pressed Shelf). Soft and clean motion: 1) row drags 1:1 with finger (no rubber-band, no overshoot); 2) action zone reveals from underneath at 1:1 ratio with the swipe (always visible behind the row from the moment swipe starts); 3) at commit threshold (50%), the action zone color SATURATES from .55 opacity to 1.0 over 100ms — visceral signal "you'd commit if you released now"; 4) on release past threshold for COMPOST: row slides further left to fully expose action zone, slide-to-commit button materializes from center over 220ms ease-out (handle at left position, glowing softly); 5) on release past threshold for PRESS (reversible): row tilts cream + slides off-screen to the right, "Pressed" toast appears, action commits; 6) sliding the handle right to commit COMPOST: handle drag is 1:1 with finger, at full-right position (>90%) the button "fires" — terracotta wave sweeps left-to-right across the row, row tilts terracotta + slides off-screen down (per Entry 010 compost-dump destination), soft "compost" sound; 7) on cancel (release before threshold OR slider released before commit): everything snaps back to row resting state with 280ms ease-out. Anti-patterns this prevents: a) confirmation modals ("Are you sure?" — breaks flow, treats user as careless); b) tap-to-delete with hold-to-confirm (uncomfortable, no spatial metaphor); c) "delete" in a context menu hidden behind a "more" overflow (compost is too important to bury). Build note for Josh: implement swipe + slider with Pointer Events for unified mouse/touch handling. Threshold = .50 of row width for swipe-reveal, .92 of slider track width for slider-commit. Use CSS transforms for swipe (GPU-accelerated). Slider button needs touch-action: pan-x to prevent vertical scroll interference. Haptic navigator.vibrate?.([8]) at threshold-reach for the swipe AND at slider commit. Cross-references: Entry 010 (Pillar compost-dump) — destination after compost commits; the row tilts and slides into the compost-dump animation. Entry 024 (Canopi pressed shelf) — destination after press commits. MOTION-SPEC-V1 A10c (Cascade Invalidation) — when composting a seed that has dependencies (e.g. it was the only seed planted by a particular gardener), the affected counts elsewhere in the app fade-terracotta as the cascade. Entry 023 (Stacked Settings) — when "compost mode" is invoked across multiple seeds, the cascade applies to the multi-select state. Entry 028 (Push-Aside) — could be the entry point for "compost mode" — push the vault aside, compost-mode controls live on the left. Source caveat: source video shows the swipe-reveal pattern only (Inbox row with Unread + Filter actions). The sliding-button confirmation is Ashley's own conceptual extension (her quote) — translated here into the DandyLine compost ritual. Verify slider-thumb easing during prototype.

First snow Dec 14, 2024 center fully visible · sides skewed off-screen · magnetic snap when flipping New
Ring-of-files magnetic flip — center item full size, neighbors skewed off-screen, magnetic snap on swipe (the "rolodex" feel)

When showing multiple assets (like flipping through photos), skew items off screen so it feels like a ring of files to flip through, with adding a fluid effect that feels magnetic when flipping through.

→ NEW PATTERN: Ring-of-Files Magnetic Carousel (the "rolodex" — center item is full size + clear, adjacent items are skewed off-screen, swipe-flipping has magnetic resistance). Sibling-but-distinct from Entry 029 (Radial Carousel, where items arc on a baseline visible all at once). The Ring-of-Files is a SINGLE-FOCUS pattern: the user sees ONE item at full size, neighbors are tilted off the screen edges like dog-eared pages or the next/prev card in a physical rolodex. Swipe-flipping has a MAGNETIC quality — items don't free-scroll; they snap to position with a soft resistance, like there's a small magnet pulling each card to the center detent. When to use this vs Entry 029 (Radial Carousel): Radial = "I'm BROWSING — show me all my options at a glance, let me pick the focus." Better for vault-of-seeds, gardener-list, recipient-picker. Ring-of-Files (this entry) = "I'm FLIPPING THROUGH — one at a time, deliberate, immersive in the centered one." Better for: multi-photo seeds (each photo gets its own moment), multi-page handwritten note seeds (each page is its own card), journal-style vault notes (each note as a card to flip through), Held in Trust seeds awaiting Guardian review (one at a time, focused decision). Layout: 5 visible "cards" — far-left (heavy skew, ~40% opacity, partial off-screen), mid-left (moderate skew, ~70% opacity), center (full size, full opacity, no skew), mid-right (mirror of mid-left), far-right (mirror of far-left). Center card has the actual content (photo, note text, video frame, voice waveform). Side cards show just enough to suggest "more on either side" — usually just the vault color tint + a soft thumbnail gesture. The skew is the magic: a flat thumbnail strip (Entry 024) feels like file rows. Skewing each off-screen card with a slight perspective transform (~6-12° skewX combined with skewY for a subtle tilt) makes them feel like physical pages in a Rolodex — you understand intuitively that the next card is "behind and to the right." The magnetic snap: this is the Ashley word that defines the feel. The flip is NOT free-scroll. As you swipe, the cards slide with the gesture, BUT there's a gentle resistance pulling each card toward the nearest detent. When you release mid-swipe, the cards snap to the next position with a soft 280ms ease-out. The snap should have a tiny "settle" — like a magnet pulling a coin home. NOT a hard mechanical snap; a soft, slightly-springy pull. Soft and clean motion: 1) on entry, the 5 cards slide in from their starting positions (far-left from off-screen left, mid-left from edge, etc.) with 80ms stagger over 400ms ease-out — the user "discovers" the ring; 2) drag/swipe horizontal = all 5 cards translate together with the finger AT 1:1 RATIO — but as a card approaches the center, a soft easing curve pulls it slightly faster toward the center detent (the magnetic effect); 3) at midway between two detents, neither has the magnetic pull — the cards are in equilibrium; 4) past midway, the magnetic pull reverses to the new center; 5) on release: snap to the nearest detent with 280ms cubic-bezier(.34, 1.56, .64, 1) — slight overshoot under 4px max (per the canonical "soft and clean" rule); 6) the now-centered card scales UP from the side-position size (let's say .82) to full size (1.0) over 200ms simultaneously with the snap; 7) the previously-centered card (now sliding out to mid-side) scales DOWN to .82 + opacity drops to .7 + skew angle increases — a continuous transition; 8) tap on the centered card = blooms into the full bloom view (Entry 014) or held-medium drawer (Entry 027). Why this matters: a horizontal scroll (CSS overflow-x) treats photos as a row of files. The Ring-of-Files treats them as ONE thing you're examining, with siblings waiting just out of view. The center is sacred — only one thing is being examined at a time. The skew + magnetic snap together create the felt sense of "this is a deliberate flip-through, not a casual scroll." Build note for Josh: implement with CSS 3D transforms (perspective: 800px on the parent, transform: translateX + scale + skewY + skewX on each card). The magnetic effect is achieved by interpolating the card's position with a NON-LINEAR curve relative to finger position — instead of cardX = fingerX, use cardX = fingerX * 0.85 + nearestDetentX * 0.15 * proximityFactor where proximityFactor increases as the card approaches a detent. The snap on release uses spring physics (or a hand-tuned cubic-bezier). For accessibility: provide arrow-key navigation as an alternative to the swipe, with the same magnetic snap visible. Cross-references: Entry 011 (Believe arc dial) — the closest sibling pattern; arc dial uses a different visual metaphor (rotating dial of orbs around a center) but solves the same "flip through media" problem; arc dial vs ring-of-files is the next prototype-comparison alongside Entry 021 (stacked-cards) and Entry 024 (thumbnail strip) for Open Thread #1. Entry 029 (Radial Carousel) — sibling that shows ALL items at once (radial, baseline arc) vs this one which shows ONE deeply (ring-of-files, single focus). Entry 014 (bloom view) + Entry 027 (held-medium drawer) — destinations after tap on centered card. MOTION-SPEC-V1 A5 (Stacked-Card Lift) — sibling motion language for the scale + opacity transitions. Status (LOCKED 2026-05-02): Ring-of-Files is PARKED as alt. Radial Carousel (Entry 029) is the canonical browse-many pattern. See biz-dev-decisions-log.md 2026-05-02. Revisit Ring-of-Files if a use case emerges (e.g., multi-photo seed browsing) where single-focus deliberate flipping wins over radial-constellation glance. Source: Ashley's own verbal note during the Apr 27 session, no specific external reference. Inspired-by-physical-rolodex; closest spiritual sibling in the inspiration library is the side skew motion in Entry 011's arc dial.

RESTING — blob over Field MID-TRANSIT — viscous bridge connecting source & destination ARRIVED at Plant — blob turns GOLD (commitment color) New
Liquid active-tab indicator — a single blob floats over the tab bar, melts + stretches between positions on tap (strong TAB2 supersede candidate)

In addition to finalizing the actual icons, I think I wanna consider having some kind of animation like the one shown on this link... I really love this animation. I think it's really cool and a way to make it feel less like buttons and just feel more involved and we do it does kinda have that jelly floating feel.

→ NEW PATTERN: Liquid Active-Tab Indicator (the "melting blob" — one continuous element floats over the tab bar, viscously morphs between tab positions on tap). Solves the "tab bar feels like rigid buttons" problem at the deepest level — instead of 5 separate buttons with one styled as "active," the system is ONE THING that reshapes. The blob is a single circular indicator lifted slightly above the tab bar; whichever icon it's over IS the active tab. On tap of a different tab, the blob doesn't jump or slide — it MELTS into a thin viscous bridge connecting source and destination, then re-forms into a clean circle at the destination. Reads as jelly traveling along a path, not "button selection state changed." This is the strongest single inspiration for what Ashley keeps describing as "doesn't feel like a file system" + "soft and clean" + the "jelly floating" feel — applied specifically to navigation. Why this is a TAB2 supersede candidate: The current locked TAB2 (Gradient Plant + Ring) treats the tab bar as 4 flat buttons + 1 raised gold FAB for Plant. Functional, but the iOS-dock vocabulary is generic — it could be any app. The Melting Ball is genuinely DandyLine-feeling: it embodies the same fluid, organic, alive quality as the dandelion mark itself + the per-vault dot animations. Recommend FORMAL EVALUATION at Step 4 of the lockdown sequence — does this supersede TAB2 entirely, or do we combine? DandyLine layout (5 tabs): Field (home/dandelion garden) | Pressed (keepsakes) | + Plant (CENTER — the action) | Grove (shared/family vaults) | Profile. The blob floats over whichever tab is currently active. The Plant integration (the design tension): when the blob lands on the center Plant tab, it should TURN GOLD (the commitment color, per Golden Rule). The Plant icon inside the blob renders in dark cream/black instead of gold (because the blob IS gold now). When the blob is over any other tab, it's cream/dark — neutral. This way: the blob's COLOR communicates the lifecycle moment ("you're about to do something committal" when over Plant), without requiring a separate FAB. Replaces TAB2's gradient-plant-with-ring with a more integrated solution. Alternative: keep the gold Plant FAB as-is (always-gold, raised slightly higher than other tabs) and have the cream blob route AROUND it visually (the blob travels along the arch above the FAB, never crossing over the gold). Less unified but preserves the "Plant is sacred" treatment. To be decided at Step 4. Soft and clean motion: 1) On tap, the blob begins morphing toward the target with a custom easing curve — slight overshoot at destination under 4px max (per the canonical "no overshoot >4px" rule); 2) During transit, the blob maintains a curved liquid bridge connecting source and destination — implemented as SVG path morphing OR CSS clip-path interpolation — the bridge thinness modulates with transit progress (tighter at the endpoints, slightly thicker in the middle = viscous gel quality, not stretchy rubber); 3) Total transit duration: 380–450ms (the longer end if traveling further along the bar); 4) On arrival, the blob settles + the active icon inside scales briefly 1.0 → 1.08 → 1.0 over 200ms (Motion Spec A1 press-spring family); 5) The previous active tab's icon fades to inactive opacity as the blob leaves it; 6) The blob has a gentle IDLE PULSE when at rest — opacity .92 → 1.0 over 2.5s loop (Motion Spec A8 ambient drift family) — alive, not static; 7) When the blob arrives over the Plant tab, color shifts from cream to gold over 220ms — communicates "commitment moment imminent." D-Ring ripple integration: when a tab is tapped, fire D-Ring ripple (Motion Spec A2) at the tap point simultaneously with the blob's transit start — the ripple acknowledges the tap, the blob's morph fulfills it. Build note for Josh: implement with SVG path morphing — Framer Motion's <motion.path> with the d attribute interpolated, OR a custom path interpolator. The "two circles connected by a thin tube" path can be expressed as 2 quadratic curves. As transit progresses, the source circle radius decreases while the destination circle radius increases, and the connecting tube morphs from thin to wide-thin-wide (gel stretching). Render the active icons as TWO layers — one in the tab bar (resting) + one inside the blob (overlay). Active layer fades in as blob arrives. Use requestAnimationFrame for smooth interpolation. Cross-references: TAB2 (currently locked tab nav) — supersede candidate, evaluate at Step 4 of UX/UI lockdown sequence. Entry 018 (Glass Action Tiles) — sibling philosophy; both reject "rigid button" feel for something more alive/material. MOTION-SPEC-V1 A1 (press-spring) — destination-arrival icon scale uses this curve. MOTION-SPEC-V1 A2 (D-Ring ripple) — fires simultaneously with the transit start. MOTION-SPEC-V1 A8 (ambient drift) — the idle pulse on the resting blob. Entry 028 (Push-Aside Reveal) — sibling pattern at vault-context filtering; both ask "is the standard pattern good enough or can we do something more alive?" Open thread for Ashley (decide at Step 4): 1) Plant integration — blob turns gold at center, OR keep gold Plant FAB always-on with blob routing around? 2) Should there be a haptic tick on tab transition? 3) Should the blob have a gentle idle pulse, or stay perfectly still until tapped? 4) When user is mid-flow (e.g. inside the planting dialog), does the tab bar disappear or does the blob just go dim? Source caveat: interpreted from 8 rapid screenshots of a looping GIF (no video API available since it's an IMG.gif, not a video element). Captured: resting state, multiple mid-transit liquid-bridge frames, multiple destination-arrived states. Exact easing curve and timing inferred to match canonical "soft and clean" + "no overshoot >4px" rules; values above are starting recommendations to refine in prototype.

Other Patterns
No entries yet Onboarding, empty states, error feedback, micro-interactions -- anything that doesn't fit a category above.