Aaron VanSledright

Fantasy Football and AI – Week 7

Well, our win streak was too good to be true. Unfortunately we lost a close one in week 6. It came down to the Monday night games and Sam Darnold just wasn’t able to get it going over the Texans even though the Seahawks still pulled out the win.

Our running back group also did not preform well outside of Josh Jacobs. The loss was by a difference of about 7 points so if anyone had put up another touchdown we could have won.

Anyway, on to week week 8. A few byes to contend with but otherwise most of are starts will be playing. The AI suggested grabbing the Colts defense and kicker as they are playing Tennessee. Breece Hall is currently questionable to play so we will have to keep an eye on that but he has a favorable matchup against the Bengals. The current roster is below.

I promised to work on MCP this week but have only made a little bit of progress. I’ve been doing a lot of research on doing it in a cost effective manner as this project makes ZERO dollars and so I can’t afford to setup a bunch of expensive infrastructure. SO – this week I worked on combining the waiver table and the stats table into one table so that we can minimize DynamoDB calls throughout the application. The other thing I did was setup DynamoDB streams which are then converted into text files for each player and placed into an S3 bucket. This is what I think will be the first step in setting up a RAG pipeline so that a model can begin to be more “aware” of current NFL and Fantasy Football landscape.

Here is an updated architecture diagram. You’ll notice the S3 bucket on the right side. This is the eventual start of our knowledgebase.

You’ll also notice the waiver table removed. The new player structure looks like this:

{
 "player_id": "George Kittle#TE",
 "espn_player_id": 3040151,
 "player_name": "George Kittle",
 "position": "TE",
 "seasons": {
  "2024": {
   "season_totals": {
    "MISC_FL": 0,
    "MISC_FPTS": 158.6,
    "MISC_FPTS/G": 10.6,
    "MISC_G": 15,
    "MISC_ROST": "99.4%",
    "Player": "George Kittle",
    "Rank": 1,
    "RECEIVING_20+": 21,
    "RECEIVING_LG": 43,
    "RECEIVING_REC": 78,
    "RECEIVING_TD": 8,
    "RECEIVING_TGT": 94,
    "RECEIVING_Y/R": 14.2,
    "RECEIVING_YDS": 1106,
    "RUSHING_ATT": 0,
    "RUSHING_TD": 0,
    "RUSHING_YDS": 0
   },
   "weekly_stats": {
    "1": {
     "fantasy_points": 4,
     "opponent": "NYJ"
    },
    "2": {
     "fantasy_points": 13.6,
     "opponent": "MIN"
    },
    "4": {
     "fantasy_points": 10.5,
     "opponent": "NE"
    },
    "5": {
     "fantasy_points": 12.4,
     "opponent": "ARI"
    },
    "6": {
     "fantasy_points": 17.8,
     "opponent": "SEA"
    },
    "7": {
     "fantasy_points": 9.2,
     "opponent": "KC"
    },
    "8": {
     "fantasy_points": 18.8,
     "opponent": "DAL"
    },
    "10": {
     "fantasy_points": 11.7,
     "opponent": "TB"
    },
    "12": {
     "fantasy_points": 14.2,
     "opponent": "GB"
    },
    "13": {
     "fantasy_points": 0.7,
     "opponent": "BUF"
    },
    "14": {
     "fantasy_points": 15.1,
     "opponent": "CHI"
    },
    "15": {
     "fantasy_points": 6.1,
     "opponent": "LA"
    },
    "16": {
     "fantasy_points": 10.6,
     "opponent": "MIA"
    },
    "17": {
     "fantasy_points": 11.2,
     "opponent": "DET"
    },
    "18": {
     "fantasy_points": 2.7,
     "opponent": "ARI"
    }
   }
  },
  "2025": {
   "injury_status": "ACTIVE",
   "jersey_number": "85",
   "percent_owned": 98.97,
   "pro_team_id": 25,
   "season_projections": {
    "MISC_FL": 0.5,
    "MISC_FPTS": 147.6,
    "RECEIVING_REC": 76,
    "RECEIVING_TD": 7.5,
    "RECEIVING_YDS": 1036.9
   },
   "team": "SF",
   "weekly_outlooks": {
    "1": "George Kittle is healthy and wealthy for the 49ers' Week 1 matchup against Seattle after signing a big four-year contract extension in the offseason. Kittle's role as a pass catcher should be intensified early on with WR Brandon Aiyuk (ACL) on the PUP list to begin the campaign and Jauan Jennings (calf, contract) uncertain to suit up against the Seahawks. Kittle is coming off a 78-catch, 1,106-yard, eight-TD 2024 campaign, further cementing his place as one of the NFL's elite producers at tight end. The Seahawks were middle-of-the-pack against the position last year, giving up an average of 51.5 receiving yards per game.",
    "2": "George Kittle won't play in San Francisco's Week 2 matchup against New Orleans due to a hamstring injury that landed him on IR. Luke Farrell and Jake Tonges, who caught a TD in Kittle's absence last week against the Seahawks, will be asked to step in at tight end for the 49ers.",
    "3": "George Kittle will miss his second straight game for the 49ers in Week 3 against the Cardinals while he remains on IR due to a hamstring injury. Jake Tonges and Luke Farrell should continue to hold down the fort at TE for Kittle until the latter is able to return. Kittle won't be eligible to suit up again until Week 6."
   },
   "weekly_projections": {
    "5": 12.7,
    "6": 13.1,
    "7": 13.4,
    "8": 11.7,
    "10": 14.6,
    "12": 11.6,
    "13": 13.2,
    "14": 13.4,
    "15": 14.1,
    "16": 14.1,
    "17": 14.5
   },
   "weekly_stats": {
    "1": {
     "fantasy_points": 12.5,
     "opponent": "SEA",
     "team": "SF",
     "updated_at": "2025-10-15T17:40:58.625370"
    },
    "2": {
     "fantasy_points": 12.5,
     "opponent": "NO",
     "team": "SF",
     "updated_at": "2025-09-16T17:08:05.179797"
    },
    "3": {
     "fantasy_points": 12.5,
     "opponent": "ARI",
     "team": "SF",
     "updated_at": "2025-09-23T15:00:13.907272"
    },
    "4": {
     "fantasy_points": 12.5,
     "opponent": "JAX",
     "team": "SF",
     "updated_at": "2025-09-30T15:00:14.035733"
    },
    "5": {
     "fantasy_points": 12.5,
     "opponent": "LAR",
     "team": "SF",
     "updated_at": "2025-10-07T15:00:13.665217"
    },
    "6": {
     "fantasy_points": 12.5,
     "opponent": "TB",
     "team": "SF",
     "updated_at": "2025-10-14T15:00:14.748804"
    }
   }
  }
 },
 "updated_at": "2025-10-22T18:11:05.039158"
}

I hope to continue to refine this so that it can be used for future seasons. Then we can continue to use the bot into 2026’s season.

Anyway, hopefully I can figure out MCP and the knowledgebase this week. Winter is coming so its time to hunker down and build AWS Architectures!

Comments

Leave a Reply