portfolio thumbnail
2018

SPRYFIT

SPRYFIT is a fitness gaming app that you bet on your fitness goal to achieve. Then if you fail to achieve it you lose your betting money.

Google CloudiOS DeveopmentMobile DevelopmentAWSFirebaseNode.jsExpress.jsMySQLRedisDevelopment

Intro

App Link

SPRYFIt is a fitness gaming service that motivates people to achieve a certain fitness goal. In SPRYFIT you bet your money and work out not to lose your money. For example SPRYFIT provided a certain goal such as 10,000 steps per a day in 3 weeks and it measured each participant's daily goal based on collected fitness data from each user's wearable or smartphone. Then if a user achieved goals in the whole game period the user got their money back with an additional money reward which were from losers' money.

Image

Motivation

After getting married, I got more than 10 kg. I was getting serious about my health condition, and I bought a wifi scale to sync my weight data to my iPhone. Knowing my weight could be meaningful to lose my weight. But it didn't motivate me to work out for losing weight. So my brother and I bet $ 100 for a weight loss game between us. As a result, it worked well. I was pretty motivated to win the game and successfully reduced 10kg after a few months.

Image

Development

Our objective was to make a united place everyone could join with their fitness app or wearables.

Backend

Connect fitness apps or wearables

I developed the API server to connect many kinds of fitness apps or wearables(Fitbit, Strava, Runkeeper, Apple Watch, Google Fit, Nike+, UP, Xiami Miband, and so on) using Node.js and Express.js. It was challenging because I had to learn each API reference per fitness platform.

Authentication

Implementing the authentication was a little sensitive because the service must keep the authentication information for each user's connected fitness platform. In the beginning, I used Firebase authentication to reduce the cost of the development. Also, I developed JWT based authentication for securing users' authentication information of fitness platforms.

Sync fast

Few fitness platforms didn't provide a trigger to get the latest update of a user account. Also, a platform didn't offer a server API to sync up between servers. So our server must get the latest data through the mobile client.

Image

Mobile Client

I developed the iOS client for providing the list of games, ranking, connecting fitness platforms, and syncing with Apple Watch or Apple Health. It used a few third parties below,

  • Push Notification: OneSignal
  • Customer Support: Zendesk
  • Location Service: Google maps
  • Authentication: Facebook
  • Deep Link: Branch
  • App Analytics: Crashlytics

Infrastructure

The service's back-end infrastructure was using AWS EC2, RDS, Router53, ALB, S3, and SES. Then we moved to Google Cloud to save the budget.

Result

After launching our service, we got over 60K users within six months. Then we raised $250K pre-seed investment after successfully graduating from Entrepreneur Roundtable Accelerator.

Press