Product Updates

What's new in OnDeck

Everything we've shipped recently, what's being built right now, and what's next.

In progress & roadmap

Roadmap last updated July 26, 2026.

Report a bug or request a feature in-app In progress

Report a problem or request a feature without leaving OnDeck. Your app version and device details are attached automatically, so nothing gets lost in translation.

Choose your app icon In progress

Choose how the OnDeck icon looks on your Home Screen — follow your system light and dark setting, or lock it to one.

WhenToWork / Sling roster sync In progress

Pull today's staffing straight from your scheduling tool so certification and training views know who's actually on deck. Configuration, storage, and the nightly sync are live; the vendor connection turns on per customer.

Cost & usage dashboards In progress

Per-organization visibility into seat, API, email, and storage usage, with nightly snapshots so spend is never a surprise.

Phone-friendly record tables Planned

Turn the highest-traffic tables — submission history, certification overview, staff directory — into clean card layouts on phones so there's no sideways swiping.

Scheduling on iPhone and iPad Planned

Staff scheduling is available on the web today. Bringing it to the native app is the last remaining gap between the two.

OnDeck for Apple TV Planned

A lobby and operations display board for Apple TV, so the day's staffing and compliance status is visible on the wall.

AI incident summaries Planned

Auto-draft a plain-language summary for each incident report so directors can triage their queue faster. Held until a zero-data-retention review is complete before any real incident data is processed.

Recently shipped

Customer-facing changes. Internal refactors and dependency bumps are omitted.

Unreleased

Added
  • Choose your Home Screen icon on iPhone and iPad — follow your device's light/dark appearance, or pin the icon to one. Under Account → Appearance → App icon.
  • Your app version, on screen. Account → About shows the exact version and build, with a "Copy version details" button that puts the version, device and OS on your clipboard for a bug report.
  • Swim Test Log on iPhone, iPad and Mac. Look up a swimmer, record a test and hand out a wristband from the deck — the same module that went live on the web on 26 July.
  • Conditioning per discipline on iPhone, iPad and Mac, matching the web behaviour released on 17 July.
  • Training approvals on iPhone, iPad and Mac, matching the web behaviour released on 28 July. An "Awaiting Approval" list at the top of Training, and your own entries marked *Pending approval* until they're signed off. Until this reaches you, the app still counts training the web is already holding back — the compliance reports and packets are correct either way.
Changed
  • The Mac app now behaves like a Mac app. Forms, view switchers and list rows use native controls; closing the main window no longer strands you (it reopens from the Dock or the menu bar); and the dashboard, certifications filters and long help text were rebuilt for a pointer and a large screen.
  • The Mac app is substantially faster on large rosters. Training, growth track and analytics are now evaluated once per update instead of repeatedly while scrolling.

July 28, 2026 — Logged training now waits for approval

Added
  • Training you log is reviewed before it counts. Recording an in-service signs off someone's monthly compliance, so it now waits in an Approvals list on the Training screen until a manager decides on it. A whole session is one decision — approve a forty-person in-service once, not forty times, with the attendee list one tap away so you can see exactly whose compliance you're signing off.
  • You can see why your hours don't add up. Your own entries show *Pending approval* until someone signs them off, and *Rejected* with the reason if they don't. Rejecting requires a reason, so a training that needs fixing comes back with an explanation instead of quietly disappearing.
  • Who can log and who can approve is now yours to set, per role, under Settings → Roles & Permissions. Logging defaults to supervisors and above plus LGIs; approving defaults to managers and directors.
Changed
  • Nothing you've already recorded was affected. Every training logged before today counts exactly as it did, marked approved with its original date. Months already closed are untouched.

July 27, 2026 — Tell us when something's wrong

Added
  • Report a bug or request a feature without leaving OnDeck. Help → Send Feedback, on the web app. It records which screen you were on and the exact version you're running, so a report no longer depends on anyone remembering which build they were using — or on describing their setup over the phone.
  • Every OnDeck surface now shows its version. The web app and the admin console display the running version, so a problem can always be traced to an exact release.

July 26, 2026 — Swim testing

Added
  • Swim Test Log (Test · Mark · Protect). Record a swimmer's ability test, assign a wristband colour, and see who's been tested and when. Includes a pool-deck kiosk mode for running tests on an iPad at the water's edge, and a per-manager record count so supervisors can see testing volume at a glance. Live on the web now; the iPhone, iPad and Mac versions arrive with the next app release. Opt-in — ask us to enable it.
Fixed
  • Expired-certification alerts no longer count orphaned records. Deleting a staff member could leave certification rows behind, which kept appearing in the dashboard's expired count.

July 18, 2026 — Recovering from a deploy without losing your place

Fixed
  • A deploy no longer dead-ends the open app. If the app updated while you had it open, the next navigation could fail on a stale file and leave you stuck. It now recovers automatically — and returns you to the page you were heading to, rather than the dashboard.

July 17, 2026 — Conditioning by discipline

Added
  • Conditioning is tracked per discipline. A staff member logs one record per month *per* discipline (swim, run, brick), instead of a single combined monthly entry, so a lifeguard's swim conditioning is no longer hidden behind their running.

July 16, 2026 — Invitations, exemptions, and admin on a phone

Added
  • Sending someone their login is now a visible button on their profile, instead of a swipe action people never found. Includes a copyable link that works for 24 hours, and a bulk invite for a whole roster at once.
  • Standing training exemptions. Excuse a staff member from a requirement with a recorded reason, and the compliance view shows *why* someone is excused rather than silently passing them.
Fixed
  • Certification imports no longer split one person into two records. A labelled CSV email column (Jane Doe <jane@…>) was parsed as a second person.
  • Backups now cover every per-org table. The remaining gaps are closed, and an omission now fails loudly instead of quietly shipping an incomplete backup.

July 15, 2026 — Training Report

Added
  • Monthly Training Report PDF for leadership — a printable summary of in-service training across a branch for the month.
Fixed
  • Compliance no longer counts removed staff, and new hires are prorated correctly for their first partial month.

July 13, 2026 — Long forms remember where you were

Added
  • Log Training autosaves as you go, on web, iPhone and iPad. Start a training log on your phone and finish it on the iPad. Drafts are cleared when you sign out.
Fixed
  • Roster imports and invitations no longer create duplicate staff records for someone already on the roster.

July 11, 2026 — OnDeck on Apple TV, names, and a Lock Screen widget

Added
  • OnDeck for Apple TV. Put a live board on the wall: who's on stand, current water chemistry with out-of-range readings called out, open flags, and certifications coming due. Two modes — an internal ops board for staff areas, and a public board for the lobby that shows members an all-clear rather than raw numbers.
  • First and last names are recorded separately, so names appear correctly on lanyards, rosters and reports instead of being split on the first space.
  • Certifications expiring soon, on your Lock Screen (iPhone and iPad).
  • Drop in a photo from your phone for inventory — HEIC images from an iPhone are converted in the browser, so an upload no longer fails on format.
Fixed
  • Editing a signed policy asks staff to re-acknowledge it. The version is bumped and the signed text is snapshotted, so your sign-off records always match the version people actually read.
  • A lanyard name tag never shows an email address, and compound first names ("Mary Beth") stay intact.
  • Accounts with a blank name no longer fall back to showing an email address in the interface.

July 10, 2026 — Shout-outs and service anniversaries

Added
  • Shout-outs. Peer recognition — staff can recognise each other, with a full moderation queue for directors. Opt-in per organization.
  • Service anniversaries and a rendered lanyard. See your lanyard (name tag, whistle and beads) and track milestones with "N Years of Service" beads as your team hits them.
  • Red Cross certificates fill themselves in. Drop the certificate PDF onto a certification record and the number, issuer and expiration date are read from it, on your device — the PDF isn't sent anywhere to do it.

June 29, 2026 — Demo sandbox & backup hardening

Added
  • Fully-seeded prospect demo sandbox. Every module — chemistry, compliance, inventory, training, scheduling, zones, and reporting — now comes pre-populated with realistic sample data spanning several months, so a prospect exploring a demo org sees the product working end-to-end (populated charts and all) instead of empty tables.
Fixed
  • Backups now include incident reports, roster shifts, and email-digest subscriptions. These live tables were missing from the backup set, so a restore could have lost user-submitted safety/incident reports; they're now captured.
  • Hid the "Sync from WhenToWork" staff-import button until the integration ships — it previously pointed at an endpoint that doesn't exist yet and would error.

June 28, 2026 — Native iOS / iPadOS app: full parity

Added
  • OnDeck for iPhone and iPad. A native iOS/iPadOS app with an adaptive split-view shell, covering the full OnDeck feature set: daily chemistry logging, MAHC interlock testing, incident reports, checklists, the staff directory and certifications, cert imports with fuzzy name matching, career reviews and evaluations, recognition beads, onboarding, zone management with a native drawing canvas and drill response-time stopwatch, compliance binders, the chemistry kiosk, and Settings. Sign in with a magic link or a passkey (including conditional-UI autofill), work offline with a write outbox that flushes on reconnect, capture photos and signatures, and export PDFs from the device.
  • Chemistry draft autosave so a half-entered reading survives a backgrounded app or a flaky pool-deck connection.
  • Printable letter-size safety-concern poster generated as a PDF directly on the device.
  • Push notifications for director flags and compliance events, humanized so they read as plain English rather than raw IDs.
  • Siri / App Intents shortcuts plus a full VoiceOver and Dynamic Type pass for accessibility.
Changed
  • Billing is web-only in the app. Plan management and trials live on the web; the iOS app focuses on day-to-day operations.

June 26, 2026 — Platform-admin command center

Added
  • Platform-admin dashboard overhaul. The admin app now opens on a usage homepage with at-a-glance health, plus dedicated troubleshooting and billing views. Per-tenant health metrics surface right on the org list.
Changed
  • Denser, more usable org list. Row actions collapse into a "Manage" button with an overflow menu, and the table now uses the full screen width without wrapping.

June 23, 2026 — Equipment & uniform inventory

Added
  • Equipment & Uniform Inventory module (opt-in). Maintain a catalog of uniforms and gear with per-item photos, track sizes by staff, log receiving and issuance, and pull summary and issued-items reports. Includes a full issuance history log. Available on web and iOS.

June 20, 2026 — Compliance history & audit trail

Added
  • Frozen historical compliance records. OnDeck now captures audit-defensible compliance snapshots and dates each staff member's standing as of any past point, so you can answer "who was compliant on this date?" with a record that doesn't shift under you.
  • Compliance change-log view — the read side of the audit trail — showing the history of writes to compliance records.
  • Tamper-evident audit trail. Compliance-record writes are logged to an append-only audit log with DB-level protection against after-the-fact edits.
  • Excused / exempt handling. Mark staff as excused or exempt for leaves of absence, medical reasons, or new-hire proration, with explicit reasons that show in compliance views.
  • New-hire proration setting so recently-hired staff aren't counted out of compliance for requirements they haven't had time to meet yet.
  • Per-staff training transcript export for an individual's training record.
  • Facilitator credit in the training overview, with clearer denominators so the "X of Y trained" math is unambiguous.

June 19, 2026 — Training library, QR attendance, policies & minor labor law

Added
  • Training-Topic Library (opt-in). An in-service topic bank with an assemble-a-session workflow. Available on web and iOS.
  • QR-code training attendance (opt-in). Staff scan a rotating, signed QR code to mark themselves present at a training session. Available on web and iOS.
  • Aquatic policy-acknowledgment tracker (opt-in). Publish policy documents and track which staff have acknowledged them. Available on web and iOS.
  • Minor labor-law guardrails. Per-branch facility address with jurisdiction auto-fill drives DOB-based shift-limit guardrails for minor staff. Facility addresses also print on reports. Available on web and iOS.
  • Optional Modules toggle in Settings → App Configuration. Admins can enable or disable Inventory, Scheduling, and Training per org so the navigation only shows what a facility actually uses.
Changed
  • Monthly Training gains a top-row agenda upload, custom tags, and named facilitators.

June 15, 2026 — Launch readiness & billing

Added
  • Self-service 45-day trial signup is live, with live-mode Stripe billing behind it for paid plans.
  • One-tap magic-link invitations that greet the new staff member by name.
  • "No Action Required" all-clear state on the dashboard, with an explicit Action Required block surfaced for every branch.
Changed
  • Staff directory cleanup. Condensed actions, normalized branch labels, a sortable Growth Track column, and a layout pass that removes horizontal scrolling on the directory and edit forms.
Fixed
  • Dashboard cert alerts no longer double-count. Cert issues stop appearing twice in Action Required, and the Compliance Gaps denominator now matches the Cert Tracker.

June 13, 2026 — Staff scheduling, water-chemistry tools & certs

Added
  • WhenToWork-class staff scheduling (opt-in). Build availability, auto-fill shifts, materialize a scheduling period, and publish. Turn it on from onboarding or platform admin.
  • Water-chemistry calculator suite. CYA dosing and reduction, the FC:CYA ratio, salt dosing, and an LSI saturation gauge, with a units system applied consistently across dosing outputs and pool volumes.
  • Maintenance & Operations log for backwashing, water fills, chemical deliveries, basket cleaning, media changes, and equipment service.
  • DPD testing-technique animations that walk a guard through the reagent test steps.
  • Per-pool measured fill rate. A bucket test replaces the old pipe-diameter estimate for more accurate manual fill timing.
  • CDC contamination (fecal/vomit) response log with incident types and photo persistence.
  • Non-aquatics compliance role for land-side staff, plus friendly cert-type labels and a place to manage non-standard certs.
  • Scheduled (recurring) checklists — assignable opening, closing, and inspection checklists.
  • Dark mode across the web app, kept on-brand so the navy sidebar and brand colors survive the theme.
Fixed
  • Cert imports recover skipped staff via robust name matching, and cert exports (CSV and PDF) now respect the on-screen filters.
  • Cert PDFs render inline in Safari instead of blanking out.
  • The app auto-recovers from stale code chunks after a deploy instead of erroring on a half-loaded page.

June 8, 2026 — MAHC interlock testing & iOS foundation

Added
  • Monthly MAHC controller interlock testing. Log the required monthly interlock test per controller, in line with MAHC guidance.
  • Chemistry trends widget on the dashboard (Manager+), showing recent readings at a glance.
  • Bulk submission export and additional safety-concern filters.

May 14, 2026 — Phase 6 sweep

Added
  • White-label logo upload. Admins can now upload a PNG, SVG, or JPEG (up to 500 KB) under Settings → Branding. The uploaded logo replaces the OnDeck wordmark in the sidebar for every user in the org. Replace and Remove actions; SVG uploads are scanned for scriptable content before saving.
  • Live QR code on the Safety Concern poster. No more pasting in an externally-generated QR — the poster renders the QR client-side from your branch's report URL. Uses high error correction so a poster taped above a chlorine drum still scans cleanly.
  • Insurance renewal binder. Same one-click export pattern as the MAHC binder, but defaulted to 12 months and reorganized for an insurer audience: incident summary on top, guard credentialing rollup, lifeguard:patron ratio history sampled from chemistry bather-load entries. Find it under Compliance & Reports → Insurance Renewal Binder.
  • Slack / Teams flag alerts. Cross-post director flags to a Slack or Teams channel via the customer's own incoming webhook. Settings → Integrations to wire it up. Includes a "send test message" button so you can verify the webhook before waiting for a real flag. Both vendors are free to use; OnDeck doesn't charge extra.
  • WhenToWork / Sling roster integration (scaffold). Configuration UI, nightly cron, storage, and read endpoints are all in place. The actual vendor API calls are stubbed and will go live once a customer is ready to test against a real account.

May 14, 2026 — Phase 5 sweep + Phase 3 closeout

Added
  • Pending-invite banner on the Dashboard. If you were invited to an organization but the auto-accept couldn't process it (your email isn't verified yet, or the invite is missing its staff-ID marker and needs an admin to reissue), the dashboard now tells you about it. Click "Accept invitation" to retry, or "Not now" to dismiss for the session.
  • Bulk archive / resolve / reopen for Contact Submissions in the platform-admin inbox. Select submissions with the new checkbox column (or use the select-all in the header), then use the floating action bar to transition all of them in one call. Archive / Resolve are always available; Reopen appears when viewing archived or resolved submissions. Capped at 200 per call.
Changed
  • Audit log explorer in platform admin now supports filtering by admin email (substring search), target ID, and time range, plus Prev/Next pagination with a total-count badge. Clicking a target ID in the table pivots the filter to "show me everything that touched this target." Page size is 50.
  • CertTracker and Director Flag history now paginate at 25 per page. CertTracker also resets to page 1 when filters change, and CSV exports still see the entire filtered set — only the rendered cards are clipped to a page.
  • CSV cert imports now parse off the main thread. Large certificate_details_full.csv files (5000+ rows) used to freeze the tab for several seconds during the parse; the tab stays fully responsive now while a small "Parsing CSV in the background…" banner shows progress.

April 27, 2026

Added
  • F1 — Public status page at status.ondeckaquatics.com. Live system state for API, Tenant App, Admin App, Auth, Database, Email, Storage, and Marketing components, plus 30-day uptime % and the last 30 days of incidents and scheduled maintenance.
  • F2 — Self-service trial signup. Visit app.ondeckaquatics.com/signup to start a 45-day free trial with no credit card required. Magic-link sign-in, then a one-screen org-creation form that drops you into the 6-step onboarding wizard.
  • F3 — Compliance gap email digests. Director+ users can subscribe in Settings → Email Digests to a daily/weekly/monthly recap of expired certs, expiring certs, unacknowledged flags, and recent out-of-range chemistry. Customizable thresholds and a built-in preview button.
  • F4 — Mobile-first chemistry kiosk at /kiosk/chemistry. Full-bleed pool-deck UI for a phone clamped to the wall — pick pool, log reading, done in three taps. Auto-rotates back to input after 30s.
  • F5 — Offline submission queue. Forms submitted while offline are saved locally and auto-sent when the connection comes back. Banner surfaces queued submissions with a manual retry button.
  • F6 — Anonymous safety reporting at /report-concern/<your-org-slug>. Public submission form for staff to flag near-misses, equipment issues, or workplace concerns with optional name and optional email. Director+ triage panel under Compliance & Reports.
  • F7 — Cross-facility anonymous benchmarking. Opted-in orgs see peer percentiles on the dashboard for chemistry means and flag acknowledgement times. Two-tier opt-in (org + branch) with a k-anonymity floor of 5 contributing branches per metric.
  • F8 — Auto-suggested corrective action. When a chemistry reading goes out of MAHC range, the "Corrective Action Taken" textarea pre-fills with the standard MAHC-aligned response. Editable — the playbook is a starting point, not a fill-in form.
  • F9 — Chemistry trend anomaly detection. Nightly background scan flags slow drifts (a slowly creeping combined chlorine, declining stabilizer) before they cross a hard threshold. Pure stats — every flag carries the z-score and slope numbers so an inspector asking "why did you flag this?" gets a concrete answer.
Added
  • Lifeguard "My Day" widget on the dashboard with three tiles: today's chemistry status (4-hour MAHC §5.7.3.1.1 cadence), training hours this month, and submissions filed in the last 7 days.
  • MAHC compliance binder export under Compliance & Reports → Compliance Binder. One date range, one button, one print-ready PDF covering chemistry logs, lifeguard observations, every checklist submission, certifications, and active staff.
  • Printable safety-concern poster at /poster/safety-concern for printing the F6 submission link as a break-room poster.
  • Per-org branding. Settings → Branding lets admins override the default OnDeck navy + aqua palette with primary and accent hex colors.
  • 30-day uptime stat on the status page.
  • Platform-admin Status tab (admin app only) — post incidents, flip component state, and append updates from a form instead of curl.
Changed
  • /signin-v2/signin. Old URL still works.
  • App-wide mobile-friendliness pass: outer padding shrinks on phones, multi-column input grids reflow to a single column, in-app tables gain horizontal scroll wrappers.
  • Kiosk auto-pins to the configured branch on single-branch orgs; shows a one-time picker on multi-branch orgs.
  • App Configuration: branches, pools, pool volumes, chemicals, and controllers now persist server-side and sync across devices.
Fixed
  • Stopwatch DRT timing no longer flips a 9.95s pass into a 10.0s fail.
  • Dashboard overdue thresholds now read from compliance config instead of being hardcoded.
  • ManagerView bulk PDF export caps at 25 to avoid filling the user's filesystem with a flood of separate downloads.
  • Org-purge confirmation accepts NBSP-pasted org names (was strict- equality silent-fail).
  • Onboarding strips the invite-token URL parameter before redeem so a hung redeem doesn't leave the token replayable in browser history.
  • Admin "delete all staff" replaces window.prompt with a proper modal that doesn't block the page.
Security
  • Discount-code regex anchored explicitly (HTML5 pattern is implicitly anchored, but the ^…$ makes the intent obvious and matches the server-side regex).
  • Stripe customer + subscription IDs in the admin dashboard now render masked by default with a "reveal" button.
  • Crash + unhandled-error monitoring posts to a Worker route for observability (vendor-neutral; swap for Sentry if/when adopted).
  • Per-IP rate limits on invitation create/redeem and self-serve signup endpoints.
  • Tenant-side audit-attribution helper (getImpersonatingAdminUserId) available so every audit emitter can record the real admin during impersonation instead of the sentinel user.

Have a request or found a bug?

We build OnDeck around what aquatics teams actually need. Tell us what would help, or flag anything that's broken.