Inspiration

Our goal as a team was to use emerging technologies to promote a healthy living through exclaiming the importance of running. The app would connect to the user’s strava account track running distance and routes that the user runs and incentivise this healthy living by rewarding the users with digital artwork for their runs.

There is a massive runners’ community on strava where users regularly share their running stats as well as route maps. Some enthusiasts also try to create patterns with their maps as shown in this reddit thread: https://www.reddit.com/r/STRAVAart/. Our app takes this route image and generates an NFT for the user to keep or sell on OpenSea.

What it does

ruNFT’s main goal is to promote a healthy lifestyle by incentivizing running. The app connects to users’ Strava accounts and obtains their activity history. Our app uses this data to create an image of each run on a map and generates an NFT for the user.

Additionally, this app builds a community of health enthusiasts that can view and buy each other’s NFT map collections. There are also daily, weekly, and all time leaderboards that showcase stats of the top performers on the app. Our goal is to use this leaderboard to derive value for the NFTs as users with the best stats will receive rarer, more valuable tokens.

Overall, this app serves as a platform for runners to share their stats, earn tokens for living a healthy lifestyle, and connect with other running enthusiasts around the world. With the growing interest of NFTs booming in the blockchain market with many new individuals taking interest in collecting NFTs, runners can now use our app to create and access their NFTs while using it as motivation to improve their physical health.

How we built it

The front-end was developed using flutter. Initial sketches of how the user interface would look was conceptualized in photoshop where we decided on the color-scheme and the layout. We took these designs to flutter using some online tutorials as well as some acquired tips from the DeltaHacks Flutter workshop. Most of the main components in the front-end were buttons and a header for navigation as well as a form for some submissions regarding minting. The backend was hosted on Heroku and consisted of manipulating and providing data to/from the Strava API, our MongoDB database, in which we used express to serve the data. We also integrated the ability to automate the minting process in the backend by using web.js and the alchemy api. We simply initiate the mintNFT method from on smart contract, while passing a destination wallet address, this is how our users are able to view and receive their minted strava activities.

Challenges we ran into

One of the biggest challenges we ran into was merge conflicts. While GitHub makes it very easy to share and develop code with a group of people, it became hard to distribute who was coding what, oftentimes creating merge conflicts. At many times, this obstacle would take away from our precious time so our solution was to use a scrum process where we had a sprint to develop a certain feature for 2 hour sprints and meeting after using discord to keep ourselves organized. Other challenges that we faced included production challenges with Rinkeby TestNet where its servers were down for hours into Saturday halting our production significantly, however, we overcame that challenge by developing creative ways in the local environment to test our features. Finally, working with flutter being new to us was a challenge of its own, however, it became very annoying when implementing some of the backend features from the Strava API.

Accomplishments that we're proud of

We are really proud of how we used the emerging popularity of NFTs to promote running as now the users will have an incentive to go running and practise a healthier lifestyle essentially giving running a value. We are also really proud of learning flutter and other technologies we used for development that we were not really familiar with. As emerging software engineers, we understand that it will be very important to keep up with new software languages, technologies and methodologies, and this weekend, from what we accomplished by building an app using something none of us knew proves we can continue to adapt and grow as developers.

What we learned

The biggest point of learning for us was how to use flutter for mobile app development since none of us had used flutter before. We were able to do research and learn how the flutter environment works and how it can make it really easy to create apps. With our group's growing interest in NFTs and the NFT market we also learnt a few important things when it comes to creating NFTs and managing them and also what gives NFTs or digital artwork value.

What's next for ruNFT

There are many features that we would like to continue developing in the interface of the app itself. We believe that there is so much more that the app can do for the user. One of the primary motives we have is to create a page that allows the user to see their own collection from within the app as well as a feature such as a blog where stories of running and the experiences of the users can be posted like a feed. Since the app is focused around NFTs, we want to set up a place where NFTs can be sold and bought from within the app using current blockchain technologies and secure transactions. This can make it easier for newer users to operate selling and buying of NFTs easily and do not need to access other resources for this. All in all, we are proud of what we have accomplished and with the constant changes in the markets and blockchain technologies, there are so many more new things that will come for us to implement.

Built With

+ 12 more
Share this project:

Updates