Inspiration

Tobi works out constantly, and he has seen the effects of ego lifting from many of his friends, where they try to lift heavier weights than they can handle so the rep does not go all the way and the rep is also shorter. Due to ego lifting, they have an increased risk of injury due to improper technique. We wanted to make an app which discourages people from ego lifting by making sure that they are doing proper lifts.

What it does

Our app uses the accelerometer to detect the bar's motion once the phone is strapped in, and uses the time between motion to determine whether a lift could be a possible ego lift, where if a lift is shorter than a certain time, then it is marked as an ego lift and a audio clip that discourages you from doing ego lifts is played. We also have an info message saying the dangers of ego lifting as well as instructions to use the app. In the settings menu, you can change the audio file used as well as set information about yourself and the workout you want to do.

How we built it

We mainly used Flutter with Dart. We used the accelerometer from our devices from the sensors package to help us test incrementally and also used a package which allowed us to limit the sampling rate. To play the audio file, we also imported a package that allows us to do this.

Challenges we ran into

The accelerometer had some accuracy issues with numerical integration to get the velocity, but we smoothed out some of the errors by setting more generous boundaries in our ego lifting detection. We also originally wanted to use the distance lifted, but since the error scales with time squared, we decided that the error would be too large for this.

Accomplishments that we're proud of

We are all relatively inexperienced with Flutter and app development in general, so we are proud of the fact that we managed to make this work. We also had many challenges with the accelerometer so we were very proud when we managed to get our app to detect a rep of a lift.

What we learned

We learned that phone accelerometers are really bad at measuring displacement due to the quadratic error and that using velocity would be better. We had never used Flutter before, and many of us had never made a mobile app before, so we also learned how to make one too.

What's next for LiftSafe

We are planning to add more options for audio encouragement, as well as motivational sounds if you are close to your rep goal but slowing down in your lifts. Moreover, we plan on trying to make the accelerometer-based measurements such as velocity more accurate and perhaps use hardware like Raspberry Pi's coupled with a SONAR sensor to measure distance moved. We also want to add more types of lifts that we can couple with other sensors like the gyroscope, which could be useful for dumbbell lifting, for instance. Finally, we can use the data inputted in the app to customize when the audio file should play.

Built With

Share this project:

Updates