martbost
7c3e98eaa9
Email Engine ships (L3): sequence generation (welcome/follow-up/re-engagement/broadcast) on the Suite engine with tolerant EMAIL/SUBJECT/BODY parsing, per-email copy buttons, metered; tile live
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 08:17:24 -05:00
martbost
92f9a45382
Remove stray grep.exe.stackdump; ignore *.stackdump
2026-08-28 08:02:07 -05:00
martbost
3c21f9f615
Payout alerts highlight unlocked tools: shared suite-tools level map drives the Telegram team feed, recruiting feed, member DM on upgrade, and X posts; only announces LIVE tiers and gated behind config.suiteToolsInAlerts (off until Suite launch)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 07:59:40 -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
8fb585246c
Route /p/<id> into the API handler — member pages are dynamic HTML and were falling through to the static 404
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 07:26:57 -05:00
martbost
a35da4fd46
Page Builder parser: tolerate label variants (missing colon, markdown emphasis) — first live build failed because the model wrote STORY without a colon
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 07:21:44 -05:00
martbost
6a7867588d
Page Builder ships: labelled-section AI output parsed deterministically, escaped renderer, one page per position at public /p/<id> with angle video + QR, rebuild keeps the same URL; L2 tile live
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 07:15:11 -05:00
martbost
2a8b311a83
Copy Engine ships: Suite AI layer (own engine, RM facts + compliance in our system prompt, deterministic link injection), metered generate/meters APIs, /suite/copy tool page; L2 tile now live
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 06:51:16 -05:00
martbost
323c86b750
L6 tile: 'webinar rooms' -> Replay Funnels (evergreen registration page around a recorded team webinar, timed CTA); AI prompt clarifies it is NOT live conferencing
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 06:44:16 -05:00
martbost
35b3c07e74
Fix Suite org check: teamRootId is a comma-separated list, Number() made it NaN so every member read as outside the org (Marty hit this as #21 ); parse all roots + orgRootId fallback. Nav dedupe on /suite. Adds suite-meter module (per-position monthly quotas by level)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 06:33:08 -05:00
martbost
6f28e94abd
Suite team-beta gate: config.suiteAllowlist restricts entitlements to listed IDs (others get an honest 'you're early' notice); homepage CTA + chatbot answer held until launch; AI prompt marked private-beta
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 05:22:50 -05:00
martbost
0258b82a16
Circle Suite P0: /suite tool wall — wallet sign-in (existing challenge/verify flow), live level entitlements via /api/public/suite-me (org-gated to teamRootId), all tiles always visible (yours / unlocks-at / in-development), L1 = today's real tools; homepage CTA + chatbot + AI prompt synced
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 05:19:09 -05:00
martbost
1259e5284a
Confident product framing: 'every paid member gets a license to the toolkit' (drop the defensive what's-the-product line); hero weaves teach-forward-with-tools
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 04:51:41 -05:00
martbost
feb9dec0ac
Product-centric homepage: hero leads with the marketing toolkit (config override updated to match); toolkit section reframed as the product; printables card covers handouts + Generation Pay chart
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 04:33:06 -05:00
martbost
ad5c5721aa
Wallet-connect resilience: contract costs are immutable constants, so bake verified wei fallbacks for when the wallet's internal RPC fails (MetaMask iOS 'Load failed'); friendlier retry message on network hiccups
...
join-now.js entry price + my.js upgrade table. Reported by Neville's team overnight 8/28.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-28 04:03:18 -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
1029bdb3e2
Two hard-question objection cards from live member Q&A (catch-eligibility: level = reach; fixed counts vs quadrupling value) + chatbot + AI prompt synced
...
Both verified against contract source today (payout loop: level > levelIndex && 2 directs; one structural skip per depth).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 12:59:09 -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
8858470244
stopwaiting angle: squeeze page on the lander (combined overview video) + handout QR now carries ?v=stopwaiting
...
The stop-waiting handout QR previously hit the plain join page with no angle continuation.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 10:11:41 -05:00
martbost
7fb7a6c0d1
Remove tear-off full-page flyers; /flyers is now the five artwork handouts only
...
Marty: the tear-off designs did not look good next to the artwork handouts. Page renamed Printable Handouts; dashboard link, tools card/nav, chatbot answer, and AI prompt synced.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 09:25:17 -05:00
martbost
a8f3a1290e
No trailing blank print page: cancel page-break-after on the last/only printed design
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 08:48:26 -05:00
martbost
e83f2543fd
Print sizing in physical inches: 100vh broke print-to-PDF from mobile (design overflowed to 2 pages, split second copy)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 08:42:21 -05:00
martbost
792fa1d97b
Phone handout art v2: no baked-in button (QR panel overlapped it), calm lower-right
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 08:31:16 -05:00
martbost
e03ccb479d
Handout art as optimized JPEGs (~330KB each vs 3MB PNGs); new filenames bust stale caches
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 08:19:56 -05:00
martbost
c4cabb0a8f
Handouts v2: kie.ai detailed artwork backgrounds + fixed DOM overlay (mobile layout repaired)
...
Five full-bleed AI-generated designs (nano-banana-pro) with baked-in stylized headlines matching the banner-kit energy; QR + link + disclaimer now a percentage-scaled DOM overlay (canvas approach removed - it collapsed on mobile and clipped the QR). Lower-right of each artwork kept calm for the QR panel.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 08:15:59 -05:00
martbost
b019becebe
Image-based half-sheet handouts: vibrant gradient backgrounds with dynamic QR overlay
...
Replaces text-heavy card design with eye-catching image backgrounds (pocket/two/phone/graveyard/stop-waiting angles, 1700x1100px, half-sheet 2-per-page format). QR code + link overlaid dynamically via Canvas in bottom-right with semi-dark fade for readability. Print layout: two copies per letter page with cut line between. Visual impact first, clean overlay on top.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 07:47:52 -05:00
martbost
3761fab3c6
Half-sheet handouts on /flyers: 5 vibrant angle designs (pocket, two, phone, graveyard, stop-waiting), 2 per letter page with cut line, personalized QR + angle-matched links; chatbot + AI prompt + tools card synced
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 07:31:40 -05:00
martbost
3a877add05
Host full banner set at /banners: colorful teambuild variants, graveyard, circle-method, stop-waiting, all ad sizes
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-27 05:38:18 -05:00
martbost
df5f94573e
Printable flyers feature: 4 colorful personalized flyer designs with member QR + tear-off tabs for offline promotion; /flyers route, tools + dashboard links, chatbot + AI prompt synced
2026-08-26 16:55:50 -05:00
martbost
4b53dd5326
Direct link option: opt out of moving-link rotation to build personal spillover (Team link default, Direct link alternate)
2026-08-26 14:24:32 -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
76785288e4
Corona promo: add ElevenLabs-generated music bed under the VO
2026-08-26 07:21:57 -05:00
martbost
1ba525a643
Add Corona pass-up-flow motion promo (32s) to tools video clips
2026-08-26 07:04:20 -05:00
martbost
ced4bec462
wallet-notice: show only once per page (was repeating under every gated training video)
2026-08-26 06:21:37 -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
be129a46a4
Fix SIWE chain-mismatch: switch wallet to Polygon 137 before sign-in and members-area unlock
2026-08-26 05:36:26 -05:00
martbost
b923bc18bc
Dashboard level ladder: show POL upgrade cost under each level (live from contract, USD in tooltip)
2026-08-26 05:22:30 -05:00
martbost
6cf78a37b7
Wallet discovery: detect Phantom (window.phantom.ethereum) + legacy providers[]
...
Phantom exposes its EVM provider at window.phantom.ethereum and does not always
fire EIP-6963, so the picker never saw it. probeInjected() now folds in Phantom
and any window.ethereum.providers[] entries (deduped by identity + name) for
both pick() and list(). Phantom added to the mobile in-app-browser hint and the
dashboard no-wallet message.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-26 05:14:57 -05:00
martbost
a3f88c3e33
wallet-notice: MutationObserver so it lands on async-injected connect buttons
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-25 18:44:15 -05:00
martbost
a413062c5c
Config-driven wallet-connect notice (for the Blockaid false-positive window)
...
New shared wallet-notice.js on join-now, my, training: if config.walletNotice
is set, shows an admin-authored heads-up right above every connect/unlock
button; empty string hides it everywhere (one PATCH, no deploy). Placed at the
friction point only, not a sitewide banner, so unaffected wallets/Mini App
users are not told about a warning they will never see.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-25 18:40:32 -05:00
martbost
0ee7063a76
Wallet help: SafePal + any-wallet in-app-browser path (not just MetaMask/Trust)
...
Mobile users on SafePal/Coinbase/Rabby had no route in — the deep-link help
only offered MetaMask + Trust. Added a wallet-agnostic instruction (open your
wallet app -> Browser/DApp tab -> type the join URL) that works via the
injected provider our EIP-6963 picker already resolves; join-now fills the
sponsor path into the hint. Dashboard no-wallet message made wallet-agnostic
and names SafePal. No guessed SafePal deep-link scheme (unverified).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-25 18:18:46 -05:00
martbost
aba3db2938
Doctrine sweep: your link never retires — the moving link auto-routes
...
Replaced every retire-your-link instruction (8 spots across index, join,
start, my, training FAQ, chat.js core-strategy + qualified + moving-link
answers, and the AI prompt) with the automated doctrine: after 2/2 the same
invite link self-routes each signup to the next position in the leg that
needs a direct; personal effort shifts to coaching your two. Raw-ID dApp
signups on a qualified position stay documented as the bonus path. Video
content already correct (Video 1 rebuild script fixed this framing before
recording; Method lesson scripts never said retire).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-25 06:48:32 -05:00
martbost
7eb467c07b
Lesson 4 callout: link the coaches to the Objection bank (hash-preserving personalization)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-25 06:16:15 -05:00