VitaAI --- Project Story
Inspiration
Preventive health information is often either too generic (e.g., "drink more water") or too inaccessible (lab tests, long wait times, expensive checkups). We wanted to build something that gives people a quick, understandable signal from everyday inputs---so they can take action earlier.
That's how VitaAI was born: a lightweight health assessment web app that turns basic lifestyle and body metrics into an early disease risk prediction (with a confidence score) and actionable health tips.
What it does
VitaAI guides users through a short Health Assessment form (age, gender, height/weight → BMI, lifestyle factors like diet/exercise/smoking/alcohol/sun exposure, and symptom indicators). After submitting, the app:
- Generates a disease risk prediction (e.g., anemia) with a confidence score
- Saves the latest assessment and displays it on a personalized Dashboard
- Provides health tips for awareness and prevention
- Uses authentication so each user has private, isolated data
How we built it
We structured the project into three layers:
Frontend (Next.js on Vercel)\ Handles UI/UX including the landing page, login/signup, health form, results, and dashboard.
Backend API (FastAPI)\ A Python FastAPI service that loads trained ML artifacts (
joblib) and exposes endpoints for predictions and persistence.Machine Learning pipeline\ Jupyter notebooks for data cleaning, feature engineering, model experiments, and evaluation, with the final trained model exported for production use.
Authentication and protected routes are handled using Supabase Auth, ensuring that only logged-in users can access their own data.
Challenges we faced
- End-to-end consistency: Ensuring the form inputs matched the model's expected features between training and inference.
- Deployment coordination: Managing environment variables, API URLs, and CORS between frontend and backend deployments.
- Auth and privacy: Making sure each user could only access their own assessments.
- Shipping under time pressure: Balancing usability, design, and technical completeness within a hackathon timeline.
What we learned
- Building ML projects as real products requires more than models: UI, APIs, auth, persistence, testing, and deployment matter just as much.
- The "boring" parts---validation, error handling, and documentation---are critical for reliability.
- ML results must be communicated responsibly, which is why we include confidence scores and clear disclaimers.
What's next for VitaAI
- Add more conditions and richer explanations (e.g., feature importance / "why this prediction")
- Support historical trends and visualization of multiple assessments
- Improve model calibration and expand the dataset
- Add password reset and social login
- Improve accessibility and multilingual support
Built With
Next.js, React, TypeScript, Tailwind CSS, Python, FastAPI, scikit-learn, Pandas, NumPy, Jupyter Notebooks, Supabase (Auth), PostgreSQL, Vercel, GitHub
Built With
- fastapi
- jupyter-notebooks
- next.js
- numpy
- pandas
- postgresql
- python
- random-forest-classifier
- react
- scikit-learn
- supabase
- supabase-(auth)
- tailwind-css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.