About
Written on night shift, for night shift.
ShiftKit is built by one person who works the same rosters it was designed for.
Why it exists
Every app assumed a life I do not have
I work rotating shifts in emergency services and mining, in Queensland, Australia. My weeks are not weeks. A Tuesday can be the fourth night of a swing or the first day off, and the difference between those two Tuesdays is enormous.
Every roster app I tried was built for a calendar of meetings. It wanted to know what time on Monday, as if Monday meant something. Every wellbeing app assumed I could choose when to sleep, and then quietly judged me for the answer. Neither understood that the shift comes first and everything else is arranged around it.
So I built the thing I wanted on the drive home: a planner that thinks in swings, a way to write down how I actually slept, a number I could glance at before a night shift, and a coffee cut-off I did not have to work out in my head at 3pm.
It is not clever and it is not trying to fix you. It keeps a record and it does the arithmetic. That turned out to be enough.
— Michael Blach, developer
Made here
Built around the places and rosters I know
Made in Townsville, Blackwater, Weipa and Labona, Queensland, by a working shift worker.
Version 1.0.0
More of the app set up your way
This release makes the day-to-day parts of ShiftKit easier to arrange, adjust and find.
- Set a roster swing to repeat until you stop it. About six months of it stays on the calendar and is topped up each time you open the app, and stopping it asks whether to leave what is there or take the untouched days ahead back off.
- Print one month, or two, four or six months from this one, with a calendar page for each.
- The drinks library now carries the tins and sachets found in a crib room: instant coffee, three-in-one sachets, chicory blends and more, each with its own stated serve.
- Duplicate drinks left behind by the first iCloud sync are collapsed back into one, and a Remove duplicate drinks item in the library menu tidies any that remain.
- Importing an itinerary now checks what is already on your calendar and offers to update the day, add it alongside, or leave it as it is.
- Remove a shift time you no longer use from your shift defaults.
- Your roles are remembered as you type them, and can be picked from a list on any shift or site.
- Removing a shift by mistake can be undone from the day it was on.
- The month navigation on iPhone reads left to right: back a month, Today, forward a month.
- Moving between the bottom tabs does less work behind the scenes, so a long roster history no longer makes the app catch up.
- Set your baseline to a rotation of shift kinds, so a seven-and-seven swing or a days-afternoons-nights roster stops stamping every new shift as a day.
- Or set it to casual and locum, where no roster is assumed and a new shift carries forward from the last one you entered.
- A new Reset section gathers the four ways to put the app back: settings to their starting values, the setup pages again, clearing this device, and clearing iCloud with it.
- Arrange the Today cards in the order that suits your shift, or switch off the cards you do not use.
- On Mac, drag the Today panels into a four-column board and keep arrangements of your own in the Layout menu.
- Require Face ID, Touch ID or your passcode before ShiftKit opens, on iPhone, iPad and Mac.
- Set the backup frequency, calendar window, app icon or app lock once and your other devices follow.
- A backup now holds your settings alongside your records, and a restore brings both back.
- Choose from 42 shift colours, then use Mix your own to add colours to the grid.
- Set Time steps to 15 minutes, 30 minutes or an hour for shift times and lengths.
- On first run, add your name, role and home base if you want them in your profile.
- Find About this app and a searchable Help book inside the app.
- After five days of use the app asks how it is going, and can open an App Store review or a message to the developer.
- Duplicate copies of checklist templates left behind by the first iCloud sync are collapsed back into one.
- The roster date control in the Mac toolbar was being clipped, and is now a button that opens a month grid.
- Show the setup pages again on the next launch, or on Mac walk through them straight away.
- Put every preference back to its starting value while leaving all of your records alone.
- Clear everything on this device, choosing first whether the copy in iCloud is kept or erased as well.
Who it’s for
Anyone whose week does not start on Monday
If your roster is handed to you rather than chosen, ShiftKit was built with you in mind.
- Paramedics
- Nurses and midwives
- Emergency responders
- Rescue crews
- Mine site personnel
- FIFO workers
- Security
- Aviation
- Long-haul transport
Limits
What it deliberately does not do
This list matters more than the feature list. Please read it before you rely on the app for anything.
ShiftKit does not
- Act as a medical device. It is not one, and it is not registered as one.
- Diagnose anything, or suggest a diagnosis.
- Assess fitness for duty, or clear you to work a shift.
- Share your data with the developer or with anyone else you have not invited. The only exceptions are things you send yourself: a roster file you choose to send when the reader could not make sense of it, and a support email you write.
- Advise you on what to take, what to eat, or what your pay should be. It records what you entered and reports payslip figures as printed.
- Serve as an approved system of record for your employer.
Readiness is a weighted summary of the entries you typed in. Treat it as a prompt to think, not as a measurement. Anything covered by clinical record-keeping obligations belongs in your employer’s system, not here.
How it’s built
Native, local, and boring on purpose
No web view, no cross-platform runtime, no third-party analytics. Apple frameworks doing what Apple frameworks are good at.
- Interface
- SwiftUI, one codebase shared across macOS, iOS and watchOS. The one iOS app is built for both iPhone and iPad.
- Data
- SwiftData, stored on device and synced through your own private CloudKit database.
- Charts
- Swift Charts for trends, with no external charting library.
- Calendar
- EventKit, used only to write and maintain the shift events ShiftKit created.
- Purchases
- StoreKit 2, handled entirely by Apple. The developer never sees payment details.
- Third-party SDKs
- None. No analytics, no advertising, no crash reporting, no tracking.
- Sharing
- CloudKit sharing. One-way per invitation, revocable at any time.
- Platforms
- iPhone, iPad, Mac and Apple Watch, from a single Universal Purchase. The Watch app syncs through the paired iPhone.
Contact
Questions, corrections, feature requests
Email goes straight to me. If something in the app is wrong, or a roster pattern you work is not supported, tell me and I will look at it.