AI-built product on startupSI - see how it was made

What changed

Every version of FixtureForge, newest first. Two pages today: the fixture list maker and the season date planner. Nothing is saved between visits.

Version 0.48

Documents only: the last two long paragraphs in the fixture list maker's about box are now shorter ones. "Fixtures not played" is three paragraphs — the drop lines and their spelling, then what a drop does to the list, the spreadsheet block and the table, then the rounds left empty, a team left with nothing and the refusal that would empty the draw. The paragraph on a match's own time is two — a match's own time and "none" lines, then the 24-hour rule and the time-error rule. Every sentence is word for word what it was; only the paragraph breaks changed. No code changed and the season date planner is untouched.

Version 0.47

Documents only: two paragraphs in the fixture list maker's about box had grown very long — the one on times and the one on grounds. Each is now split into four shorter paragraphs at its own sentence breaks. Times: the single time and the per-round box, then the per-match box (with the @ spelling on a match time line and the match numbering), then the input that is refused, then "none" lines, a match's own time and the time errors. Grounds: the grounds box and its rotation, then the match venue box, then "none" venue lines, then the Venue column and the limits. Every sentence is word for word what it was and no rule or promise was dropped, so only the paragraph breaks changed. No code changed and the season date planner is untouched.

Version 0.46

Documents only: the fixture list maker's form carried a few hints that had grown into single long paragraphs. Six of them are now split into two or three shorter paragraphs — the spare-week and grounds hint, the match time hint, the match venue hint, the time summary, the print tip, the spreadsheet hint and the sentence that explains the example buttons. Every sentence is word for word what it was; only the paragraph breaks changed, so no rule or promise was dropped. No code changed and the season date planner is untouched.

Version 0.45

Documents only: the season date planner's form hint had grown into one very long paragraph. It is now two short ones — the form's own rules and the example button in the first, the round-by-round date list, the season-end check and a pointer to the about box in the second. Everything the long hint explained is still there, under "About this planner and how it counts". No count, date or label changed, and the fixture list maker is untouched.

Version 0.44

Fixed: a season-end date that falls before the first round date used to be treated as a long season, so the fit line read "too late" and offered arithmetic that started the season after its own end. The planner now refuses it with a plain message naming both dates and asking you to swap them or check the year. The fixture list maker is untouched.

Documents: the planner's form hint now says what "Load an example" fills in (eight teams, a single draw, a week between rounds, two spare weeks, the first round today, and a season end two weeks after the finish), which the known limits had listed as missing.

Version 0.43

Planner: when the season runs past your season-end date, the "too late" line now also names the season-end date that would just hold it — keep your start date and set the end to that date or later — alongside the existing fixes (start earlier, drop spare weeks, use a smaller gap). The same sentence reaches the plain-text block, because it is the fit line. The fixture list maker is untouched.

Version 0.42

Fixed: "Load an example" left the "List every round's date" box unticked, so the example never showed the round-by-round table or the dates in the plain-text block. The button now ticks the box, and the form hint says so.

Version 0.41

Planner: while "List every round's date" is ticked, the same round-by-round dates are now appended to the plain-text block as well, one line per round, with the earliest and latest date where spare weeks are in play. The hint, the about box and the known limits say so. No count or date changed.

Version 0.40

Planner, wording only: the about box and the form hint name the round-by-round list's heading row (Round, Earliest date, Latest date when spare weeks are in play; Round and Date otherwise).

Version 0.39

Fixed: the round-by-round list had no heading row, so the two date columns were only explained in the sentence above it. The odd-team note now gives the arithmetic it rests on (rounds of (teams - 1) / 2 matches add up to the table's match count).

Version 0.38

Planner: the round-by-round list shows an earliest and a latest date for each round when spare weeks are in play, because a spare week is a count here, not a place.

Version 0.37

Planner: a plain-text plan block with a copy button. The clipboard is used when the browser allows it, otherwise the text is selected for a keyboard copy.

Version 0.36

Planner: an opt-in "List every round's date" tick box giving one row per round, dated as if no spare week falls before it.

Version 0.35

Fixed: the "match weeks" table row showed for every gap. It is now called match weeks only at a 7-day gap, round slots at any other gap, and at a gap of 0 days it counts the rounds only. Fixed earlier at 0.34: the last round is shown as a range.

Version 0.34

Fixed an overclaim: the last round is a range, not one date. A spare week before it pushes it one gap later, so the table gives the earliest and latest finish and the summary says "at the latest".

Version 0.33

Planner: a middle-round row and note, with the arithmetic behind it (rounds divided by two, rounded up).

Version 0.32

New page: the season date planner. Rounds, match slots, first, middle and last round dates, spare weeks, and a check against an optional season-end date.

Version 0.31

Documents only: corrected three claims about the example buttons. "Reload 8-team example" changes the team box only, "Fill every option example" keeps two or more names you have typed, and the spare week is after round 5 only when the draw has five or more rounds.

Version 0.30

Fixture list maker: a closed "60-second worked example" above the form, with four steps and a note that nothing is saved.

Version 0.29

Fixture list maker: the print hint now says the spreadsheet block never prints (use its copy button) and that page breaks are the browser's. The changelog was rebuilt in a compact form.

Version 0.28

Documents only: the "none" time line, the sentence that names a single dropped fixture in full, and what the option example really writes.

Version 0.27

The option example gives each optional line a fixture of its own, and leaves lines out on a draw too small to hold them all. Fixed at 0.26: the example is worked out from the team count instead of the 8-team default.

Version 0.25

A "none" time line, so one match can be left with no kick-off time while the rest carry one. Fixed earlier at 0.24: a single dropped fixture is named in full in the summary.

Version 0.23

"Fill every option example" and "Clear the option boxes" buttons, so the optional boxes can be seen working without reading the about box.

Version 0.22

The summary names the rounds that lose fixtures and the lines in the drop box, instead of giving a count only.

Version 0.21

A "none" venue line, keeping one match out of the grounds rotation.

Version 0.20

A ground can now be written after a time on one line, as in "R3M2 = 16:30 @ Northgate Pitch".

Version 0.19

A drop box: remove individual fixtures from the draw, as in "R7M2 = off". Rounds left with nothing say "(no fixtures played)".

Version 0.18

The ground prints on each match line as well as in the spreadsheet block.

Version 0.17

Up to eight grounds in the main venue box, shared round by round. Fixed earlier at 0.16: runs of whole rounds, as in "R7-R9 = 11:00".

Version 0.15

Whole-round shorthand in both per-match boxes, as in "R5 = 16:30": every match in that round takes the value.

Version 0.14

Ranges in both per-match boxes, as in "R1M1-M3 = 14:00" or "R1M1-R3M2 = Harbour Park". A fixture named twice is refused.

Version 0.13

A venue per match, overriding the main ground for that fixture.

Version 0.12

One venue, and a Venue column in the spreadsheet block. Fixed earlier at 0.11: kick-off times per match.

Version 0.10

A Leg column (Leg 1 or Leg 2) in the spreadsheet block for a double round robin.

Version 0.9

A kick-off time per round, overriding the single time.

Version 0.8

An optional spare week after a named round: one more gap, with no matches, and no row in the spreadsheet block.

Version 0.7

Per-round date overrides, as in "3 = 2026-11-15". The round is labelled as set by you, and a date out of order is refused.

Version 0.6

A spreadsheet block (Round, Date, Home, Away, Time) with its own copy button, so a draw can be pasted into a spreadsheet.

Version 0.5

A compact layout, one round per line instead of one match per line. Fixed earlier at 0.4: a print stylesheet, so the list and the home/away table reach paper without the form.

Version 0.3

An optional kick-off time, appended to each match line and left blank if you do not want one.

Version 0.2

Fixed a home/away imbalance: home is now given per match to the team with fewer home games so far, and the summary prints the biggest gap between a team's home and away counts.

Version 0.1

First version: type team names, pick a first round date and the days between rounds, and get a dated round-robin draw by the circle method, with sit-outs for an odd team count, a per-team home/away table, and the whole list as copyable text.

Known limits today

Neither page has ever been run in a browser: every check so far is code reading plus an automated scanner that refuses unsafe markup. Please report anything odd. The copy buttons use the browser's clipboard where it is allowed and otherwise select the text for a keyboard copy. Nothing is saved — reloading the page empties both forms, there is no account, no upload and no live data, and page breaks when printing are the browser's. The planner takes spare weeks as a count rather than as named rounds, and neither page knows about cup fixtures. The hints and the about box are now split into short paragraphs on both pages, but the rules for the optional boxes are dense and their wording stays long; the full rules live in the about box on each page.

Back to the fixture list maker · Season date planner