{"id":44698358,"url":"https://github.com/jjti/ff","last_synced_at":"2026-02-15T08:36:28.762Z","repository":{"id":40307991,"uuid":"141835376","full_name":"jjti/ff","owner":"jjti","description":"fantasy football draft assistant with projections from ESPN, CBS, and NFL","archived":false,"fork":false,"pushed_at":"2025-08-21T23:56:10.000Z","size":25142,"stargazers_count":62,"open_issues_count":5,"forks_count":17,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-08-22T01:26:41.531Z","etag":null,"topics":["cbs","draft","espn","fantasy","fantasy-football","football","forecasting","yahoo"],"latest_commit_sha":null,"homepage":"https://www.ffdraft.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jjti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"jjtimmons"}},"created_at":"2018-07-21T18:05:04.000Z","updated_at":"2025-08-21T23:56:14.000Z","dependencies_parsed_at":"2024-08-28T23:05:38.945Z","dependency_job_id":null,"html_url":"https://github.com/jjti/ff","commit_stats":null,"previous_names":["jjti/ff","jjtimmons/ff"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jjti/ff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjti%2Fff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjti%2Fff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjti%2Fff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjti%2Fff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jjti","download_url":"https://codeload.github.com/jjti/ff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjti%2Fff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29473718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T06:58:05.414Z","status":"ssl_error","status_checked_at":"2026-02-15T06:58:05.085Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cbs","draft","espn","fantasy","fantasy-football","football","forecasting","yahoo"],"created_at":"2026-02-15T08:36:28.161Z","updated_at":"2026-02-15T08:36:28.755Z","avatar_url":"https://github.com/jjti.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jjtimmons","https://www.buymeacoffee.com/ffdraft"],"categories":[],"sub_categories":[],"readme":"# ffdraft.app\n\n\u003cimg width=\"1440\" alt=\"Screen Shot 2022-08-06 at 9 41 54 AM\" src=\"https://user-images.githubusercontent.com/13923102/183251462-b66d5479-119a-4933-a96d-0198bb569edb.png\"\u003e\n\nAn app for drafting the best fantasy football team possible: [www.ffdraft.app](https://www.ffdraft.app/).\n\nUses projections from [ESPN, CBS, and NFL](#sources) and [value over replacement](#value-over-replacement) estimates to optimize your roster.\n\n\u003ca href=\"https://www.buymeacoffee.com/ffdraft\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\n## Value over replacement\n\nThe app ranks players by their [value over replacement (VOR)](https://support.fantasypros.com/hc/en-us/articles/115005868747-What-is-value-based-drafting-What-do-player-draft-values-mean-VORP-VONA-VOLS-VBD-). Players' `VOR` is the difference between their expected season-end projection and that of the `n+1`th ranked player (where `n` in the count of starters in that position in the league).\n\nWhy is this useful? Because it tells you, the drafter, how to prioritize players across positions. You'll be informed when choosing between the RB or QB in round 6.\n\n### Example\n\nIf there are 10 teams we expect the `VOR` of the best QB to be his expected season-end points minus the points of the 11th best QB. In the example below, it's better to pick the RB because his expected value far exceeds the replacement player who will be available from waivers. The RB1 offers 62 points of greater value over the season (`136 - 74`).\n\n```\nQB1: projection = 394, vor = 74 (394 - 320)\nQB11: projection = 320, vor = 0 (320 - 320)\n\nRB1: projection = 253, vor = 136 (253 - 117)\nRB31: projection = 117, vor = 0 (117 - 117)\n```\n\n### Details\n\nCalculating VOR is tricky because:\n\n- it depends on the league size. Eg: if the league has 16 teams, RB values tend to increase a lot\n- it depends on the league roster format. Eg: if the league has 2 QBs per team, that improves QB values\n- it depends on league scoring. Eg: if rushing touchdowns are 4pts and recieving touchdowns 6pts, that improves WR's values\n- it depends on other drafters. Eg: if the first 6 rounds are all RB picks, that improves the RB's values. The waiver RB for replacement will be worse\n\nThe app adjusts for each of the complexities above. It calculates player's VOR dynamically based on:\n\n- league size\n- league roster format\n- league scoring\n- average draft position\n\n### Sources\n\nPlayer projections are updated daily from ESPN, CBS, and NFL. These projections are as granular as the number of rushing touchdowns and fumbles expected per season. That granularity - versus a static ranking - is needed to adjust for league-specific scoring.\n\nEach player's season-end projection is the average from across ESPN, CBS, and NFL. I expect the average of all sources to be more accurate than any on their own.\n\nAverage draft position are retrieved from [Fantasy Pros](https://www.fantasypros.com/nfl/adp/overall.php).\n\n## Suggestions\n\nTags next to players indicate:\n\n1. pick recommendations\n2. whether the player will be drafted soon\n3. BYE week overlap with other players on roster\n4. RB handcuffs\n\nWhile the suggestions are useful, it's usually enough to just draft the top player ranked by VOR.\n\n## Controls\n\nClicking on a player drafts him to the active team (currently drafting). You can skip the current turn (not drafting a player), undo the last round's pick (if they make a mistake), or remove a player (if the player was drafted already but you missed it).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjti%2Fff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjjti%2Fff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjti%2Fff/lists"}