We're all software developers and spend hours each day at our desks. According to the US Dept of Labour, the average full-time employee in 2016 spent about 4 hrs/day seated and, for people people under 45, it is the leading cause of disability. Poor posture while sitting causes strain on the body's muscles and joints, which can eventually lead to chronic pain, arthritis, and shorter lifespans. Better posture is a popular goal, but it is extremely difficult to maintain. We wanted to help remedy this issue by inciting people to take corrective action to fix their posture and turn it into a habit.

What it does

Backlog is a web app that users can access via login and run in the background. Using their webcam and Microsoft Azure's cutting-edge Cognitive Services API, Backlog has the ability to identify when one's posture begins to worsen, alerting them with a browser notification so that they can realize their habitual tendencies. Users also have access to Backlog's dashboard, which provides them with analytics regarding their posture over time, allowing them to make adjustments accordingly. For example, tracking posture changes over time can help demonstrate and eventually encourage growth in fixing posture.

How we built it

We built the dashboard using ReactJS, pairing it in the backend with Firebase cloud messaging, user authentication, and Flask to facilitate the transfer of data. To create a reliable and accurate analysis of a user's posture, we leveraged Microsoft Azure's Cognitive Services API, gathering over 200 data points of proper and improper posture from Hack the North attendees in order to train the ML model.

Challenges we ran into

While developing BackLog, we ended up running into a number of challenges. Working with new technologies meant members had to navigate new frameworks and scores of API documentation in order to get a working product. Working with photo data and live webcam footage also created latency and memory issues due to potentially massive payloads, so it was a challenge to create a lean application that provided real-time notifications about a user's posture. We also had to make a number of design decisions when working with our ML model and which data we decided to feed it, specifically in regards to having a tendency towards slight positives vs. slight negatives. And lastly, although we had all our individual components working together, integrating them all turned out to be quite a difficult task which was truly an exercise in patience and attention to detail.

Accomplishments that we're proud of

We are proud of our own abilities to quickly learn and pick up new technologies throughout the hackathon, as group members learned to use React, Firebase, and Azure for the first time. We are also proud of the positive response we got from the hacker community as we undertook data collection, further improving the ML model while having the opportunity to interact with other participants.

What we learned

A lot - many of our group members obtained hands on experience with a variety of exciting and relevant technologies. Through working together and integrating these technologies together, we learned more about the connections that need to be established between the frontend and backend, and all gained an deeper understanding of ML and its applications.

What's next for BackLog?

In the future, we hope to add features to BackLog that promote proper posture on a community-wide scale, through the use of gamification and multiparty interactions within the app. Moreover, we are looking to research and investigate additional means of increasing the accuracy of the ML model used. We have seen promising results in employing OpenPose to overlay our data with limbs.

Share this project: