Inspiration
Personally, I enjoy staying in shape to the best of my ability and eating healthily. I wanted to provide college students like myself with a simple way to track their calorie intake, promoting better food awareness and health. With my skills in programming and a strong interest in AI, I worked to blend the two into a useful application for all students to enjoy.
What it does
With the help of AI through the Google Gemini API, which is programmed to mimic a college dining hall, the application quickly generates an approximate calorie count based on the user's description of their meal. User's are able to enter meals in for Breakfast, Lunch, Dinner, and Snacks, and even enter multiple entries if applicable. The application also keeps track of the total calorie intake.
How we built it
I built this application with JavaScript, Express.js, and the Google Gemini API. Express.js handles the backend functionality and routes for the webpage, and also renders HTML templates for the structure of the page. JavaScript is also used on the frontend to maintain a dynamic and seamless experience when entering data.
Challenges we ran into
One challenge I ran into was integrating the Google Gemini API. This was my first time integrating it with JavaScript, and I found it challenging to format the response into JSON, but I was eventually able to make it work! Another challenge I ran into was time management. I wanted to add more functionality to the application with user authentication and a database to make the application more robust, but with the limited time, I was not able to accomplish this.
Accomplishments that we're proud of
I am very proud that I was able to complete and deliver a working and professional full-stack application in the six-hour coding window. I think this is an impressive feat for a solo developer, and I am very proud of it.
What we learned
I learned a lot about designing and managing a full-stack code base. I learned how to pick and choose specific technologies and why to pick them. I also learned how to manage my time when working under pressure. Overall, this project turned out to be a very great learning experience for me as a developer.
What's next for UniCal
The next steps for UniCal are to integrate user authentication and a database with Supabase. I would like users to be able to sign in and not have to worry about conflicting sessions. I also want users to be able to store data and keep track of previous days so they can manage more information and hold themselves more accountable. Lastly, I would love to deploy the application to the internet with Vercel!
Log in or sign up for Devpost to join the conversation.