Effort, not chore count
Each chore line is name | how often | effort. Frequency accepts daily, 2x week, 3x week, weekly, monthly and every other day. Effort is 1 for light, 2 for normal and 3 for heavy. Leave either out and it defaults to weekly and 2, so a bare list of names still produces something.
The score for a chore is effort times times-per-week. Dishes at effort 2 done daily scores 14. The bathroom at effort 3 done weekly scores 3. Those two are one chore each on a list and roughly five to one in a week, and every household that has ever divided chores by counting them has discovered this the slow way. Weighting is the whole difference between splitting the list and splitting the work.
How week one is filled, and why heaviest first
Chores are sorted by score, largest first, and each is handed to whoever is carrying the least at that moment. Placing the large items first and using the small ones to fill in is what stops the last big chore from landing on someone who is already loaded. Fill in the other order and the small items spread evenly while the big ones pile up at the end.
A perfectly level week is usually not available. If one chore is worth 14 and three people are splitting a total of 30, there is no arrangement that gives everyone 10. The rotation is what fixes that, not the initial assignment.
The rotation, and the guarantee it makes
Each week the entire weekly assignment moves one person along the list. After as many weeks as there are people, every chore is back with the person who started with it, and in between every person has held every chore exactly once. That is a real guarantee, not an approximation: shifting by one each week over a list of N people visits all N positions before repeating. Over a full cycle the loads are exactly equal, whatever the single-week numbers look like.
Monthly chores need a separate rule because they only appear every fourth week. Stepping them by the week number breaks with two or four people — four weeks later is four positions later, which with four people is the same position, so one person would draw the same monthly chore forever. They step by occurrence instead: first time, second time, third time, moving one person each appearance. It takes four times as many weeks to cycle, but it does cycle.
The numbers are the negotiation
A rotation is only accepted as fair if everyone can see the rule that produced it. A wheel that spits out names is resented the first time it hands someone the bathroom twice; a chart with the effort scores printed on it can be argued with, which is exactly what makes it hold. Print the rule with the chart and let people check it.
The difficulty numbers are the part worth arguing about, and that conversation is more valuable than the output. If one person scores a chore 3 and another scores it 1, the usual explanation is that only one of them has actually done it. Settle the numbers together, run a few weeks, then adjust the one or two scores that turned out wrong. Nothing here is stored anywhere, so keep the text and paste it back when you re-run it.
Questions people ask
What if someone wants to keep one chore permanently?
Take it out of the list entirely and remove roughly its weight from that person by deleting a chore or two that would otherwise land on them. If Dev always cooks, cooking is not in the rotation and Dev is carrying its effort invisibly, so the remaining list should be short by about that much. Trying to express a permanent assignment inside a rotation fights the mechanism; adjusting the input is simpler and produces a chart people can read.
How should we set the difficulty numbers?
There is no standard, and that is intentional. A working rule of thumb: 1 for something done in five minutes without dreading it, 2 for something taking twenty or thirty minutes, 3 for something near an hour or that everyone avoids. Time and unpleasantness both belong in the number. Where two people disagree about a chore, that disagreement is the useful output — score it together rather than having one person set the numbers.
Is one week supposed to be uneven?
Often, yes. With chores of unequal weight an exactly level single week is usually arithmetically impossible, and forcing it would mean splitting chores across people mid-week, which nobody actually does. The rotation is the leveling mechanism. Look at the total column over a full cycle rather than at any one week, and if a single week is wildly lopsided, the cause is nearly always one heavy daily chore that should be entered as two.
Does it save the chart?
No. It runs entirely in your browser and holds nothing after a refresh. Copy the text output into a shared note or the group chat — that is also the version people will actually look at during the week. To re-run it next month, paste the people and chores back in and change the start date; identical input gives an identical chart.