Schedule Creator
Plans wedding hair and makeup backward from ready time
- In development
- macOS
Schedule Creator builds the getting-ready timeline for a wedding morning. I enter the time everyone has to be done and mark each artist as hair, makeup, or both. Then I add the wedding party in batches: attendants, mothers and grandmothers of the bride and groom, and a flower girl. The bride's full session ends at the ready time, and everyone else is placed backward from there, with hair before makeup.
The first version was a Python script that asked questions in the terminal and wrote a PDF. On September 16, 2025 I rebuilt it as a SwiftUI app for the Mac. My hand-written scheduling algorithm left gaps and broke on some mixes of artists and clients, so at the end of March 2026 I moved the assignment step to Apple's on-device model. The model decides which artist does each service and reads any rules I type in plain English. Regular code handles the clock math and checks the plan. When a check fails, the model gets the list of errors and tries again.
Features
Artists by skill
Each artist is set to hair, makeup, or both. The scheduler only gives an artist services they can do.
Quick add for the wedding party
Steppers add attendants, mothers, and grandmothers of the bride and groom in batches, each split into hair and makeup, hair only, or makeup only. The flower girl gets hair only.
Works backward from the ready time
The bride's full session ends at the ready time. Everyone else is packed in before it, and anyone getting both services has hair done first.
Custom rules
I type rules one per line, like keeping the bride and her mother with the same artist. Apple's on-device model uses them when it assigns artists, and the schedule tab shows its reasoning.
Checks and retries
The app moves any service the model gave to an artist without that skill, fills in anything it skipped, and checks for overlaps. If problems remain, the model gets the list of errors and tries again, up to three attempts in total.
Drag and drop editing
Drag an appointment to another artist or time on the timeline, or park it in the unassigned bin. The grid interval adjusts from 5 to 120 minutes.
Adjustable durations
Hair and makeup start at 45 minutes each and can be set anywhere from 15 to 120. The bride's session defaults to 180 minutes and goes from 60 to 300.
PDF export and printing
Exports a letter-size PDF laid out as a grid, with a column for each artist and colors for hair, makeup, and bride appointments. The same schedule can go straight to the printer.
Release history
6 milestones since September 2025.
- Milestone
April 2026
On-device AI scheduling
AI schedulingLatest- Apple's on-device model picks which artist does each service, and regular code places every appointment on the clock.
- A custom rules box takes plain-language rules, one per line, and passes them to the model.
- A service given to an artist without that skill moves to the least busy artist who has it. If the plan still fails its checks, the model gets the errors, with up to three attempts in total.
- The schedule tab shows the model's reasoning and a generation log.
March 2026
PDF export redrawn as a time grid
PDF grid- One column per artist, with a time column down the left side.
- A color key for hair, makeup, and bride blocks, and a header with the date, time range, and artist and client counts.
- Long schedules continue onto more letter-size pages.
September 2025
Drag and drop editing and saved settings
Drag and drop- Appointments can be dragged to another artist or time on the schedule, with a bin for unassigned items.
- The timeline interval adjusts from 5 to 120 minutes.
- Hair, makeup, and bride durations are saved between launches.
Rebuilt as a SwiftUI app
SwiftUI app- Setup, Schedule, and Export tabs.
- Artists, clients, and appointments stored with SwiftData.
- PDF export with a timetable and a list of each artist's appointments.
Started the project
Started- Created the Xcode project from Apple's SwiftUI and SwiftData template.
Python prototype
- A terminal script asks for the ready time, each artist's skills, and who in the wedding party needs hair or makeup.
- The bride gets a three-hour block ending at the ready time, and everyone else gets 45 minutes per service.
- Writes the schedule to a PDF with ReportLab.
Roadmap
- Now
On-device AI scheduling
The Foundation Models scheduler, custom rules, and retry loop are still only in my local build.
- Next
One-window layout
Setup moves into a sidebar on the left and the schedule fills the right, so I can change inputs and regenerate without switching tabs. The sidebar sets artists and clients by count, with the bride always included.
- Later
Pick the bride's artist
Right now the bride always goes to the first artist in the list. My design notes call for letting a custom rule choose her artist.
FAQ
What does it run on?
The Mac. AI scheduling needs macOS 26 with Apple Intelligence turned on, and the app shows an error if the model isn't available.
Does it send wedding details to a server?
The assignment step uses Apple's on-device model. I haven't written any code that sends schedule data over the network.
Which artist gets the bride?
The first artist in the list. Her full session is set to end at the ready time.
Can I change the schedule after it's generated?
Yes. Drag any appointment to a different artist or time on the timeline, or change the rules and regenerate.
Can I download it?
Not yet. It only runs from my own build for now.