Inspiration
Vitamax was inspired by the trouble our grandparents had managing their vitamins alongside their required medications in their efforts to stay healthy. Juggling multiple bottles, each with tiny, barely visible labels printed on the side, is hard! My grandfather once overdosed on Vitamin A, which gave him a headache for the day, and he was lucky it wasn’t worse. Nobody had checked his bottles against each other, and the label was too small to read easily. On top of that, in our own health journeys we found the mountains of advice online unreliable and contradictory. We lacked one trustworthy place to go that took our wellbeing, our needs, and our personal journeys into account. Left on our own, mismatched bottles would sit half-forgotten or empty while we kept suffering. With Vitamax, we suffer no more.
What it does
Short: Vitamax is an app that is our personal supplements coach. It scans supplement bottles, builds a supplement stack, checks for any overlaps and dose problems, and keeps users on track for their goals. It personalizes to our habits and adapts over time.
Long:
1) Vitamax prompts the user for their goals, their diet, sleep, other habits, the practices they follow, and any concerns they have (low energy, brain fog, hair shedding, bad sleeping).
2) The user scans and adds their supplements by photographing the supplement front and the information label.
3) Vitamax analyzes and the user receives detailed findings, with strengths and weaknesses, and provided scores for safety, coverage, and alignment with goals.
4) Vitamax gives the user recommendations according to their diet, their budget, and their habits. It covers which forms of vitamins to look for and the best value (for money-minded)
5) Following up on concerns to see if they persist, the app adapts, with targeted phone notifications, adjusting its priorities and its recommendations for daily use.
6) Stay on schedule and never run out. Reminders keep you on schedule, and streaks keep you motivated. Vitamax tracks how fast you use each bottle and, with a subscription, can order a new one before you run out.
Vitamax is for adults who’ve piled up supplement bottles without knowing what to use, especially goal-driven people like lifters and sleep optimizers, and for people with different needs, like vegans, and budget-minded shoppers, and for older adults and the family members who help them keep their routine safe.
Vitamax is free to use and earns affiliate commissions when users buy the products it recommends, plus a margin on subscription refills timed to when their bottles run out, with an optional premium tier for adaptive check-ins and personalized features.
How we built it
The app is built with Expo and React Native, using expo-router and TypeScript. Everything the user sees, from onboarding to the stack & the insights screens, is built on a typed model of the user’s profile, stack, adherence, and orders. That state lives in AsyncStorage so the app works offline and as a guest. For users with accounts, it syncs to Supabase, which also handles email, Google, and Apple sign-in. When someone signs in, their local data merges with their cloud data using per-product timestamps. A small Node server on Render proxies Gemini 2.5 Flash, so the API key never lives on the phone. Label photos (the front label and the Supplement Facts panel) go to the server and come back as JSON validated against a strict schema. The server falls back to OCR if needed Gemini extracts label data and writes friendly explanations. A deterministic rules engine, backed by reference tables with source data, produces findings. It checks for duplicates, over-limit doses, timing conflicts, and gaps against goals. Findings create scores for goal alignment, safety, and other features. Personalization comes from a profile plus a feedback loop. Concerns act as priority weights, and weights shift with the user’s answers and adherence. Each product tracks how many servings are left, so Vitamax can estimate when a bottle will run out with a cart, recurring payment setup, and subscription engines to prevent shortages.
Challenges we ran into
We had difficulties getting data from a photo, with wildly differing labels, sending it to Gemini with strict instructions, with OCR fallback. We didn’t know how to personalize the app without stepping on the user’s toes – after all, it is their app. Concerns are weights, with check-ins to gently help, not true medical diagnoses. We believe we have struck a good balance but it took iteration. Like in life, quantifying “best” was difficult, and there were some struggles with render and auth emails.
Getting reliable data out of a photo was our first big challenge. Supplement labels look wildly different with cluttered nutrient names, and some photos are simply off or insufficient. We sent the images to Gemini with strict instructions, added name cleanup with OCR as a fallback. Our other main challenge was personalizing the app without stepping on the user’s toes. After all, it’s their app & their body. We treat concerns as weights and the check-ins gently ask how things are going instead of telling people things; show, don’t tell as they say. We believe we struck a good balance, but it took lots of iteration. Like in life, quantifying “best” was hard.
Accomplishments that we're proud of
We are proud of a complete vitamin loop. Onboarding, scanning, analysis, personalized recommendations, reminders, adherence history, inventory prediction, and subscriptions all work together, with sign-in, account deletion, and an in-app privacy policy. We are proud of delivering a trusty AI with an app that can adapt, not just a static loop, that takes care of our needs before we think of them.
What we learned
We learned that AI works best when it’s given a narrow task, like extracting data from a label, instead of open-ended advice. When the AI’s job is small and checkable, it is easily verifiable and thus error-free in testing. We learned that health apps need to be transparent at every step, because we’re playing with people’s bodies. That means clear disclaimers, careful and correct wording. We also learned that personalization needs feedback, as a good profile gets you a decent first answer, but check-ins and adherence improve the experience over time. Finally, we learned how much the small mobile details matter. Notification permissions, deep links, and sync conflicts. Testing and iteration really pay off as the app keeps getting better.
What's next for vitamax
Next up is voice accessibility, so users, especially older adults like our grandparents, don’t have to press so many buttons. We also want smarter personalization that learns from suggestions that actually work for people. Deeper safety features are also a priority, with more medication-interaction awareness, a larger rule set, and more visible reminders every step of the way. For Vitamax, we also want a summary that people can share with their doctor to help clearly communicate what users are consuming for their health, and increase accessibility and equity, so it adapts to more health conditions, languages, and budgets.
Built With
- async
- eas
- expo.io
- gemini
- github
- ios
- node.js
- ocr
- react
- react-native
- render
- sql
- storage
- supabase
- typescript
- zod
Log in or sign up for Devpost to join the conversation.