- All of this started with the headache and awkwardness of having to split bills with a group of acquaintances that our team is not close with. People might tend to procrastinate splitting bills which makes splitting an annoying process.
- We realized people are agreeing less with each other on how the bills should be split due to different standards and consumption styles. The world calls for a standard and fair way of splitting bills that settle conflicts.
- While one-third of us believe splitting the bill (including tips) evenly amongst a group is the way forward, slightly more people (36 percent) would rather get our calculator apps out to make sure everyone pays their fair share.
- Inspired by all these, we came up with an idea to construct an app as a financial assistant to record the expenses by simply taking a photo of the receipt and implementing a function to split the bills when spending with their friends.
What it does
- Creating consumption records for expenses.
- By text, users could key in all items bought from a supermarket or have in a restaurant. Though it might take one or two minutes, this is a more customized way of recording the bills.
- Through the camera, users could create a record by simply taking a picture of the receipt, then all the information, such as date, place, items, and corresponding prices will be automatically extracted.
Splitting the bills with friends.
- Equally splitting the bill.
- Selecting items individually and calculating the amount of money for each person, is more flexible in the situation that different people consume completely different stuff.
- A record will be made in form of chats. Therefore, users can have a look at previous spending records and could have a more clear way to know how much they owe their friends and vice versa.
How we built it
- Using Figma, we made both the design of each icon and the entire prototype of our app. The dependencies between pages are also designed here.
- The majority of the codes written for the app were implemented on Android Studio, where we made more than ten pages. It shows all the interfaces and implements all logic behind them.
- Our product made Optical Character Recognition of receipt possible through text recognition and turn the texts into a JSON file with attributes of a receipt.
Challenges we ran into
- Integration of the OCR model into the mobile app is the most difficult problem that we have encountered. But we finally figured it out by adding a bunch of jar files to combine the OCR technique into the android app.
- Due to the time limit and because it is not the main feature, we decided not to implement the database within these two short days.
Accomplishments that we're proud of
- Designed and implemented a completed mobile app within such a short period.
- Identified a realistic problem and accomplished the solution for it.
- Deployed a simple user interface and completed the logic behind, it so that users will find it convenient to use our app but have strong functions.
What we learned
- As we made an app that acts as a financial assistant to record users’ expenditure and split the receipt for their friends, during the process of research, we have acquired more knowledge about people’s consumption behaviors and hence know more about how to help with their requirement.
- Teamwork is the key point of our success. As we are classmates and we are quite familiar with each other, we have spent an enjoyable time together during the hackathon. As we are good at different fields, we are in charge of different parts of the product and we learned a lot on how to communicate efficiently and conclude our work altogether.
- Although we have separated our work into different parts, we still completed the entire product together. Therefore, we had the opportunities to study techniques that we are lack. For example, the one who has less experience in the design of the interaction of apps learned a lot during the process of constructing the prototype with the one who is good at it.
What's next for ShaReceipt
- One of the features of our app is to make records of the expenses in the form of chats, so a large number of spending records should be stored in the database.
- Since choosing the items separately for different contacts is the dominant function of our product, a more user-friendly and convenient version of interaction could be made when implementing the “customized” way of sharing receipts.
- A detailed beginner's guide will be added, in order to introduce the meaning of each icon and the whole process of creating a spending record.