# Household Chore Rotator > Fair chore rotation by effort and availability, with per-person totals and a calendar. 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. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://householdchorerotator.usefulweb.site/ (interactive tool at https://householdchorerotator.usefulweb.site/tool) - JSON API: POST https://householdchorerotator.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://householdchorerotator.usefulweb.site/api/v1/tool) - OpenAPI: https://householdchorerotator.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://householdchorerotator.usefulweb.site/mcp - tool `household_chore_rotator` ## Inputs - startDate (date): Start date - Default: today. Weeks are counted from this day. - weeks (integer): Weeks to plan - chores (table, required): Chores - people (table, required): People - Available days like Mon-Fri or Sat,Sun (empty = every day). Capacity: 1 = full share, 0.5 = half share (e.g. a child). ## Method - 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).