PlateLog Changelog

Product updates, fixes, and new features shipped to PlateLog's gym equipment maintenance platform.

August 27, 2026 · Improved

  • More ways to run your pods. Network admins can now hand pod management to a trusted member with the new Manage Pods permission, without giving them full network access. Pod leaders see their pods labeled throughout the network views, the network overview shows a summary card per pod you can click to filter, and you can drop a new club straight into a pod when you add it.

August 26, 2026 · New

  • Organize your clubs into Pods. Network admins can group clubs into pods — nestable as region › district › pod — assign a pod leader, and filter the entire network view (dashboard, tickets, equipment, members, and maintenance) down to a single pod. The club switcher groups by pod too.
  • See your whole network by pod. A new Reports page rolls up every club — grouped by pod or listed individually — into one operational table: open tickets, tickets awaiting parts, overdue PMs, PM compliance, repair spend, and how long repairs actually take to close (median and 90th-percentile days). Choose a time window and export the whole thing to CSV.
  • Give pod leaders a read-only view of their pods. Assign someone to lead a pod and they can now see that pod’s dashboard, tickets, equipment, maintenance, members, and reports — read-only, scoped to just their pods (nested pods included), with no ability to change anything. Network admins can also grant a specific person View Network Reports to give them the Reports page across the whole network without full admin access.

August 25, 2026 · New

  • Find the exact parts manual for your unit. On older Cybex cardio machines, the machine page now pins the right factory parts manual for your specific unit — enter the build date and record the console under Specs & Configuration, and we narrow the manufacturer’s manuals to the one matching your unit’s production window, console, and lower/total-body variant, so you order from the correct manual instead of guessing.
  • Record each unit’s exact build. Machine pages now have a Specs & Configuration card — capture voltage, console, cable or belt, upholstery and paint colour, install date, dealer, firmware, and anything else as your own custom fields. It’s the structured home for the details that decide which part actually fits.
  • Diagram parts that vary now warn before you order. When a part depends on your specific unit — say a 120V versus 240V version on the same callout — the diagram flags it and asks you to confirm your configuration before showing buy links, so a wrong part doesn’t get ordered by a blind tap.
  • Add your own photos to assets. When you create or edit a gym asset — HVAC, the pool, the building — you can upload a photo of it right from the asset form or its page.

August 25, 2026 · Improved

  • The Equipment Library and public catalog now load in clean pages you click through with arrows (top and bottom) instead of one endless scroll — and images no longer pop in as you go.
  • Filtering equipment is a cleaner toolbar now: Category, Brand, and Documentation are searchable dropdowns with your own brands pinned to the top, removable filter chips, and a Clear all, instead of long rows of buttons. Assets got the same for Category and Status.
  • Fixed a session-expired message that could appear twice.

August 21, 2026 · Improved

  • The Service Tickets list got a triage upgrade. A summary bar across the top shows how many tickets are Open, Critical, Aging (open past three weeks), and Unassigned — tap any one to filter the list to just those. It’s the fastest way to see what needs attention first.
  • Every ticket row now shows its priority as a colored edge and reads more clearly at a glance, with who’s assigned and when it was opened lined up on the right.
  • Sort the list by priority, newest, oldest, or most recently updated.
  • The ticket page uses more of your screen, with the details and the status, assignees, cost, and photos laid out side by side.

August 20, 2026 · New

  • QR problem reports can now capture the reporter’s name and phone. The scan-to-report form has optional Name and Phone fields alongside email, so your maintenance team can reach whoever flagged the issue — their details show on the report in your Reports inbox and in the notification email.
  • Assign a ticket to more than one person. Tickets now support multiple assignees — everyone assigned sees it in their work list, gets notified, and can be found by searching their name. Assign or unassign anyone from the ticket page.
  • The network owner controls who else is an admin. Only the owner (or a delegate they choose) can promote someone to network admin, or change or remove an existing network admin. Other network admins can still manage everyone below that level — Managers, Staff, and Technicians.
  • To share the responsibility, the owner can grant the new “Manage Network Admins” permission to a trusted admin, and revoke it anytime.

August 20, 2026 · Improved

  • The machine QR label opens in a quick on-page pop-up instead of a new browser tab — view or print the code without leaving the machine.
  • The search overlay now fades in and out over a soft background blur.
  • The notification bell’s unread count pops in when new activity arrives and clears away smoothly.

August 19, 2026 · New

  • Multi-gym networks: grant a staff member or manager access to additional clubs right from the Members page — they keep their role, just in more locations.
  • Network admins can delegate this, so a trusted manager can hand out access to the gyms they oversee — and only those gyms, never more.
  • Manage your whole network from one page. Network admins can now change a member’s role, promote someone to network admin, grant gym access, remove a member, or invite someone to a specific club — all directly from the network Members page, without switching which club you’re viewing. Superadmins stay protected, and you still can’t remove a club’s last admin.

August 19, 2026 · Improved

  • The dashboard’s Recent activity now shows only the club you’re viewing, not every club in your network.
  • The “All Clubs” network switcher reads as an active state instead of looking disabled.
  • Empty clubs now explain themselves on the Members page instead of showing a blank list.

August 18, 2026 · New

  • A notification center. A new bell in the top bar gathers what needs your attention in one place: tickets assigned to you, new tickets and status changes, and member reports, each linking straight to the item. It shows an unread count, mark-as-read, a per-club filter for multi-location owners, and a Recent activity card on your dashboard.
  • Your email settings still control which emails land in your inbox; the notification center always keeps the full record, so muting an email never means missing the event.

August 17, 2026 · New

  • Camera scan, rebuilt. Photograph a machine and add it to your gym in a couple of taps: snap up to three angles for a tougher read, confirm the match against the catalog photo, name the unit, and print its QR label.
  • The scanner now tells you how confident the match is and how it matched, whether by model number, serial, or name, and flags when the same machine is already in your gym so you can add another unit on purpose.
  • Find it under Scan in the navigation. Anyone who can add equipment can use it.

August 14, 2026 · Security

  • Custom role permissions are now enforced end to end. When you limit what a role can do, like adding equipment or creating and deleting maintenance schedules, those limits are enforced on our servers and hold even outside the normal screens.
  • Your permission and custom-role settings are now protected against self-escalation: an admin whose access to manage roles or permissions has been removed can no longer restore it for themselves.
  • Role limits now hold across everyday actions too: reassigning or deleting a ticket, pausing or deleting a maintenance schedule, and removing equipment are each enforced on our servers according to the role you've given each person.

August 13, 2026 · Improved

  • Ticket status emails no longer pile up. When a ticket moves through several statuses in a short span, you get a single update instead of one email per step.
  • Filters on the Tickets and Equipment pages now stick to the page address — refresh, bookmark, or share a filtered view and it stays put.
  • The maintenance calendar colors each task’s due status in your gym’s timezone now, matching the schedule list, so a task near midnight can’t look overdue on one screen and fine on another.
  • Changing your gym’s timezone keeps your existing maintenance schedule dates exactly where they are; only the send time of reminder emails moves.
  • Ticket photo uploads now tell you if an attachment didn’t save, instead of quietly dropping it.

August 12, 2026 · Improved

  • Your 14-day trial now starts when you finish setup, not when you create your account. Time spent in the setup wizard no longer counts against your trial.
  • Setup progress saves to your account as you go, so you can start on your phone and finish on a desktop right where you left off. If saving fails, the wizard now tells you instead of losing work silently.
  • Multi-club trials are no longer capped on locations. Bring your whole network into the trial and pick your paid plan afterward.
  • The state picker filters as you type, and printing a QR label from a machine page now shows the exact sticker before you print, matching the all-equipment label sheet.

August 5, 2026 · New

  • Scan a machine, learn it, report it. Scanning a machine's QR sticker now opens a proper member page: what the machine is, which muscles it works on a body map, and step-by-step setup, usage, and mistakes-to-avoid guidance, ending in a one-tap problem report.
  • Staff scanning the same sticker are taken straight into the machine's full page in the app, and only staff of the gym that owns the machine get in.
  • Newly printed QR labels use permanent unit links. Older printed labels keep working, but reprinting from the label sheet is recommended.

August 4, 2026 · New

  • Choose which emails you get. Your profile now has personal notification settings: member reports, new tickets, ticket status changes, and the weekly overdue summary can each be turned off just for you. Tickets assigned to you and reminders for your own maintenance tasks are always delivered.
  • Everyone sees a one-time prompt to review these settings on their next visit. Nothing changes unless you change it.
  • Trials now wind down gracefully: you'll get a heads-up email three days before your trial ends and a reminder after, and if it lapses, your equipment, tickets, and history stay safe and viewable while you decide.

August 3, 2026 · New

  • Member reports now email your team the moment a gym member scans a QR code and reports a problem.
  • Ticket update emails now say who made the change.
  • Open tickets show a day counter once they pass a week, so nothing falls through the cracks quietly.
  • Search (Ctrl+K) now finds part numbers and part names, and jumps straight to the part on the diagram.
  • Search also finds machines by unit nickname or serial number, searches your maintenance tasks, matches words in any order, and remembers your recent picks so reopening yesterday's machine takes one tap.
  • Print QR labels for your entire floor on one sheet from the Equipment page.
  • Machine service records now show repair cost for the last 12 months alongside lifetime cost.

July 25, 2026 · Fix

  • Fixed: PlateLog no longer shows an error page when a new version ships while you have a tab open. You'll now get a small "A new version is available" prompt instead, and you can finish what you're doing before reloading.

July 24, 2026 · New

  • Maintenance reminders now actually send. Set a lead time on any PM task, from a day to a month before it's due, and the assignee gets an email when it comes due. You can add other people to any reminder too, so a tech and a manager both get the heads-up.
  • Reminder emails go out at 9:00am in your gym's local time. Set your timezone under Settings → Organization; new accounts pick it up from your browser automatically.
  • Fixed: moving a maintenance task to a different day on the calendar, or pausing a single occurrence, now correctly updates when it counts as due. The calendar and the "Due in N days" label could previously disagree.
  • Fixed: marking a task done from the maintenance list now advances its schedule the same way completing it from the calendar always has. Previously a task completed from the list could stay stuck as overdue.
  • New: a weekly summary of anything overdue, sent Monday morning to whoever the work belongs to. It's only sent in weeks when something actually is overdue. Admins can turn it off for the whole club under Settings → Organization, and anyone can opt out just for themselves from their account page.
  • Fixed: completing a task that had older history could push its next due date far into the past. Completions now hold the schedule steady.

July 23, 2026 · New

  • The equipment catalog grew from 235 to over 1,300 machines. Hammer Strength, Cybex, SciFit, ICG, ParaBody, and Life Fitness lineups are now verified against the manufacturers' official parts manuals, with factory exploded-parts diagrams and part lists attached to more than 1,250 machines.
  • Part lists now sort by item number, so the list matches the callout numbers on the diagram instead of the order entries were typed in.
  • New in the equipment library: filter machines by documentation level — Interactive Diagram, Parts Manual, or No Diagrams Yet — with matching badges on each card, and fully interactive machines now sort first.
  • Guided diagnostics now cover every machine. Walk through symptom questions for any treadmill, bike, elliptical, or strength machine and get the likely cause, matching parts from that machine's own parts list, and a one-tap service ticket — with safety call-outs when a machine should come out of service.

July 12, 2026 · New

  • Dark mode is here. PlateLog now follows your device's light or dark setting automatically, or you can pick Light, Dark, or System from the appearance switch in your account menu. Every screen was retuned so text, diagrams, and charts stay crisp and easy to read in either theme.

July 6, 2026 · New

  • Machines that are no longer in production now carry a "Discontinued" badge across the equipment catalog and your library, so you can tell at a glance when a machine's parts may be end-of-life.
  • Selected parts in the diagram viewer now use a crisp, consistent fill whether the part is large or small.

July 5, 2026 · New

  • Track everything, not just machines. The new Assets tab lets you add water fountains, HVAC units, the pool, even the building itself, with your own categories. Assets get tickets, maintenance schedules, status, service history, and scannable QR labels just like machines.
  • Tickets no longer require picking a machine. A one-off problem like a roof leak can now be a "General" ticket on its own, and it shows up properly in your dashboard, activity feed, and cost ledger.
  • Sharper menu icons: the members, parts, cart, and refresh icons were redrawn so their shapes read cleanly at every size.

July 5, 2026 · New

  • New pricing page at platelog.io/pricing: the full cost breakdown in one place, with a location slider that does the network math for you and straight answers to the billing questions we actually get asked.
  • This changelog is now grouped by month with a quick month jumper at the top, so the history is easier to scan as it grows.
  • Mobile polish across the landing page: larger touch targets on links, buttons, and the pricing sliders, plus a fix for a slight sideways wobble on this page on phones.

July 4, 2026 · Improvement

  • Part highlights are sharper and softer at once: a feathered red glow that hugs each part at any zoom, with a subtle pulse over idle diagrams so you can see every mapped part at a glance.
  • Selecting a part now dims the rest of the drawing and blooms the highlight as the camera lands, and hovering any part shows its name and item number instantly.
  • New page arrows (and left/right keys) flip through a machine's diagrams like a manual, pages fade instead of snapping, and the viewer remembers where you left off.
  • Bookmark parts you come back to often: star a part in its card, then jump straight to it from the new bookmarks list, on any page.
  • Faster and smoother throughout, with fixes for panning on crowded diagrams, tap accuracy on phones, and full keyboard and screen-reader support.

July 2, 2026 · Improvement

  • Every machine now has a service record. Its page shows each past ticket with the part and what it cost, a running total of what you've spent on that unit, and a "repeat failure" flag when the same part fails again, with a link back to the earlier ticket. Makes the keep-it-or-replace-it call, and spotting a part that keeps dying, obvious at a glance.

July 2, 2026 · Fix

  • Small parts on a diagram no longer become unclickable when a larger part overlaps them. Hotspots are now ordered smallest-on-top, so a bolt sitting over a big frame panel still takes your click.
  • The diagram viewer's Fit button now correctly frames tall diagrams. On the first load of a tall page it could previously open zoomed past the edges.

June 26, 2026 · Improvement

  • Network requests (AI part lookups, PDF scans, and billing changes) now fail with a clear "timed out, please try again" message instead of spinning forever if the connection stalls. Billing actions like converting to a network or adding a location also recover cleanly from a stalled request instead of leaving the button stuck.

June 26, 2026 · Fix

  • The diagnostic guide's Back button now returns to the previous question instead of skipping one. On any session two or more questions deep, going back used to jump two steps at once; it now steps back exactly one.
  • Adding a maintenance task now tells you if the save fails. Previously, if a new task could not be saved because of a dropped connection or a permissions hiccup, you still saw a "task added" confirmation while the task quietly disappeared. You now get a clear "Could not add the maintenance task" message so you can try again.

June 1, 2026 · Fix

  • Network admins no longer hit a "Ticket not found" screen when opening a ticket that belongs to another club in their network. The page was deciding the ticket was missing before it had finished loading that club's data; it now waits for the right club to load and recovers on its own if it ever lands on the wrong one.
  • The post-setup welcome tour now stays dismissed for good. Once you skip it or take the tour, it will not prompt you again, even on a different device or after clearing your browser. Previously that choice was only remembered on the one browser, so it could reappear elsewhere.
  • Equipment search and filtering on My Equipment got a real fix. Search now matches each word you type rather than the whole phrase as one string, so "life fitness t5 treadmill" finds the right machine even when the words aren't adjacent in its name, and the list narrows as you type. Filters now apply instantly instead of trickling in with a staggered animation on every change.
  • Equipment Library search now finds a machine by any of its model numbers, SKUs, serial prefixes, or names in a single box, tolerant of dashes, spacing, and word order. Identifiers are decoupled from the diagram under the hood, so a machine with many model/SKU variations can map to a single diagram instead of a wall of near-duplicates.

May 27, 2026 · Improvement

  • The Equipment Library now opens filtered to the brands you use. A new brand filter row runs across the top, and if you told us your manufacturers during setup, the Library lands pre-filtered to them with a one-tap "Show all equipment" escape so it never feels like a dead end. Your brands sort to the front of the row and carry a small red dot. Until now the brands you picked during onboarding were saved but did not do anything; they now drive what you see first when adding equipment.
  • New Organization tab in Settings. Surfaces the profile captured during setup (organization name, location, fleet size, team size, and equipment brands) that was previously stored but never shown anywhere in the app. Read-only for now; an editable version is on the roadmap. For network admins the location reflects whichever club you currently have open.
  • Equipment catalog now carries manufacturer data. Backfilled the brand for all 136 catalog machines (the field existed but was empty on every row), so brand matching and the new Library filter run on structured data rather than guessing from the machine name each time.
  • Equipment Library brand filter now updates correctly when you switch clubs. Network admins switching locations from the mobile club switcher previously kept the prior club's brand filter and "your brands" banner; the filter now re-applies to the club you switch into.

May 21, 2026 · Improvement

  • Onboarding wizard right-side illustration is now an animated graphic instead of the flat floor-plan SVG. The new visual is a continuously morphing red blob (metaballs fused by an SVG goo filter, with a slow color-gradient sweep across the body and a faint cyan blueprint grid overlaid like engineering paper). Same brand palette as the rest of the wizard. Pauses automatically when scrolled off-screen and respects the OS-level "reduce motion" preference (falls back to a single static frame instead of animating).
  • Welcome tour cleanup pass. The dim background no longer cuts off at the bottom of the dashboard (the modal now mounts via React portal to document.body, lifting it above any AppShell ancestors whose transforms were containing the fixed positioning). When the tour finishes the rail walkthrough and moves to the dashboard widget steps, the sidebar auto-collapses so the widget popovers can occupy the full width without being clipped. Scroll between steps now uses a fixed-duration cubic ease-in-out instead of native smooth scroll (which varied by browser and snapped on the dashboard widget steps). When the tour ends, the page eases back to the top so you re-orient at your starting point.
  • Onboarding morphing blob renders without a container. The blob now floats directly on the wizard's dark background instead of sitting inside a bordered rectangle, so just the organic shape shows.
  • Onboarding text fields and dropdown triggers now lift on hover. Brighter red border, soft glow underneath, and a 1.008× scale that signals interactivity without making the field shift its neighbors.
  • Onboarding State picker is now a fully-themed custom dropdown. Replaces the native select whose options were rendering with OS-themed rounded corners and white slivers showing through at the curves. The new picker (built on Headless UI Listbox, already in the bundle) matches the wizard's dark theme exactly. Keyboard navigation works the same way: arrows, Home/End, type-to-search, Esc to close.
  • Wizard left rail steps now animate in and out smoothly when the plan changes. Picking "Multiple locations" inserts the Locations and Clubs steps; the existing items slide down to make room instead of snapping to their new positions, and the new items fade and slide in.
  • Rail steps highlight on hover so you can see which one you'd jump back to. Hovering any clickable step (any completed step) tints the node border red and brightens the label. Upcoming steps stay flat since they're not yet clickable.
  • The morphing blob now progresses through the wizard. Starts on the right side of the welcome step as a single subject; once you advance, it smoothly transitions to a slot below the progress bar on the left, and an additional subject is added to it for every step you complete. Shared layoutId makes Framer Motion interpolate the transit so the blob visually eases over instead of disappearing on one side and popping in on the other. The right-side summary panel now appears starting at step 2 (right after the blob exits) instead of step 3.
  • Morphing blob now eases back too when you go backward through the wizard, not just forward. Removed an AnimatePresence "wait" mode on the aside panel that was blocking the new blob mount for ~280ms while the previous content exited, long enough that the rail-side blob had already unmounted with nothing left for Framer Motion to interpolate to. The layoutId transit now fires in both directions.
  • Rail step hover is much more obvious. Hovering any clickable step now paints a soft red background tint and draws a 1px red outline ring around the row with a brief glow, on top of the existing border and label color changes. Upcoming steps stay flat since they're not yet clickable.
  • Rail step hover ring no longer bleeds into the next step. The red outline moved from outside the row's bounds to inside, and the box-shadow glow that extended further was removed. Same visible prominence, none of the adjacent-row overlap.
  • Rail step hover now uses a white glow on the step's content instead of a red outline ring. Hovering any clickable step brightens the label to white with a soft halo and surrounds the node circle with a soft white glow. Cleaner, less framing chrome, and no chance of overlapping the next step.
  • Blob transit now traces the same path in reverse. Earlier the forward and backward transitions used an ease-out curve (fast start, slow settle) which only feels right one direction. Swapped both wrappers to a symmetric ease-in-out so backward truly looks like forward played in reverse.
  • Pressing Enter advances every step in the onboarding wizard, not just Welcome. A global Enter handler clicks the current step's primary CTA (the same Continue, Next club, or Submit setup button the mouse would). Skips when focus is in a textarea, an existing button, or a dropdown that's already open, so the State picker's Enter still selects an option rather than jumping the wizard forward.
  • Morphing blob is no longer dimmed during its reverse transit. Previously the aside-side blob mounted inside a parent that was fading opacity 0 to 1 at the same time as the layoutId animation was running, so the blob inherited the parent's low opacity through the first half of its travel back. The forward direction didn't have this because the rail-side slot wasn't inside any fading parent. Hoisted the aside slot out of the wrapping AnimatePresence so it always renders at full opacity, matching the forward direction.
  • Morphing blob transit is now symmetric in both directions. The illustration container's scale-on-enter animation was warping the blob's layoutId target rect, so the backward transit ended at a slightly smaller size than the forward one started at. Removed the scale (pure opacity fade now) so both directions interpolate position over the exact same distance.
  • Looks-good review rows are now clickable to jump back to the step that collected each field. Hovering a row tints it red and reveals a small pencil icon; clicking jumps the wizard back to Welcome (org name / location), Plan, Fleet / Team, or Clubs (per-club entries) so the user can edit any answer without back-clicking through every step in between.
  • State dropdown options stay white across all states. The selected row used to tint its label red (matching the brand accent), which was hard to read against the dark panel. Labels now stay white in every state; the red check mark on the right still signals the current selection.
  • Morphing blob calmed down. Default animation speed dropped to about a third of the original (ENERGY 1.15 to 0.40) and the blob renders at 60% opacity at rest, so it sits behind the form instead of competing with it. Stops pulling attention away from the field you're trying to fill.
  • Morphing blob now crossfades between slots instead of traveling across the screen. The layoutId transit was visually loud during a step change. Now the aside blob fades out in place while the rail blob fades in below the steps (or vice versa going back). All three fades (aside welcome, aside summary, rail blob) share the same 320ms easeOut timing so they happen in lockstep.
  • Welcome state and summary state in the right-side panel crossfade in place. The welcome state (blob plus caption) and the summary state used to occupy different vertical positions, so the AnimatePresence crossfade looked janky during a step change. Both states are now absolute-positioned and vertically centered so the transition is purely an opacity blend on top of each other.
  • No scrolling anywhere in the onboarding wizard. The shell and root container are locked to viewport height with overflow hidden so the page can never grow past the visible area. Earlier the network plan with 7 rail steps plus the blob could exceed 100vh on shorter viewports, triggering page-level scroll into trailing white space.
  • Morphing blob continues from where it left off across remounts. Hoisted the animation clock to module scope so when the blob fades out in one slot and fades in on the other side, the metaballs pick up from their last positions instead of snapping back to the deterministic phase-zero arrangement.
  • Onboarding fleet step now captures equipment brands. A chip row below the count picker lets you select which manufacturers your gym has (Life Fitness, Precor, Cybex, Hammer Strength, Matrix, Star Trac, TechnoGym, Other). Multi-select, optional. Selections are saved with your organization and will feed Library and Catalog filtering so the brands you have surface first.
  • State dropdown polish across the wizard. Option labels and the selected trigger render explicitly white (the Headless UI Listbox panel portals outside the wizard's root so the --ob-text CSS variable was resolving wrong). The red focus border is also suppressed while the dropdown is open since the open panel is enough of a visual cue.
  • Rail step now stays current when you go back. Previously a step the user had completed and then navigated back to kept its checkmark and never showed the active-step ring. Now the step you're on always renders as current; checkmarks remain on completed-but-not-current steps.
  • Summary panel rows ease in from below in sequence. When the right-side "Your setup so far" card first appears, each row cascades up into line one after the other (~80ms apart) instead of all popping at once. The summary is also anchored to the top of the panel so adding clubs doesn't shift the network name / plan / fleet rows out of view.
  • Clubs list scrolls independently after 8+ locations. Smaller networks let the full list expand naturally; only 8+ club networks switch to an internal scrollbar capped at ~7 rows tall, so the top rows of the summary stay visible.
  • Per-club review row on the "Looks good?" screen now jumps to that specific club's substep. Earlier any club row jumped to step 4 and landed on the first club regardless of which one you clicked. A new pendingClubIndex flag in the store lets StepClubs land on the targeted substep directly.
  • Skip-remaining toast banner for big networks. Network admins on the per-club step see a portaled toast slide down from the top once they reach the 4th club on a 5+ club network: "N clubs total. You can skip the rest and add details later from Manage Network. [Skip remaining]." Clicking skip fills blank clubs with Club N placeholders and advances to Fleet. Position-fixed via portal so the step's exit transition doesn't drag the toast with it.
  • Per-club step is more compact. Removed the substep progress dots and shrunk the headline / subhead spacing so City + State sit cleanly above the sticky nav even on shorter laptop screens.
  • Enter-to-advance is disabled on mobile. Touch keyboards' Enter key now behaves as the input's own submit / newline; only desktop gets the wizard convenience binding.
  • "Take the tour" added to the profile dropdown (desktop) and the mobile drawer. Re-runs the welcome product tour from any page (navigates to dashboard first if you're elsewhere).
  • Welcome tour transitions are smoother. The popover hides during the eased scroll between targets and fades back in at the new position, so it no longer visibly lags the target as the page scrolls. driver.js's internal animation disabled to avoid ghost-frame artifacts when the popover repositions. The "Back to Network Activity" bug where the popover anchored to the wrong corner is also gone.

May 20, 2026 · Improvement

  • Account deletion flow rebuilt for safety. The confirm modal now requires you to type your email exactly before the Delete button enables, so a single accidental tap can no longer take down your gym data. After a successful deletion you land on a dedicated /account/deleted acknowledgement page with a 5-second countdown to /signup, instead of getting dumped back on the marketing landing page mid-cleanup. A "Go to signup now" button skips the countdown; a "Back to platelog.io" button covers the rarer "I'm done" case.
  • Welcome tour polish. Popovers no longer overlap the top bar or the club switcher when highlighting a sidebar item. They now pin to the anchor's top edge instead of centering vertically, so nothing above the highlight is covered. Two new steps point at the dashboard's trend chart and recent activity feed after the rail tour completes, so new users come away knowing what the dashboard is showing them, not just where to navigate. Programmatic scroll between steps now eases each anchor smoothly into the center of the viewport rather than snapping.
  • Onboarding and welcome tour polish from continued testing. State dropdown no longer tiles a row of red arrows across its full width when focused (a CSS shorthand was clobbering background-repeat). Wizard top-left logo now renders white instead of disappearing into the dark background, matching how the landing page composites the same asset. "You're all set" final screen sits vertically centered in the column instead of pinning to the top. Welcome modal backdrop is darker so the dashboard's hero section no longer shows a hard blur cutoff at its bottom edge. First tour popover no longer overlaps the sidebar; the rail's expand transition now finishes before driver.js measures anchor positions. When the tour highlights a sidebar icon, the icon lights up red with a left indicator bar that pops in, matching the active-link styling for the current page so the eye finds the highlighted rail item immediately.
  • "Get started with PlateLog" checklist now pins to the top of the dashboard for new accounts instead of sitting beneath the analytics cards, so the next-step prompts (add a machine, schedule a PM, log a ticket) are visible the moment the dashboard loads. The widget already auto-dismisses a few seconds after all three steps are completed.
  • Settings page simplified. The Gemini API key field has been removed from the General tab. It was a superadmin-only catalog tool that didn't belong in customer-facing settings; superadmins can still set the key via the diagram editor's AI Assist flow. With nothing else in General, the tab has been dropped so Settings opens directly on Roles.
  • Setup wizard now lets you go back and edit your answers. The Done step shows a compact review of everything you entered with a Back button and a Submit setup button. The actual server commit only fires when you click Submit, not the moment you reach the screen, so back-edits really take effect. Every step on the left rail is clickable now too: jump back to any completed step to revise it without back-clicking through every step in between.
  • Welcome tour overhaul. The dim background is now fully opaque instead of using a blurred backdrop, so the blur cutoff at the dashboard hero's bottom edge is gone. Clicks on the highlighted rail item, on adjacent rail items, or on the dim background no longer interrupt the tour: only the X, Got it, or Esc end it. When the tour highlights a sidebar icon, the icon now animates (the same animation the current-page icon already uses) and every other rail item including the user's current page gets its highlight suppressed so only one icon competes for attention. The naturally-active rail item briefly re-flashes after the tour ends so the user re-orients to where they are.

May 19, 2026 · New

  • Dashboard now greets new users with a real interactive product tour after onboarding. A short "Welcome to PlateLog" modal offers to walk you through the app; accept and it highlights each navigation icon one at a time with a contextual tooltip. Single-club admins get a 5-step tour; network admins get 7 steps (including the club switcher and Manage Network). Sidebar auto-expands during the tour so the icons are visible. Skip dismisses forever; running the tour never navigates you away from the dashboard. Desktop only; mobile users skip the prompt since the sidebar isn't visible there anyway.
  • Onboarding wizard now has a right-side panel: a stylized facility illustration on the welcome / plan steps, then a "Your setup so far" summary card from the Locations step onward that builds line by line as you fill in answers (gym name, location, plan, fleet size, team size, plus a per-club breakdown for network signups).

May 19, 2026 · Improvement

  • Manage Network now shows each club's short code, street address, city/state, and ZIP underneath the club name. Surfaces the address data collected during onboarding that was previously stored but invisible in the UI.
  • Onboarding wizard is one step shorter. Removed the "What are your most important machines?" step: the catalog match was unreliable enough that users would have ended up adding machines from the Library page anyway, so the step added friction without proportional payoff.
  • Onboarding wizard motion + validation polish: the whole wizard fades in on first mount instead of snapping into place from the email-confirm flow. Steps slide left when you advance and slide in from the right, with the current-step indicator in the rail gently pulsing. State is now a dropdown (all 50 US states + DC + Puerto Rico) instead of a free-text field that accepted any string; same on the per-club forms. City stays as free text since standardizing it requires a real autocomplete service.

May 19, 2026 · Fix

  • Browser tab icon and the icon Google shows next to search results are now the simplified PlateLog mark instead of a muddy downsample of the detailed logo. Restored the bolder April favicon (tighter crop, chunkier shapes that read at 16x16) and regenerated all icon sizes from it so the search result, browser tab, and PWA install icon all match.
  • Welcome tour modal: the first-slide graphic is the actual PlateLog logo (used to be an abstract zigzag that didn't read as anything). Body scroll is also locked while the modal is open so the page underneath can't scroll under the dim.
  • Network signups no longer hit a "You cannot change your own role" error when clicking "Enter network" on the wizard's final step. The system trigger that normally blocks self-promotion (good) now correctly recognizes the onboarding RPC as a legitimate self-elevation path.
  • Onboarding wizard polish: the "roughly how many machines" step no longer claims "we'll refine it during mapping" (no such mapping step exists). The per-club progress dots on the network signup substeps are now legible against the dark background instead of being barely visible.
  • Red "unread" dot on the profile dropdown now actually clears when you visit the changelog. The mark-as-seen effect was wired inside NavBar but /changelog is a public route that doesn't render NavBar, so the effect never fired. Moved the seen-stamp into the changelog page itself.
  • Onboarding wizard polish: the top-left brand mark is now the proper logo size (44px, matching the IconRail's brand) instead of a tiny 26px favicon-sized rendering. Typing a comma in the city/state field no longer visually disappears as you type. The Continue button is now always reachable without scrolling: content scrolls within the column, the nav buttons stay pinned to the bottom edge.
  • Final wizard step: shows a spinner + "Finishing setup" state while the setup RPC runs, then transitions to the success ring once it completes. Previously the success state rendered immediately and the Enter button sat grayed-out, which read as broken.
  • Product tour fixes: body scroll is locked while the tour runs so highlighted elements don't slide out from under the popover. Popovers now position to the right of sidebar items (or below the NavBar) instead of overlapping their own anchor. Members and Library steps added when the user has permission to see those rail items; steps whose anchor doesn't exist are skipped entirely instead of floating untethered.
  • Empty "no activity" dashboard graphic no longer visibly snaps back at the end of each loop. The translation distance now matches the heartbeat pattern's 42px period (was 54px, a 12px mismatch).

May 18, 2026 · New

  • Onboarding wizard for network signups now collects a full profile for every club up front: name, short code, street address, city, state, zip. The wizard cycles through your locations one at a time with a "Club 2 of 4" mini-progress indicator. Your network admin account is provisioned with all of your clubs already in place, so you can switch between them from day one without going to Manage Network first
  • Network admins now land on the cross-club Network dashboard when they open /dashboard or finish onboarding, instead of dropping onto a single club's view. The per-club dashboard is still one org-switch away

May 18, 2026 · Fix

  • New mobile signups now reliably land in the onboarding wizard after confirming their email. The gate that decides whether to send you to onboarding was previously letting the dashboard mount during the loading window on slow mobile connections, so the wizard appeared to never run
  • Clicking "Enter dashboard" at the end of onboarding no longer flashes the first wizard step for a frame before redirecting
  • Deleting your account as the sole club in a trial network now succeeds. Earlier the database refused with "Cannot remove the last club from a network" because every onboarding wizard signup is technically a one-club network during trial

May 17, 2026 · New

  • New signups now walk through a quick 6-step setup wizard right after confirming their email instead of landing on an empty dashboard. The wizard asks for your gym name, location, plan (single vs multiple locations), rough machine count, the equipment you most care about, and team size. Equipment names get matched against the catalog so your dashboard already has machines on it when you arrive. Picking "Multiple locations" spins up your network trial on day one with the full multi-location UI active during trial (org switcher, network dashboard, cross-club views)
  • Drag-to-reschedule on the maintenance calendar now works on mobile. Long-press any pill for about 400ms (with a light haptic if your device supports it), then drag it onto another day. Drag toward the left or right half of the calendar header to switch months mid-drag. Animations are at parity with desktop: pickup lift, drop impact, drop-target pulse, just-done flash
  • "Move to date" action on every calendar pill. Tap a pill, pick the option from the action menu, choose a date from your device's native date picker. Works on both desktop and mobile, including keyboard users
  • Mobile maintenance calendar now uses a 7-column grid (Google Calendar style) instead of the day-by-day list. Tap any day to see its tasks or add a new one. Out-of-month days are dimmed but still visible so the grid stays uniform from month to month

May 17, 2026 · Fix

  • Unmarking a completed PM task on the network maintenance page now drops the total-completed count instantly instead of waiting for the server round-trip. Single-org page already worked this way; network was left behind
  • The "What's new" red dot in your profile dropdown now correctly clears when you visit the changelog and reappears when new entries ship. It had been stuck regardless of whether you'd read the latest entries
  • Onboarding wizard polish: option-card titles and subtitles now wrap to separate lines, the rail support link points at a real address, the success-step checkmark draws all the way through, and rail / card state changes ease in instead of snapping
  • Onboarding wizard on mobile: form inputs no longer trigger iOS Safari's zoom-on-focus, the dark background extends under the notch on iPhone, hover styles stop sticking after a tap, touch targets meet the 44px minimum, and the step indicator stays sticky as you scroll

May 12, 2026 · New

  • Single-club Pro customers can now convert their account to a network plan in one click from the billing page. "Add another location" replaces the old "email us and we'll set it up" workflow. The conversion is atomic on the Stripe side (subscription swap with automatic proration credit), and lands you on the Network → Manage page ready to add the new club
  • Network admins can now add or remove a club from Network → Manage without contacting support. Every quantity change shows a price preview ("Your bill changes from $98/mo to $147/mo") before you confirm, and prorated charges or credits appear on the next invoice automatically
  • "Add another location" on billing now actually adds the second location in one step: name your new club, click confirm, and you go from $69/mo single-org to $98/mo with two clubs in one shot. Used to leave you on a "1-club network at $69" state that looked identical to single-org Pro because nothing visible had changed
  • Deleting your account now also cancels your Stripe subscription before tearing down your gym data. Previously your card would keep getting charged after your PlateLog record was gone. Fully fixed for single-gym customers (network customers leave billing in place since the network owns the subscription)
  • Removing a club from a network now puts that club on a fresh 14-day trial with a clean slate, instead of leaving it visually "Pro" with no one paying for it. The detached club keeps all its data; the new operator has two weeks to either subscribe on their own or wind down
  • Trial networks now respect the club count you picked on the signup slider: picking 2 clubs at signup caps you to 2 during trial. Used to let trial users add unlimited clubs (clamped to a sane max once they upgraded). Standalone signups are unaffected

May 12, 2026 · Fix

  • Network admins clicking through to a diagram for a sibling club's machine from /network/equipment no longer land on "Machine not found." The same temporary-org-context pattern that already worked for ticket and machine detail pages now applies to diagrams too
  • Charge dispute notifications now actually fire. The webhook handler was listening for an event name Stripe never emits ("charge.disputed" vs. the real "charge.dispute.created"), so any past dispute would have been silently dropped. If you got disputed in the past and didn't hear about it, that's why
  • Network admins can add a new club to their network from the Manage Network page in one click. The "Add club" button was incorrectly gated behind an "Upgrade to add more" link that pointed back at the billing page with no upgrade flow; the upgrade is the add. Removed the dead gate; the existing self-serve flow handles proration and Stripe quantity automatically
  • Sole gym admins can now delete their own account end-to-end. The deletion was hitting a database guard ("Cannot remove the last administrator from this organization") that wasn't meant to apply when the gym itself was being torn down alongside the account
  • Pricing slider on the landing page now routes you to the network signup when you've picked 2 or more locations. Used to drop everyone into single-location signup regardless of slider position
  • Converting your single-gym subscription to a network plan now reliably lands you on the Network Management page. Earlier the redirect would sometimes bounce back to your regular dashboard because the network-admin role wasn't fully applied to your session before the page transitioned
  • Confirm dialogs for billing-related actions (add club, remove club, convert to network) now lock down while the request is in flight so a slow Stripe response can't produce a duplicate charge from an impatient second click
  • Removing a club from a network now also strips it from every technician's assigned-club list automatically. Previously the removed club lingered in the operator's access set, and they could still open its tickets and maintenance pages
  • Errors during add club, remove club, or convert-to-network are now shown inside the confirmation dialog so you can read them and retry from the same screen instead of having the dialog vanish out from under you
  • Signing up with an email that's already registered now tells you so right away, instead of routing you to a "check your email" screen for a confirmation email that never sends. Same fix on the regular signup and the network signup
  • Network admins now have a "Manage Network" entry in the left sidebar. Used to be reachable only via a button buried in the network dashboard hero
  • Adding the second (or third…) club to a network you pre-paid for at signup no longer shows a misleading price-change preview. The dialog now says "you already paid for this slot at signup" because the bill genuinely doesn't change; the slot was billed at signup time

May 12, 2026 · New

  • Network admins can now file a new ticket from the cross-club Tickets page. No more drilling into a specific machine first. The "+ New Ticket" button opens a quick form asking which club, which machine, the title, and priority

May 12, 2026 · Improvement

  • Adding or removing a club from a network is noticeably faster now. Used to be ~1 second of dead time waiting on Stripe round-trips, now closer to ~300ms because Stripe state is cached on the network row and refreshed as the webhook arrives
  • Network admins who run multi-location operations: the Manage Network page's "Network Admins" tab is now called "Network Members" since the count there includes both admins and club operators
  • Confirmation dialogs across the app now share a single primitive: same focus management, keyboard handling, and accessibility (aria-modal, focus trap, Esc-to-close) regardless of whether you're confirming a one-click action or filling out a form. Screen reader users will notice the New Ticket and Add Location modals announce themselves correctly now

May 12, 2026 · Fix

  • Sole network admins can now delete their own account end-to-end. The earlier delete-account fix only covered single-gym admins; a network admin who was the only admin of their org hit the same "Cannot remove the last administrator" guard and couldn't self-delete
  • If the bundled "second location" creation during the convert-to-network flow ever fails halfway, you'll now see a clear warning banner on the Network Management page telling you to add it manually, instead of silently paying for 2 clubs while seeing only 1

May 10, 2026 · New

  • Custom roles: network admins (or single-club admins) can now define named permission presets like "Senior Tech" or "Vendor Coordinator" with a bespoke combination of permissions on top of a base system role. Members get one role assignment that drives both their RLS hierarchy and what they can see and do, with optional per-user overrides for one-off exceptions
  • Settings → Roles got a new layout: every role (system + custom) lives in one list; click one to drill into a single-role editor with collapsible permission groups, so the page stays scannable as the permission catalog grew from 12 keys to about 50. "User Overrides" gets its own tab so the two workflows ("what does this role do?" vs "what can this specific person do?") don't crowd each other
  • Permission catalog roughly tripled in granularity. Instead of one Tickets toggle covering create, edit, delete, comment, and export, each verb has its own switch. Existing roles keep working unchanged: an umbrella grant like "manage tickets" still implicitly grants every finer key it covers, but custom roles can now grant subsets like "comment but not delete"
  • Per-unit serial numbers: every machine now has both a free-form nickname (e.g. "Unit #3") and an optional serial number field, editable inline from the machine page. Both surface anywhere a machine appears: maintenance task rows, ticket lists, ticket details, calendar pills, and the new day-tasks popover
  • Drag a maintenance task to a different day on the calendar: only that single occurrence moves; the rest of the recurring schedule stays put. Drop the pill back on its native day to undo. Works on both single-club and network calendars
  • Click "+N more" on a packed calendar day to open a popover listing every task scheduled for that day with one-click edit on each, plus an "+ Add task on this day" button at the bottom. Replaces the old jump straight into the add-task form
  • Click any task pill on the calendar to open it in the list with both the edit form and completion history visible. The page scrolls the matching row into view and clears any active filter that would have hidden it

May 10, 2026 · Improvement

  • Single-club dashboard hero now shows the club name next to the date, so network admins viewing a specific club always know which one the numbers below belong to
  • Completing a maintenance task now gives a clear visual confirmation: the task card flips to a green "Just done" state with a checkmark for a few seconds, and the toast names the task and tells you when it's next due ("Belt cleaning marked done, next due Aug 8") instead of just saying "Task marked as done"
  • Toast notifications for adding a machine, creating a maintenance task, or accepting a member report into a ticket are now clickable: tap the toast to jump straight to the new thing before the notification disappears
  • Clickable toasts now actually open the right page. The link targets pointed at a non-existent route, so "Machine added" and "Task created" toasts were landing on a "Machine not found" screen instead of the new thing

May 10, 2026 · Fix

  • Ticket photos render again on Firefox and Waterfox. The storage bucket needed its public flag re-enabled, and new uploads now stamp the right image Content-Type so the browser stops refusing them as non-images
  • Promoting a member to Network Admin from the Members page now actually attaches them to the network. The role used to apply without the underlying membership row, leaving the user with the title but no cross-club access
  • Logging in now plays nicely with the browser's password manager: email and password fields carry the standard autocomplete hints, so credentials get offered to save and auto-fill on return visits instead of vanishing every time
  • Reporting a part issue from the diagram no longer leaves the diagram drag-able behind the dialog. The modal now covers the full viewport like every other modal in the app
  • Role and priority dropdowns on Tickets and Members no longer have the chevron arrow overlapping the option text

May 8, 2026 · Improvement

  • Switching between clubs is noticeably faster: the post-switch profile, billing, available-orgs, and store-init fetches now run in parallel instead of stacking sequentially
  • Catalog and equipment lists no longer fire a flood of vendor image requests on first paint: off-screen thumbnails defer until you scroll, freeing up bandwidth for the page itself
  • Network admins can now delete machines that didn't belong to their personal home club. The delete used to silently revert after the toast claimed success
  • Network admins can now add machines to any of their clubs from the Equipment Library; same root cause as the delete bug, now fixed for both directions
  • Tickets created from a diagnostic conclusion now carry the recommended part numbers into the ticket itself, so the technician sees them on the ticket detail without re-running the wizard
  • "View on diagram" from a diagnostic conclusion now highlights every recommended part on the diagram, not just the first one. Useful for diagnoses that suggest a related set (drive belt + idler + tensioner). The highlights dismiss as soon as you click anywhere so they read as a one-shot pulse, not permanent emphasis
  • T5 treadmill diagnostic tree expanded from 6 root symptoms to 10, with belt-drift, console/button issues, burning smell safety paths, and accessory issues now covered. Total conclusion count went from 14 to 44, and existing paths gained extra branching for the most common failure modes
  • Diagnostic flow gets a polish pass: severity badges replace emojis with the animated PlateLog status icons (operational ring pulse for info, blink for warning, slash for critical), recommended parts and action steps stagger in instead of appearing all at once, and the answer-history breadcrumb gains a vertical spine connecting completed steps
  • Diagnostic conclusions widen into a 2-column layout (parts on the left, action steps on the right) so a typical conclusion fits without scrolling. Each new question or conclusion auto-scrolls into view so the user never has to chase the next step manually
  • Network admins land on the network dashboard ("All Clubs") by default after sign-in instead of dropping into whichever single club they were last bound to
  • Sidebar polish: whichever section you're viewing now plays a subtle continuous animation in the icon rail as a "you are here" cue, and count badges (open tickets, overdue maintenance, etc.) move to the right of the label text when the rail is expanded so the icon stays uncovered while it animates
  • Opening a machine's QR label page no longer auto-pops the print dialog. The page just loads. The existing Print button stays for when you actually want to print
  • Breadcrumb on a ticket opened from the activity feed or the network-wide ticket list now reads Network Dashboard › All Tickets › Ticket and routes the middle crumb back to the network-wide list, instead of bouncing the network admin through the club-specific dashboard
  • Network dashboard hero is now a single readable sentence ("There are 12 open tickets across 3 of your 5 clubs, and 8 PMs overdue today.") with the numbers as inline links and hover tooltips. All-clear and overdue-only variants pick the right wording automatically. Replaces the row of stat tiles
  • Single-club dashboard hero gets an asymmetric stat layout: one primary metric featured large (whichever needs attention most right now) with the rest as smaller chips beside it, instead of five equally-sized tiles
  • Per-club leaderboard, top repair costs, activity feed, and the new "Today's Ops" focus list all got a coordinated visual rewrite: editorial rank numbers, a monospace repair ledger, a hairline timeline replacing the colored-icon activity row, and a dark-slab anchor at the page bottom that bookends the dark hero up top
  • Activity feed now attributes ticket events to the actual creator instead of falling back to the assignee or showing "[member]". New tickets carry the creator's name; legacy tickets without that data render with a clean no-actor fallback
  • PM completion events surface in the activity feed in the right chronological order. They were sorting to the bottom because the event id format was getting fragmented by UUID hyphens
  • Network admins clicking a sibling-club machine from the Equipment master list now actually load the machine. They used to land on "Machine not found." The same temporary-org-switch + restore-on-back pattern the network-wide tickets list already used now applies to machines and maintenance
  • Landing page copy got a pass to feel less templated: dual-line headlines collapsed to single sentences, repetitive feature bullets trimmed and made more specific, CTA wording standardized, and the founder placeholder swapped for an intentional initial-in-circle treatment
  • Diagnostic answer buttons now show a visible focus ring when tabbing through with a keyboard
  • Network admins can now delete tickets in any club they have access to. Same root cause as the machine add/delete RLS bugs from earlier today; the ticket version routes through a new SECURITY DEFINER RPC
  • Photos on tickets that were converted from member-submitted reports now render correctly. The renderer was prepending the ticket-photos bucket URL onto an already-full report-photos URL, doubling the prefix and producing a 404
  • Network dashboard ticket counts now match reality. Soft-deleted tickets were still being included in the "X open tickets across Y clubs" sentence, inflating the count; the aggregate RPC was missing the deleted_at filter that the machines version already had
  • New "Diagnostic Audit" tab in the superadmin admin panel walks every diagnostic conclusion's recommended parts and reports which ones do not yet link to a hotspot on the machine's diagram, so broken "View on diagram" jumps can be caught and fixed before users hit them
  • New illustrated empty states across the app: the catalog, maintenance, tickets, member reports, and activity feed each show a small animated illustration when there's nothing to display
  • Animated icons in the left rail: hovering Tickets, Equipment, Maintenance, etc. plays a small motion to make the destination read at a glance
  • Machine status selector shows the active status with a subtle live animation (operational ring pulse / attention blink / out-of-service slash) so the current state reads without you having to find the colored pill
  • The "Buy this part" buttons and parts list in the diagram viewer now use a cart icon and a part-shape icon, replacing the plain arrow
  • Top-bar search is now a full-width input-shaped trigger with placeholder text, instead of a small icon button, easier to spot and click
  • Focused inputs no longer show both a blue and a red outline at the same time

May 7, 2026 · New

  • Network admins now have a real cross-club operating mode: the network dashboard shows aggregate stats (Clubs, Machines, Members, Open Tickets, PM Overdue) plus a "Needs Attention" list of the most urgent maintenance tasks across every club
  • New cross-club master views: Tickets, Equipment, Members, and Maintenance pages each show every record across the network with club tags and a searchable club filter
  • Maintenance got a calendar: month view on desktop, day-list on mobile. Click an empty day to schedule a task anchored to that date; click a task pill to edit. Tasks render on every recurrence, not just the next one
  • Maintenance tasks now support assignee, description, paused/active status, and reminder lead time (1 day / 3 days / 1 week / 2 weeks / 1 month). Reminder dispatch (email/SMS) is coming later; the data is captured today
  • New "Next maintenance" callout on the dashboard with countdown and a one-click View link, so the most-imminent task is visible without leaving the dashboard
  • Network admins adding a machine from the Equipment Library can pick which club to add it to. No more being locked into whichever club you happened to be viewing
  • "In N of your gyms" badge on the Equipment Library shows how many of your clubs already have a machine, with a hover tooltip listing each one
  • Top nav reorganized: Equipment is now a dropdown ("My Club" / "Equipment Library"); Members, Settings, and Admin live under a single Network or Settings dropdown depending on your role; What's new moved into the avatar menu

May 7, 2026 · Improvement

  • Clicking a ticket from the network-wide tickets list temporarily switches you into that club to view it, then restores your original club when you back out
  • Org switcher shows "All Clubs" with a globe icon when you're viewing the network dashboard, so it's clear no specific club is selected
  • Page navigation now scrolls back to the top: clicking from one ticket to another no longer drops you mid-page on the new one
  • Post-login wait now shows a dashboard-shaped skeleton instead of a generic spinner, so the screen feels closer to ready while data loads
  • Diagram viewer zoom on mobile no longer over-zooms mid-sized parts (e.g. the walking belt) into a screen-filling red wash
  • Diagram zoom hint moved to the bottom-right corner so it doesn't cover diagram labels in the middle of the canvas
  • "Report issue with this part" button on mobile now sits above the buy-links so it's visible without scrolling the part card

May 6, 2026 · Improvement

  • Diagram viewer performs noticeably smoother: clicking, panning, and hovering parts stays at full framerate even on mid-range hardware
  • Selected parts now show a soft red glow that follows the part shape instead of a hard outline + flood fill; small parts get a circular halo so the glow doesn't read as square
  • Hovering a part shows a matching soft yellow glow so it's clear which part you're about to click
  • Pan stops immediately when you release the mouse: no more drift
  • Reporting an issue from a diagram now opens a draft form (title, description, priority) instead of creating a ticket the moment you click, so you can review before committing
  • Ticket form on mobile pins near the top of the screen so the keyboard doesn't cover the inputs
  • Diagrams no longer hang on "Loading…" the second time you open the same one (cached image edge case)
  • Diagram, machine, and QR pages no longer flash "not found" while data loads on direct visits
  • Opening a diagram from a long-scrolled machine page scrolls back to the top so the chrome bar is visible

Apr 28, 2026 · Improvement

  • Diagram parts list now hides parts that aren't on the current diagram page: no more ghost rows that do nothing when clicked
  • Dashboard "Avg resolution" now uses your all-time average instead of just the current month, so it shows a real number as soon as you've resolved any tickets
  • Empty stats on the dashboard hide themselves instead of showing dash placeholders

Apr 27, 2026 · New

  • Member-facing QR codes: every machine's QR sticker now lands gym members on a public page where they can report a problem with a photo and a description, no login required
  • Pending Reports inbox: when members report an issue, it shows up on a new Reports page where admins can turn it into a ticket or dismiss it (dismissed reports are kept, not deleted)
  • Notification badges on the dashboard, machine cards, and the navigation bar so admins see new reports the moment they come in
  • Smart routing for staff who scan a QR: if you're already logged in to the gym, you go straight to the machine page with a prompt asking whether to file a ticket or just dismiss the scan
  • New "Reports management" permission: control who in your team can review and act on member-submitted reports
  • Edit machine name, model, serial prefix, category, and description directly on the admin equipment page (no more re-importing JSON to fix typos)

Apr 22, 2026 · New

  • Pinch-to-zoom on the landing page diagram demo: spread two fingers to zoom in, pinch to zoom out, slide both fingers together to pan

Apr 22, 2026 · Improvement

  • Live diagram demo fits on one phone screen and auto-scrolls into view when you tap a part, so the Reset button and part card stay visible
  • Part details card docks as a bottom sheet on phone portrait and a side panel on phone landscape: no more covering the diagram you're trying to read
  • Dashboard stats, Admin tab bar, and machine page header no longer cause sideways scroll on narrow phone viewports
  • Authenticated pages (Members, Settings, ticket detail, and admin signup rows) wrap gracefully on mobile instead of crowding off the edge
  • Login, signup, and password pages show the branded side panel on landscape phones and tablets (was desktop-only)
  • Forgot-password now shows its own validation message instead of the browser popup that was covering the submit button
  • Disabled buttons across auth pages render as clear gray instead of faded red, and autofocused inputs no longer look like validation errors

Apr 20, 2026 · New

  • Granular permissions: a new Settings page lets admins customize what each role can do, plus per-user overrides for individual exceptions
  • New "Edit Equipment" permission: control who can change machine status and notes separately from who can add or remove machines
  • Redesigned landing page with a live interactive diagram demo, pricing calculator for multi-location plans, and refreshed copy
  • Top loading bar appears on every page navigation so you always know something's happening

Apr 20, 2026 · Improvement

  • Dashboard now shows skeleton placeholders instead of flashing zeros while numbers load
  • Team Members page loads faster and shows skeleton placeholders while fetching
  • Pages open much quicker: route bundles prefetch in the background so clicks feel instant
  • Equipment, Diagnose, and Library pages now animate in with a staggered fade on entry
  • Toast notifications slide in and out more smoothly; the progress bar no longer overflows the bubble
  • Login page back button is now always visible in the top-left corner
  • Superadmins can now change any member's role from the Members page and the admin panel

Apr 16, 2026 · New

  • Multi-location network management: manage multiple gym locations from one account with a cross-club dashboard, org switcher, and centralized billing
  • Network admin role: franchise managers get full admin access across all clubs in their network
  • Staff role: new role for general gym employees with default view + ticket permissions
  • Volume pricing: $69/location for single gyms, as low as $35/location for 6+ club networks
  • Network signup flow: new operators can sign up for a multi-location plan directly from the landing page

Apr 16, 2026 · Improvement

  • Redesigned navbar layout: logo, club switcher, and navigation no longer overlap on smaller screens
  • Password reset links now correctly show the reset form instead of logging you straight into the dashboard
  • Role dropdown on the Members page no longer clips behind the native select arrow

Apr 7, 2026 · New

  • Life Fitness T5 Treadmill (T5-XXXX-0103) added to the equipment library with 15 diagram pages
  • Hammer Strength PLSM Smith Machine fully mapped with all 10 diagram pages, parts legends, and buy links

Apr 6, 2026 · New

  • Diagnostic wizard now opens on its own dedicated page for a focused troubleshooting experience
  • "View suspected part on diagram" now highlights and zooms to the part, showing all instances if multiple exist
  • Club admins can now remove team members and change roles directly from the Members page
  • "What's new" indicator in the nav bar shows when there are changelog updates you haven't seen yet

Apr 3, 2026 · New

  • Multi-vendor buy links on parts: click a part on any diagram to see direct purchase links from Fitness Repair Parts, Sportsmith, Gympart, and more
  • Import parts from other diagram pages: when mapping a new assembly, pull in already-cataloged parts from sibling pages in one click instead of re-entering data

Apr 1, 2026 · New

  • Equipment requests now require diagram sheet uploads: submit your service manual pages and we'll map the interactive parts diagrams for you
  • "See something wrong?" link on diagram viewer: quickly report diagram issues to the PlateLog team

Mar 31, 2026 · New

  • New magic wand tool in the hotspot editor: click inside a part region and it auto-traces the outline by flood-filling to the diagram's line boundaries
  • New circle tool for small parts like bolts and washers: click to place with adjustable radius
  • Expand/contract controls to adjust hotspot size by a configurable pixel amount
  • Edit saved hotspots: click Edit to drag individual vertices and adjust polygon shapes
  • "Show all X on diagram" button in part info card: highlights every instance of a part (e.g. all bolts of the same type) in blue
  • Progress tracking now correctly counts unique parts, not duplicate hotspots for the same part
  • Parts can now be added and deleted manually in the legend editor

Mar 31, 2026 · Improvement

  • Admin hotspot editor now shows mapping progress: each diagram tab displays mapped/total count, and machines show a % complete badge with progress bar
  • Machine list in admin now has a search bar for filtering by name or model number
  • Diagram rendering is more reliable in Firefox and Waterfox: fixed incomplete line drawing on initial load

Mar 30, 2026 · New

  • Parts diagram viewer redesigned: full-screen canvas with floating part info cards, animated slide-in parts list, auto-hiding zoom controls, and inertial pan momentum
  • Diagrams now live on their own dedicated page with a compact dropdown selector, keyboard shortcuts (Escape, +/-), and zoom-to-fit on part click
  • Machine page reorganized: Parts Diagrams and Diagnose Issue are now prominent hero cards above the fold, with tickets and maintenance side-by-side below
  • New Legend Entry Editor in admin with per-part editing and AI Enrich (Gemini) for auto-generating descriptions, service notes, and buy links
  • Parts now support display names: clean readable names shown alongside official part numbers

Mar 30, 2026 · Fix

  • Fixed data isolation: store queries now filter by organization on initial load
  • Fixed potential write-to-wrong-org when switching organizations during async saves
  • Fixed diagram viewer timer cleanup on unmount and dependency array issues

Mar 26, 2026 · Fix

  • Parts diagrams on machine pages now always reflect the latest admin edits, previously showing a stale copy that missed new hotspots and diagram updates

Mar 26, 2026 · Improvement

  • Diagram hotspot editor now imports regions directly from image-map.net: paste the HTML output to place multiple hotspots at once
  • Smith Machine diagrams now load as PNG images instead of PDF pages, faster and sharper on all browsers
  • Removed the experimental AI Smart Select tool from the diagram editor to improve reliability

Mar 25, 2026 · Fix

  • Smart Select now works in Firefox-based browsers (Waterfox, Firefox): fixed a browser security restriction that prevented the diagram canvas from loading
  • Smart Select region tracing now completes correctly and picks the most accurate region: fixed an internal error that caused clicks to fail silently

Mar 24, 2026 · Fix

  • Smart Select (AI region detection) in the diagram editor now loads correctly: resolved an issue where the model failed to initialize in certain browsers

Mar 23, 2026 · Improvement

  • Buy links can now be added to individual parts in diagram legends: the "Buy this part" button will send technicians directly to the right product page
  • Drawing hotspot regions on diagrams now shows a live filled preview instead of just an outline
  • Smart Select in the diagram editor now loads reliably: fixed a browser caching conflict that prevented the AI model from initializing

Mar 23, 2026 · Feature

  • Gyms can now track multiple units of the same machine: add Unit #1, Unit #2, etc. each with independent tickets and service history

Mar 23, 2026 · Improvement

  • Equipment images in the catalog now show the full machine instead of cropping
  • Service history now shows who made each status or note change

Mar 23, 2026 · Fix

  • Fixed a flash of the subscription screen appearing briefly after signing in
  • Email notifications now reliably sent when tickets are created, updated, or assigned

Mar 21, 2026 · Fix

  • Resolved an outage affecting page loads; site stability restored

Mar 20, 2026 · Improvement

  • PlateLog is now indexed by Google; search discoverability improved
  • Security headers added across all pages (XSS, clickjacking, content-type protections)
  • Billing plan limits now enforced at the database level for extra reliability
  • Deleted ticket photos are now automatically cleaned up from storage

Mar 20, 2026 · Fix

  • Ticket edits (cost, vendor, part numbers) no longer revert after saving
  • Billing upgrade now reflects within seconds of payment completing
  • Back to home link added on Sign In, Sign Up, and Reset Password pages
  • Deleted machines and tickets properly excluded from live updates

Mar 20, 2026 · New Machines

  • Added Life Fitness Integrity Series treadmill and cross-trainer with full parts diagrams
  • Added Precor EFX 835 elliptical and AMT 835 adaptive trainer
  • Added Technogym Skillmill Connect (non-motorized treadmill)

Mar 10, 2026 · Improvement

  • Ticket photos now support files up to 25 MB (previously 10 MB)
  • Faster global performance with Cloudflare CDN deployment

Feb 2026 · New Machines

  • Added Matrix Fitness S-Series treadmill, bike, and elliptical
  • Added Star Trac E-Series cardio line
  • Added Cybex Arc Trainer 625A and 770A

Jan 2026 · Feature

  • Email notifications when service tickets are assigned to technicians
  • Service ticket cost tracking with vendor and part number fields
  • QR code labels for instant machine lookup from the floor

PlateLog home · Pricing · Start a free 14-day trial