Draft the Stars

DWTS Fantasy League · 20265 images

Draft the Stars fantasy draft board showing team columns, drafted dancers, and rankings

Draft the Stars is a custom web application built to run a Dancing with the Stars fantasy league from draft night through the season finale. The project combines a visual eight-team snake draft, a custom board that records every selection in real time, locked final rosters, weekly judge-score tracking, elimination status, and automatically calculated fantasy rankings. The application is designed as a shared league hub where participants can review their teams, follow scores, see who remains alive in the competition, and track maximum possible points as the season develops.

League setup

Configure a league name, create up to eight teams, and set the first-round order with editable move-up and move-down controls. The draft order automatically reverses each round to create a complete snake-draft format.

Visual draft board

Built a custom image-based draft board that places live selections directly into aligned board slots. Team names appear above their columns, allowing every participant to follow the order, view each roster, and see the full eight-round draft history at a glance.

Roster locking

Finalized the completed draft into a locked shared league record so team names, draft order, and player selections remain fixed throughout the season. Commissioner controls support a code-protected lock and unlock workflow while protecting the published roster from accidental edits.

Weekly scoring

Created a JSON-based weekly scoring workflow that converts confirmed DWTS judges’ totals into fantasy points. Each drafted dancer earns a share of the episode’s round value based on the couple’s score relative to that episode’s maximum possible judge score.

Rankings and elimination tracking

Automatically calculates cumulative team points, active dancers, maximum possible points, and sortable league standings. Eliminated couples remain visible on rosters with role-specific grey styling: pros become dark gray with white text, while celebrities/amateurs become light gray with dark text.

Shared season data

Separated the application into reusable data files for finalized league rosters, season pairings, round values, and weekly results. The public league record stays locked while weekly score updates flow through a dedicated results file, allowing rankings to refresh without changing the completed draft.