Inspiration
Introducing our innovative app extension HelloniusFreshus, inspired by real-life experiences! Ever found yourself craving a recipe but faced the frustration of dietary restrictions, allergies, or specific preferences? We understand the struggle. Our extension ensures inclusivity by offering substitutes for any ingredient you can't consume due to dietary preferences, allergies, or intolerances. Embrace the joy of every recipe, tailored to your unique needs. Enjoy a world where everyone can savor the perfect dish, no matter their dietary requirements!
What it does
- Streamlined onboarding process
- Indicate your allergies, preferred diet, and special dietary goals (e.g. Low carb)
- Remove those yucky ingredients from your recipes (looking at you, blue cheese)
- Get recipes adjusted to your preferences
- Manage multiple profiles to cater to the needs of every family member
- By detecting related allergenes to the ones you already indicated, we ask the most relevant questions first
- Save and resume the process and any point (so you can catch that last U-Bahn leaving Garching at 1:46 am), in the meanwhile, we will roll with reasonable defaults
- Swap out specific ingredients of recipes (if you don't feel like having olives today)
How we built it
With enthusiasm and lack of sleep :)
On a more serious node: We developed a backend API using the Rocket webframework for Rust. In the background, there is an sqlite database filled with meticulously crafted mock data. In reality, this data would of course come from the HelloFresh API. Facing the user is a Flutter mobile app, in which we implemented the onboarding workflow.
Challenges we ran into
- Coming up with sensible mock data is much more difficult than expected
- While generally helpful, adhering to the strong Rust type system and memory guarantees can be a PITA if you want to move fast. (but see the next section as well)
- No async closures in Rust yet :(
Accomplishments that we're proud of
- Our blazingly fast backend, with guaranteed memory safety and our beloved zero-cost abstractions
- A simple, yet effective, onboarding work flow to learn about the user's preferences
- Ad hoc adjustment of recipe ingredients based on the user's needs
What we learned
- Surprisingly much about different dietary restrictions and food allergies
- That Rust is Florian's favorite programming language (and he won't shut up about it) (Join the cult!)
Log in or sign up for Devpost to join the conversation.