AutoPilot · Family Logistics Planner v52.8
Choose a start date to begin.

What day do you want to start the plan?

Choose the first day. AutoPilot will refresh every saved calendar, build the next 10 workdays, and open the plan for editing. Saved calendars, locations, work sites, rules, and NonZero settings stay intact.

Now load the family schedules

This pulls the latest events from every saved feed, reads Kira's work schedule, builds the initial recommendations, and then opens Day 1 automatically. You can refresh the feeds again from the Planning cycle bar at any time without wiping your edits.

Nothing else to do on this screen.

10-day family plan

AutoPilot has already recommended work sites and family transportation. Review the plan and change only the exceptions. Changes save as you make them.
Use this for unusual items only. Your ordinary week is already recommended as Remote M/F · Weirton T/Th · Wheeling Wed, with pickup/drop-off recommendations built around the family schedule. AutoPilot applies exceptions when you refresh, print, or finalize.
Review as much or as little as you need before generating the preliminary plan.
Review this draft with Kira
This is the one-page 10-day preliminary plan. If something needs to change, click Edit this day, make the change, then regenerate the preliminary plan.
WHEN IT LOOKS RIGHT → FINALIZE PLAN

Preliminary 10-day plan

One page · 10 workdays · work locations · events · drop-offs · pickups
Preliminary plan ready for review.
Final plan ready
Everything below comes from the same finalized 10-day plan.
FRIDGE · CALENDAR · BOSS MESSAGE · IPHONE VIEW

Final family logistics plan

Use whichever output you need.

Message to Phil

Quick iPhone reminder

Publish AutoPilot to NonZero

Publishes the current privacy-safe seven-day AutoPilot agenda cache into autopilotAgenda only. Workout sessions, streaks, timers, and all other NonZero state remain untouched.

Finalizing the plan will also auto-publish when Auto-publish is enabled in Settings.
AutoPilot
Family Logistics Planner
One family. Many calendars. One operating plan.
A LukaLab AI Creative product | Pittsburgh, PA | All Rights Reserved
Plan the next two weeksSet the planning window, Kira schedule, work assumptions, then Generate.
Autosave ready
Decision variable: Chris’s work location, home departure, onsite arrival, work departure, and remote days. AutoPilot reads the Primary Family Calendar and connected source calendars directly. Kira’s schedule is auto-detected only from the Primary Family Calendar; weekdays without a detected schedule entry default to Early - Main Hospital. Kira is only treated as locally available for afternoon transport after her 30-minute commute home.
Persistence: changes autosave in this browser. Permanent setup and the current 2-week cycle are stored separately, so starting a new cycle keeps your sites, addresses, child names, commute rules, and other standing assumptions. The toolbar also tells you whether your downloaded OneDrive backup is current or out of date. Use Download desktop/fridge family plan after your weekly sync to create a shareable snapshot for Kira.

B. One-time setup — standing rules

Child Identity Resolver: AutoPilot uses actual child names and aliases whenever possible. Priority: calendar owner mapping → name/alias match → generic role word → Unassigned / Verify.

1. Kira Schedule

AutoPilot detects Kira’s schedule from the Primary Family Calendar using entries labeled North, Star, Late, or Off. Weekdays without a detected schedule entry default to Early - Main Hospital (6:00 AM–2:30 PM). Manual corrections remain available below. Changing the planning start date automatically replays saved detections and refreshes the Primary Family Calendar for the new window. Kira’s configured commute is added to shift end before she is considered available for afternoon transport.

DateKira shiftAuto hoursWork locationHome arrival (before activity drive)
Calendar connectionsAll calendar connections live here: Primary Family, TeamSnap, GameChanger, school, and other feeds.
Saved connections: AutoPilot stores subscriptions in this browser. Keep/overwrite the same production HTML filename to preserve the existing local app storage context. If this page shows 0 saved calendars unexpectedly, open your prior production file or restore your AutoPilot backup rather than re-entering every feed.

2. Calendar Hub — family + team calendars

Source architecture: Kira’s shared iOS calendar = Primary Family Calendar and is the only calendar used for Kira Schedule auto-detection; TeamSnap / TeamSnapOne / GameChanger = Team Schedule; school feeds = School Calendar; manual entries = Override. AutoPilot reads these original sources directly; no consolidated calendar intermediary is used. Availability inference and transport inference are separate: only events classified Transport Required can create driver/commute tasks.

Wire the original calendars directly into the planner. Use the main shared iPhone calendar as your family source of truth, then add GameChanger, TeamSnap, school, gymnastics, Ultimate, or any other ICS/webcal calendar separately.

📅 Kira Family CalendarPRIMARY
Role: Primary Family Calendar. This source wins de-duplication conflicts and should contain the family logistics you maintain in iOS. Best option: paste its public/subscription webcal:// or https:// ICS link. If you only have an exported .ics file, drop or upload it here. Re-importing the same source replaces its prior planning-window events instead of creating stale duplicates.
Team / activity calendarsTEAM SCHEDULE
Paste one calendar link per line. TeamSnap, TeamSnapOne, GameChanger, Google public ICS, Apple/iCloud, and generic ICS/webcal subscription links are accepted. Optional label format: Ryan Soccer | webcal://…. Plain links work too.
Upload calendar files
Drop .ics files here
or choose multiple team/calendar files at once
Calendar sources
No calendar source imported yet.
Calendar Sync
AutoPilot refreshes every saved calendar once when the app opens and again immediately before Generate.

Transport intelligence

AutoPilot separates calendar context from actual child transportation. Only Transport Required events create driver assignments or change Chris's commute/departure time.

Primary Family Calendar rule: ambiguous events never become transportation tasks automatically. TeamSnap / TeamSnap ONE / GameChanger remain transport-eligible by default.

Smart de-duplication

Automatically collapse duplicate events imported from multiple calendars. Events are treated as duplicates when their normalized title, date, and start time match, with an optional time tolerance.

De-duplication is enabled.

Privacy keyword filter

Events containing any keyword below in the title, notes, or location are excluded locally before they enter the planner. One keyword or phrase per line.

No privacy keywords configured.
Calendar help
iPhone/iCloud: paste the exact link produced by Calendar → Calendars → ⓘ → Public Calendar → Share Link. The planner accepts webcal://, webcals://, http://, and https://, extracts links even when surrounded by copied text, and retries Apple-specific host variants automatically. If Apple blocks browser access, the planner shows an Apple-specific download/import fallback instead of treating the link as invalid.

GameChanger / TeamSnap: copy each team's calendar subscription link and add it directly above. Keeping each team separate allows refreshes to replace that team's events cleanly when practices move or games are cancelled.

Recurring events: AutoPilot supports daily, weekly, monthly, and yearly recurrence patterns plus cancellations, excluded dates, and moved single instances.

Calendar Gateway (recommended for reliable team-calendar sync): GitHub Pages cannot override CORS restrictions imposed by Apple or other calendar hosts. If you deploy the tiny companion proxy included with v32, paste its HTTPS URL here once. The planner will use it only after a direct calendar fetch fails.
Review & FinalizeOne workspace for the entire first-draft review. Adjust the workday, arrival/departure, child, transport legs, driver, or location here. Nothing in this tab should erase the generated plan.

Two-Week Finalization

Finalize the draft from top to bottom. Workday corrections and every family activity are editable in this single section.

1. Work scheduleOnly change what was marked up after the first draft.
2. Activities & transportationEvery commitment stays visible and editable, including items AutoPilot already handled.
Changes save automatically. Manual edits in Review & Finalize update the current plan in place; they do not send you back to Generate.
Outputs & ShareYour finalized plan only: calendar view, mobile agenda, work plan email/Outlook FYI, print, and downloads.
Setup & work locationsSaved Chris/Kira work sites and addresses, recurring practices, ad-hoc commitments, and permanent assumptions.

Work Locations — Chris

Add every location Chris may work from and enter the full street address. With Live Address Routing enabled, AutoPilot calculates home → work and work → activity travel from the saved address; fallback minutes are used only if live routing is unavailable.

Site nameRoleUse frequencySite addressCommute from home (fallback min)Typical office departureMin useful onsite hrsSoft arrival preference

Work Locations — Kira

Add every hospital, office, clinic, or other site Kira may work from. Enter full addresses so AutoPilot can calculate work → home travel more accurately before deciding when Kira is available for family transportation.

Site nameFull street addressFallback work → home (min)
Kira shift → work-site mapping
Calendar inference still identifies Early Main, Early North, Star, Late Main, or Off. These mappings tell AutoPilot which saved physical work location/address applies to each shift type.

3. Saved Activity Locations

Create durable location rules tied to a specific connected calendar, child, and activity type. Example: choose Sam Soccer + Practice, enter the practice-field address once, and AutoPilot will reuse it for every practice from that feed. Specific full addresses supplied by the calendar still win.

Rule nameCalendarChildActivity typeInclude wordsExclude wordsSaved venue / full addressFallback drive
Recommended: link rules to the actual calendar whenever possible. Example: Sam Soccer Practice · Calendar = Sam Soccer · Child = Sam · Type = Practice · Address = practice field. Include/exclude words are optional refinements. Rules apply automatically on import/refresh and can also be applied immediately to the current two-week activities.

4. Recurring sports practices

Create a practice pattern once. It automatically populates every applicable 2-week cycle and remains saved with your permanent setup.

ChildSport / practiceDaysStartEndSite / addressDrive fallbackEffective fromThroughDropPickup
Use recurring practices for stable weekly patterns. GameChanger/TeamSnap subscriptions remain the source of truth for games, tournaments, and practices that change frequently. Imported venue/location fields are used for live routing when the feed supplies them.

5. Fixed input — ad-hoc commitments

Only enter items that constrain the two-week period.

DateWhoTypeStartEndLocation / addressFallback drive from homeImpact

6. Saved Data & Calendar Refresh

Use these controls when you want AutoPilot to reread saved setup or pull fresh calendar events. The Calendar Gateway is only a fetch helper; it does not store your AutoPilot settings.

Reload saved settings rereads your locally saved work sites, recurring locations, rules, and current cycle. Refresh calendars now fetches the latest events from every saved calendar (using the Gateway when direct access is blocked). Neither action clears your manual final-plan overrides.

7. NONZERO Wall integration

Publish a privacy-safe multi-day family logistics summary into the same canonical cloud state used by the NONZERO Roku Wall. AutoPilot never replaces workout, timer, pairing, or Wall-mode state.

Read-only dashboard contract: AutoPilot merges only autopilotAgenda into NONZERO cloud state using revision-safe writes. The Wall shows LIVE when the current schedule is fresh and STALE when it ages out.