Stand-up prep — 2026-05-15
Agenda set 2026-05-14 EOD: lead with audrey; open with a 5-min wins recap to compound the momentum into the harder forward thinking.
Opening — wins recap (5 min)
Quick ground-set; tomorrow’s audrey work lands harder when we name what’s been compounding.
This week, shipped
- Flywheel decoupling complete. robots.txt stale block removed; the 5 remaining twentytwenty-themed pages migrated to the canonical Helvetica/Newsreader template; 3 Edge-magazine images promoted to
images.dare.co.uk/edge/; standaloneedgeR2 bucket retired;wp-content/plugins/*+themes/*+wp-includes/*excluded from deploy bundle (72 MB cut). - Sitemap regenerator shipped. New
~/bin/dare_sitemap_regen.pywalks the static repo, emits sitemap.xml + post-sitemap.xml + page-sitemap.xml; first prod run replaced the WP-era frozen-since-2026-05-07 file (506 deadedge.dare.co.uk/wp/*entries → 9 watch-items, 98% HEAD-200 hit rate). Portfolio-portable — same script will handle dogwood/audrey/clients with a YAML drop-in. - Devreports hover-preview shipped on report-body anchors. Cross-references between reports now carry the popover thumbnail UX that the catalog rows have had for a while.
- Session report became a take-stock substrate. Every Toolkit-changes entry now hyperlinks to its GitHub blob URL pinned at the SHA that last touched the file — future-Dan landing on a session report from months ago walks straight into the file as it was that day.
- R2 portfolio image-promotion tooling.
dare_wp_uploads_to_r2.pyshipped; 12 missing Tier-2 images uploaded + verified live. - Cloudflare token decoupling.
R2 dare-pipeline-thumbsmoved Private → Code Shared (the SA scope Claude can reach) — every future dare image promotion is decoupled.
This week, named
- Services 1.0 model crystallised. The shape was already in
~/bin/; today’s session named it explicitly. Every reporting/analytics/narrative/sitemap/visual capability is a single-purpose, dry-run-default, config-driven Python service that publishes to devreports. The naming alone unlocks shared vocabulary across portfolio decisions. - Hidden traps catalogued.
feedback_services_1_0_hidden_traps.mdis now the living doc for the discovered-while-shipping costs (cross-repo sync gap, sysPython vs venv dep gaps, defensive-design silent failures, binary path portability, etc.). 10 named traps; v1.5 mitigation priorities surfaced. - DARE brand voice captured. Four pillars (inspiration / conviction / optimism / innovation) preserved with cadence + tone notes for future hero copy + narrator voice tuning.
- Mac-as-workshop framing. The local-to-cloud decoupling named honestly — Mac stays the workshop, cloud is the gallery; the lathe doesn’t lose value when the CNC mill arrives.
This week, opened
- Pushover account — messaging service v1 credential ready when the workflow needs it.
- R2 cross-portfolio image-promotion path proven on dare; ready to apply to dogwood/audrey.
- Cloud Run pipeline for devreports publish — half-built (image exists, image deploys, Cloud Run Job exists); pending only a GitHub PAT mint to be 100% operational alongside the GHA path.
- vapi.ai voice AI account. Opened 2026-05-14; credential in
op://Code Shared/vapi/add more/{private,public} key(rotated after transcript leak —op item get --format jsonexposes CONCEALED fields, lesson added to the audit-redaction memory). Three target surfaces queued:dogwood.house/contact,dare.co.uk/contact,audreyinc.com/contact. First wiring likely the existing dare-contact-page Worker.
One-line wins recap closer for the stand-up: the dare surface is now sufficiently decoupled, instrumented, and self-narrating that audrey can be approached as a fresh build using the patterns we just hardened — not a parallel reinvention.
Main agenda — audrey re-evaluation
Evening update (2026-05-14 EOD, after this doc was first drafted)
Three new signals landed tonight that change tomorrow’s framing materially:
- audreyinc.com crossed the GSC null threshold. First-ever query data: 1 impression, 1 query —
audrey magazineat position 3.0. Read: brand-collision noise. Google currently files audreyinc.com under “things that might be Audrey Magazine” (the Asian American women’s lifestyle publication). The fix is editorial + disambiguation, not credentialed work. - DuckDuckGo ranks audreyinc.com at #2 for “audrey scarves” — meaningful contrast. DDG uses its own index (more Bing-leaning, less brand-authority-weighted). Content quality is good; the Google-side ambiguity is the specific surface to fix.
- First-ever keyword-seed research artefact written tonight — full report at
https://devreports.dare.co.uk/audrey_keyword_seeds_2026-05-14. Headline findings: - Pluralscarvesbreaks the Scarface collision; singularscarfdoesn’t. Free immediate mechanical SEO win — every audrey page title + meta + structured-data label should use the plural form. - Gift-giving is the dominant high-intent search shape — validates the gift-guide strategy fromproject_audrey_agent_discoverability. Cultural-meaning sub-thread (scarf gift meaning,red scarf as a gift meaning,hermes scarf as a gift) is editorial gold. -scarves for cancer patientssurfaced as a real, recurring query — non-promotional editorial opportunity that distinguishes audrey from purely-commercial competitors. -luxury scarves+designer scarvesare mid-funnel comparative-shopping queries — audrey positioning copy needs to use these literal phrases.
What this changes for the 5-canonical-use-cases decision: the data now tells us what use cases to pick. The five suggested in the keyword-seeds report, in priority order:
- Gift-giving cultural / “meaning of giving a scarf” editorial piece (evergreen long-tail)
- Mother’s Day / Anniversary / Milestone gift-guide pages (per
project_audrey_agent_discoverability) - Luxury / designer positioning page (mid-funnel comparative shopping)
- Material-anchored category pages (silk, cashmere) with strong schema
- The brand-collision-killer
/scarvespage (PLURAL — owns audrey’s “what is this site” identity to displaceaudrey magazinenoise)
Research thread to extend tomorrow morning
Tonight’s autocomplete probe (80+ queries from 11 seeds) is layer 1 of a 3-layer keyword research stack. The next two layers are quick wins:
- Google Trends pull via
pytrends— what’s RISING / SEASONAL. Critical for timing the gift-guide content drops (when does “Mother’s Day scarf gift” peak? When does “Christmas scarf gift” start ramping?). ~10 min once pytrends is installed. - SERP “People Also Ask” + “Related searches” scrape — editorial-deep-dive layer, useful for the cultural-meaning pieces. Probably v1.5 work; not needed for tomorrow’s lock.
Recommendation: do the Trends pull as the second thing tomorrow (after fixing Shopify scopes). Lands as audrey_keyword_trends_2026-05-15.md alongside tonight’s seeds report. Combined data set then feeds the 5-use-case lock decision.
Where we actually stand
Foundation laid; one specific 5-min blocker; strategy clear but not yet executed.
What’s built:
| Surface | State |
|---|---|
Shopify Admin API app (audrey-readonly) |
App in Dev Dashboard ✓ ; token in Code Shared ✓ ; scopes zero → 401 on every auth probe |
Shopify wrappers (~/bin/shopify-audrey, shopify-setup, shopify-storefront-probe) |
Built; awaiting non-401 to be useful |
| Twilio (audrey entity submission, toll-free SMS) | Done |
| Pushover account | Opened 2026-05-14 ✓ ; ready for messaging-service v1 |
GCP foundation (audrey-experiments project + audrey-vertex-sa) |
Live; Vertex API access ready |
| GSC three-property baseline | Property added 2026-05-13; still null after 5 days (7-14d typical window) |
Twilio entity submission report (audrey_entity_twilio_2026-05-12) |
Live on devreports |
| Path engine architecture (Chat-Claude’s writeup, 2026-05-13) | Sketched; not built |
Dashboard for audrey (dashboard.audreyinc.com) |
Does not exist yet |
The one specific blocker
audrey-readonly app released with zero scopes. Per Section-F failure analysis from yesterday’s handoff, the fix:
- Dev Dashboard →
audrey-readonly→ API access → add scopes (read_products,read_orders,read_customers,read_inventory, optionallyread_checkouts) - Save → uninstall app from store → reinstall (scopes don’t materialise into existing tokens; the install/reinstall activates them)
- Canary:
shopify-audrey graphql '{ shop { name } }'should round-trip
~5 min in the Shopify UI. The entire Shopify thread unblocks the moment this lands. Recommend doing this first thing, even before sitting down to the strategic question — clears noise from the agenda.
The strategic question for the stand-up
Three forward moves; one is fastest, one is highest-leverage, one is most commercial. Audrey is the revenue surface; dare is the test bed. So the question is: where do we generate first measurable commercial value?
| Move | Cost | Unlock |
|---|---|---|
| Lock the 5 canonical Audrey use cases | 30-60 min of decision work | Gates URL taxonomy, schema design, variant prompt design, dashboard metrics, gift-guide editorial. Everything downstream needs these named. |
| Sketch one gift-guide page as v0 mockup | 1-2 hr (writing + design) | Mother’s-Day-for-artist-mom is a strong first; the editorial shape becomes legible before we scale to 20. Cheap to commit if it lands. |
| Build minimum-viable audrey dashboard | 3-4 hr | Orders + revenue + AOV + maybe variant-conversion. Smallest visible commercial artefact. Drives habit immediately. |
What Pushover unlocks for audrey specifically
The messaging service is parked but the v1 credential just landed. Audrey is plausibly the first surface where messaging service v1 has revenue-side justification — not just “report ready” pings but commerce-driven alerts:
- Order alerts (high-value scarf sells) → push to Dan
- Low-stock alerts (inventory thresholds) → push to Dan
- Daily revenue digest → push to Dan
- A/B test significance alerts (variant crosses threshold) → push to Dan
Could be the actual build trigger for notify-portfolio v1 — and audrey is where the value shows up.
My read on the stand-up shape
- First 5 min: retro recap (above) — momentum-build into harder thinking.
- Next 10-15 min: decide on the strategic question. Recommend: lock the 5 use cases. Highest-leverage move; gates everything else; nothing downstream is wasted if we get it right.
- Then: while you’re at the desk, fix audrey-readonly scopes (5 min in Shopify UI). Clears the technical noise.
- Then: with use cases locked + Shopify unblocked, decide whether tomorrow’s build energy goes into the gift-guide page (editorial first) or the dashboard scaffolding (data first). Either is right; pick by which signal you want next week.
The 5 canonical use cases — what to bring to the decision
If we’re locking 5, the source material for thinking about which:
- Gift moments (per project_audrey_agent_discoverability): Mother’s Day, retirement, milestone birthdays — agent-discoverability play.
- Customer journey segments (per Chat-Claude’s path engine): first-visit-from-ad, returning-but-not-bought, post-purchase, gift-shopping vs self-purchase, agent-arrived-from-LLM.
- Editorial / strategic (designer story, sustainability, heritage): brand-positioning content, less conversion-focused but trust-building.
- Test-able A/B hypotheses (per the path engine plan): which variant converts; which path drives AOV; what does retention look like.
The five use cases don’t have to be from one category — could be 2 gift moments + 1 journey segment + 1 editorial + 1 commerce A/B. The point is: named, scoped, testable.
Forward-thinking discussion item — vapi voice AI sequencing
Account opened 2026-05-14; keys live in op://Code Shared/vapi/add more/{private,public} key. Three target surfaces (dogwood / dare / audrey contact pages) — and the portfolio fit varies:
| Surface | Brand fit | Likely first |
|---|---|---|
dogwood.house/contact |
Highest — boarding inquiry over phone is natural for “Soho House for dogs”; voice answers a real shape of customer | Strongest standalone case |
dare.co.uk/contact |
Lowest commercial pressure; highest tooling readiness (Worker already exists, lives in ~/Downloads per project_dare_contact_page_relocation) |
Lowest-friction first integration — test bed |
audreyinc.com/contact |
Commerce-driven — concierge / gift-finder / order-status calls; pairs with Pushover order alerts | Sequence after the 5 use cases lock |
Three discussion shapes for tomorrow (not requiring decision unless time permits):
1. Treat dare-contact-page as the test-bed wiring — first integration; proves the Worker pattern. (Worker relocation pre-completed 2026-05-14 evening: ~/Downloads/ → ~/Code/dare-contact-page/, git-initialised, dry-run verified — project_dare_contact_page_relocation. So voice handler lands as second commit on a clean repo, not as a fix-the-mess-while-shipping moment.)
2. Lead with dogwood if the brand-fit case outweighs the test-bed pragmatism (voice has the highest standalone commercial logic on dogwood).
3. Park entirely until audrey use-cases lock — if voice surfaces emerge from the 5-use-case work (concierge call as one of them), build dependent on that decision, not in parallel.
Recommend option 1 — dare-contact-page wiring forces the Worker relocation + proves the integration pattern; once proven, dogwood and audrey get the proven pattern as a config swap (Services-1.0-style portability).
Question for the stand-up: does the answer here change if Pushover-on-audrey becomes the build trigger we discussed? Voice + push could land as a coordinated “audrey now has reactive surfaces” moment, or stay independent.
Out-of-scope for tomorrow (named so they don’t leak in)
Parked items that AREN’T audrey but might tempt the stand-up to drift:
- project_dare_referrer_meta_site_wide.md — small site-wide fix; not urgent
- project_dashboard_thumbs_trial_2026-05-14.md — proven; parked for cost
- project_session_report_link_enrichment_parked.md — commits + devreports cross-refs; next session-report touch
- project_dare_messaging_service_parked.md — Pushover ready; build trigger is audrey-driven, so this resolves through audrey
- v1.5 toolkit→pipeline sync mechanism — the highest-leverage v1.5 mitigation; carry as a named priority but don’t build it tomorrow unless audrey work blocks on it
- vapi voice AI wiring itself — credential ready; the sequencing discussion above is in scope, the building isn’t (don’t let it eat audrey’s slot)
Each has its resume condition. None are tomorrow’s job.
Audrey is the revenue surface. Tomorrow we make it move.