Bulk-load your player pool and salaries. Columns: name,team,position,salary,bye_week,injury_status,proj_ppg. Position is one of QB/RB/WR/TE/K/DST. Existing players (matched by name + team) are updated; new ones are added. Download template gives you every current player to edit, or examples if you have none yet.
Join requests
When a manager joins a league they create a team that waits here for your approval.
Team
Manager
League
Requested
Leagues β each has its own salary cap and trade limit
League
Cap
Trades
Roster
Active
Pending
All manager and admin accounts
Username
Role
Active teams
Joined
Accounts (CSV)
Pre-create logins in bulk. Columns: username,password,role (role is manager or admin; blank password becomes changeme). Existing usernames are left untouched β passwords are never reset here. Managers can also just register themselves; this is only if you'd rather set up accounts for them.
League clock
Loadingβ¦
Points, the current week, and player locks all follow this clock. A player locks once their game's kickoff passes. Before the season start, roster moves are free; after it, changing players costs a trade. Bumping the current week forward locks in (saves) every team's lineup for the weeks you leave behind. Manage each league's windows and snapshots in the Weeks tab.
Team
Matchup
Kickoff (CT)
Schedule (CSV)
Bulk-load the games for a season. One row per team per week. Columns: season,week,team,opponent,location,date,time,timezone, plus optional team_score,opp_score for finished games (the win bonus uses these). location can be the home team's abbreviation (it works out home/away by comparing to the team), or blank for home / @ for away. time uses AM/PM like 7:20 PM. timezone is ET/CT/MT/PT β kickoffs are converted to Central, which the clock and player locking run on (leave blank to enter Central directly). Leaving the score cells blank won't erase scores you already entered. Each player's schedule and lock time comes automatically from their team's games.
Uploaded stats
Browse and delete the stat lines you've uploaded. Deleting a stat removes that player's points for that week. (Use the Stats CSV on the Players tab to add or overwrite.)
These are the raw stats you uploaded β points differ per league, so pick a league to see points under its scoring.
Data provider
Pull injuries, news, and stats from an outside source instead of (or alongside) manual CSVs. Mock is a built-in simulator that needs no internet β great for testing the live page out of season. Sleeper is a free real feed (injuries, news, weekly stats). Players are matched to your pool by name + position.
Player matches
Check which of your uploaded players line up with the selected provider's feed. Unmatched players won't get injury, news, or stat updates β usually a name/abbreviation spelling difference you can fix in the Players tab, then re-check.
Injuries & news
Updates each matched player's status (Healthy / Questionable / Doubtful / Out / IR) and latest news, shown on the player card. Does not touch official stats.
Player news feed
A separate news source that fills the "Latest news" snippet on player cards, independent of the data provider above (so you can keep Sleeper for injuries and add news here). Tank01 is a paid RapidAPI feed β start on its free tier to test. Your key is stored on the server, not in the app's files.
recent items per sync β higher covers more players (max 500)
Or import news from a CSV
Columns in order: name, team, position, headline, read-more text, source, date. Matched by name + team + position. If a player has multiple rows, the most recent date wins. This overwrites that player's current news.
Weekly stats (optional auto-import)
Pulls a week's official stats into player_stats β the same place your CSV import writes, so your manual CSV stays the source of truth. Use this only if you want to skip the CSV for a week.
Schedule & scores (Tank01)
Pulls a week's NFL matchups and final scores from Tank01 into games β fills opponents on player cards and the win bonus automatically. Uses the same Tank01 key as Player news. Re-run after games finish to pull final scores (it won't overwrite scores you typed in by hand unless Tank01 has a result).
Live tracker
Controls the live page β a separate, unofficial store that resets each week and never affects standings. Choose which APIs it may call, and optionally limit calls to a schedule so you don't burn API quota outside game windows.
Times are Central (match the clock). Outside the windows the live tracker shows the last data and makes no calls. Leave the list empty to never block.
Player news spreadsheet
This grid is your player news β each row shows on the matching player's card (matched by name; team and position only break ties between players with the same name). If a player has more than one row, the most recent date wins. Edit cells directly, upload a CSV, or paste CSV, then Save & apply.
Got raw blurbs to convert? Open the News β CSV converter β β paste a feed, generate the CSV, then copy it into Paste CSVβ¦ or download & Upload CSV here.
Name
Team
Pos
Headline
Read more (expanded text)
Source
Date
Paste CSV
Columns in order: name, team, position, headline, read-more text, source, date. A header row is detected and skipped automatically.
Export
Download the whole database (players, stats, schedule, settings, users, rosters) as a JSON file you can back up or edit by hand.
Import
Upload a JSON file in the export format. Merge adds/updates without deleting; Replace wipes players, stats, rosters, and schedule first. Users are matched by username; new imported users get the password changeme.
Weekly stats (CSV)
Stats are entered per player per week. Pick a week, download the template (one row per player), fill in the numbers, and upload it back. Fantasy points are calculated automatically. Season totals add up from the weeks on their own. Team defenses are players too: add each one with position DST, then fill its defensive columns β def_tds covers defensive and special-teams TDs. Re-uploading a week overwrites those players' rows for that week (only the players in the file).
Point-in-time backups. Restore rolls everything (lineups, rosters, standings, stats, leagues, the clock) back to that moment β but keeps all current user accounts.
Taken
Type
Size
Automatic backups (twice daily)
Your host runs the app only when visited, so a scheduler (cron) is the reliable way to back up at 2:00 AM and 11:59 PM. Set this up once in cPanel β Cron Jobs.
Site name & header notice
The name shows in the header and browser tab across the whole site. The notice appears as a banner at the top of every page β use it for announcements like "Week 5 lineups lock Sunday at noon." Leave the notice blank to hide the banner.
The notice shows as a bar above the header on every page. Style it below.
Notice preview
Server
Restart the app process. Use this after uploading new files (it applies any database changes) or if the site is acting up. The site goes offline for a few seconds and comes back on its own β no one loses saved data.
Deploy an update
Upload the app .zip to update the site without SFTP. It's syntax-checked first, your current code is backed up to .deploy-backups/, and your database, node_modules, and pm2 config are never touched. The site restarts itself when done. Only upload builds you trust β this runs code on your server.
Optional extra lock: require a passphrase for deploys (on top of admin login). Leave blank and save to remove it.
Season weeks
Set the trade/roster window for each week, jump to that week's stats, and manage lineup snapshots β per league.
Auto-generate windows
Fill every week's window from a repeating weekly pattern, then fine-tune any row below.
Week
Trade / roster window (Central)
Stats
Lineup snapshot
Add game
Add player
Weekly stats
Save history
Every time this team was saved, kept forever. Revert makes that saved team their current team β roster and trades-used both roll back to that point.
Edit snapshot
Fix a frozen weekly lineup. Starters (QB/RB/WR/TE/FLEX/K/DST) are what score that week. Change a slot, remove a player, re-grab a team's current roster, or add a player.
Manage teams
Set how many trades a team has used if something gets out of sync. The cap is the league's trade limit.
Team
Manager
Status
Trades used
Add user
Teams belong to leagues β a manager creates one by joining a league from the main app.
Add league
SEASON WEEKS
Standings only sum weeks in this range, up to the current week. Before the trade-count week it's free agency; from it on, changes cost a trade. Set each week's open/close window in the Weeks tab.
STARTING LINEUP
BACKUPS
Roster size: 34 spots. Backups still show as Offense / Kicker / Defense groups, but they share this one total β managers can split it any way (e.g. 11 offense, 0 kicker, 1 defense).
SCORING β YARDS
SCORING β TOUCHDOWNS & OFFENSE
SCORING β KICKING
SCORING β DEFENSE (DST)
Points allowed by the defense:
SCORING β TEAM WIN BONUS
Awarded to a player (or defense) when their real NFL team wins that week. Set to 0 to turn off. Mark the win on the weekly stats upload (a team_won column, 1 = won).