PERSONAL PROJECT / MOBILE FITNESS

Movix

Plan a week of workouts. Record the work. Look back at your progress.

My oldest project: a workout-planning app built with Flutter and a NestJS/PostgreSQL backend. Movix generates personalized weekly routines and lets users record sets, repetitions, and weights.

  • Flutter / Dart
  • GetX
  • NestJS / TypeScript
  • Prisma
  • PostgreSQL

A visual overview of the project, not a live app demo. Screenshots show the app's interface and sample data.

What it does

01 / PLAN

Work around your equipment

Build a weekly routine around available equipment, training days, time, and exercise difficulty.

02 / TRAIN

Log each set

See exercise instructions and record repetitions and weights while working through a session.

03 / REVIEW

Keep a workout history

Review completed sessions and per-exercise records. The interface supports English and Indonesian.

Inside the app

Select a screenshot to view it in full. Use the arrow keys to move between screens.

Weekly workout schedule showing pending, skipped, and today's sessions
Weekly planTraining days and session status in one place.
Expanded exercises with input fields for weights and repetitions
Workout loggingRecord the sets as you train.
Equipment selection with dip bar and barbell options
Available equipmentChoose what you have access to.
History overview listing exercise records and a completed workout
HistoryReturn to previous workouts and exercise records.
Exercise record showing repetitions completed for each set
Set-by-set recordsReview the details behind a session.
Movix login screen translated into Indonesian with empty email and password fields
Two languagesEnglish and Indonesian interface text.

Under the hood

Frontend
Flutter and Dart, GetX for state and navigation, HTTP API services, local preferences, and localization.
Backend
NestJS and TypeScript, Prisma with PostgreSQL, and rule-based workout generation using equipment, time, and exercise difficulty.