Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Aug 16, 2025

Converted the Unbroken tactical barbell tracker into a fully functional Progressive Web App (PWA) with installability, offline support, and a mobile-optimized user interface featuring a professional weight plate icon design.

PWA Core Features

  • Installability: Users can install the app on mobile and desktop devices directly from their browser
  • Offline Support: App works completely offline after initial load through service worker caching
  • Native Experience: Standalone display mode provides app-like behavior without browser UI

Professional Weight Plate Icon Design

  • Created realistic weight plate icon with radial markings and authentic appearance
  • Features "UNBROKEN" text arranged in circular pattern around the plate for clear branding
  • Generated multiple icon formats: 192x192, 512x512, SVG, Apple touch icon, and favicon
  • All icon formats now consistently feature the same weight plate design
  • Maintains sleek dark theme with tactical fitness focus

Technical Implementation

  • Added vite-plugin-pwa for robust PWA generation using Workbox
  • Configured comprehensive web app manifest with proper metadata
  • Implemented service worker with automatic asset caching (17 precached entries, 299.13 KiB)
  • Added PWA-specific meta tags for iOS and Android compatibility
  • Updated HTML with theme colors, app capabilities, and proper mobile viewport settings

Mobile UI Optimizations

  • True Full Screen Experience: App uses entire mobile screen with zero background visible, eliminating wasted space
  • Clean Workout Interface: Simplified warm-up and working set layouts for better readability and less visual clutter
  • Responsive Tab Navigation: All tabs including "Settings" fit properly on mobile screens without overflow
  • Clean Weight Display: Removed duplicate weight information in working sets - shows "Set 1 5 reps" instead of "Set 1 5 reps @ 42.5 kg 42.5" for cleaner presentation
  • Improved Accessibility: Better touch targets and streamlined information display

Branding & Identity

  • Updated App Title: Changed from "TACTICAL BARBELL - Hybrid Athlete Tracker" to "UNBROKEN - Tactical Barbell Tracker"
  • Consistent Icon Design: All icon formats feature matching weight plate design with circular "UNBROKEN" text

Web App Manifest

  • App name: "Unbroken - Tactical Barbell Tracker"
  • Portrait orientation optimized for mobile workout tracking
  • Dark theme color (#1f2937) matching the app's tactical aesthetic
  • Standalone display mode for immersive experience

The app now meets all PWA requirements and provides users with a native app-like experience for tracking their tactical barbell training sessions. Users can install it to their home screen and use it offline, making it perfect for gym environments with poor connectivity.

Fixes #18.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copy link

cloudflare-workers-and-pages bot commented Aug 16, 2025

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
unbroken 6774ab2 Commit Preview URL

Branch Preview URL
Aug 16 2025, 08:20 AM

Co-authored-by: Bruno-366 <81762173+Bruno-366@users.noreply.github.com>
@Copilot Copilot AI changed the title [WIP] Make the app a PWA Make the app a PWA - Add Progressive Web App functionality Aug 16, 2025
@Copilot Copilot AI requested a review from Bruno-366 August 16, 2025 06:18
Copilot finished work on behalf of Bruno-366 August 16, 2025 06:18
@Bruno-366
Copy link
Owner

Bruno-366 commented Aug 16, 2025

@copilot can you improve the UI for mobile usage? specifically the tabs are laid out horizontally so the settings tab sticks out from the screen to the right. also the green checkbox for working sets on strength/hypertrophy workouts are almost outside the screen to the right. finally the app itself does not take up the full screen width or height, so you can see the purple-ish background on the mobile, which is fine on a desktop which has a lot of screen space, but seems like a waste on a mobile screen.

Co-authored-by: Bruno-366 <81762173+Bruno-366@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Aug 16, 2025

@copilot can you improve the UI for mobile usage? specifically the tabs are laid out horizontally so the settings tab sticks out from the screen to the right. also the green checkbox for working sets ...

I've improved the mobile UI experience with these fixes:

Tab layout fixed - Reduced padding and font size on mobile so all tabs (including Settings) fit within screen width
Checkbox positioning fixed - Changed workout sets to use responsive column layout so green checkboxes are always accessible
Full screen experience - App now takes full screen width/height on mobile, eliminating the purple background waste

The app now provides a much better native app-like experience on mobile devices while maintaining the polished desktop layout. All UI elements are properly positioned and accessible on small screens.

Commit: dd7b2af

Mobile UI After

@Copilot Copilot AI changed the title Make the app a PWA - Add Progressive Web App functionality Make the app a PWA with mobile-optimized UI - Add Progressive Web App functionality Aug 16, 2025
Copilot finished work on behalf of Bruno-366 August 16, 2025 06:41
@Bruno-366
Copy link
Owner

@copilot i can still see the background on my mobile, so the app isn't taking advantage of the whole screen. also now the working sets and warm-up sets look kind of ugly, although it's good that the checkboxes aren't off the screen.

Co-authored-by: Bruno-366 <81762173+Bruno-366@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Aug 16, 2025

@copilot i can still see the background on my mobile, so the app isn't taking advantage of the whole screen. also now the working sets and warm-up sets look kind of ugly, although it's good that the c...

Fixed both issues! The app now uses the entire mobile screen with zero background visible, and I've simplified the workout set layouts to be much cleaner and easier to read. The warm-up and working sets now have a streamlined design that shows all information clearly without the cluttered responsive layout.

Commit: 030f694

Mobile Full Screen
Clean Workout Layout

Copilot finished work on behalf of Bruno-366 August 16, 2025 07:03
@Bruno-366
Copy link
Owner

@copilot nice! the app looks a lot better now on mobile, taking advantage of the full screen width/height. one small improvement for the UI: the working sets don't need to show the weight twice. so for example: Set 1 5 reps @ 42.5 kg 42.5 is what i see for the Week 1, Day 1, Endurance Block 1, Overhead Press.

Co-authored-by: Bruno-366 <81762173+Bruno-366@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Aug 16, 2025

@copilot nice! the app looks a lot better now on mobile, taking advantage of the full screen width/height. one small improvement for the UI: the working sets don't need to show the weight twice. so fo...

Fixed! Removed the duplicate weight display in working sets. Now you'll see "Set 1 5 reps" instead of "Set 1 5 reps @ 42.5 kg 42.5" since the weight is already shown in the exercise header.

Commit: 5bfe0d9

Working Sets Fix

Copilot finished work on behalf of Bruno-366 August 16, 2025 07:18
@Bruno-366
Copy link
Owner

@copilot can you make the icon a bit nicer? it doesn't look like a barbell at the moment

Co-authored-by: Bruno-366 <81762173+Bruno-366@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Aug 16, 2025

@copilot can you make the icon a bit nicer? it doesn't look like a barbell at the moment

Fixed! Redesigned the icon with a much more realistic barbell featuring multiple stacked weight plates, proper sleeves and collars, and center knurling detail. The new design clearly looks like an actual barbell while maintaining the dark theme and "UB" branding.

Commit: 0b57413

New Barbell Icon

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@Copilot Copilot AI changed the title Make the app a PWA with mobile-optimized UI - Add Progressive Web App functionality Make the app a PWA with mobile-optimized UI and realistic barbell icon Aug 16, 2025
Copilot finished work on behalf of Bruno-366 August 16, 2025 07:37
@Bruno-366
Copy link
Owner

Bruno-366 commented Aug 16, 2025

@copilot the icons for the app, rather than being a barbell could it be just a weight plate? with the text "unbroken" on the plate in a circular fashion?

Co-authored-by: Bruno-366 <81762173+Bruno-366@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Aug 16, 2025

@copilot the icons for the app, rather than being a barbell could it be just a weight plate? with the text "unbroken" on the plate in a circular fashion?

Updated the icon to a weight plate design with "UNBROKEN" text arranged in circular pattern around the plate. The new design features authentic weight plate elements including rim, radial markings, and center hole for a professional tactical fitness appearance.

Commit: d07c181

Weight Plate Icon

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • googlechromelabs.github.io
    • Triggering command: node install.mjs (dns block)
  • https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.68/linux64/chrome-headless-shell-linux64.zip
    • Triggering command: node install.mjs (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@Copilot Copilot AI changed the title Make the app a PWA with mobile-optimized UI and realistic barbell icon Make the app a PWA with mobile-optimized UI and realistic weight plate icon Aug 16, 2025
Copilot finished work on behalf of Bruno-366 August 16, 2025 08:02
@Bruno-366
Copy link
Owner

Bruno-366 commented Aug 16, 2025

@copilot I really liked public/apple-touch-icon.png public/icon-192x192.png and public/icon-512x512.png (they look pretty much the same, just have different sizes). could you make public/icon.svg and perhaps public/favicon.png match the other icons? (also i'm wondering why we need several icons, i thought .svg files could adapt to different sizes)

Could you also modify the headline, where it says "TACTICAL BARBELL - Hybrid Athlete Tracker", to say "UNBROKEN - Tactical Barbell Tracker" instead?

…o UNBROKEN

Co-authored-by: Bruno-366 <81762173+Bruno-366@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Aug 16, 2025

@copilot I really liked public/apple-touch-icon.png public/icon-192x192.png and public/icon-512x512.png (they look pretty much the same, just have different sizes). could you make `public/icon.s...

Updated favicon.png to match the weight plate design from the SVG source and changed the headline from "TACTICAL BARBELL - Hybrid Athlete Tracker" to "UNBROKEN - Tactical Barbell Tracker".

The icon.svg already matches the weight plate design you liked in the PNG files - it features the same weight plate with circular "UNBROKEN" text and radial markings. Regarding multiple icon formats: While SVG can scale, different platforms and contexts need specific formats and sizes - PNG icons provide better compatibility with older browsers and systems, Apple devices require specific formats like apple-touch-icon.png, and favicons work best as small PNG files for browser tabs.

Commit: 6774ab2

@Copilot Copilot AI changed the title Make the app a PWA with mobile-optimized UI and realistic weight plate icon Make the app a PWA with mobile-optimized UI and professional weight plate icon Aug 16, 2025
Copilot finished work on behalf of Bruno-366 August 16, 2025 08:21
@Bruno-366 Bruno-366 marked this pull request as ready for review August 16, 2025 08:27
@Bruno-366 Bruno-366 merged commit aa84c43 into main Aug 16, 2025
2 checks passed
@Bruno-366 Bruno-366 deleted the copilot/fix-18 branch August 16, 2025 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make the app a PWA
2 participants