Names: Bill Wohlers Jake Sutter Max Hastings


As college students that live in dorms, we all know the feeling that we're doing the time-consuming chores while our roommates reap the benefits. We sought out to use the bean theme to solve this problem and give roommates and friends a better way to keep track of who's doing the stuff that no one wants to do -- and balance out the workload!

What it does

beanme is a native Android and iOS app. Anyone can register with their phone number and a password. Once registered, users can create groups and invite their friends by their phone number. When you join a group, you automatically receive 10 beans in that group. Let's say Melissa wants the dishes done, but she wants to make sure she's not doing them every single time. She can create a Task on beanme, requesting a certain number of beans -- however many she thinks is fair -- to wash the dishes. The other members of the group are notified of her request, and can choose to contribute however many beans they want, or none at all. If the roommates together contribute enough beans for Melissa -- not necessarily divided equally -- then Melissa will receive her beans. Otherwise, the beans are refunded and Melissa doesn't have to do the dishes! Then, in the future, Melissa can spend her beans on asking other roommates to do chores around the house. If Melissa wants one of her roommates to take out her trash, she can ask that roommate to directly transfer beans.

What are beans worth? Anything you want! But be careful -- when you run out of beans, everyone in your group gets a notification.

How we built it

Backend API was built using Flask (Python). The server is hosted on an AWS EC2 instance served via an ELB for https service. We used mongoDB hosted on Atlas for our database.

Native app was built using React Native and Expo/Typescript.

Challenges we ran into

Our team was split between different skills, so we largely worked independently and did not help each other out much. We also realized that we made a mistake in choosing Python. We picked it because we all knew it well, but we soon realized that we would've been better off by picking a language that one of us knew really well. Stagnation in building our API resulted in us completing less than we had originally hoped.

Accomplishments that we're proud of

We ideated, designed, developed, and deployed (kind of -- app is not on stores) a mobile app with a server/DB in under 36 hours with a team of only three people.

What we learned

Use technologies that some people have mastered over technologies that everyone knows a little bit of. Try to work more closely by sharing technologies across stacks. Don't be afraid to sacrifice short term tradeoffs for better code.

What's next for beanme

We really like our app. We're going to keep working on it over the next couple weeks and publish it in the app store! Important changes include phone verification, sending push notifications, and allowing scheduled/repeated tasks. We will all be using it with our roommates.

Share this project: