Skip to content

zayne-siew/Stretch925

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Python Versions Hit Count


Stretch925 is an application that utilizes gamification and computer vision to promote a healthy stretching habit among corporate workers. An accessible, interactive, and smart digital solution, Stretch925 incentivises and rewards corporate workers for taking care of their well-being.

Features

Gamification and Rewards

Research showed that stretching at work can help loosen stiff muscles and provide energy to the tired workers.

Through a fun interactive game, Stretch925 seeks to promote a healthy stretching habit. After a random selection of 3 stretches, users can ultise their camera to perform the given stretch repetitions. Points are awarded based on the number of repetitions performed. Users can then use the points to redeem from Stretch925’s amazing catalogue of rewards.

Accurate Detection of Stretch Repetitions

Stretch925 leverages on PeekingDuck to obtain pose estimations and counts the number of stretch repetitions performed by the user. Some of these stretches currently supported are:

  • Y-W Stretch - Extend both arms straight up above your head. Form a Y shape. Next, tuck both arms to your stomach area and squeeze your shoulder blades together. Form a “W” shape.

    Sample Video 1

  • Neck Stretch - Place one hand on the opposite side of your head and tuck the other hand behind your back. Bring the head down towards your shoulder. Hold for 10 seconds.

    Sample Video 2

  • Side Stretch - Extend both arms straight up above your head. Grab your right hand with left hand. Assist with your left hand and stretch to the side.

    Sample Video 3

Boosts Productivity

Stretch925 uses the Pomodoro technique to help corporate workers break a long workday into short 25-minute focus periods followed by 5-minute breaks. Doing so enables individuals to maintain focus and accomplish necessary tasks while also providing opportunities for quick energy replenishment during designated breaks.

Usage

Installation

  1. Refer to the PeekingDuck installation guide to install PeekingDuck.

  2. Fork or clone this repository to access the source code.

Physical set-up

  1. Prepare the physical environment. Some recommendations for setting up prior to deploying Stretch925 include:
  • Place the video-capturing device on a level surface at a suitable distance away from the user(s). Ideally, the video should capture at least the full top half of the user.
  • Capture the video against a monotone surface such as a wall or a green screen, if possible.
  • The body of the user should face the camera directly at all times, if possible. Avoid turning to the side as this will mess with the detection algorithm.

Deployment

  1. To access the isolated computer vision model, navigate to the root directory in the terminal and run
cd cv
python main.py { arm | neck | side }
  1. To access the web application, navigate to the root directory in the terminal and run
cd web-app
npm run dev

Gallery

All of these mockup images can be accessed in the figma-mockups.zip file in the repository.

Sign In

Sign In

View Stretches

View Stretches

Home - During Work Session

Home - During Break Session

Ranking

Activity

Activity

Profile

Profile

Acknowledgements

This project is an undertaking of the LifeHack 2023 organised by NUS Students' Computing Club, under the Theme: Revolutionizing the Workplace.