We all know gathering the gang for a meal is never an easy task. So we wondered if there was a way to gather our friends for meals that was as easy as yelling the infamous phrase, "Soups On!". Soup's On! (S!O) was born out of both the chore of lunch in a commercial environment and the frustration that results from large scale planning. S!O hopes to simply the lunch process into 3 easy steps, Tell us: When, How long, and Who you want to eat with, we'll handle the rest.
What it does
When a user is onboarded to the app we ask for some habbitual information, such as your favorite lunch spots, and who you like to eat with. We handle the rest through a multi-factor algorithm that does all the hard work. Every morning (or really at your convenience before you want to head out for lunch) you fill out a quick five question survey:
1. When do you want to eat?
2. How long do you have?
3. Are you flexible at all?
4. How adventurous are you feeling?
5. Who do you want to eat with?
We then handle the flood of data from the users and make group pairings of lunch buddies for the day. But that's not all! We also handle the entire process of choosing where to head. Based on your interests and favorite restaurants, we do some behind the scenes magic and figure out what will appeal to the crowd. Then it's as simple as magically finding a time that works for everyone to meet up based on their parameters and sending you on your way.
Stop imagining lunch was this easy, because now it is!
How we built it
S!O is built for the web up, with a modern, fluid experience all around. It leverages Flask as a centralized microserver with a
RethinkDB DataBase for additional data storage. In the interest of keeping things as simple for the user as possible (even if not for us) the entire stack is built upon Google's OAuth SSO. Our 100% custom front-end means we eliminate all overhead and keep our services blazing fast, even with hundreds of API calls.
Challenges we ran into
Although we're both comfortable on the web, we decided to tackle an entirely new stack for this hackathon. I (Joe) have limited experience with Flask and 0 experience with RethinkDB. I spent a good amount of the time familiarizing myself with the structure of the projects and figuring out how to leverage them most efficiently for our project. Luckily this lead to many dividends later down the line with most API endpoints being written in a matter of minutes. As for Sam, he's a more than accomplished front-end developer and felt very at home. Due to this fact, he chose to build this app completely from scratch, with no libraries or frameworks being utilized. This posed more of a logistical challenge in managing all the different sources but he prevailed with a slick interface in the end.
Accomplishments that we're proud of
It's done. Like, we actually finished it. It's feature complete. That's a huge deal for us considering the time limit and we're extremely proud of the (relative) polish we've been able to put on this project.
What we learned
So much about a full stack application. This was the first full stack app we've written together (and individually) and allowed us to see all the different (hectic) sides of being in charge of everything. Being a smaller team we were both wearing at least 5 hats (some of them admittedly being in our sleep) and we learned a ton about teamwork and project management in managing each other.
What's next for Soup's On!