Inspiration## Inspiration

As college students. being healthy is difficult and our idea of a healthy baseline can be lost as we traverse studies and other tribulations. Having an intelligent app that can monitor your activities and is there for you regardless of the hectic nature of university is something we wanted to make a reality for ourselves and other similar students.

What it does

The app stores user info and biometrics such as sex and age, and also has a form to update the database with daily entries pertaining to behavior that changes everyday such as eating habits alcohol use. Upon entry, the machine learning model evaluates the features to show a predicted health zone, which can be Low, Medium, or High. Users are able to view all their past entries as well as delete them.

How we built it

We have a flutter frontend that handles all of the user input, which communicates with a express server hosted on Netlify. This Netlify server acts as an API, communicating with our Supabase backend to handle authentication and information mutations. We also have Flask web app that exposes an endpoint that is called with the most recent user data, pulling from both the biometric and daily behavior tables to give the user a prediciton of their health on that day.

Challenges we ran into

We spent a long time setting up the API calls to connect the frontend with the backend server. Most of us were inexperienced with building a full-stack project with a database connected to a live server, so it was very challenging for us, esepcially since we went with Flutter. Flutter has issues when trying to access a node server also running on the same machine, so we had to host the express server separately on Netlify, a hosting service, to be able to make calls from the Flutter dev server. THis required us to convert the express server to a format readbale by the Netlify service, making all the server funcitonality change to functions. Another challenge we faced was that we were mostly seeing Flutter for the first time as a language, so it was difficult to work with it, given its nested components. Another issue we ran into was the method we were trying to run our python script was with not working, again likely due to the Flutter environment, requiring us to change our python script to an endpoint created by Flask. We also ran into a lot of issues testing out or backend during its development. Using thunderclient often did not work, so we had to resort to using cURL to test a lot of functionality.

Accomplishments that we're proud of

We built a lot of different components in this project, such as Flutter frontend, node.js backend, express server, supabase database, python script and Flask routing system, etc. Developing these components and integrating them into each other in a few days was a great learning experience and achievement. We also had never worked on a team project remotely, but using tools such as VSCode Live Share we minimized the time we would spend on Github's merge conflicts.

What we learned

We learned how the different parts of the backend and frontend listed above work together, and also learned a lot about testing and troubleshooting our code. We spent the most time trying to put together the different aspects of what we knew as a team together to work in a cohesive, single product, which required a lot of communicaiton and perseverance through a LOT of bugs. We also gained exposure to a lot of new languages and topics, such as moving apps to deployment through services such as

What's next for Intellifit

Our prediction model is currently built with minimal information and frameworks (pandas, scikit-learn, and csv file with only 100 columns). We plan to improve the model further so our prediction is more accurate and catered towards each individually user. We also plan on adding a chatbot that can communicate with users to provide health and fitness advice catered to each user's problems and needs.

Built With

Share this project:

Updates

Submission history