When it comes to achieving goals, we know that social motivation can be really powerful. That's why when people want to lose weight, they attend group classes at the gym, share their progress and work with a fitness buddy. It offers a sense of accountability outside of your own motivation and makes it a lot more fun!

This traditional methods don't work for everyone though. Not everyone is confident and comfortable sharing their weight or fitness goals. The social motivation comes with social exposure. But what if you had a virtual buddy who would check in on how you were going, helping you to keep those promises you make to yourself?

What it does

Good Buddy is an Android app that wants to help make you a better person. It entices you to make promises to yourself that align with your long term health and fitness goals, then uses friendly (and timely reminders) to keep you on track and make sure that you keep your promises.

When you set up Good Buddy, all it needs to know to get you started is your name, what goal you want to focus on and how you like to work towards that goal. For example, you might want to become more healthy and enjoy swimming.

Your Good Buddy will then send you notifications to tell you when he's heading to the pool and check if you want to as well, then remind you when it gets closer to the agreed time. He'll also share what he's planning for lunch and give you a recipe if you like the look of it.

Good Buddy isn't perfect, sometimes he has a bad day, just like you do, and when he does he'll want to work harder and make it up. The idea is to build empathy between the

How we built it

Good Buddy was built using Android Studio to create the front end application that the users will interact with and Eclipse to code the back end server. The application is coded in Java and Javascript. The illustrations for our characters and user interface are all original artwork that has been created during the UHack weekend.

Challenges we ran into

We had settled on our complete vision for the product quite early on in the weekend but one of our main challenges came in the form of breaking down what the minimum viable product would look like. In the end, we were able to distil our project to a single focus (improving health) and a single character (Billy T. the koala) and a few different interactions that we could prototype. Our goal for the weekend was to build something that could be used for user testing and in particular, to test the assumptions made in our business model canvas.

Our biggest assumption, is that we're assuming that people can experience extra motivation as a result of interactions with a fun and friendly character, even if that character is virtual and exists on a screen. Customer interviews conducted during the weekend have been encouraging, but until we're able to put our MVP in front of real customers, we won't be able to really put this assumption through its paces. This was another challenge we ran into during the weekend, we were able to iterate on our business model canvas using online research, but we weren't able to spend as much time on actually interviewing potential customers or demonstrating our app prototype to them as we would have liked.

What we learned

We haven't done a lot of Android app development and in particular, we haven't really built anything that's as reliant on timely notifications and events as this project required. As a result, we were able to learn a heap about reactive programming and managing data and events during the weekend. We're really happy with how that component of the project came together and we've built a base that can be extended to add extra characters, and which also has the potential to include a more intelligent back-end in the future (particularly including integration with third party APIs like FitBit, HealthKit, etc. which we didn't have time to tackle during this competition).

We also spent some time figuring out workflows for bringing artwork into our app from Illustrator, quickly prototyping user interface and dialogue ideas and built a repeatable process for both. As our plan has always been to add additional characters later on (and this is an important part of the business model), we wanted to create a system that was modular and would allow us to drop in new art and dialogue for new characters and push them as an update easily.

What's next for Good Buddy

We'd like to add more buddies and goals, likely with in app purchases. For this to be a viable business, we'd need to ensure that people are willing to pay for additional characters and that those payments can exceed the customer acquisition costs. This application could be bootstrapped to a point, but for us to achieve massive scale, we'd need to hit upon a model where Google and Facebook advertising (along with in-app referrals) could create a and sustain a viral loop and where the costs of this approach are exceeded by the revenue being created by in-app purchases. After spending some serious time poring over the business model canvas and doing some research over the weekend on costs and revenue, we're confident that this is possible, but there's a bit more work to be done before we an properly test the theory.

From a technical standpoint, one of the big areas for future exploration would be looking closely at third party app integration. For example, if you've got going on in your calendar Good Buddy will suggest taking a break from your goal to make sure you don't tire yourself out or stress over a strict goal. If you hit you hit your step goal for the day on a fitness platform like Fitbit, Good Buddy will jump in and add some extra positive enforcement. He's consistently there for you, and he's paying attention to other apps even when you aren't.

Quick Links

Download the APK

Download the App Code

Download the Server Code

Check out the Business Model Canvas

Built With

Share this project: