AWS Builder Center
StepUp: Building a Healthy Lifestyle App with Flutter and AWS

StepUp: Building a Healthy Lifestyle App with Flutter and AWS

StepUp was created to transform a simple daily walk into a shared experience. Through step tracking and leaderboards, the application encourages users to support and motivate one another while working toward healthier lifestyles.

Aspiring cloud and networking professional, learning and building with AWS
 

Turning Daily Activity into Friendly Competition

In today's world, many people spend long hours indoors working, studying, or using technology. Combined with busy schedules and daily stress, it can be difficult to find the motivation to stay active. Even a simple activity such as taking a walk can have positive effects on physical and mental health, but many people struggle to make it part of their routine.
To help address this challenge, I developed StepUp, a cloud-based web application designed to encourage healthy habits through friendly competition and community support. The goal of StepUp is to motivate users to become more active by tracking their daily steps, comparing progress with classmates, coworkers, or friends, and competing for a place on the leaderboard podium.
Rather than focusing solely on fitness, StepUp aims to create a positive environment where users encourage one another to make small lifestyle changes that can lead to long-term health benefits.

Technologies and Cloud Services

StepUp was developed using Flutter and several Amazon Web Services (AWS) solutions to create a secure, scalable, and cloud-native application.

Flutter

Flutter was used to build the front-end web application. It provided a responsive and modern user interface that allows users to easily track their activity and interact with the platform.

AWS Amplify

AWS Amplify was used to host and deploy the application. By connecting the project repository to Amplify, updates can be automatically deployed whenever changes are pushed to GitHub.

Amazon Cognito

Amazon Cognito manages user registration, login, and authentication. Users create accounts using their email addresses and verify their identity through email authentication, ensuring secure access to the application.

Amazon DynamoDB

DynamoDB stores user data and step-tracking information. The database allows the application to save and retrieve user activity efficiently while supporting future growth.

AWS CloudFormation

CloudFormation automatically provisioned and managed the cloud infrastructure required by the application. During development, multiple CloudFormation stacks were created to support authentication, database resources, permissions, hosting, and backend services.

GitHub

GitHub was used for source control, version management, and integration with AWS Amplify for continuous deployment.

Key Features

  • User account registration and secure login
  • Email verification through Amazon Cognito
  • Daily step tracking
  • Leaderboard rankings
  • Cloud-based data storage
  • Responsive web interface
  • Automated deployment from GitHub
  • Scalable AWS cloud architecture

What I Learned

Building StepUp provided valuable hands-on experience with both application development and cloud technologies. Through this project, I learned how to:
  • Develop applications using Flutter
  • Deploy web applications using AWS Amplify
  • Implement secure authentication with Amazon Cognito
  • Store and manage data using DynamoDB
  • Use CloudFormation to provision cloud resources
  • Integrate GitHub with AWS deployment workflows
  • Troubleshoot cloud infrastructure and application issues
  • Design solutions that combine technology with real-world needs
 

Conclusion

StepUp demonstrates how technology can encourage healthier habits through motivation and friendly competition. By using Flutter along with AWS services such as Amplify, Cognito, DynamoDB, and CloudFormation, I was able to turn an idea into a fully deployed cloud application.
One of the most rewarding parts of this project was discovering everything that happens behind the scenes of what seems like a simple app. As someone who is still learning technology and cloud computing, I gained a new appreciation for the work involved in building a backend, managing users, storing data, and deploying applications.
Most importantly, this experience gave me confidence. It showed me that challenging myself and pursuing my own ideas is not as unrealistic as it may seem. With curiosity, persistence, and a willingness to learn, it is possible to transform an idea into something real that can make a positive impact.
One of the biggest challenges I faced was deploying my Flutter application through AWS Amplify. My first several deployments failed due to configuration issues, missing build files, and a missing amplify_outputs.dart file. By reviewing the build logs, researching the errors, and testing different solutions, I eventually achieved a successful deployment. This experience taught me the importance of troubleshooting, reading error logs carefully, and using version control effectively.
 
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article