Stepan Demianenko

Research-informed Android prototype

SDT-Informed Fitness Motivation App

Android fitness prototype balancing utility, clarity, and motivational support.

An Android prototype developed as part of an honours dissertation investigating how fitness applications can balance hedonic and utilitarian design features. The app focused on low-friction workout logging, clear progress feedback, local-first data handling, and optional Health Connect integration.

Repository coming soonLive demo coming soon
Fitness app workout logging screen placeholder
Fitness app progress feedback screen placeholder

Problem

Many fitness apps either optimise for tracking utility or motivational engagement, but can become cluttered, pressuring, or difficult to sustain in everyday use.

Solution

The prototype explored a calmer Android experience with simple workout logging, visible progress feedback, local-first data, and optional platform health data integration.

Tech Stack

KotlinJetpack ComposeRoomMVVMHealth ConnectUX ResearchSelf-Determination Theory

Technical Details

The important implementation choices and trade-offs behind the project.

Structured the app around MVVM boundaries so UI state, persistence, and interaction logic stayed easier to reason about.
Used Room for local-first storage of workout data and progress information.
Built Compose screens for workout logging, progress review, and guided motivational moments.
Integrated optional Health Connect data where available without making the prototype depend on external accounts.
Kept claims research-informed and prototype-scoped rather than presenting the app as a commercial or clinical product.

Highlights

  • Built with Kotlin and Jetpack Compose.
  • Used MVVM architecture.
  • Used Room for local persistence.
  • Included optional Health Connect integration for steps and weight data.
  • Designed around Self-Determination Theory: autonomy, competence, and relatedness.
  • Focused on low-friction workout logging and clearer progress feedback.
  • Evaluated through formative usability testing using SUS, UEQ-S, task observation, and interviews.
  • Iteratively redesigned after early usability findings.

Outcomes

  • Produced an honours project prototype that connects software design decisions with usability evidence.
  • Used formative testing to identify friction and redesign key flows.
  • Created a strong Android portfolio case study for Kotlin, Compose, local data, and product-minded engineering.