Commit Graph

  • 3f9dc3cc94 A session pop-up that says what InstantAdPay actually is main martbost 2026-09-24 15:54:33 -05:00
  • fd08af36ba Admin alerts arrive from Marty's own Hermes bot martbost 2026-09-24 14:05:55 -05:00
  • 170d9963f7 Video sweep alert: admin channels only martbost 2026-09-24 13:58:17 -05:00
  • 2854e2a7ba Video sources: check the house path too, and re-check the live ones martbost 2026-09-24 13:56:28 -05:00
  • 3d4b07a8ab Real cover art, and a third milestone destination martbost 2026-09-24 08:07:09 -05:00
  • 78892421bb Blog cover: the shot that lands short martbost 2026-09-24 07:58:51 -05:00
  • 869eee809e Milestones post a card, and a dead target stops being silent martbost 2026-09-24 07:45:27 -05:00
  • 6ff21f76ee P&L: account for money the chain cannot explain martbost 2026-09-23 18:10:56 -05:00
  • 8656f7ce4d Admin members: resolve sponsors against every account, not the page's 500 martbost 2026-09-23 11:25:38 -05:00
  • 5c08be1c30 Campaign actions: a centred, even stack with a squarer corner martbost 2026-09-23 09:10:50 -05:00
  • 02d60d6ee1 Archive button: it had no text colour, and no room beside its neighbours martbost 2026-09-23 08:57:56 -05:00
  • f0a6a93f8b Campaigns: archive a finished one, get the credits back, keep the numbers martbost 2026-09-23 08:40:17 -05:00
  • 891eac1626 Overview: the PolHunter return card goes first martbost 2026-09-23 06:35:33 -05:00
  • 489d832546 Sign-in: stop telling a fast returning member off for being fast martbost 2026-09-23 05:50:34 -05:00
  • 286ac9207a Hand the sponsor to PolHunter, and put its payouts in the P&L martbost 2026-09-23 04:36:02 -05:00
  • ce9f3e6904 Videos: reject a source that does not load, and stop stranding the viewer martbost 2026-09-22 16:54:31 -05:00
  • 68a92c39ff Milestones: a recorded mark stays done whatever its stamp martbost 2026-09-22 10:19:12 -05:00
  • f255d096ad Milestones: celebrate every 100 members, not just the big marks martbost 2026-09-22 10:15:02 -05:00
  • 5c11bfa502 Daily snapshot: lay the numbers out so a phone can read them martbost 2026-09-22 09:58:07 -05:00
  • c47905d89a Overview announcements: let a member put one away for the session martbost 2026-09-22 06:29:49 -05:00
  • 67fb8193bd Refill conversions: only count a genuine response. An unrelated ad already running is not a relaunch, and a still-running low campaign is not a conversion at all; adds a reset lever to re-decide verdicts martbost 2026-09-22 05:26:20 -05:00
  • 635844a12b Campaign refill notices: tell an advertiser when an ad is nearly out and when it has stopped, one email per owner with what it delivered, their balance and the bonus ladder; every send recorded and watched for the relaunch, top-up or purchase that follows martbost 2026-09-22 05:21:57 -05:00
  • 9df669fa7c Sponsor pre-check alert: only the checkout call may alert (the dashboard's display-only call never does), and the alert says what it is: a heads-up before the sale, nothing paid yet martbost 2026-09-21 10:55:09 -05:00
  • a403ce3520 Promo tools > PolHunter: the two vertical spots with download, caption carrying the member's link, share buttons and the platform guide martbost 2026-09-21 09:59:58 -05:00
  • 260daaf9d0 Viral links served in place, not redirected: Facebook follows redirects and og:url, so every share was losing the member's name; og:url now carries the ref, canonical stays clean; QA walk updated martbost 2026-09-21 08:07:12 -05:00
  • c6c26b8073 PolHunter in the member menu from launch morning (the Overview reveal still waits for launchAt); Promo tools > PolHunter kit: share link, posts, swipe, banners, both videos; reveal card says tap to copy martbost 2026-09-21 07:36:37 -05:00
  • e5cbecbdb2 Viral link builder: dropdown only (the paste box only ever accepted the site's own pages, which the dropdown already lists) martbost 2026-09-21 06:13:25 -05:00
  • 269247c871 Blog renderer: bump blog-page.js tag so articles load the viral-link bar now, not after the cache martbost 2026-09-21 05:56:21 -05:00
  • e2f88dad42 Viral links: any public page + ?ref=<username|code|id> sets the same last-touch sponsor cookie as /join, counts under a 'page' hook in link stats, then redirects to the clean URL; Promo tools > Viral links builder (pages list + paste any address, copy + share); blog posts show a signed-in member's own link; chatbot answer; QA walk proves redirect + cookie martbost 2026-09-21 05:54:55 -05:00
  • 337d5dd556 Walk-up feed post moves to the activation event (a member who activates first and buys later was never posted); the Purchase branch no longer posts it martbost 2026-09-21 04:41:11 -05:00
  • 6f5b5dbae6 Earning guide: adds the POL side (50/20/10 split, payouts on, qualification at 2 and 5, pass-ups, sponsor lock, where to see it); title and meta cover both kinds of earning martbost 2026-09-21 04:27:27 -05:00
  • 91456ae0ce Promo tools: Five Dollar Friday banner set (1200x630, 1080x1080, 728x90, 300x250) martbost 2026-09-20 14:06:16 -05:00
  • 68b08ab8cc Five Dollar Friday: +20% purchased-grade credits on any $5+ package bought on a Friday (Central), live wave on the landing strip and Overview card, Telegram every ten packs + Friday kickoff + midnight wrap-up, Thursday notice + email, Five Fridays badge, promo posts + swipe, chatbot; first Friday 2026-09-25 martbost 2026-09-20 13:59:15 -05:00
  • de5bdfefaf SocialPix gate: /from/socialpix bridge page (advertiser copy by default, ?seg=earn), chatbot knows the new page Marty Bostick 2026-09-20 09:26:40 -05:00
  • 9fafd0bf43 Training: feature 'polhunter' entries appear at the launch moment; launch card links the feeder video martbost 2026-09-20 05:27:10 -05:00
  • 9a531538ed Launch-day surprise: PolHunter card on the Overview and the menu entry appear at siteConfig.launchAt (self-flipping, nothing visible before) martbost 2026-09-20 05:16:30 -05:00
  • 7ea7a5f409 PolHunter return loop: ?from=polhunter sets iap.return (landing + join links), /api/me carries returnTo, Overview card sends them back once a wallet is linked, wallet link answers next=/api/my/polhunter, hand-off clears the cookie martbost 2026-09-19 20:00:55 -05:00
  • ad539d5fae Ledger: a NAS zone under the payout feed (mission pages must carry ad inventory) martbost 2026-09-19 16:40:07 -05:00
  • 5fe3dfa625 Dashboard: PolHunter menu entry removed until it opens (the hand-off route and the ledger embed stay; neither is visible) martbost 2026-09-19 16:15:26 -05:00
  • 49a92461f0 CSP: put polhunter.com after 'self' in connect-src (the previous edit produced an invalid source list) martbost 2026-09-19 14:26:43 -05:00
  • 240a928323 CSP: connect-src allows polhunter.com so the PolHunter embed can fetch its code martbost 2026-09-19 14:23:57 -05:00
  • af710f68b8 PolHunter hand-off, nav entry, and the ledger embed martbost 2026-09-19 14:20:16 -05:00
  • 0d2621defd missed: list each tier's skips in walk order martbost 2026-09-19 13:16:03 -05:00
  • c00ec64cf8 Missed-payout notice shows the whole chain, one message per purchase martbost 2026-09-19 13:14:12 -05:00
  • d90f08d54a Milestone posts: a celebratory Telegram post the moment membership crosses 500 (then 1k, 2.5k, 5k, 10k), once per mark martbost 2026-09-19 10:52:21 -05:00
  • a85ee4cacf Login slots: 1,000 credits, at most 3 member slots live; viewer gets an open-in-tab link martbost 2026-09-19 07:46:12 -05:00
  • f282e328b5 Snapshot: where the credits came from (handed out / earned / spent), last 24h martbost 2026-09-19 07:23:04 -05:00
  • 415a5f3848 Partner-code credits arrive as a drip; unclaimed installments expire martbost 2026-09-19 06:24:14 -05:00
  • 5ebe890760 Paged lists: 25 rows, then a clearly marked next page martbost 2026-09-19 06:02:28 -05:00
  • 70c4053201 Network Ad Space zone on the Faucet Wave and Tier One Ads landing pages martbost 2026-09-19 05:50:02 -05:00
  • 39572c0ff5 Sign-up deny list beside the allow list martbost 2026-09-19 05:46:04 -05:00
  • b061053ccf Daily rules run on Central time, and the sign-in bonus gets a hard floor martbost 2026-09-19 05:19:44 -05:00
  • 0a50d07658 Login ads become a flat 30-day slot martbost 2026-09-18 16:18:27 -05:00
  • ccc372152d Sessions last 4 hours, and we say why martbost 2026-09-18 13:31:52 -05:00
  • c5a846bd91 Keep the notifications worth interrupting for martbost 2026-09-18 08:25:08 -05:00
  • a2c77d01d1 Stop payout notices interrupting members who are earning martbost 2026-09-18 08:09:50 -05:00
  • a84b851272 Correct the DripOffers capacity figure and tighten the cap martbost 2026-09-18 07:04:20 -05:00
  • 71ab9555e2 Give a syndicated offer a title a stranger can read martbost 2026-09-18 06:52:24 -05:00
  • d4e2f59f9b Member campaigns now go out as click offers on DripOffers martbost 2026-09-18 06:27:33 -05:00
  • dc0f0d056d Syndicate member campaigns to AdRevLinks as Tier 1 popup ads martbost 2026-09-18 05:53:38 -05:00
  • 3fb123393a Admin credit grants carry their reason into the member's Credit activity martbost 2026-09-17 19:59:13 -05:00
  • cb6da01e1c Stop billing members for syndicated impressions that were never delivered martbost 2026-09-17 19:52:12 -05:00
  • e95f9df13a Approved exceptions: people you have okayed to hold more than one account martbost 2026-09-17 10:42:31 -05:00
  • 2dfccf0039 Sign-in no longer tells an existing member they are joining somebody's line martbost 2026-09-17 08:41:46 -05:00
  • f27388a322 Chatbot: catch the PIF question when nobody says "PIF", and stop inventing references martbost 2026-09-17 05:41:54 -05:00
  • 3867b28bd4 Chatbot: the PIF risk is the answer, not a footnote martbost 2026-09-17 05:36:42 -05:00
  • 6c8cc0ede2 Chatbot: the PIF and holding-tank answers, and no more dead ends on a provider hiccup martbost 2026-09-17 05:27:18 -05:00
  • 8ad2e01a74 Admin: a linked wallet can no longer be misread as an active position martbost 2026-09-17 05:03:29 -05:00
  • a2cea3a2be Anti-fraud refusals redirect to Qualified Start (the sanctioned way to hold extra positions); chatbot says the same martbost 2026-09-16 14:52:46 -05:00
  • aab18e28ca Sign-up: hand out the device cookie on every code-request response, including guard refusals martbost 2026-09-16 14:40:54 -05:00
  • 34c62b9d3a Anti-fraud: one account per person enforced at sign-up (device cookie + IP), flags, admin duplicate signals, suspend switch martbost 2026-09-16 14:39:13 -05:00
  • 125be174e3 Terms: one account per person (duplicate accounts and self-referral prohibited; Qualified Start linked wallets are the only sanctioned extra positions); chatbot canned + prompt martbost 2026-09-16 14:29:54 -05:00
  • 9b3a79561b Chatbot: repair the price pattern (shell had turned \b into backspace bytes), full package ladder in the answer, ranked above the credits answer martbost 2026-09-16 14:19:17 -05:00
  • 2b4050d410 Chatbot: exact page map (no invented URLs), tighter price/credit patterns, canned answer for the unactivated-sponsor walk-up martbost 2026-09-16 14:14:37 -05:00
  • 27f2742c31 Chatbot: banner-image questions get the creative rule, not the Promo tools kit answer martbost 2026-09-16 14:12:49 -05:00
  • 362526d007 Chatbot brought fully current + knowledge guard martbost 2026-09-16 14:10:00 -05:00
  • 5641582709 Banner creatives must be images: server-side image check (extension or image/* HEAD), form hint, chatbot note martbost 2026-09-16 13:56:30 -05:00
  • d6bc79c9d6 Home: 'Watch the 4-minute overview' CTA + inline overview video section (Spaces training/platform-overview.mp4) martbost 2026-09-16 13:42:23 -05:00
  • b811b96e33 Payments feeds: post who missed a share and who got it (on-chain pass-ups and off-chain walk-ups) martbost 2026-09-16 13:25:31 -05:00
  • 230c250c64 Earnings pane: Trace a payment card sits at the top martbost 2026-09-16 12:30:46 -05:00
  • a727ab1ce5 Payment trace: self-serve "who was paid, who was skipped and why" per purchase (Earnings tab + admin member card) martbost 2026-09-16 12:24:53 -05:00
  • dffcaa113b Never hold a sale for an unactivated sponsor: walk up to the first payable upline, referral follows the money martbost 2026-09-16 11:18:14 -05:00
  • a85a198e95 Chain index keeps the full event history (was a 600-event window); one-time rescan from the deploy block martbost 2026-09-16 10:36:28 -05:00
  • dda8c976b0 No native dialogs: Shorts report prompt -> inline reason buttons; admin drip confirms -> IAP.confirmBox martbost 2026-09-16 10:23:00 -05:00
  • 616f328db5 Report-an-ad dialog: site dialog with no default reason (was a native prompt pre-filled with "broken") martbost 2026-09-16 10:21:53 -05:00
  • 69d672665c Credit activity ledger: every earn and spend logged with a reason, listed under Campaigns martbost 2026-09-16 08:41:43 -05:00
  • ffacf741da Extend run / visits top-up: budget = charged + this buy (release parked credits); featured row shows days left martbost 2026-09-16 08:19:33 -05:00
  • 28bce75913 Featured links: Extend run (book more days) replaces Buy more views; visit packs top up by visits; campaign rows say paid up front and runs through martbost 2026-09-16 07:38:37 -05:00
  • b1a1cbff5e Achievement badge image rendered on the server with ffmpeg (a phone canvas sent a blank card); admin re-post route martbost 2026-09-16 03:30:01 -05:00
  • 84d9f49d4b Held purchase: nudge the sponsor automatically (email + on-site) to link a wallet and switch on payouts, once an hour at most martbost 2026-09-15 23:43:11 -05:00
  • b7cc06b28c Overview: click a chip in Your line at a glance to open that member's Activity panel on My line martbost 2026-09-15 18:54:00 -05:00
  • 0da7c796b8 Campaigns: visit packs show 'paid up front' and delivered-of-total instead of a spent bar (Michael's 3,000-credit pack looked used up) martbost 2026-09-15 16:13:26 -05:00
  • 4d578fadac Lead with the $20 activation language; free-member POL earning no longer volunteered (Marty); chatbot answers truthfully only when asked point-blank martbost 2026-09-15 15:00:01 -05:00
  • 310384cdad Credits versus POL spelled out: level 1 needs payouts on (no purchase), free members earn credits; home page block, earning page, join step 3, chatbot (Clinton's question) martbost 2026-09-15 14:29:39 -05:00
  • 66b3c83d3d Burner: when a campaign's pinned position is dry on-chain, settle the spend from another funded position on the same account (credits are pooled per account) martbost 2026-09-15 12:49:16 -05:00
  • 92e7304882 Daily growth snapshot to the Telegram payments feed and shared topic (sign-ups, purchases, POL paid, campaigns, viewing, lifetime totals); admin preview/send-now routes and settings martbost 2026-09-15 12:43:19 -05:00
  • 8ca019a5b3 Pipeline advice follows the main wallet's buyer count (what the contract pays on); card states the linked-positions rule; chatbot knows it martbost 2026-09-15 12:26:02 -05:00
  • 560d758ed9 Pipeline: count linked positions' buyers on member cards, the way My line and badges do; show the main/positions split on the card martbost 2026-09-15 12:22:25 -05:00
  • 02f742f90a Pipeline: sponsor follow-up board (stages from the ledger, notes/follow-ups/tags, stage messages into chat), gated by pipelineMode with a coming-soon card until launch; training cards can wait on the same switch martbost 2026-09-15 11:01:03 -05:00
  • 56aa7418ad Payment and missed-payment notices also land in the on-site inbox (login pop-up + Messages card), with who bought, share in POL and dollars, and the transaction link martbost 2026-09-15 10:44:48 -05:00