<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Klemm</title>
    <description>The latest articles on DEV Community by Klemm (@mybets).</description>
    <link>https://dev.to/mybets</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3720058%2F08a409ac-d3f2-4ede-8e3e-db31fcd2a0c3.jpg</url>
      <title>DEV Community: Klemm</title>
      <link>https://dev.to/mybets</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mybets"/>
    <language>en</language>
    <item>
      <title>Stop Betting Blind: Why 95% of Sports Bettors Lose (And Why You Need a Bet Tracker)</title>
      <dc:creator>Klemm</dc:creator>
      <pubDate>Fri, 06 Mar 2026 11:50:56 +0000</pubDate>
      <link>https://dev.to/mybets/stop-betting-blind-why-95-of-sports-bettors-lose-and-why-you-need-a-bet-tracker-567m</link>
      <guid>https://dev.to/mybets/stop-betting-blind-why-95-of-sports-bettors-lose-and-why-you-need-a-bet-tracker-567m</guid>
      <description>&lt;p&gt;Ask any casual sports bettor how their season is going, and you’ll usually get the same answer: &lt;em&gt;"I’m up a little bit,"&lt;/em&gt; or &lt;em&gt;"I’m probably breaking even."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Mathematically, that is almost certainly a lie. &lt;/p&gt;

&lt;p&gt;The human brain is wired to remember the massive 5-leg parlay that hit on a Sunday night, while conveniently forgetting the six straight single bets that bled the account dry throughout the week. This psychological trap is exactly why 95% of sports bettors lose money over the long term.&lt;/p&gt;

&lt;p&gt;If you are serious about treating sports betting as an investment rather than an expensive weekend hobby, you have to stop betting blind. You need cold, hard data. &lt;/p&gt;

&lt;p&gt;Here is the exact math the top 5% of sharp bettors use, why trying to track it in spreadsheets is a data-entry nightmare, and why I ended up building my own &lt;strong&gt;bet tracker&lt;/strong&gt; to automate it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Holy Trinity of Profitable Betting
&lt;/h2&gt;

&lt;p&gt;To actually beat the sportsbooks, you need to strip the emotion out of your picks and focus strictly on three core metrics:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Bankroll Management (Unit Sizing)
&lt;/h3&gt;

&lt;p&gt;If you are betting $50 on a random Tuesday NBA game and $200 on a Sunday NFL game just because you "feel good" about it, you are going to go broke. Sharp bettors use "units" (typically 1% to 2% of their total bankroll). Consistent unit sizing protects you from inevitable losing streaks.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. ROI and Yield
&lt;/h3&gt;

&lt;p&gt;Winning 55% of your bets doesn't mean anything if you are constantly betting heavy favorites at -200 odds. You need to know your actual Return on Investment (ROI). Are you actually generating a positive yield across all your wagers, or are the sportsbook's margins slowly eating your principal?&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Closing Line Value (CLV)
&lt;/h3&gt;

&lt;p&gt;If you bet on the Lakers at -3 on Tuesday, and the line moves to -5 by tip-off on Thursday, you beat the closing line. Consistently generating positive CLV is the strongest mathematical indicator that you are a profitable bettor over a large sample size.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spreadsheet Nightmare (A Developer's Dilemma)
&lt;/h2&gt;

&lt;p&gt;Once bettors realize they need to track these metrics, they inevitably open up Google Sheets or Excel. &lt;/p&gt;

&lt;p&gt;For the first week, it feels great. But as a developer, you quickly realize that a flat spreadsheet is a terrible way to handle this kind of data. You are dealing with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Relational Data:&lt;/strong&gt; Linking specific teams, odds, sportsbooks, and bet types (Singles vs. Parlays vs. Round Robins).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Math:&lt;/strong&gt; Calculating implied probabilities and adjusting bankroll sizes on the fly when a bet is voided or pushed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manual Entry Fatigue:&lt;/strong&gt; You spend more time typing in odds than actually researching the games.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eventually, the friction becomes too much. You stop logging your bets, you lose track of your units, and you go right back to betting blind. &lt;/p&gt;

&lt;h2&gt;
  
  
  Automating the Math: Building MyBets.gg
&lt;/h2&gt;

&lt;p&gt;I went through this exact cycle of spreadsheet burnout. I wanted to know my actual profit margins, which sports I was best at handicapping, and where I was leaking money. &lt;/p&gt;

&lt;p&gt;When I realized there wasn't a clean, intuitive tool to automate this that didn't also try to sell me spammy "VIP Picks," I built one. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://mybets.gg" rel="noopener noreferrer"&gt;MyBets.gg&lt;/a&gt;&lt;/strong&gt; is a dedicated &lt;strong&gt;bet tracker&lt;/strong&gt; and analytics dashboard built specifically for bettors who want to take their bankroll seriously. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Tech Stack
&lt;/h3&gt;

&lt;p&gt;I built this project focusing heavily on speed and clean data visualization:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; [Insert your frontend, e.g., Next.js / React / TailwindCSS]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend/Database:&lt;/strong&gt; [Insert your backend, e.g., Supabase / Node.js / PostgreSQL]&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; [Insert your hosting, e.g., Vercel / Netlify]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of fighting with Excel formulas, MyBets gives you a professional, day-trader-style dashboard. It automatically calculates your Total Profit, ROI, Win/Loss/Push percentages, and unit growth over time. &lt;/p&gt;

&lt;h2&gt;
  
  
  Find Your Edge
&lt;/h2&gt;

&lt;p&gt;Sportsbooks spend millions of dollars on data analytics to ensure they have an edge over you. If you are just guessing your win rate, you are bringing a knife to a gunfight.&lt;/p&gt;

&lt;p&gt;You don't need to be a math genius to be a profitable sports bettor, but you do need to know your numbers. &lt;/p&gt;

&lt;p&gt;Stop relying on your memory. Start treating your bankroll like a business. If you want to check out the build or ditch your spreadsheets, you can &lt;strong&gt;track your bets and find your edge at &lt;a href="https://mybets.gg" rel="noopener noreferrer"&gt;MyBets.gg&lt;/a&gt;&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;(If anyone has questions about the tech stack, the database schema for handling complex parlay math, or building in the sports betting space, drop a comment below!)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>sideprojects</category>
    </item>
    <item>
      <title>Betting ROI Calculator: How to Calculate Your True Return on Investment</title>
      <dc:creator>Klemm</dc:creator>
      <pubDate>Fri, 06 Feb 2026 12:01:59 +0000</pubDate>
      <link>https://dev.to/mybets/betting-roi-calculator-how-to-calculate-your-true-return-on-investment-4dg2</link>
      <guid>https://dev.to/mybets/betting-roi-calculator-how-to-calculate-your-true-return-on-investment-4dg2</guid>
      <description>&lt;h2&gt;
  
  
  Introduction: The Metric That Matters Most
&lt;/h2&gt;

&lt;p&gt;If you only track one number in your sports betting journey, make it your Return on Investment (ROI).&lt;/p&gt;

&lt;p&gt;ROI is the gold standard metric for evaluating betting performance. It cuts through the noise, accounts for both wins and losses, and gives you a clear picture of whether you're actually making money. Unlike win rate—which can be misleading without context—ROI tells the complete story.&lt;/p&gt;

&lt;p&gt;But here's the problem: many bettors calculate ROI incorrectly. They use the wrong formulas, ignore important factors, or misinterpret what their ROI actually means. These mistakes can lead to false confidence or unnecessary discouragement.&lt;/p&gt;

&lt;p&gt;This guide will show you exactly how to calculate your betting ROI the right way. You'll learn the correct formulas, common pitfalls to avoid, and how to use ROI data to evaluate and improve your betting systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is Betting ROI?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Basic Definition
&lt;/h3&gt;

&lt;p&gt;Return on Investment (ROI) in sports betting measures your profit relative to the total amount you've wagered. It answers the question: "For every dollar I bet, how much do I get back?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You wager $100 total across multiple bets&lt;/li&gt;
&lt;li&gt;Your net profit is $5&lt;/li&gt;
&lt;li&gt;Your ROI is 5%&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why ROI Beats Win Rate
&lt;/h3&gt;

&lt;p&gt;Many bettors focus on win percentage, but ROI is far more meaningful:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Win Rate Problem:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bettor A: 60% win rate at -150 odds = -4% ROI (losing money)&lt;/li&gt;
&lt;li&gt;Bettor B: 45% win rate at +150 odds = +12.5% ROI (making money)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bettor A wins more often but loses money. Bettor B wins less often but makes money. ROI captures this; win rate doesn't.&lt;/p&gt;

&lt;h3&gt;
  
  
  ROI vs. Yield
&lt;/h3&gt;

&lt;p&gt;Some bettors confuse ROI with yield. Here's the difference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ROI:&lt;/strong&gt; Net profit / Total amount wagered&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Yield:&lt;/strong&gt; Net profit / Total number of bets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ROI is the standard metric for betting performance. Yield is less commonly used but can be interesting for comparing efficiency across different bet volumes.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Calculate Betting ROI: The Formulas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Basic ROI Formula
&lt;/h3&gt;

&lt;p&gt;The standard formula for calculating betting ROI is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ROI = (Net Profit / Total Amount Wagered) × 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Breaking it down:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Net Profit:&lt;/strong&gt; Total winnings minus total amount wagered&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Total Amount Wagered:&lt;/strong&gt; Sum of all your bets (not just losing ones)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;× 100:&lt;/strong&gt; Converts to percentage&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step-by-Step Calculation Example
&lt;/h3&gt;

&lt;p&gt;Let's walk through a real example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your Betting History:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bet 1: $50 at -110 → Win → Return $95.45&lt;/li&gt;
&lt;li&gt;Bet 2: $75 at +150 → Lose → Return $0&lt;/li&gt;
&lt;li&gt;Bet 3: $100 at -105 → Win → Return $195.24&lt;/li&gt;
&lt;li&gt;Bet 4: $50 at +200 → Lose → Return $0&lt;/li&gt;
&lt;li&gt;Bet 5: $25 at -110 → Win → Return $47.73&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Calculate Total Amount Wagered&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$50 + $75 + $100 + $50 + $25 = $300
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2: Calculate Total Return&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$95.45 + $0 + $195.24 + $0 + $47.73 = $338.42
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3: Calculate Net Profit&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$338.42 - $300 = $38.42
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4: Calculate ROI&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;($38.42 / $300) × 100 = 12.81%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Your ROI is 12.81%&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Alternative ROI Formulas
&lt;/h3&gt;

&lt;p&gt;Depending on your tracking style, you might use these variations:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Formula 2: Using Win/Loss Record&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ROI = [(Number of Wins × Average Win Amount) - (Number of Losses × Average Loss Amount)] / Total Wagered × 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Formula 3: Using Units&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ROI = (Units Won / Total Units Wagered) × 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All formulas produce the same result when applied correctly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Common ROI Calculation Mistakes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Mistake 1: Using Bankroll Instead of Amount Wagered
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Wrong:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ROI = Net Profit / Starting Bankroll × 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Why It's Wrong:&lt;/strong&gt;&lt;br&gt;
This calculates return on bankroll, not return on investment. If you start with $1,000 and wager $5,000 over time, using bankroll severely distorts your ROI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Correct:&lt;/strong&gt;&lt;br&gt;
Always use total amount wagered, not starting bankroll.&lt;/p&gt;


&lt;h3&gt;
  
  
  Mistake 2: Only Counting Losing Bets in Denominator
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Wrong:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ROI = Net Profit / Total Losses × 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Why It's Wrong:&lt;/strong&gt;&lt;br&gt;
This inflates ROI dramatically. You're only counting the bets you lost, not all bets placed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example of the Error:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wager $100 each on 10 bets (5 wins, 5 losses)&lt;/li&gt;
&lt;li&gt;Total wagered: $1,000&lt;/li&gt;
&lt;li&gt;Net profit: $0&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Correct ROI:&lt;/strong&gt; 0%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wrong ROI (using losses only):&lt;/strong&gt; 0% / $500 = 0% (coincidentally correct here, but wrong methodology)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you won 6 and lost 4:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Correct ROI:&lt;/strong&gt; ~9%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wrong ROI:&lt;/strong&gt; ~22.5% (massively inflated)&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  Mistake 3: Ignoring Pushes
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt;&lt;br&gt;
Pushes (refunded bets) don't affect profit but do affect total wagered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Correct Approach:&lt;/strong&gt;&lt;br&gt;
Include pushes in total amount wagered, but they contribute $0 to net profit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;50 bets: 25 wins, 20 losses, 5 pushes&lt;/li&gt;
&lt;li&gt;Total wagered: $5,000 (including pushes)&lt;/li&gt;
&lt;li&gt;Net profit: $200&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Correct ROI:&lt;/strong&gt; 4%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you excluded pushes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Total wagered: $4,000&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wrong ROI:&lt;/strong&gt; 5% (inflated)&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  Mistake 4: Mixing Currencies Without Conversion
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt;&lt;br&gt;
If you bet in multiple currencies, you must convert to a single currency for accurate ROI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;$500 USD wagered, $50 profit&lt;/li&gt;
&lt;li&gt;€300 EUR wagered, €20 profit&lt;/li&gt;
&lt;li&gt;Without conversion, you can't calculate accurate ROI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;
Convert all amounts to your base currency using exchange rates at the time of each bet.&lt;/p&gt;


&lt;h3&gt;
  
  
  Mistake 5: Including Bonuses or Promotions Incorrectly
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt;&lt;br&gt;
Deposit bonuses, free bets, and promotions can distort ROI if not handled properly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Correct Approaches:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Option A: Exclude Bonuses from ROI&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calculate ROI only on cash bets&lt;/li&gt;
&lt;li&gt;Track bonus value separately&lt;/li&gt;
&lt;li&gt;Most conservative approach&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Option B: Include Bonuses as "Wins"&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Count bonus value as profit when received&lt;/li&gt;
&lt;li&gt;Include in net profit calculation&lt;/li&gt;
&lt;li&gt;More aggressive approach&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Option C: Separate Tracking&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Track "pure ROI" (bets only)&lt;/li&gt;
&lt;li&gt;Track "adjusted ROI" (including bonuses)&lt;/li&gt;
&lt;li&gt;Most comprehensive approach&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  Mistake 6: Calculating ROI on Too Small Sample
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt;&lt;br&gt;
ROI on 20 bets is essentially meaningless due to variance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minimum Sample Sizes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;100 bets:&lt;/strong&gt; Barely meaningful&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;500 bets:&lt;/strong&gt; Reasonably reliable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1,000+ bets:&lt;/strong&gt; Statistically significant&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example of Variance:&lt;/strong&gt;&lt;br&gt;
A bettor with true 4% ROI might show:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;-10% ROI after 50 bets (normal variance)&lt;/li&gt;
&lt;li&gt;+15% ROI after 50 bets (normal variance)&lt;/li&gt;
&lt;li&gt;+4% ROI after 1,000 bets (true skill)&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Understanding Your ROI: What the Numbers Mean
&lt;/h2&gt;
&lt;h3&gt;
  
  
  ROI Benchmarks for Sports Bettors
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Negative ROI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You're losing money&lt;/li&gt;
&lt;li&gt;Common for recreational bettors&lt;/li&gt;
&lt;li&gt;Indicates need for strategy improvement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;0% to 2% ROI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Breaking even to slightly profitable&lt;/li&gt;
&lt;li&gt;Better than most bettors&lt;/li&gt;
&lt;li&gt;May not be worth the time investment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3% to 5% ROI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Good performance&lt;/li&gt;
&lt;li&gt;Sustainable long-term&lt;/li&gt;
&lt;li&gt;Worth continuing if you enjoy it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6% to 10% ROI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Excellent performance&lt;/li&gt;
&lt;li&gt;Professional-level results&lt;/li&gt;
&lt;li&gt;Very difficult to sustain over large samples&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;10%+ ROI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exceptional performance&lt;/li&gt;
&lt;li&gt;Often indicates variance or small sample&lt;/li&gt;
&lt;li&gt;Difficult to maintain over 1,000+ bets&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Professional Bettor ROI Expectations
&lt;/h3&gt;

&lt;p&gt;Most professional sports bettors target:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;3-5% ROI&lt;/strong&gt; as a realistic long-term goal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5-7% ROI&lt;/strong&gt; as excellent performance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7%+ ROI&lt;/strong&gt; as potentially unsustainable or small sample&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anyone claiming consistent 15-20% ROI over thousands of bets is likely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lying&lt;/li&gt;
&lt;li&gt;Using a very small sample&lt;/li&gt;
&lt;li&gt;Including bonuses/promotions&lt;/li&gt;
&lt;li&gt;Running extremely hot&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  ROI by Sport and Bet Type
&lt;/h3&gt;

&lt;p&gt;Different betting styles produce different ROI expectations:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spread Betting (-110):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Break-even: 52.4%&lt;/li&gt;
&lt;li&gt;Good: 54-55% (2-5% ROI)&lt;/li&gt;
&lt;li&gt;Excellent: 56%+ (6%+ ROI)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Moneyline Favorites (-150 to -200):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Need 60-67% win rate for profitability&lt;/li&gt;
&lt;li&gt;Lower variance but lower ROI potential&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Moneyline Underdogs (+150 to +200):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Need 40-33% win rate for profitability&lt;/li&gt;
&lt;li&gt;Higher variance but higher ROI potential&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Parlays:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generally negative ROI due to increased vig&lt;/li&gt;
&lt;li&gt;Profitable parlay bettors are rare&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Using ROI to Evaluate Betting Systems
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Comparing Different Systems
&lt;/h3&gt;

&lt;p&gt;ROI allows you to compare different betting approaches:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;System&lt;/th&gt;
&lt;th&gt;Bets&lt;/th&gt;
&lt;th&gt;Win Rate&lt;/th&gt;
&lt;th&gt;ROI&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NBA Spreads&lt;/td&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;53%&lt;/td&gt;
&lt;td&gt;+2.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NFL Totals&lt;/td&gt;
&lt;td&gt;150&lt;/td&gt;
&lt;td&gt;55%&lt;/td&gt;
&lt;td&gt;+4.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MLB Dogs&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;42%&lt;/td&gt;
&lt;td&gt;+6.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Even though MLB Dogs has the lowest win rate, it has the highest ROI and may be your best system.&lt;/p&gt;
&lt;h3&gt;
  
  
  Evaluating System Changes
&lt;/h3&gt;

&lt;p&gt;When you modify your betting approach, use ROI to measure impact:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Original system: 500 bets, +3.2% ROI&lt;/li&gt;
&lt;li&gt;Modified system: 200 bets, +5.1% ROI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The modification appears successful, but wait for a larger sample before concluding.&lt;/p&gt;
&lt;h3&gt;
  
  
  Identifying Variance vs. Skill
&lt;/h3&gt;

&lt;p&gt;ROI helps distinguish between luck and skill:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Signs of Variance (Not Skill):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extreme ROI (+20% or -20%)&lt;/li&gt;
&lt;li&gt;Small sample size (&amp;lt;200 bets)&lt;/li&gt;
&lt;li&gt;Inconsistent results month to month&lt;/li&gt;
&lt;li&gt;ROI far above what professionals achieve&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Signs of Genuine Skill:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Moderate positive ROI (3-7%)&lt;/li&gt;
&lt;li&gt;Large sample size (500+ bets)&lt;/li&gt;
&lt;li&gt;Consistent results over time&lt;/li&gt;
&lt;li&gt;Closing line value confirmation&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Advanced ROI Concepts
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Annualized ROI
&lt;/h3&gt;

&lt;p&gt;To compare performance across different time periods, calculate annualized ROI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Annualized ROI = [(1 + Total ROI)^(365 / Days) - 1] × 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;50% ROI over 6 months (180 days)&lt;/li&gt;
&lt;li&gt;Annualized ROI = [(1 + 0.50)^(365/180) - 1] × 100 = 125%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This helps you compare a 20% ROI over 3 months to a 40% ROI over a year.&lt;/p&gt;

&lt;h3&gt;
  
  
  ROI by Stake Size
&lt;/h3&gt;

&lt;p&gt;Analyze whether your ROI varies by how much you bet:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stake Range&lt;/th&gt;
&lt;th&gt;Bets&lt;/th&gt;
&lt;th&gt;ROI&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;$10-25&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;+5.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$25-50&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;+3.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$50-100&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;+1.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This might indicate you perform better with smaller, more confident bets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rolling ROI
&lt;/h3&gt;

&lt;p&gt;Calculate ROI over rolling windows to identify trends:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Last 50 bets ROI&lt;/li&gt;
&lt;li&gt;Last 100 bets ROI&lt;/li&gt;
&lt;li&gt;Last 200 bets ROI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your rolling ROI is declining, your edge may be diminishing.&lt;/p&gt;




&lt;h2&gt;
  
  
  ROI in Context: Other Metrics to Consider
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ROI + Closing Line Value
&lt;/h3&gt;

&lt;p&gt;ROI tells you results. CLV tells you if those results are sustainable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scenario A:&lt;/strong&gt; +8% ROI, +3% CLV&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Results align with skill&lt;/li&gt;
&lt;li&gt;Likely sustainable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Scenario B:&lt;/strong&gt; +8% ROI, -2% CLV&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Results exceed skill level&lt;/li&gt;
&lt;li&gt;Likely variance, expect regression&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ROI + Maximum Drawdown
&lt;/h3&gt;

&lt;p&gt;ROI doesn't capture risk. A 5% ROI with 50% max drawdown is very different from 5% ROI with 15% max drawdown.&lt;/p&gt;

&lt;h3&gt;
  
  
  ROI + Bet Volume
&lt;/h3&gt;

&lt;p&gt;A 10% ROI on 50 bets is less impressive than 5% ROI on 500 bets. Volume matters.&lt;/p&gt;




&lt;h2&gt;
  
  
  Practical ROI Tracking Tips
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Use a Betting ROI Calculator
&lt;/h3&gt;

&lt;p&gt;Instead of manual calculations, use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dedicated bet tracking apps (like mybets.gg)&lt;/li&gt;
&lt;li&gt;Spreadsheet templates with built-in formulas&lt;/li&gt;
&lt;li&gt;Online ROI calculators&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Track ROI in Real-Time
&lt;/h3&gt;

&lt;p&gt;Don't wait until month-end. Check your ROI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daily (to monitor for major issues)&lt;/li&gt;
&lt;li&gt;Weekly (for trend identification)&lt;/li&gt;
&lt;li&gt;Monthly (for comprehensive analysis)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Set ROI Goals
&lt;/h3&gt;

&lt;p&gt;Realistic ROI targets keep you focused:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Short-term (monthly):&lt;/strong&gt; 2-5%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Medium-term (quarterly):&lt;/strong&gt; 3-6%&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long-term (yearly):&lt;/strong&gt; 4-7%&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Compare to Benchmarks
&lt;/h3&gt;

&lt;p&gt;Know what good ROI looks like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Professional bettors: 3-7%&lt;/li&gt;
&lt;li&gt;Sharp bettors: 5-10%&lt;/li&gt;
&lt;li&gt;Recreational bettors: -2% to +2%&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ROI Case Studies
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Case Study 1: The Grinder
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Bettor Profile:&lt;/strong&gt; Conservative, high volume&lt;br&gt;
&lt;strong&gt;Approach:&lt;/strong&gt; -110 spread bets, 1 unit each&lt;br&gt;
&lt;strong&gt;Results (1 year):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2,000 bets&lt;/li&gt;
&lt;li&gt;53.5% win rate&lt;/li&gt;
&lt;li&gt;+3.2% ROI&lt;/li&gt;
&lt;li&gt;+64 units profit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Analysis:&lt;/strong&gt; Sustainable, professional-level performance. The 3.2% ROI is realistic and repeatable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Case Study 2: The Variance Victim
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Bettor Profile:&lt;/strong&gt; Aggressive, underdog-focused&lt;br&gt;
&lt;strong&gt;Approach:&lt;/strong&gt; +150 to +200 moneylines&lt;br&gt;
&lt;strong&gt;Results (6 months):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;200 bets&lt;/li&gt;
&lt;li&gt;38% win rate&lt;/li&gt;
&lt;li&gt;+18% ROI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Analysis:&lt;/strong&gt; The +18% ROI is unsustainable. With a 38% win rate on +150 to +200 lines, this bettor is running extremely hot and will likely regress significantly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Case Study 3: The Break-Even Bettor
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Bettor Profile:&lt;/strong&gt; Recreational, varied approach&lt;br&gt;
&lt;strong&gt;Approach:&lt;/strong&gt; Mix of spreads, totals, and parlays&lt;br&gt;
&lt;strong&gt;Results (1 year):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;800 bets&lt;/li&gt;
&lt;li&gt;49% win rate&lt;/li&gt;
&lt;li&gt;-1.5% ROI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Analysis:&lt;/strong&gt; Close to break-even but slightly losing. This is actually better than 95% of recreational bettors. Small adjustments could push this into profitability.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion: Master Your Betting ROI
&lt;/h2&gt;

&lt;p&gt;Return on Investment is the most important metric in sports betting. It tells you whether you're winning or losing, how much you're winning or losing, and whether your results are sustainable.&lt;/p&gt;

&lt;p&gt;The key takeaways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Calculate ROI correctly:&lt;/strong&gt; Use total amount wagered, not bankroll&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understand the benchmarks:&lt;/strong&gt; 3-7% is excellent for professionals&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consider sample size:&lt;/strong&gt; 100+ bets minimum for meaningful analysis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use ROI with other metrics:&lt;/strong&gt; CLV, drawdown, and volume provide context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Track consistently:&lt;/strong&gt; Regular ROI monitoring enables course corrections&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Whether you're a weekend warrior or aspiring professional, mastering ROI calculation and interpretation will transform your approach to sports betting.&lt;/p&gt;




&lt;h2&gt;
  
  
  Calculate Your ROI Automatically
&lt;/h2&gt;

&lt;p&gt;Stop wrestling with spreadsheets and formulas. mybets.gg calculates your ROI automatically—along with 14 other essential metrics—so you can focus on making smarter bets, not doing math.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.mybets.gg" rel="noopener noreferrer"&gt;[Start Tracking Your ROI with mybets.gg →]&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>sideprojects</category>
    </item>
    <item>
      <title>How I Built a SaaS with 0 Coding Skills (Using Next.js + AI Vision)</title>
      <dc:creator>Klemm</dc:creator>
      <pubDate>Mon, 19 Jan 2026 16:58:15 +0000</pubDate>
      <link>https://dev.to/mybets/how-i-built-a-saas-with-0-coding-skills-using-nextjs-ai-vision-1f5f</link>
      <guid>https://dev.to/mybets/how-i-built-a-saas-with-0-coding-skills-using-nextjs-ai-vision-1f5f</guid>
      <description>&lt;p&gt;I am not a "real" developer. I don’t have a CS degree. I don’t know how to center a div without asking an LLM.&lt;/p&gt;

&lt;p&gt;I am a sports bettor who was tired of spending 5 hours a week typing data into Excel.&lt;/p&gt;

&lt;p&gt;But last month, I launched mybets.gg—a fully functional SaaS with auth, a database, and an AI-powered computer vision pipeline.&lt;/p&gt;

&lt;p&gt;Here is how I went from "Idea" to "Shipped" using AI as my co-founder, why standard OCR failed me, and the tech stack I stumbled into.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; The "API" That Didn't Exist&lt;br&gt;
I wanted to build a bet tracker. The problem is that sportsbooks (especially the niche European or Crypto ones I use) do not have public APIs. They don’t want you scraping their data.&lt;/p&gt;

&lt;p&gt;If you are a real dev, you might try to reverse-engineer their internal endpoints or build a Puppeteer scraper. But I’m not a real dev. And also, those scrapers break every time the site updates its CSS.&lt;/p&gt;

&lt;p&gt;I needed a "Universal Adapter." Something that didn't care about the code, but looked at the screen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attempt 1:&lt;/strong&gt; Tesseract.js &amp;amp; Regex Hell ❌&lt;br&gt;
My first attempt was using standard OCR (Optical Character Recognition) libraries like Tesseract.js. I thought, "Easy, just extract the text."&lt;/p&gt;

&lt;p&gt;It was a disaster.&lt;/p&gt;

&lt;p&gt;A betslip is unstructured data. Tesseract would spit out: "Arsenal 1.90 $50 WIN"&lt;/p&gt;

&lt;p&gt;I spent weeks asking ChatGPT to write complex Regex patterns to parse this. But as soon as I tried a different bookmaker, the layout changed: "WIN - Arsenal @ 1.90 (Stake: $50)"&lt;/p&gt;

&lt;p&gt;The Regex broke. I was playing whack-a-mole. I almost quit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attempt 2:&lt;/strong&gt; The "Vision" Pivot ✅&lt;br&gt;
Then I realized: I don't need OCR. I need Understanding.&lt;/p&gt;

&lt;p&gt;I scrapped the Regex. I switched to using Multimodal LLMs (like Gemini Flash and GPT-4o). Instead of asking the code to "find the text," I essentially sent the image to the AI with this prompt:&lt;/p&gt;

&lt;p&gt;"Here is a screenshot of a sports bet. Extract the Team, Odds, and Stake, and return it as clean JSON."&lt;/p&gt;

&lt;p&gt;It worked instantly.&lt;/p&gt;

&lt;p&gt;It didn't matter if the background was dark or light.&lt;/p&gt;

&lt;p&gt;It didn't matter if the "Stake" was at the top or bottom.&lt;/p&gt;

&lt;p&gt;It didn't matter if the text was German or English.&lt;/p&gt;

&lt;p&gt;The AI "understood" the context of a betslip. I had my Universal Adapter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The "Citizen Dev" Stack 🛠️&lt;/strong&gt;&lt;br&gt;
Since I didn't have strong opinions on tech, I let AI recommend the stack. Here is what we built on:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Framework: Next.js (App Router)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The UI: Shadcn/ui + Tailwind &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Database: Neon (Serverless Postgres)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What I Learned (The "Indie Hacker" Takeaway)&lt;/p&gt;

&lt;p&gt;I knew exactly what the product needed to do because I was the user. I knew the pain of "Spreadsheet Hell."&lt;/p&gt;

&lt;p&gt;If I had waited until I learned React properly, I never would have started. Instead, I treated AI as a "Senior Dev" who sat next to me. I explained the logic, and it wrote the syntax.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Did we write spaghetti code?&lt;/strong&gt; Probably.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is it optimized?&lt;/strong&gt; Maybe not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it work?&lt;/strong&gt; Yes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Result&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wgmdsgfqaqh2mcgf5d7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5wgmdsgfqaqh2mcgf5d7.png" alt="Mybets.gg - Chrome extension track bets" width="702" height="1156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe7nldjhio3vcs7spdbfo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe7nldjhio3vcs7spdbfo.png" alt="Mybets.gg - Sports bet tracker" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The app is live. It handles thousands of bets. It tracks ROI, generates heatmaps, and manages bankrolls across unlimited vaults.&lt;/p&gt;

&lt;p&gt;If you are a developer who bets on sports, or just a beginner looking to see what an AI-assisted project looks like, check it out.&lt;/p&gt;

&lt;p&gt;Live Project: &lt;a href="https://dev.tourl"&gt;mybets.gg&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>saas</category>
      <category>ai</category>
      <category>nextjs</category>
    </item>
  </channel>
</rss>
