career/qwestly/2026-10-homepage-agent-card.md
Table of Contents
Turned the homepage's LinkedIn review box into "Meet your agent", with its own page for the LinkedIn ads
Situation
The homepage's only call to action sold a LinkedIn review, which other tools also offer, and on an iPhone its field and button sat below the first screen. Reddit's LinkedIn ads landed on the same page as everyone else, so the page did not repeat what the ad promised. In the 28 days to 2026-10-08 the box got 18 submissions from 599 homepage visitors (3.0%).
What I did
- Turned Adam's mocks into a plan with every open question resolved before code, then shipped it across two repos in one pass: qwestly-agent#491, public-site#216.
- The card now says what the agent does (raise, pay, LinkedIn, roles), with a gold "Meet my agent"
button that fits the first iPhone screen. A new
/linkedinpage for the ads lists LinkedIn first, and each page opens the chat with its own first message. - Chose not to A/B test the phone layout yet: organic traffic is too thin to read a result. Filed the A/B infrastructure as a separate ticket.
- Kept the card's event names unchanged, so the ad page and the homepage compare directly on
the existing
page(pathname) property.
Result
Pending: merged into staging 2026-10-10, not yet in production. Confounders: the name lookup shipped on 2026-10-08, one day
before; the Reddit ads move to /linkedin only after the release.
Metrics
| Metric | Baseline (date) | Target | Latest (date) |
|---|---|---|---|
Card submissions per homepage visitor, 28 days, www.qwestly.com / |
18 / 599 = 3.0% (2026-09-10 to 2026-10-08; from the name-lookup entry) | higher | n/a |
Card submissions per visitor on /linkedin (Reddit ad traffic) |
n/a (page is new) | above / |
n/a |
| Signups from Reddit ad traffic | see reddit-ads-attribution in the workspace docs | higher | n/a |
How to measure
PostHog via the posthog skill, production host only. After the release, split by the page
property, which holds the pathname (/ or /linkedin):
SELECT properties.page AS page, count() AS n
FROM events
WHERE event = 'LinkedIn grade submitted' AND properties.$host = 'www.qwestly.com'
AND timestamp >= toDateTime('<release date>')
GROUP BY page
SELECT properties.$pathname AS path, uniq(distinct_id) AS visitors
FROM events
WHERE event = '$pageview' AND properties.$host = 'www.qwestly.com'
AND properties.$pathname IN ('/', '/linkedin')
AND timestamp >= toDateTime('<release date>')
GROUP BY path
Use the same window length as the baseline (28 days), or compare per-day rates if checking earlier. Caveat: scripted staging runs lost the submit event fired just before the redirect, so submissions may be undercounted, before and after alike.
Log
- 2026-10-10: both PRs (and the logo-row fix, public-site#217) merged into staging.
- 2026-10-09: plan written, implemented and validated locally; both PRs open. Baseline reused from the name-lookup entry (window ends 2026-10-08).