Daily bets
Today's lists, grouped and ready to send to your channels.
Today 0 messages
Each message goes to its own channel. Sending always asks for confirmation. Bets are grouped by type below.
Edit lists
Edit freely. Separate each message with a line ===NEXT MESSAGE===.
Daily Betting Cards 0 cards
Today's value picks as single cards, grouped by risk so members build their own slip. Tick the picks you want and use Share selected, share a whole risk tier (🟢🟡🔴), or Share this pick on any card. The Discord format explains our tiering so it teaches the method while staying light and clear.
Discord preview
Exactly how it will be sent. Long lists are split into multiple messages.
Edit cards
One card per block, separated by a line ===. Fields per card: MATCH, MARKET, SELECTION, ODDS, STAKE, RISK (low/medium/high), ANALYSIS.
Daily Prop Cards 0 props
Today's player prop picks as single cards, grouped by risk so members build their own slip. Tick the props you want and use Share selected, share a whole risk tier (🟢🟡🔴), or Share this prop on any card.
Discord preview
Exactly how it will be sent. Long lists are split into multiple messages.
Edit props
One prop per block, separated by a line ===. Fields per prop: SPORT, MATCH, MARKET, SELECTION, ODDS, STAKE, RISK (low/medium/high), ANALYSIS.
VIP Performance
One unit-based entry per bet (not per card or per sport). Performance is shown in units and ROI, never as winrate alone. 18+, play responsibly.
Add a bet
Bet log
No bets logged yet. Add today's cards or a bet above.
| Date | Sport | Match | Market | Selection | Odds | Stake | Result | P/L | Running |
|---|
Bankroll & staking
Bankroll settings
Risk range per bet type (% of bankroll per list), min and max.
Recommended stake
| Bet type | Risk range % | Stake (EUR) | Avg odd | Potential win (EUR) |
|---|
Bankroll monitor
Your bets
Enter the odds you actually placed and mark the result. This flows into results and bankroll.
| Date | Sport | List | Placed odd | Result |
|---|
Results
| Date | Sport | List | Odds | Result | P/L |
|---|
No results yet.
Performance report
This is your public showroom. Non members see this channel, so it has one job: prove the edge is real and turn watchers into paying VIP members. Pick a period, preview the exact Discord message, then send. Built from your real logged results.
Result cards
Settled lists as a public result card for your VIP results channel. Great as proof alongside the performance report.
Challenge result
Share the $10 to $1K challenge result after the day's bet settles. This is public proof: non members watch a $10 stake compound toward $1,000 and get a clear reason to join. Mark the day Won or Lost under Challenges first, then share it here.
Daily Betting Cards results
Auto-updated recap of which single cards landed and which missed today, in a conversion format for your VIP results channel. It settles automatically as matches finish; you confirm the send.
$10 to $1.000 Challenge
The plan: $10 to $1,000 in 7 days. Every day we go all-in on the safest bet at odds x2 or higher and double the pot: $10 → $20 → $40 → $80 → $160 → $320 → $640 → over $1,000. Win and we move a day on; one loss resets the run to $10. 18+, play responsibly.
Doubling schedule
| Day | Stake | Target on win |
|---|
Messaging
Free text to your CUSTOM channel. {VIP_LINK} and {VIP_CHANNEL} are replaced automatically.
Discord preview
Exactly how your message appears once posted.
Your conversion hub: ready-to-send Discord messages built to turn free members into VIP. Pick a campaign in the tabs above, open a message, then Send or Copy. {VIP_LINK} and {VIP_CHANNEL} fill in automatically.
Education
A library of professional education posts to share with your members about twice a week: risk management, bankroll scaling, psychology and the maths behind a long term edge. Preview each post exactly as it lands in Discord, then send. Set the Education channel webhook in Settings > Channels.
Archive
Channels
A webhook per channel plus your VIP link/channel. Everything is saved locally in your browser.
VIP & links
Import / Export
Move settings to another device (e.g. your phone): click Export, copy the code, and paste it on your phone under Import.
Full backup includes everything (track record, graded results, archive, challenge, webhooks and settings). Keep the code somewhere safe, or paste it into your Notion backup page. Restore it on any device to get all your data back.
Notifications
Choose which notifications show up in your bell and Notifications tab. Turn a type off and it stops appearing.
Activity log
Active automations
What runs for you in the background, and a switch to set each one active or paused.
These run on Claude's schedule. The switch saves your preference and status here; tell Claude if you want a run fully paused or resumed.
Daily routine
Every morning a scheduled task does the full preparation. It never sends anything to Discord by itself, so you stay in control of every send.
- Settles yesterday: looks up the final scores, marks every bet Won, Lost or Void, recalculates the ledger and updates the results in Notion.
- Builds today: the Safe, Value and Jackpot Builder parleys (decorrelated, no team across tiers), the Free Bet, the Lucky Shot and the Daily Betting Cards, each with plain language bet-type explanations and conservative bet365 NL odds.
- Updates and deploys: writes the new lists into the dashboard and publishes it live automatically.
- Backs up: stores the day's picks in your Notion Track Record so nothing is ever lost.
Backups & Notion
- Notion Track Record: every bet stored permanently with Date, Sport, Match, Market, Selection, Odds, Stake, Result, P/L and running total.
- Daily sync: the morning task writes the day's picks and settles the previous day's results straight into Notion.
- Full backup and restore: one code in Settings holds everything (track record, results, archive, webhooks and settings) and restores it on any device.
Notifications & reminders
- Notification center: the bell top-right and the Notifications tab show everything that is ready to share, with the exact Discord preview.
- One-click review: per item you get Send now (with a confirmation) or Open tab to review it in context.
- Time-based reminders: a weekly performance report reminder and an Education reminder twice a week, so you never forget to post.
Safeguards
- Never auto-sends: nothing goes to Discord without your confirmation.
- Confirmation on every risky action: deleting a bet, restoring a backup or sending a test message all ask first.
- Decorrelation rule: no team can be a deciding leg in more than one Builder, so a single upset can never sink all your lists at once.
- Webhook check: when you save, an invalid webhook URL is flagged so a typo cannot slip through.
- Full transparency: wins and losses are both logged in units, with ROI, never hidden.
How BetLife365 runs
Your single reference for the whole setup: hosting, the daily build per sport, the challenge, backups and the house rules. Last updated 28 June 2026.
1. The two live sites
Everything runs on Cloudflare Pages, each connected to a GitHub repo. Any push to a repo deploys automatically. A no-cache rule makes new versions show for everyone on the next refresh (no hard refresh needed).
| What | Address | GitHub repo |
|---|---|---|
| Public website (landing, member zone, terms, privacy) | betlife365.com + www.betlife365.com | FredBull070/betlife365 |
| VIP dashboard (this control panel) + all bets data | dashboard.betlife365.com | FredBull070/vip-dashboard |
2. How the bets data works
The dashboard code (index.html) and the bets are kept separate. The daily tasks only write the bets files, never the dashboard, so a build can never break the dashboard.
- bets.js = football (the main daily slate + the challenge bet)
- bets-tennis.js, bets-nba.js, bets-nfl.js, bets-nhl.js = one file per sport
- ticker.json = the mixed-sport ticker on the landing page
- The dashboard reads these live, so the Daily Parley Tips, Cards, Challenge and ticker always show the latest deployed bets.
3. When the bets are built (per sport)
All times are local (NL). The rule is the same everywhere: build as late as possible once the key info is known (order of play, line-ups, goalie, injuries/inactives), but well before kickoff so it is shareable.
| Sport | Time | Days / season | Why |
|---|---|---|---|
| Football | 10:07 daily | all year | Morning build so the full slate is live before afternoon/evening kickoffs. (Odds helper runs 09:09.) |
| Tennis | 09:33 daily | all year | Once the day's order of play is published. |
| NBA | 16:00 | daily, Oct-Jun | When the slate and injury reports are in. |
| NHL | 15:00 | daily, Oct-Jun | When confirmed line-ups and the starting goalie are known. |
| NFL | 15:00 | Sun/Mon/Thu, Sep-Feb | When inactives (about 90 min pre-game) and lines are set. |
| Settlement | from 19:00, then every 30 min to ~02:00 | all year | Grades results about 10 min after games finish, updates Notion + dashboard. |
Note: NL afternoon = US morning, so for NBA/NHL/NFL the build can run before US line-ups are final. These can be moved later if needed.
4. What gets built each day
- Safe Builder (total odds 2.00 to 3.00), Value Builder (3.00 to 6.00), Jackpot Builder (6.00 to 12.00)
- Free Bet of the day (a copy of the Safe Builder, the only public pick)
- Lucky Shot (extreme long shot, total 100+)
- Daily Betting Cards (single picks grouped by risk) and the $10 to $1K challenge bet
- Bookmaker rule: max one selection per match in any parley (NL bookies block two markets from the same match). Each leg comes from a different game.
- Decorrelation: no team carries more than one Builder.
5. The Discord server
Server: BetLife365 (invite discord.gg/sVxE2yqvBu). Nothing is posted automatically; you send each message yourself from this dashboard. Where each thing goes:
| Channel | Access | What goes here |
|---|---|---|
| #daily-free-bet | Public | The one free pick of the day (a copy of the Safe Builder). |
| #daily-parley-tips | VIP | Safe, Value and Jackpot Builders. |
| #daily-betting-cards | VIP | The Daily Betting Cards (single picks by risk). |
| #10-1k-challenge | VIP | The daily challenge bet and the member updates. |
| #lucky-shot | VIP | The Lucky Shot long shot. |
| #vip-track-record | VIP | Settled result recaps (the proof, for conversion). |
| #education | VIP | Education posts, about twice a week. |
| #vip-upgrade | Public | The upgrade call to action that the free posts link to. |
| #who-we-are, #announcements, #rules, #disclaimer, #chat | Public/Community | Info, rules and community. |
Every free/public post ends with the 18+ and responsible-gambling line and a link to upgrade.
6. The $10 to $1K challenge
- One safe doubler (x2 or higher) per day, all-in. Seven wins in a row turns $10 into over $1,000. One loss resets the run to $10.
- On the Challenge page you: send the day's bet, mark it Won or Lost (you see the exact bet first), and share the result to VIP or to members.
- History: every day shows the exact matches, with Share to VIP, Share to members and Edit per day.
- Edit fixes a day's result or matches; Remove deletes a day and everything after it, keeping earlier days exactly as they are.
- Challenge attempts (bottom of the page): every run, how far it got and the bets placed, with summary stats.
7. Backups and the publication guarantee
After the June 27 build failed silently, the daily task was hardened so this cannot happen unnoticed:
- Backs up to Notion first (the ledger never falls behind), then deploys.
- After deploy it verifies the live file shows today's date, retries once, and sends a loud alert if publishing still fails.
- Keeps a dated archive copy (archive/bets-YYYY-MM-DD.js) as a second backup. With the git history that is three independent copies per day.
- You get a notification after every run.
8. Members, payments and login
- VIP is $80 / month via Stripe. Stripe activation is waiting on your KvK; until then the member zone falls back gracefully and nothing breaks.
- Member zone: email signup and Google sign-in, edit contact details, change password, manage the subscription. Built to AVG/GDPR with Terms and Privacy pages live.
- Free members get one daily pick in Discord; VIP gets the full slate, builders, lucky shot and the challenge before kickoff.
9. Good to know about this dashboard
- The dashboard is login-protected (only you). Cloudflare Access (an extra email-only lock) is available to add on top.
- Your challenge progress and edits are stored per browser (local storage), so they do not sync across devices unless we move that to the shared file. Use one main browser, or ask to enable shared sync.
- Code updates are visible to everyone on the next refresh thanks to the no-cache rule.
10. House rules
- Nothing is auto-posted to Discord. You always send yourself.
- The track record stays fully transparent: every bet logged, no deleted bets, no cherry picking, and no backdating bets after results are known.
- No em-dash anywhere in the content.
- 18+ and responsible gambling on everything public.
11. Still open
- Activate Stripe once the KvK is sorted, then plug in the payment link and customer portal.
- Optional: Cloudflare Access on the dashboard (only your email).
- Optional: shared challenge state across all your devices.
- Optional: move the US-sport builds later so they catch final line-ups.
Market positioning
What makes BetLife365 different from the average tipster, and why that wins long term:
- Transparency as the product: every bet logged in units, no deleted bets, no cherry picking, a public auditable track record. Most tipsters hide losses; our honesty is the moat.
- A system, not "locks": structured positions by risk (Safe/Value/Jackpot), unit staking and a bankroll framework. We sell discipline and process.
- Education included: members learn to run the method themselves, which builds trust and retention.
Audience, funnel and pricing
- Target: disciplined bettors who manage a bankroll and think long term, not chase-gamblers.
- Funnel: one free pick per day in Discord (no card needed) at the top, then VIP for the full slate, builders, lucky shot and the challenge.
- Conversion hook: the $10 to $1K challenge is public proof that compounds, the strongest reason to upgrade.
- Pricing: VIP at $80 / month.
How we research the bets
- Anchor odds on bet365.nl and oddschecker.com; conservative ranges, estimates marked with *.
- Build once the key info is known (order of play, confirmed line-ups, starting goalie, inactives).
- Favourite-led builders with decorrelation (no team carries more than one builder), one selection per match.
- International football is the priority while a major tournament runs.
Research and findings log
A running log of research and analysis. New findings get added here with a date.
| Date | Finding |
|---|---|
| 28-06-2026 | Build-timing: NL afternoon equals US morning, so NBA/NHL/NFL builds at 15:00-16:00 NL can run before US line-ups are final. Consider moving those later. |
| 28-06-2026 | June 2026 is the FIFA World Cup group stage (USA/Canada/Mexico). International football is the lead sport during the tournament. |
| 27-06-2026 | World Cup final group day (Groups J, K, L). Used for the daily slate: Argentina, England, Croatia as the safe favourites. |
I add market research, competitor notes and data findings here whenever we do them, so it stays in one place.
Tech stack
- Plain static HTML, CSS and JavaScript (vanilla, no framework like React). No build step or compiler; what you write is what ships.
- Each page is a single self-contained file (HTML + inline CSS + inline JS).
- The dashboard is one large
index.html. The public website is a set of standalone HTML files. - No backend and no database. All logic runs in the browser.
Where it is built and hosted
- Code lives in GitHub (two repos, below). Hosting is Cloudflare Pages, with each repo connected for git-based auto-deploy.
- Publishing = commit a file to the repo's
mainbranch (I upload the file via GitHub, which creates the commit). Cloudflare then builds and goes live in about a minute. - The daily scheduled tasks publish the bets files the same way.
- SSL/HTTPS and the CDN are handled automatically by Cloudflare.
- A
_headersfile setsCache-Control: no-cacheso a new version shows for everyone on the next refresh.
Repositories and files
| Repo | Serves | Key files |
|---|---|---|
| FredBull070/betlife365 | betlife365.com + www | index.html (landing), member.html (member zone), terms.html, privacy.html, ticker.json, _headers |
| FredBull070/vip-dashboard | dashboard.betlife365.com | index.html (the dashboard app), bets.js (football), bets-tennis.js, bets-nba.js, bets-nfl.js, bets-nhl.js, ticker.json, _headers, archive/bets-YYYY-MM-DD.js |
Domains and DNS
- The domain betlife365.com is managed in Cloudflare (DNS, SSL, CDN).
- betlife365.com and www.betlife365.com point to the betlife365 Pages project.
- dashboard.betlife365.com points to the vip-dashboard project (built from that repo).
Data and state
- The bets-*.js files are plain scripts that set global variables (today's messages, cards, challenge). The dashboard loads them with a cache-busting
?t=so it always reads the newest. - ticker.json feeds the moving odds ticker on the landing page.
- The dashboard's own working state (challenge progress, settings, which messages were sent) lives in the browser's localStorage, so it is per browser/device.
Login and integrations
- Dashboard login: a client-side gate; the password is stored hashed (SHA-256), the session in sessionStorage. For you only.
- Member zone: accounts in localStorage with hashed passwords, plus Google sign-in (Google Identity Services OAuth).
- Stripe: payments for VIP (pending your KvK). Discord: community and sending via channel webhooks (set in Settings). Notion: the track-record ledger backup.
Assets and styling
- System font stack (SF Pro Display and similar), dark theme with the orange accent.
- Favicon is an inline SVG of the orange "365" (no separate image file). Logos are inline SVG/text.
- Hero imagery on the landing page is sourced from Unsplash.
Notifications
Your inbox of everything ready to share. Click an item on the left to open it, review the exact Discord message, then send.
Agenda
All planned commitments in one place: your monthly, quarterly and yearly reviews plus your own appointments. Add any single item to Google Calendar with one click, or subscribe the whole agenda so it syncs.
To-do
Your open tasks. Check them off when done.