Commit Graph

30 Commits

Author SHA1 Message Date
martbost d72248bacb SafePal is the preferred wallet: listed first with a Recommended tag in the picker, detected by flag/window.safepal, named first in the in-app notice, join error, chatbot answer and AI prompt
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-20 08:45:14 -05:00
martbost b88218b1fb Add a Presentation item to the site nav
One click to the full team-build walkthrough from anywhere on the site.
Sits next to Training on the prospect-facing pages.

Deliberately NOT added in two places: the presentation page itself keeps
no nav at all, so a viewer is never offered a join route that bypasses
whoever invited them, and the invite page keeps its existing nav for the
same reason.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 16:21:17 -05:00
martbost 8521f7a3f2 Triple Play: highlight the Corona catch (Gen 8 Corona buys pay your Gen 1, which is you) on how-pay-works, tools objection bank, chatbot canned + AI prompt
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 11:46:11 -05:00
martbost 8da1c144ea Marty is a team leader, not a program founder: fix the #21 upgrade-tip wording on how-pay-works and in the chatbot
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 11:44:11 -05:00
martbost c89bbb5c59 how-pay-works: keep level and amount cells on one line in the level-scale table
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 11:43:41 -05:00
martbost fedbb7f0f7 how-pay-works: depth-ladder diagram shows all 7 paying layers; Premium/Standard table lists all 7 upgrades; level-scale table adds a green net-after-upgrade-price column
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 11:40:29 -05:00
martbost 19127a11a1 how-pay-works: generation table shows the level you hold AND the level each generation buys (Clinton's off-by-one reading), plus running-total note
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 11:34:42 -05:00
martbost be7cb93bc5 Add dismissible Weekly Huddle pop-up overlay (Sept 8)
Self-contained /announce.js injects a branded, dismissible event overlay
(the flyer + all four time zones + Join Google Meet button). Included on the
main funnel and member pages. Auto-expires after the huddle and shows once
per browser until dismissed; edit the EV block to reuse for future events.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 15:42:56 -05:00
martbost 747977b368 Catch eligibility: catcher needs level >= the level the buyer is LEAVING, not the level being bought
Matches _payUpline (level > levelIndex, levelIndex = buyer.level-1). The old
depth+1 rule told #21 (Culmen) it could not catch #49's Apex buy; #21 is #49's
4th matrix upline and does catch it. Fixed in the owner alert, coaching scan,
dashboard pipeline, AI prompt, leader digest, chatbot and how-pay-works copy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-01 10:51:30 -05:00
martbost f7d5c3f358 Syndicated network display advertising language: homepage toolkit card, how-pay-works toolkit section, Suite Traffic Desk tile, AI prompt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 07:36:30 -05:00
martbost 7f289bb495 Policies + tools angle: /privacy and /refunds pages (crypto payments are final, we never hold funds), footer links sitewide, toolkit section on How You Get Paid, toolkit line on Getting Started
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 07:32:51 -05:00
martbost 21e105b953 /generation-pay: printable generation-pay chart personalized from the live chain (level/tier/qualification -> catching vs needs-Level-N per generation); dashboard + how-pay-works links, chatbot + AI prompt synced; exact-costs card now states the exact one-catch identity
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 14:34:20 -05:00
martbost 30a5c7237e Training Video 7 'Your level is your reach' (97s, script Marty-approved): catch eligibility + reach rule + pass-over + one-catch funding identity; how-pay-works first-catch line tightened to exact; chatbot + AI prompt synced
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 13:23:08 -05:00
martbost 79282af325 Level-scale full-generation totals aligned to exact contract math (were computed from pre-rounded per-person values, drifting up to 31 POL at Vertex)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 11:50:53 -05:00
martbost b76a590714 Correct #exact-costs: entry exists ONLY at Scintilla (register() has no level param; upgrade() one rung per call) — levels cannot be skipped; table now shows upgrade path + cumulative totals; AI prompt synced
Verified against the exact-match ABI on Sourcify: per-level entry rows on company charts are vestigial contract data with no callable path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 11:32:43 -05:00
martbost bdfb40667e Contract-exact price table (#exact-costs on how-pay-works) + entry-vs-upgrade objection card; chatbot + AI prompt synced
Live getAllCosts() numbers: entry 360.58 incl 5% (sponsor 326.24), upgrades double exactly per level, 100% member-to-member. Answers the 'why is entry different from upgrade / is the chart inflated' question with verifiable numbers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 11:08:07 -05:00
martbost 6282e8c768 Triple Play: add the upgrade strategy (concentrate on the top position; pass-ups bubble up to it) 2026-08-26 08:13:33 -05:00
martbost 04a0ae1c6a Triple Play: correct the wallet guidance (separate addresses; MetaMask add-account switch gotcha -> already-registered) 2026-08-26 08:02:21 -05:00
martbost c3d28f17a8 The Triple Play: optional 3-position fast-start (how-pay-works section + objection card + chatbot + AI prompt) 2026-08-26 07:50:58 -05:00
martbost cffaf4ffc0 how-pay-works: Does it cap at 8 levels explainer (pass-ups bubble up; Corona catches all) + chatbot + AI prompt 2026-08-26 06:17:07 -05:00
martbost 1f5bcd688f how-pay-works: What each level opens up scaling table (illustration, not a promise) + dashboard link 2026-08-26 06:00:31 -05:00
martbost a0642516e1 My Dashboard nav shortcut + analytics whitelist fix for engaged/ctb-offer
nav-dash.js on all header pages: a top-right My Dashboard button when the
visitor is known (msg session from wallet sign-in or the Mini App bridge is
authoritative; else the last dashboard opened on the device). Prospects with
no identity never see it.
recordEvent was silently dropping the new engaged + ctb-offer-* events
(whitelist); now recorded per source, with admin funnel tiles for both.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 07:10:52 -05:00
martbost cd361a1eaa Telegram Mini App v1: initData auth bridge into the existing site
- POST /api/public/tg-webapp-auth: HMAC-verifies WebApp initData against the
  companion bot token (12h freshness, timing-safe), maps chat -> member via
  tg-links.json, mints a message session -> linked members land on /my/<id>
  with zero login
- /app entry page (vendored telegram-web-app.js keeps CSP script-src 'self');
  unlinked users get the one-time wallet-link instructions
- tg-app.js on all pages: no-op in browsers; inside the webview lazy-loads the
  SDK, expands, themes header/background #071421, wires native BackButton
- Bot menu button set programmatically to open /app; /start + help mention it
- Synced chat.js canned answer + AI system prompt (Mini App facts)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-23 05:56:51 -05:00
martbost faf397f681 Add on-site translation for multilingual members
Floating translate button (bottom-left) on every member-facing page
lazy-loads the Google Translate element; language choice persists
across pages via the googtrans cookie. CSP extended for Google's
translate hosts only. Chatbot now replies in the member's language
and a canned answer points at the button.
2026-08-21 07:23:55 -05:00
martbost 52d678fd23 Official RM Circle logo rollout: header brand mark on all 13 pages (public + private), favicon, circular crop via existing brand-mark styling
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 09:34:56 -05:00
martbost 4607c639e8 Make Promo Tools discoverable: footer link (all pages) + dashboard button
- added "Promo Tools" to the footer-links on every page
- added a Promo Tools button in the /my dashboard "Share this position" card

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-16 07:11:52 -05:00
martbost 3a80a50648 Rebrand public site to RM Circle Team Build (remove Crypto Team Build Network)
Public promo is now RM-Circle-only; the Crypto Team Build Network is learned
after joining, not surfaced to prospects.
- nav brand "Crypto Team Build" -> "RM Circle" (subtitle "Premium Team Build")
- all <title>, og:site_name, twitter meta, footers, disclaimers, 404, chatbot
  system prompt + canned answers, config siteName/supportLabel swept
- removed "a project of the Crypto Team Build Network" framing from prose
- banners regenerated: eyebrow now "The RM Circle · Polygon" (was Crypto Team Build)
- og-card.jpg regenerated (was "CRYPTO TEAM BUILD NETWORK PRESENTS")
- roadmap.webp already RM-Circle branded (no change needed)
- social posts/swipes: #CryptoTeamBuild -> #RMCircle, "crypto team build" -> "RM Circle team build"

Videos still reference old branding (VO + embedded site screenshot) — rebuilt next.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-16 06:43:23 -05:00
martbost 76c55fe4c2 Sweep all self-references to rmcircle.team (SEO/OG/canonical/chatbot)
Domain migration go-forward: replaced every hardcoded rmcircle.saasy.top
across public/*.html (canonical, og:url, og:image, twitter tags),
chat.js (chatbot answer URLs + linkify self-link matcher), my.js, and
server.js (member-page OG injection, unsubUrl, chat system prompt) with
rmcircle.team. Old domain still serves everything; canonical now points
search engines + social previews at the new primary domain.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 05:32:13 -05:00
martbost 1c9048e088 Add Premium vs. Standard tier explainer to /how-pay-works
Preempts the "why did an amount come in smaller?" question (hit live with
Standard-tier #46): a clear card with a Premium/Standard amount table,
that tier is permanent (upgrading advances level not tier), and the team
play of joining Premium so the whole leg pays full value.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 10:12:50 -05:00
martbost 1929a928d8 Add /how-pay-works pay-flow diagram page
Visual explainer of the two income streams: entry rewards you keep, and
the depth-matched upgrade ladder (each layer pays you once, at the one
level matching its depth) as an SVG flow diagram. Route + CSS added;
linked from training body and all footers. Educational, on-chain-factual
framing with disclaimer link.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 10:06:36 -05:00