Inspiration
When all of us came together as a group we wanted to help society by solving the fundamental problem of nutrition management. We wanted to make the tiring task of nutrition management as simple as snapping a photo.
What it does
We wanted to keep the process for users extremely simple. All the user has to do is upload a picture of their meal. We then send the image to Gemini where the LLM describes each and every food item present in the dish. Our website is designed in such a way that the processed information is conveniently displayed to the user as students we know that visual explanation is always more effective than textual data hence we used a graph library (chartjs2) to illustrate the data of the users to the users. We weren't content with just this functionality-our goal is to deliver the best experience to our users, and so we came up with a new idea. We thought users might want to store what they like about particular meals or what kind of emotions and energy levels they experience whilst consuming certain kind of meals in order to track the effects of different kinds of food on their physical and emotional well-being. Thereby we created the Journal page, using the state of the art text editor provided to us by TinyMCE where users enter a daily log of their meals and health observations. Tracking this data allows our users to notice trends in energy levels and productivity linked to certain types of food, and tailor their diet to help them be their best selves. While working on the main idea, we realized that every user is different. We wanted to appreciate the diversity of our user in a way we had never done before and we got the help we desperately needed from Auth0 to create a login system.
How we built it
We used several different languages to code our project but one which stood supreme was JavaScript and to be more specific the framework we used was Next.js. We split the group into two teams - team front-end and team back-end. Team front-end used Next.js to design the website directly while implementing background animation and graphs for data visualization. Team back-end primarily used Python for implementing most of the functionality, and SQLite for the database. Moreover, Auth0 was used to solve the purposes of user authentication.
Challenges we ran into
Implementing the database using SQLite and the user authentication system using Auth0 proved to be the most challenging. With a lot of different things going on at the same time, the database had an incredibly complex structure. Additionally, since it was the team's first experience using Auth0 for the authentication system, we ran into a lot of unexpected problems which we ultimately solved.
What we learned
Agile software development in a pressurized environment, intense problem solving, debugging
What's next for NutriWise
Further opportunities to reach and help more people.
Built With
- auth0
- charts
- css
- html
- javascript
- next.js
- python
- react.js
- sqlite
- tailwind
- tinymce
Log in or sign up for Devpost to join the conversation.