Skip to content
All projects
Work in progressAugust 2026

Workout Trainer

An Android workout app that shows the movement in 3D and lets you log weight and reps — the combo I couldn't find in existing apps.

  • Kotlin
  • Jetpack Compose
  • Android
  • Room
  • SceneView
  • Blender
  • 3D

Project gallery

Workout Trainer preview

Image 1 of 2

Overview

Most workout apps I tried were strong on one side and weak on the other. Some showed form well but ran on a timer. Others were great for logging sets and load, but felt like a spreadsheet and never showed the movement. I'm building Workout Trainer for Android to do both in one place: browse a catalog, build workouts, see which muscles you're working, run a session with a 3D character demonstrating the exercise, and keep history of weight and reps over time.

What it does

  • Profile setup (units, basic stats)
  • Exercise catalog filtered by type, muscle group, and equipment
  • Custom workouts authored from that catalog
  • Live sessions: character animation for the active exercise while you log sets
  • Immutable history so past sessions stay accurate even if you edit a workout later

How it's built

Native Android with Kotlin, Jetpack Compose, and a multi-module Gradle layout. Domain logic stays testable (including a pure Kotlin workout engine). Persistence is local-first with Room and a seeded exercise/character catalog. 3D demos use SceneView / Filament with characters and clips exported from Blender as GLB. Rendering is optional: if a model fails, the workout still runs with a static fallback. I'm building it with Cursor as much to learn AI-assisted development on a real product as to ship the app itself. It might stay a personal tool; if it's good enough, I may put it on the Play Store for a small price. For the longer story, see the linked blog post.

Latest update

September 12, 2026

Workout Trainer: character mesh cleanup and FreeMoCap animation tests

I'm currently working on the 3D character and the animation workflow for the Workout Trainer app.

Character pipeline

I generated a new model in Tripo 3D, then brought it into Blender to:

  • clean up and fix the mesh
  • redo the UVs
  • fix problem areas in the textures

That gives a much more usable base for posing and animation than shipping the raw export.

Animation with FreeMoCap

Next up is animation. I'm using FreeMoCap, an open motion-capture system, to capture workout movements and feed them into the character pipeline.

I ran a first test capture and the results look good so far — solid enough to keep iterating on the workflow.

What's next

I'll share more screenshots as the character and animation pipeline mature. The goal is a repeatable path from mocap take → cleaned clip → in-app workout animation.

Continue reading
Pixel3d

Software developer, technical specialist, and lifelong learner passionate about solving problems through technology.

Connect

© 2026 Pixel3d.ca — Built with React, TypeScript & Tailwind CSS.