sports / fix the cfp

Fix the CFP is a static site that proposes fixes for the College Football Playoff.

The proposal

The fixes:

  1. Expand to 16 teams with no byes: doubles on-campus playoff games and removes long layoffs
  2. Eliminate automatic qualifiers: select the top 16 teams with no guaranteed bids for conference champions
  3. Replace the selection committee with the AP poll: 62 independent sportswriters vote
  4. Eliminate conference championship games: regular season record decides the champion
  5. Assign bowl locations by proximity to top seeds: top seeds travel less
  6. Move recruiting window after the championship: teams play the postseason without recruiting
  7. Move non-playoff bowls to Week 1: bowls become season openers with full rosters

Architecture

The site uses the same pattern as my blog. A Go static site generator compiles the HTML templates and fingerprints the CSS. Cloudflare Pages serves the output.

The site is one main.go (about 200 lines) and one HTML template. It has no Markdown parser or syntax highlighter.

CSS inlining

The build inlines the CSS, so the page is one HTTP request:

<style>
  {{.InlineCSS}}
</style>

Bracket

The bracket is flexbox with no JavaScript:

.bracket {
  display: flex;
  gap: 1rem;
  min-width: 900px;
  padding: 1rem 0;
}

.round {
  display: flex;
  flex-direction: column;
  min-width: 180px;
}

Spacing groups the games by region. The 12-team and 16-team brackets use different spacing to align games with later rounds.

FAQs

The FAQs use <details> and <summary>, with no JavaScript:

<details class="faq">
  <summary>Why not 12 or 24 teams?</summary>
  <p>A 12-team field leaves too much to chance...</p>
</details>

← All articles