Inspiration
BookBuddy actually comes out of asking college students what they wish existed. When we were preparing to come to this competition, we asked several people in our department to tell us if there was anything they wished there was an app for. One of those ideas was an app to buy and sell used textbooks, which really resonated with us. Everyone's felt the sting of being forced to overpay for a book at the campus bookstore, and we thought we'd try to do something about it.
What it does
BookBuddy allows university students to find peers nearby to buy books from and sell books to. It saves everyone money by cutting out the middleman of resellers, and allows students to communicate anonymously until they are ready to pay.
How we built it
We built an Android app that interacts with a Python server which is running on a Raspberry Pi. The app is interactive with the user, allowing them to search, post, and chat, while the server keeps track of everyone's data.
Challenges I ran into
The backend provided us with a number of challenges. None of us had previously done much back-end development, the most experience anyone had was setting up a LAMP server. Given this, the initial plan had been to aim for something user-friendly, building our backend as a REST API written in Python by using Django. However, as soon as the server was set up, it became apparent that the versions of Python that were installed on the Raspberry Pi were incompatible with the REST API frameworks available for Django. After fighting this for a while, we decided it was better just to pivot, and switch over to Flask. This still involved a considerable amount of Python wrangling, but in the end we got it up and running.
Accomplishments that I'm proud of
Honestly, we're proud that all the functionality is there and that it looks as nice as it does. Going in, we were doubtful we'd be able to pull together a fully functional app by the end of the time period, especially given the scope of this design and the relative lack of experience we had in these areas. From the start, we split up the responsibilities, delegating tasks to whoever we felt would be most efficient, and one of our priorities was getting a BitBucket repository set up so that we could collaborate as efficiently as possible. Somehow, we managed to get everything done. To be honest, we're still kinda surprised by how well delegation and collaboration worked. There is no way that any of us could have built anything this intricate on our own.
What I learned
We learned a lot about databases and Android notifications. We also learned a good deal about UI design, through simple trial and error, as well as learning how to work with one another more efficiently. This is our second time working together on a project, and none of us have experience with designing systems that have both a front and back end up and running. Obviously it'd be a little silly for us to list every single facet of Android or Python that we learned about this weekend, so to sum up what we took away I'd say that what we really learned the most about was simply learning how to work together, whether that's in terms of people, software, or networking.
What's next for BookBuddy
We don't know! We'll probably do an interest survey once we get back to our school, and if enough people like the idea we might try to host it somewhere public. It's not an app that's likely to make a lot of money, but that wasn't what we were going for anyway. If we do continue on with it, there are still some features we'd like to add, and some functionality that could be streamlined in preparation for scaling. Overall, BookBuddy's future is uncertain, but it might well be available to college students one day, if they want it.


Log in or sign up for Devpost to join the conversation.