← May 2026
App Idea Cards 2026-05-17

KeepLine

KeepLine

KeepLine

A retention-call companion for OfferStack — for any card in your wallet whose annual fee is about to hit, KeepLine drafts a personalized retention script, shows the offers banks have actually given cardholders in the last 90 days (cohort-matched to your card and tenure), and tells you whether to keep, push, or close — using the unused benefits OfferStack already knows you didn't redeem this year.

Problem

A $695 Amex Platinum or $795 Sapphire Reserve annual fee posts and the cardholder freezes. The retention call is awkward, the database of "what banks have actually offered lately" is scattered across Travel On Points, Miles To Memories, Reddit data-point threads, and FlyerTalk, and there is no way to tell whether the 25,000 Membership Rewards points the agent just floated is the floor or the ceiling for that card and tenure this month. The cardholder either pays the fee, cancels without trying, or accepts a below-cohort offer. OfferStack already tracks the AF posting date in the Wallet (LIF-023), the benefit utilization in Next Best Actions (LIF-031), and the CPP for whatever points the agent is offering — but stops at the cancel button.

Target user

The Active Optimizer persona from STRATEGY.md §2 — the power user running 5–15+ cards across 4–6 issuers, with $2,000–$5,000 of annual fees rolling through each year. Job-to-be-done: two weeks before each AF posts, get a single answer to "should I keep, push, or close this card — and if I'm pushing, exactly what do I say." Secondary user is the Aspiring Optimizer with one or two premium cards who needs a non-sales-y script template so their first retention call doesn't feel like a negotiation against a bank that's done it ten thousand times.

MVP scope

  • A /tools/keep-line page, and a "Call retention" action surfaced from /wallet (LIF-023) on each card 30 days before its AF posting date.
  • Cohort offer table: a retention_data_points Supabase table (RLS public-read, same plumbing as LIF-014/015) seeded from monthly Claude-extracted ingestion of Travel On Points, Miles To Memories, and Reddit r/churning data-point threads → {card_id, tenure_months, prior_AF, retention_offer, accepted_bool, source_url, scraped_at}.
  • Floor / median / ceiling panel: given the user's specific card + months held, surface 25th / 50th / 90th percentile of accepted retention offers from the last 90 days with a sparkline trend, mirroring the LIF-035 "Show math" calculator audit-detail pattern.
  • AI script generator: takes the user's wallet entry (months held, AF, points balance, transfer partners used) + LIF-031 Next Best Actions inputs (unused credits, % of annual perks redeemed) and drafts a 5-line opener plus 3 prepared responses to common agent objections ("we don't have anything for you right now," "I can only offer 10k," "would you like to product-change instead").
  • Keep / push / close verdict using the existing VALUATION_FORMULA_SPEC.md math: net cost of the AF minus monetized value of unused benefits, compared against the median cohort retention offer, returns one of {keep-no-call, keep-and-push, close, product-change}.
  • Rule-pack JSON data/retention_call_routing.json — issuer routing (Amex retention line 800-452-3945, Chase Secure Message Center, Citi backdoor, Cap One web chat) and timing windows (2–3 weeks before / 30 days after AF posts), so RA can edit policy without a code deploy. Same pattern velocity-vault's data/issuer_rules.json proposes.

Monetization

none (internal tool) — feeds the existing OfferStack freemium model. The single-card public cohort lookup is the SEO hook (target keyword cluster: "amex platinum retention offer 2026", "chase sapphire reserve cancel retention 2026", "amex gold retention offer current"). The wallet-integrated AI script generator, the keep/push/close verdict, and the percentile/sparkline breakdown sit behind the existing $5–8/mo Pro tier described in STRATEGY.md §5. One concrete upsell story: a single saved $895 Platinum AF pays for ~9 years of Pro.

Why now

The Amex Platinum AF hike to $895 in late 2025 and the Chase Sapphire Reserve refresh to $795 mean a single Active Optimizer's AF stack now routinely exceeds $2,500/year, while Travel On Points' current retention database (refreshed 2026-03-22) still shows live offers like 100,000 MR on Business Platinum and 40,000 MR on Gold — the gap between AF posted and retention value recoverable has never been wider. At the same time, the issuer landscape is bifurcating: Amex remains generous, Chase rarely offers anything on Sapphires, Capital One almost never offers, and Citi is selective — so "what's actually working right now for my card" matters more than it did a year ago, and the data is scattered across half a dozen forums. OfferStack's Phase 2 (started 2026-05-11) is mid-migration of /wallet and bookmarks to Supabase via LIF-023 and LIF-024, so a retention_data_points table drops in alongside them reusing the LIF-014/015 client and TanStack Query plumbing rather than as net-new infrastructure.

Risks & open questions

  • Scraping/TOS risk: Travel On Points and Miles To Memories own the compilation even though the data points are user-contributed. Validate via RSS-only ingestion, or build a first-party data-point submission flow (one-tap "I just got X offer on Y card after Z months") and seed from forum scraping only as a cold-start measure.
  • Cohort sparsity: less-popular cards (Citi AAdvantage Executive, Barclays AAdvantage Aviator Silver) may have fewer than 10 data points in any 90-day window. The UI must collapse percentiles to "insufficient data — recent values: 25k, 40k" rather than fake a confidence interval that doesn't exist.
  • AI script tone: LLM-drafted retention scripts that sound scripted will get clocked by the agent. Generator must produce talking points, not a verbatim script, and never reveal it's AI-drafted — same trust-first positioning as STRATEGY.md §6.3.
  • Affiliate-bias optics: the close verdict bypasses any future affiliate revenue from a re-application. Must pin to the math-first rule in STRATEGY.md §6.3 and disclose the verdict logic inline.
  • Legal: retention is not a guaranteed outcome — needs an "informational only" disclaimer mirroring §7 of STRATEGY.md, plus a clear note that some calls trigger a hard pull on certain Chase products.

Next step

Promote to a weekly prototype — build /tools/keep-line as a free-tier single-card public cohort lookup tool: read-only retention_data_points table seeded from one month of Travel On Points + Reddit data, no auth, no script generator, no wallet integration. Validate the SEO hook and Reddit-sharing pattern before scoping the wallet integration, the AI script generator, and the keep/push/close verdict as separate LIF-### items.

Sources

  • https://travel-on-points.com/current-retention-offers-amex-chase-citi/ — primary crowdsourced retention-offer database, refreshed 2026-03-22; baseline schema and seed source for the retention_data_points table
  • https://milestomemories.com/retention-offer-amex-chase-citi/ — secondary aggregator with recent data points across Amex / Chase / Citi; cross-reference for data freshness and per-card cohort coverage
  • https://upgradedpoints.com/credit-cards/credit-card-retention-offers/ — 2026 retention strategy guide: confirms the Amex retention line 800-452-3945, the "considering closing" phrasing, and the 2–3 weeks before / 30 days after AF window
  • https://travelupdate.com/amex-platinum-card-2026-retention-offer-attempt/ — single-cardholder 2026 walkthrough showing floor offers (25k MR) on Amex Platinum remain common; useful for percentile calibration on the flagship Platinum cohort
  • https://thepointsguy.com/credit-cards/ultimate-guide-credit-card-retention-offers/ — issuer behavior heatmap (Amex generous, Chase selective, Capital One rare); informs the keep / push / close routing rules in data/retention_call_routing.json
  • D:/AI_Agents/Repo/Mikes_Repos/life-hacker/docs/STRATEGY.md — personas (§2 Active Optimizer / Aspiring Optimizer), freemium monetization (§5), trust-first positioning (§6.3), risk disclaimers (§7)
  • D:/AI_Agents/Repo/Mikes_Repos/life-hacker/docs/EXECUTION_BACKLOG.md — confirmed no open LIF-### item covers retention concierge; integration points are LIF-014/015 (Supabase + TanStack Query), LIF-023 (/wallet), LIF-024 (bookmarks), LIF-031 (Next Best Actions), LIF-035 (calculator audit-detail pattern)
  • D:/AI_Agents/Repo/Mikes_Repos/life-hacker/docs/VALUATION_FORMULA_SPEC.md — net-AF-versus-recoverable-value math reused for the keep / push / close verdict

More from App Idea Cards