DEV Community

Jason Park
Jason Park

Posted on

Building a Gym Logging App

GymLogger was built to replace the manual process of tracking workouts in Google Sheets with a more visual and interactive experience. Instead of relying on spreadsheets, the app provides an easy way to schedule weekly exercises, log workouts, track sets, and see progress over time.

Application Structure

GymLogger is built with React Native and Expo Go, designed to run on iOS without extra setup. It uses SQLite for local data storage, ensuring workouts are logged and accessible even without an internet connection.

Workout Tab

GymLogger is structured around a weekly workout routine, with four exercises scheduled for each of the five weekdays. When the app starts, it automatically detects the current day and displays the scheduled exercises for that day.

View today's exercises

Each exercise consists of four sets of 10 reps, and progress is tracked based on total volume.

Log reps for exercise

Log reps for one-armed exercise

If all four sets are completed with 10 reps, the app automatically increases the weight for the next session, helping ensure steady progress.

Schedule Tab

The Schedule tab allows exercises to be created and updated for each day of the week. When adding a new exercise, the initial weight and increment value are set, ensuring automatic progression over time. This tab provides full control over workout planning, making it easy to adjust exercises as needed.

History Tab

The History tab organizes past workout logs by week, then day, and finally by exercise for that day. This makes it easy to review progress over time. Logs can be edited or deleted directly from this tab, making it easy to adjust past entries.

Future Improvements

I initially planned to implement a background task that would automatically save workout data to SQLite at the end of each day between 10:59 PM and 11:59 PM local time. However, since Expo Go doesn’t support background tasks for iOS, and workarounds add costs, this became a challenge. For now, data is saved manually through user interactions, but future updates may explore alternative solutions.

Repo Link

Resources

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Sentry mobile image

Improving mobile performance, from slow screens to app start time

Based on our experience working with thousands of mobile developer teams, we developed a mobile monitoring maturity curve.

Read more

👋 Kindness is contagious

If you found this article helpful, a little ❤️ or a friendly comment would be much appreciated!

Got it