Acquisition Team

Social

Memorial Day social posts

  • First social post utilizing the Claude + AE scripting workflow for character and background animation.

Email

Transactional email refresh

Our transactional emails will now have a more similar structure, which will help differentiate them from weekly sends.

The idea

The onboarding and confirmation emails already had a consistent style. We rebuilt the rest of the transactional stack to match — Trip Reminder, Cart Abandonment, Travel Review, and Buy Again.

Now that all transactional emails look the same, the one-time promotional sends look distinct by default, without any extra work.

Objectives

  • Trust signal — customers learn to recognize the transactional look.
  • Promotional contrast — Weekly Deals and one-off campaigns stand out because they're visually different.
  • Easier maintenance — Rebuilt in HTML to make it easier to make adjustments via LLM.
Wanderu

SEO · Programmatic

71 new pages — World Cup focused

Programmatic expansion targeting traffic around the upcoming World Cup.

  • World Cup–specific adjustments — content tuned to host-city, fan-traffic patterns.

Discovery · Explore page

Meeting open-ended travel with LLMs

A discovery surface for searches that are open on date, destination, return, budget, or mode — the trips that never fit the A→B search box.

Why now

Discovery is fragmenting to social and LLMs. Today's product is purely transactional — you have to know origin and destination and date(s) before you can start.

The shape Every open-ended trip is anchor + range — lock one dimension, search across the rest. 100 real scenarios collapsed to six repeatable patterns.

What's going out

The front door above Explore: a city-agnostic /en-us/explore/ entry that routes travelers into the right surface — from-city browse, date-flexible search, or "plan it for me."

Why it matters First surface to catch the "where can I go this weekend?" moment with live fares — no competitor in ground transport has it.

Spotlight

SEO candidate engine

We're now driving recommendation generation and approval, with humans kept in the loop end-to-end.

SEO Candidate Engine

Candidate template

Every candidate hits the reviewer in one shape — queryable front-matter on top, a fixed rationale skeleton below.

Queryable front-matter

Structured metadata lets us organize and query the backlog — by status, resolution, impact, risk, and run dates.

id: reconcile-contradictions-distance-error-trip-count-prices
title: Reconcile contradictions — distance error, trip count, prices
status: close
resolution: accepted
impact: unknown
risk: unknown
rank_growth_opportunity: null
batched_to: null
issue_url: https://github.com/wanderu/nexus/issues/325
slack_thread_url: null
last_updated: 2026-05-21
last_reviewed: 2026-05-13
recommender_run: 2026-05-07

Rationale skeleton

Same sections, same order, every time — so reviewers compare like-for-like.

  • Bodythe recommendation in one line.
  • Why isn't this implemented?blocker, or "populate on next recommender run."
  • Upside (SEO + LLM rationale)ranked evidence, with sources.
  • Counter-argumentsteelman the case against acting.
  • Coveragewhich pages / routes it touches.
  • Current shapeobserved facts only — no guessing.
  • Recommended resolutionthe concrete fix to ship.
  • Where in code / pageschema, FAQ, JSON-LD, journey-info table.
Paste the rendered #325 candidate here — Body · Why-not · Upside evidence (distance, trip-count, price contradictions).

SEO Candidate Engine

Review-feedback template

An append-only log of human feedback — curated so every pass makes the recommendation candidates sharper.

What we capture

  • Who & whenreviewer name and the date they weighed in.
  • Against which runthe recommender_run the note responds to.
  • Decisionthe status they landed on (e.g. skipped).
  • Reasonfree-form rationale — the part the engine learns from.
Why it matters Append-only — nothing is overwritten, so every reviewer's reasoning compounds into better candidates.

Append-only feedback

### Reviewer feedback (append-only)

- 2026-05-21 by Eliza (against recommender_run 2026-05-07): skipped

- 2026-05-21 by Andrew (against recommender_run 2026-05-07): skipped
  Reason: "reviewed in initial triage; not selected for this round"

- 2026-05-29 by Andrew (against recommender_run 2026-05-07): skipped
  Reason: "Low impact, not worth the effort. Further,
  only showing lowPrice may be more appealing from a CTR
  perspective — showing the full range while we have pricing
  inconsistencies in prose risks surfacing a high end that
  makes us look worse for no benefit."

SEO Candidate Engine

Reviewer statuses

Five outcomes a reviewer can land on — each wired to a downstream action.

  • Accept Automatic issue creation — work goes straight onto the queue.
  • Reject Knowledge captured and fed back into the engine so it learns.
  • Skip Set aside without judgment — no learning signal either way.
  • Investigate Triggers an automatic Claude investigation to gather more context.
  • Group feedback Opens a Slack thread in #acq so the team can weigh in collectively.

SEO Candidate Engine

Issues land ready to work

Accepted candidates now open as fully-formed GitHub issues — authored, labeled, and routed by the engine.

What changed

  • Auto-authoredaccepted candidates open as issues from the engine, not filed by hand.
  • Consistently labeledevery issue lands tagged SEO-candidate and routed to acquisition_team.
  • Action-oriented titleseach title states the change to make, per the scout output pattern.
  • Traceableshipped bug fixes carry dispatcher:done — 6 open / 2 closed in the first batch.

What landed

GitHub issues list filtered by label:SEO-candidate — 6 open, 2 closed, authored by the engine.

is:issue label:SEO-candidate — 6 open / 2 closed

SEO Candidate Engine

Nexus C2C changelog

A reverse-chronological log of SEO-visible changes — what shipped, when, for later analysis. Latest entry:

Added — Wikidata enrichment

  • 25 C2C routesadded Wikidata sameAs to TravelAction from/to via per-route override.json schema patches.
  • Closes the May 2026 audit gapfor routes whose endpoints sit in the 14-city seed set (NYC, Boston, Philadelphia, Chicago, Miami, Orlando, Portland OR …).
  • Out of scoperoutes touching the other 58 cities (Atlanta, LA, Tampa, Dallas …) follow in a later batch.

Fixed — trip-count math

  • Impossible directTripsPerDay > tripsPerDaycorrected in the daily-schedules FAQ + stat blocks on three routes: Eugene↔Portland and Madison→Chicago.
  • Interim Nexus-side fixvia per-route override; root-cause SQL lands upstream in mammoth. See #327.

SEO Candidate Engine

Dispatcher run

First production run worked the queue — and surfaced a re-run wrinkle we'll fix with deterministic orchestration.

What happened

  • Dispatcher ran against the candidate batch and worked the queue.
  • Snag: on a re-run after comments are left on an issue, reviewer comments can drop on the floor — the next pass doesn't respect comment state.

Proposed fix — Dynamic Workflow Proposed

  • Move the dispatcher onto Claude's new Dynamic Workflow — control flow (loops, branching, fan-out) lives in a deterministic script instead of ad-hoc, per-run model decisions.
  • Re-run logic becomes explicit: read each issue's comment state, then route — so reviewer comments are respected on every pass.
  • Same inputs produce the same routing — repeatable, testable, and easy to reason about.
Why it's better Deterministic orchestration replaces ad-hoc agent decisions — the dispatcher behaves the same way every run.