Home, travel & daily life

Household Chore Rotator

Fair chore rotation by effort and availability, with per-person totals and a calendar.

Default: today. Weeks are counted from this day.

Chores (required)
Chores
#ChoreHow oftenEffort (min)Day
1min
2min
3min
4min
5min
6min
People (required)

Available days like Mon-Fri or Sat,Sun (empty = every day). Capacity: 1 = full share, 0.5 = half share (e.g. a child).

People
#NameAvailable daysCapacity
1
2
3
4

Try an example: Flat share of three, 4 weeks · Family with a child at half capacity, 2 weeks

How it works

List your recurring chores (daily, weekly, every two weeks or monthly) with how long they take, and who lives with you and on which days they are available. The rotator builds a calendar for up to 12 weeks that balances everyone's minutes (optionally weighted, e.g. half for a child), rotates who does what, shows per-person totals and exports an .ics calendar file.

  • Occurrences: daily chores happen every day; weekly ones once a week on their day; every-2-weeks ones in weeks 1, 3, 5 …; monthly ones every 4 weeks (13 times a year) so they stay on the same weekday. Weeks are counted from the start date.
  • Weekly-type chores without a fixed day are placed on the weekday with the least planned effort so far (that someone is available on), and keep that day.
  • Occurrences are assigned longest chore first (then by date); each goes to an available person with the lowest score = (minutes already assigned + this chore) ÷ capacity + a rotation term of ¼ × chore minutes × (how often this person already did this chore − the least anyone available did it). Ties go to the person listed first. This keeps everyone's effort proportional to their capacity and rotates the chores.
  • Target share = capacity ÷ sum of capacities. Availability limits can make a perfect balance impossible; the totals table shows the actual shares.
  • The .ics file has one all-day event per chore and day (RFC 5545: CRLF line endings, folded lines, stable UIDs derived from the inputs, DTSTAMP = time of calculation).

Sources

For scripts and AI agents

  • JSON API: POST https://householdchorerotator.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://householdchorerotator.usefulweb.site/mcp · tool name household_chore_rotator
Example request
curl -s -X POST https://householdchorerotator.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"startDate":"2026-10-19","weeks":4,"chores":[{"name":"Dishes","frequency":"daily","minutes":15,"day":"any"},{"name":"Vacuum living room","frequency":"weekly","minutes":30,"day":"sat"},{"name":"Clean bathroom","frequency":"weekly","minutes":45,"day":"any"},{"name":"Take out recycling","frequency":"biweekly","minutes":10,"day":"tue"},{"name":"Defrost freezer","frequency":"monthly","minutes":60,"day":"sun"}],"people":[{"name":"Ana","days":""},{"name":"Ben","days":"Mon-Fri"},{"name":"Chen","days":"Wed-Sun"}]}'
Feedback