My friends and I were hanging out in the city and one of us mentioned that it was cold outside but the others did not feel the same way. That's when it struck us that 55 degrees Sunny is perfect for some but chilly for others. So we thought of creating an app that personalizes weather forecast for an individual user and uses machine learning to predict how they will feel in the future and suggests them what to wear and bring outside.

What it does

The app displays current weather conditions as well as an hourly and daily weather forecast. But unlike other weather apps, this app stores your preferences on how you're feeling. Then using machine learning, it predicts and prepares you for the future weather forecast.

How we built it

We used Tensorflow, which is Google's open-source machine learning library, to create a linear-regression based model in Python. The model then was trained using a dataset of about 20,000 sample data points. Then, the model was used to generate predictions for current and daily weather forecast. The generated output predictions were then connected to an Android app and displayed in a neat and meaningful interface.

Challenges we ran into

We had no prior experience using tensor-flow or any machine learning platforms. So it was very challenging to figure out how to use the library and create & train the model with maximum possible accuracy. Another challenge we ran into was running the google cloud platform tools and deploying this custom model on it.

Accomplishments that we're proud of

We are really proud to see the model that we created actually works and makes fairly accurate predictions. We are also proud of the neat material-design interface we have created for a smooth user experience.

What we learned

We learned how to use the tensor-flow library to create a custom model and train the model to get accurate predictions. We also learned how to design a smooth multi-page android app using fragments and layouts.

What's next for RealFeel

The next step for RealFeel is to make an iOS version of it. Also, we will create more models to play around with training data and try to improve the accuracy.

Share this project: