Homepage screenshot

Myotrek — Case Study

A full React Native fitness tracker with personalized workout logging, stats, and smooth navigation.
Built as a freelance project and deployed on both the Play Store and App Store.


Background / Why This Matters

This project came from a client who built a compact home-gym device that uses magnetic resistance to replicate gym-style training.
They needed a mobile app that could:

It was a practical problem:
a physical product needed a digital companion to make the experience complete.


Project Goal

Build a mobile app that:

Since this was a freelance delivery, the app had to feel polished, intuitive, and reliable.


My Role

I handled all frontend engineering:

A teammate managed Firebase auth, Firestore, and deployments.


Architecture Overview

Frontend

Backend

Content Storage

To avoid recurring database costs, we shipped a local exercise library inside the app bundle:

It kept the product lightweight and inexpensive to maintain.


How It Works (Flow)

  1. User opens the app and logs in.
  2. Chooses a workout category or exercise.
  3. Tutorial video loads through a YouTube embed.
  4. User logs sets, reps, volume, or duration.
  5. Data syncs to Firebase (or is saved locally when offline).
  6. Stats and charts update automatically.
  7. Monthly leaderboards show top performers across metrics.

The flow stays consistent across iOS and Android.


Key Challenges & Solutions

1. Tooling and Version Mismatches

Problem:
Expo, React Native, EAS, Play Store, and App Store tooling all demanded different versions and configs.
Builds would fail for reasons that weren’t obvious.

Solution:
We rebuilt the environment using the latest Expo SDK, re-aligned packages, and followed documentation strictly.
Keeping everything on the most recent toolchain turned out to be the most stable approach.


2. Limited Development Hardware

Problem:
My personal laptop struggled during builds, and we had no macOS device initially for iOS deployment.

Solution:
We optimized dev builds with lighter configs and eventually secured a MacBook towards the end of the project specifically for App Store deployment.
That made our final shipping window possible.


3. No Budget for Full Exercise Database

Problem:
The client didn’t want recurring costs for storing exercise metadata.

Solution:
We embedded a local JSON-style library containing all workout definitions, images, and links.
This kept the app lightweight, predictable, and free to maintain.


Outcomes / Learnings

The app has been live for more than six months, with consistent usage and no production-breaking issues.
Delivering on both stores taught me:

This project was a strong, real-world exercise in end-to-end mobile delivery.


Final Thoughts

Myotrek showed me what a complete mobile product cycle looks like: planning, building, aligning tools, shipping, and maintaining.
It wasn’t the largest project, but it demanded discipline with versions, builds, and cross-platform consistency — exactly the challenges that make mobile work interesting.