Inspiration
The project first began as a nutritional tracker. Then, the idea evolved into a nutritional app that does more than just track, but actually holds users accountable for their eating habits or dietary restrictions. Our goal with creating SafePlate was to provide medical professionals and personal fitness coaches a platform that allows them to moderate their patients overall dietary and mental health. The design is meant to be simplistic and allow for a smooth experience.
What it does
SafePlate combines wellness tracking, AI safety moderation, and trusted contact alerts.
Feature 1: Daily Wellness Journal
A journal and daily-check in which includes:
- Meal Description (Optional)
- Mood Rating (1-5 Scale)
- Energy Level (1-5 Scale)
- Personal Notes
Feature 2: AI Safety Moderation
Once the journal entry is submitted:
- Google Gemini checks for self-harm language, alarming mood ratings, and extreme dietary restrictions that are affecting one's energy levels.
- If the journal entry is deemed a red flag then a trusted contact is notified
Feature 3: Trusted Contact System
Users are given the option to be part of a system, where auto alerts are sent out to people they trust.
- Users can configure trusted contact emails, who are alerted within a span of a couple of hours or days depending on the severity of the user's condition from their daily-check in.
- Automated emails are sent to the trusted contact and the trusted contact can easily get in touch with the user.
How we built it
Frontend
- React 18 (Vite)
- Tailwind CSS
- DaisyUI
- Hosted on Vercel
Backend
- FastAPI
- SQLAlchemy ORM
- SQLite
- Hosted on Render
Challenges we ran into
We ran into problems with integrating API's such as debugging malformed automated responses and dealing with the rate limits. Our team also ran into the problem of fully understanding the backend of the web application like how React connects with FastAPI and so on.
Accomplishments that we're proud of
We are proud of being able to develop a web application that helps people with eating disorders and individuals hoping to achieve their fitness goals.
What we learned
Jerson
- Learned how to properly use Git. With Git, I was able to understand how multiple coders can work on one project simultaneously and not break the entirety of the code. This consisted of learning git commands from branching to merging to pushing and pulling.
Marvin
- Learned how to containerize our backend using Docker.
- Learned the principles and fundamentals of UI design.
Jose
- Learned how to integrate and implement AI into a real-world application
Built With
- daisyui
- fastapi
- github
- google-gemini
- python
- sqlalchemy
- sqlite
- tailwind-css
Log in or sign up for Devpost to join the conversation.