Change log
v4.3 (2026-11-08) Apps: add an app by its web link (for example its Cloudflare pages.dev address). Linked apps open in their own tab, always at the latest version, and show their version when their site allows it. Apps you remove stay removed. apps.json can list links as well as files.
v4.2 (2026-11-08) Getting started: opens on first use (and from the Getting started button at the top) with three steps (add your schedule, pick your name, set up pay) and a rundown of everything ShiftDrop does. Fine print next to every file picker lists the file types it takes.
v4.1 (2026-11-07) Ready for Cloudflare Pages: the offline copy is saved under the site address instead of index.html (Cloudflare redirects /index.html to /, which iPhone won't accept from an offline copy), and bundled apps load whether or not the host drops the .html ending.
v4.0 (2026-11-07) Apps button: "Apps made by me" holds your other single-file apps (Auto Log, Gun Vault, Budgeting App and any you add). Each shows its name, icon and version read from the file; tap to open it full screen inside ShiftDrop. To update, tap Update and pick the new file (or redeploy with a newer file in the apps folder); a newer version replaces the old one and the app's data stays.
v3.9 (2026-11-07) Pay is set up by payday: Pay settings asks for your next payday and which days that check pays for (the 2 weeks ending a week before payday, or ending the day before). The pay card shows your next paycheck (e.g. Nov 13 paycheck, covering Oct 23 \u2013 Nov 5) with the period you're working now under it, and the hours table shows the payday on each row.
v3.8 (2026-11-05) Cleaner This week and pay period cards: on phones each takes the full width; the pay period card is a short table (worked so far, still scheduled, projected) with a progress bar, all hours as h:mm, and one short line for a day with no times.
v3.7 (2026-11-05) Time card: pick several ADP photos at once. Each is read in turn and the days are combined; a day that shows up in two photos keeps the more complete read.
v3.6 (2026-11-05) Gemini spiff reading counts rows instead of following them by eye: it finds your row number in the User/Tickets columns and takes that same row number in every other column, because on a photographed sheet the right-hand columns sit about a row higher than the left. If the total it reads doesn't match that row number in the Total column, it reads again.
v3.5 (2026-11-05) Pay period card leads with the hours you've worked so far this pay period (from your logged times) and what that pays, then the shifts still scheduled and the projected total for the period.
v3.4 (2026-11-05) Log times on any past day, including days off or days not on a loaded schedule: tap the day on the calendar, or use Enter times on its row in the time card table (every day of the current pay period is listed).
v3.3 (2026-11-05) Pay period card: hours use your logged times where you have them and the schedule elsewhere, the gross shows its math (hours x rate + spiff), days in the period with no schedule loaded are named, and a reminder says where to change the pay period start.
v3.2 (2026-11-05) Spiff pop-up says which reader filled it (Gemini or the phone) and, when Gemini wasn't used, why, including Google's own error. Gemini tries other Flash models if one isn't available, accepts item counts by name or by position, and gets a second look when the counts don't add up to the total.
v3.1 (2026-11-05) Gemini setup steps in Pay settings, a privacy warning to scribble out other people's info before sending a photo, and a reminder in Spiff payouts when a key is set.
v3.0 (2026-11-05) Gemini key in Pay settings: spiff sheet photos read by Gemini (tickets, AAMPT, bonus, every item count and total), checked against your total. Falls back to the on-phone reader.
v2.9 (2026-11-05) Breaks vs lunch: each gap between punches is a Lunch or a Break; log as many clock out/in pairs as you need. ADP photo reader: row dates checked against the weekday and Daily Total, a lone Out time handled, one-digit misreads corrected from the hours.
v2.8 (2026-11-05) End schedule saves a full record (shifts, punches, lunches, hours, spiffs, est. pay) to Logs and clears it from the calendar. Logs button to open past schedules; logs can be edited (punches, rate, spiff) or deleted.
v2.7 (2026-11-05) CSV schedules keep shifts like 12-7 as text (they were being read as dates, leaving only days off). PDFs without text no longer error. Re-adding the same schedule replaces the old copy.
v2.6 (2026-11-05) Removed the light/dark switch (follows the phone\u2019s setting). Next shift card explains when nobody\u2019s shifts were found and where the loaded schedule ends.
v2.5 (2026-11-05) Schedules from PDF as well as Excel and CSV. Photos, screenshots and scanned PDFs read roughly and never replace Excel/PDF schedules; misread names and cells are dropped.
v2.4 (2026-11-05) What\u2019s new card on startup after an update; tap the version badge to see it again.
v2.3 (2026-11-05) ADP photo reader works row by row; days\u2019 Daily Total fixes a misread hours figure; misread future dates cleared; \u201cOn the clock\u201d for today\u2019s open punch: Out time rebuilt from In + ADP\u2019s Regular hours when it\u2019s hard to read; dates must follow the row above (1/05 after 11/04 = 11/05).
v2.2 (2026-11-05) Spiff photo reads every item on your row (units, X2, installs\u2026) and shows what you earned on each in a collapsible list, checked against your total. Spiff tickets, AAMPT and bonus taken from the close-up read along your row. Times entered as AM by mistake (1:07a inside a 11\u20136 shift) are read as PM, and saved entries are fixed.
v2.1 (2026-11-05) Installable app: opens full screen from the home screen, works offline. Install hint. Backup and restore in Pay settings.
v2.0 (2026-11-05) Spiff total found by following your row across the sheet column by column, like a highlighter, instead of counting rows. Row count kept as a cross-check.
v1.9 (2026-11-05) Spiff photos straightened before reading; your total is matched by your place in the sorted list. Date box no longer spills over on iPhone. Empty weeks hidden in the time card table.
v1.8 (2026-11-05) Spiff payouts: read your row from a photo of the spiff sheet or type it in; AAMPT vs goal; payouts added to pay period estimates.
v1.7 (2026-11-05) Day panel shows only who\u2019s working. Tapping one of your shifts (today or earlier) opens a pop-up to log times and lunch. Log lunch prompt once a shift starts, with Skip.
v1.6 (2026-11-05) Hours table follows the pay setting (weekly, every 2 weeks, twice a month, monthly) and shows worked hours from the time card. Pay settings moved to a button at the top that opens a dropdown.
v1.5 (2026-11-05) Notice when a schedule adds new people (or drops someone from the newest weeks). Removed leftover calendar-export code.
v1.4 (2026-11-05) Edit times with four time pickers (Clock in, Out to lunch, Back from lunch, Clock out) from the day panel or any time card row. Time card table always lists your pay period days so there is somewhere to enter times. Removed Send to my calendar.
v1.3 (2026-11-04) Pay frequency setting: weekly, every 2 weeks, twice a month (1st–15th and 16th–end) or monthly. Pay period card and its dates follow it.
v1.2 (2026-11-04) Read a photo now works in any browser: the phone reads the time card on its own (no Claude needed). Stray times (like the taskbar clock) are ignored. Home screen icon.
v1.1 (2026-11-04) Time card: paste from ADP or read a photo, compares punches to schedule, figures lunch length, late/early and short-lunch flags, worked vs scheduled hours, pay period start filled from ADP.
v1.0 (2026-11-04) Reads two schedule layouts (time cells and "7:30-4" text), month and list views, who's-working panel, weekly and pay-period hours, est. pay, change alerts, .ics and Google CSV export.