Inspiration 💡

Our inspiration for Rebalance came from our desire to embrace human imperfection. We know that life is unpredictable, and it's often not reasonable or even possible to stick to regular health plans. That's why we wanted to create an AI-powered platform that adjusts to peoples' lifestyles, preferences, and the inevitable slip-ups that come with being human. It's about creating a tool that works with you, not against you.

What it does ⚙️

Rebalance adapts to your lifestyle. You don’t have to do anything special - just tell the app what you’re eating, and it’ll do the rest.

Rebalance has you track what you eat for a week We make this really easy - just type out what you ate , e.g. “Large subway sandwich and medium coca cola”, and our AI model will automatically calculate and log the nutritional info for your meal The app uses the data collected to actively model your current habits and how your body responds to food All of this information is input into our API powered by Vertex AI on Google Cloud to generate a plan that you’d likely benefit from You hop on this new plan, and we track how you respond If it goes well, we continue onward If it doesn’t work as planned, we modify your plan by a bit and see how you respond - this is the “rebalance” phase

How we built it 🔨

We approached this from a user-first perspective. We started by asking ourselves what features we'd want to see in an app like this. What we wanted was to create something that made tracking your food intake and managing your weight loss plan as seamless as possible. We made a few features that we believe really worked towards that.

  1. We first fleshed out our UI using the Expo library, a rapid React Native prototyping framework

  2. Once we had our scaffolding for the UI ready, we began working on our core AI features We used Google Cloud’s Vertex AI LLM for our text-to-calorie converter (you input what you ate and we output an estimate of the macro breakdown of your meal) We used Google Cloud’s Vertex AI Neural Architecture Search on our own food intake and weight data to generate a model that estimated when someone would reach their goal weight based on the data we collected from them We worked backwards from this using Vertex AI again to generate a ramp-up sequence that suggested plans to users that they had a high likelihood of adhering to and benefitting from. Our key here is that we want to the diet and exercise plans to seem effortless to the user We feed data collected while the user is on this plan into a model that gauges metrics such as adherence and effectivity, and generates a new plan that varies slightly from the initial one

  3. Our REST API was built using Django on Google Cloud

Challenges we ran into 👹

Our feature that converts food descriptions into nutritional information was a big challenge. Even after fiddling with multiple prompting techniques, the Vertex AI API just refused to play nice with us. We wanted an output in a specific JSON format that we could feed into our REST API, but Vertex often omitted keys, or gave us data types that did not match what we needed.

After downing a couple too many RedBulls, we messed around and struck gold with a 2-pass technique that used the API itself to filter and normalize inputs, and then re-input that into a second prompt to generate the nutritional information we were looking for.

Accomplishments that we're proud of 😊

We really enjoyed building the frontend part of our app, and we like to think it looks pretty good! We also had a lot of fun experimenting with the text-to-calorie system (can you guess how many calories a bowl of t-rex soup is?)

What we learned 🧠

This was actually our first time using Expo, and it was an amazing experience. We’ve had a bit of experience in web development before, but not much with React. We were pleasantly surprised at how easy it was to rapidly prototype our app - the best part about Expo is being able to see your app come to life on your phone without having to rebuild every time!

We also learned a lot more about LLMs. We initially thought that they were likely only good for language tasks, but we learned that with proper prompting and constraints you can make LLMs do much more than they were designed for - whether that be generating JSON data, or creating guided exercise plans.

What's next for Rebalance ⚡️

We really enjoyed making Rebalance, and really do believe in the idea. We’re hoping to turn this into something that people can enjoy using, and we’ll be continuing to work on the app.

We have a bunch of ideas to make the app better - so stay tuned and feel free to reach out to us if you’re interested in being one of our first users!

Share this project:

Updates