DSB

Breakfast Ball Invitational

"Because every round deserves a second first swing."

BBI '26 — Scottsdale, AZ
☀️ Scottsdale: 78°F — Perfect (always)
--
Days
--
Hours
--
Minutes
--
Seconds

The Schedule

Five days. Four courses. Zero excuses.

Wednesday, March 25

Arrival Day

Arrive in Phoenix. Settle in. Get loose.

🍽️ Champions Dinner
Thursday, March 26

Day 1 — First Blood

Power Ranch — 8:30am tee · $115
🍽️ Lunch @ Ocotillo
Ocotillo (9 holes) — 3:36pm tee · $64
🍽️ Joevid's 19th Hole — Asian Rice Bowls
Friday, March 27

Day 2 — The 36-Hole Grind

Camelback — 7:45am & 1:00pm tees · $438 ($289+$149)
🍽️ Joevid's 19th Hole — French Dips
Saturday, March 28

Day 3 — 18 + Happy Hour Scramble

Raven — 8:51am tee · $275 ($25 pro shop credit)
🍽️ Lunch on the go
Ocotillo (HH Scramble) — 3:45pm tee · $64
🍽️ Taco Night 🌮
Sunday, March 29

The Closer

Ak-Chin Southern Dunes — 9:30am tee · $199
🍽️ Grab lunch on the way back
🏊 Afternoon — Pool / Head home
🍽️ Leftovers or takeout
Monday, March 30

Stragglers Depart

Airport runs. Leftover Klondike bars. "We should do this more often."

Est. 2025 — Shig is the House
Last Updated: 2026-02-24
PropFavoriteOdds
PropFavoriteOdds

* Unofficial. Shig has not endorsed these. Yet.

Loading...

No settled bets yet.

Who are you?

What's the bet?

Shig will set the odds and details.

Confirm Your Bet

The Teams

Drafted. Debated. Destined for glory (or embarrassment).

Team Dirt 🪨

Captain: Brannon "Dirt" Stone
  • 1.2Captain — Casey Bell
  • 2.1Stenfashion — Josh Stendara
  • 3.2Spaniard — Drew Lang
  • 4.2Prez — Adam Collier
  • 5.2Radar — Blake Raney
VS

Team Shigar 🚬

Captain: Nick "Shignetti" Johnson
  • 1.1Train — Adam Harris
  • 2.2Tanker — Blake Lang
  • 3.19ball — Luke Dunckley  🏆 MVP
  • 4.1Joevid — Joe Lombardo
  • 5.1CB2 — Casey Bates

The Golfers

12 men. 12 stories. Tap a card to learn the truth.

The Draft

Three weeks. Eight picks. Infinite group chat messages. Click each envelope to relive draft night.

2
Captains
5
Rounds
19
Days to Draft
1
Commissioner
"Give Us a Pick"
0
Trades Completed

Snake draft format. Commissioner Captain released video reveals at his leisure — sometimes days apart, sometimes only after a Seahawks win, sometimes simply when the tequila hit right. Dec 26, 2025 through Jan 14, 2026.

0
Picks Revealed
0
"Give Us a Pick"
0
Days Elapsed

🏷️ The Evolution of Team Shigar

(Team Dirt stayed Team Dirt. Team Shig... evolved.)

Team Shig Team Cig 🚬 Team Shigar Team Ciggy Lite Shig Golden Lites Shignetti Shignetti & the Shigars

Train coined "Ciggy Lite" in honor of Shig's dad's Kent Golden Lights. Dirt saw Indiana coach Cignetti on TV and "Shignetti" was born. Captain's reaction: "Shignetti is very solid and I DO NOT like it!"

🏆 Best Draft Quotes

"Captain's like Adam Silver: plenty of teasing, lots of buildup… and no announcement."
— Dirt
"That sounds like a failed sex proposal on a Friday night. Teasin. Build up. No announcement."
— Train (responding to Dirt)
"Captain doesn't negotiate with terrorists, you should know that cousin."
— Train
"It's like he's the ruler of Venezuela."
— Joevid, on Captain withholding picks
"Doesn't take ChatGPT to know he gets the last pick."
— CB2 (kill shot from the shadows)
"Shig is playing chess ♟️ I was playing hop scotch."
— Dirt
"Spell asterisk right and maybe you can sign it. #streetsmart"
— Train to 9ball
"Why do I feel like once the final pick is revealed, 9ball is going to immediately text 'GIVE US THE 2027 CAPTAINS!'"
— Captain (he's not wrong)

Lore & Traditions

The sacred texts of the BBI.

🏳️

The Flag

Winners sign it. It hangs in glory. If you haven't signed it, did you even play? 9ball "only serves the flag" — which is convenient when you've never signed it.

🍽️

Champions Dinner

Wednesday night. Mandatory attendance. Losers serve the winners. Dress code: golf casual meets unearned confidence.

📖

Dozer Sports Book

The DSB, tracked by Shig himself. Whiff bets. Wrong ball bets. Handicap futures. $5 minimum. The house always… well, Shig always knows.

📋

The Draft

Snake format. Video reveals dropped like movie trailers. 19 days for 8 picks. Captain controls the tempo with the iron fist of a Venezuelan strongman.

🍳

The Breakfast Ball

The mulligan you take on the first tee because "that one didn't count, I wasn't ready." We built an entire invitational around it.

🧻

Front Wipe vs. Back Wipe

The great debate. Known front wipers: Joevid, CB2. Tanker provided the definitive emoji guide: 🫳🏻 front / 🫴🏻 back / 🤌🏼 universal.

💬 BBI Group Chat (Live*)

● 11 of 12 online (Prez status: unknown)
Prez is typing...

🫧 The Zynometer

Tracking days since 9ball and Sten went cold turkey. Updated in real time. Prayers accepted.

--
9ball
"Health reasons"
--
Sten
"Couldn't handle the price hike"

Captain noted: "9 & Sten off the Zyn is a big BBI story to watch… Captains may have drafted differently."

The History

Where we've been. Where we're going.

2024
10 – 8
Team 19 dominated early, leading 8-4 going into Sunday. Held on for the two-point victory. The flag was signed. The losers served dinner.
2025
9 – 8
Gig Harbor over Peninsula in a nail-biter. Came down to the wire at Southern Dunes. Steve Bell & Tanker secured a critical tie on 18 to seal it. Instant classic.

The Games

Because 54 holes a day wasn't enough entertainment.

🏎️ Badass Divorce

Cruise Scottsdale in a black Porsche. Text your wife for a higher score multiplier — but it gets harder to drive while you're typing. How far can you go?
Score: 0 Multiplier: 1x Best: 0
📱 💬💬💬💬💬

Arrow keys / WASD / touch to steer. Space to text.

🫔 Those Aren't Nachos!

Build the perfect plate of nachos. Click ingredients to add them. When you're done, the judges will score your creation. A perfect 10 requires variety, balance, and all the essentials.

Click to add (multiple clicks = more):

🌶️ Flavor (Variety)--
⚖️ Balance--
🎨 Presentation--
⭐ OVERALL--

The Essentials

Don't leave home without it. Seriously.

🪵 THE BELLMONT CABINET MAFIA 🪵

You found it.

Captain (Casey Bell) — CEO of Operations

Shig (Nick Johnson) — Employee

Radar (Blake Raney) — Sales Rep

Three members of the BBI. One company. Captain is literally their boss. No wonder he's the commissioner — they can't vote against him without risking their Q4 reviews.

"I appreciate the feedback and will take it into consideration."
— Captain (CEO for "go f yourself")

unts.reduce((a,b) => a+b, 0); const used = counts.filter(c => c > 0).length; if (total === 0) { alert('Add some ingredients first!'); return; } // Flavor (variety) - max 10 let flavor = Math.min(10, used * 1.2); if (used < 3) flavor = Math.max(1, used * 2); // Balance - penalize too much of one thing const maxCount = Math.max(...counts); const avgCount = total / Math.max(1, used); let balance = 10; if (maxCount > avgCount * 2.5) balance -= 3; if (maxCount > avgCount * 3.5) balance -= 3; if (maxCount >= 7) balance -= 2; balance = Math.max(1, Math.min(10, balance)); // Essentials check: chips + cheese + protein const hasChips = true; // Chips are always the base layer const hasCheese = counts[1] > 0 || counts[2] > 0; const hasProtein = counts[7] > 0 || counts[8] > 0; let essentialBonus = 0; if (hasChips) essentialBonus += 1; if (hasCheese) essentialBonus += 1; if (hasProtein) essentialBonus += 1; // Presentation - coverage/spread let presentation = Math.min(10, total * 0.8); if (used >= 6) presentation = Math.min(10, presentation + 2); if (total > 25) presentation -= 2; // too much is a mess presentation = Math.max(1, Math.min(10, presentation)); // Overall let overall = (flavor * 0.3 + balance * 0.3 + presentation * 0.2 + essentialBonus * 2 * 0.2); if (essentialBonus < 3) overall *= 0.7; if (used >= 8 && balance >= 7 && essentialBonus === 3) overall = Math.min(10, overall + 1); overall = Math.max(1, Math.min(10, Math.round(overall * 10) / 10)); document.getElementById('ns-flavor').textContent = Math.round(flavor * 10) / 10; document.getElementById('ns-balance').textContent = Math.round(balance * 10) / 10; document.getElementById('ns-present').textContent = Math.round(presentation * 10) / 10; document.getElementById('ns-overall').textContent = overall; // Comment let comment = ''; if (overall >= 9) comment = '"These nachos are ELITE. Flag-signing worthy. Joevid is crying."'; else if (overall >= 7) comment = '"Solid build. You clearly know your way around a nacho plate. Captain would approve."'; else if (overall >= 5) comment = '"Decent effort, but there\'s room for improvement. Like Tanker\'s golf game."'; else if (overall >= 3) comment = '"This is... a choice. Did Prez build this? It has the same energy as his text messages."'; else comment = '"You put literally nothing on this plate. This is the CB2 of nachos — nowhere to be found."'; if (!hasChips) comment += ' Also, nachos without chips? That\'s just a sad pile.'; if (!hasProtein) comment += ' No protein? You\'re basically serving a garnish plate.'; document.getElementById('nachoComment').textContent = comment; document.getElementById('nachoResults').style.display = 'block'; renderLeaderboard('nacho-lb', 'nachos', overall); } // Initialize nacho game — buttons must exist before resetNachos calls updateIngButtons initNachoButtons(); resetNachos(); // ============ LEADERBOARD ============ async function fetchLeaderboard(game) { try { const r = await fetch('/api/leaderboard?game=' + game); return await r.json(); } catch(e) { return []; } } async function submitScore(game, name, score) { try { const r = await fetch('/api/leaderboard', {method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({game,name,score})}); return await r.json(); } catch(e) { return []; } } function renderLeaderboard(containerId, game, currentScore) { const el = document.getElementById(containerId); if (!el) return; el.innerHTML = '
🏆 Leaderboard
'; fetchLeaderboard(game).then(function(scores) { renderLBList(containerId + '-list', scores); }); } function renderLBList(listId, scores) { var el = document.getElementById(listId); if (!el) return; if (!scores || scores.length === 0) { el.innerHTML = '
  • No scores yet. Be the first!
  • '; return; } el.innerHTML = scores.map(function(s,i) { return '
  • #'+(i+1)+''+s.name+''+s.score+'
  • '; }).join(''); } async function submitLB(containerId, game, score) { var nameEl = document.getElementById(containerId + '-name'); var name = nameEl ? nameEl.value.trim() : ''; if (!name) { alert('Enter your name!'); return; } var scores = await submitScore(game, name, score); renderLBList(containerId + '-list', scores); if (nameEl) { nameEl.disabled = true; } var btn = nameEl ? nameEl.nextElementSibling : null; if (btn) { btn.disabled = true; btn.textContent = 'Submitted!'; } }