Household Chore Rotator
Fair chore rotation by effort and availability, with per-person totals and a calendar.
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 namehousehold_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"}]}'