Inspiration

Through our personal experience, we were well aware of how tedious manually tracking and categorizing expenses can be. Not to mention, figuring out reasonable amounts to budget for each spending category, how much to save and invest each month, and analyzing your own spending habits is unfathomable for many people, especially those with little to no experience in finance.

Since finance is primarily dominated by white, middle-to-upper-class males, we noticed a lack of accessibility and acknowledge that some minority groups have never had the chance to learn about personal finance, and many do not have the resources to purchase expensive financial services. Thus, we aimed to create what we decided to call "Kiwi" (keep investing within), an interactive, easy-to-use application that not only helps track your expenses quickly, but also provides financial insights and advice to help disadvantaged groups become more financially literate.

What It Does

Kiwi offers a user-based experience for budget tracking. After signing up, users can begin uploading pictures of their receipts for the month, which offers a quick, automated method of tracking user expenses. Once Kiwi receives receipt data, it produces a table and categorizes the users expenses and provides some data graphs to help the user visualize their spending, including a sustainability score that measures the eco-friendliness of your purchased products. If necessary, users can go to their profile settings and change their budget constraints and other personal settings, allowing them to receive a more accurate spending analysis.

How We Built It

We split our team into a frontend and a backend team, and within each team, we all worked on various components of the application. Although we each had different roles, we all continued to collaborate and ask each other for feedback on our respective components.

As for technologies, we built the Kiwi demo using several. For general web design and functionality, we used HTML, CSS, and ReactJS. We used CockroachDB for our database, TaggunAPI for receipt scanning, and Twilio for text notifications to remind users to update their expenses, invest money, etc.

Challenges We Ran Into

One of the biggest challenges we ran into was using technology that we were unfamiliar with. Two members of our team had very limited experience with web development and no experience at all using ReactJS, which created a steep learning curve. Further, none of our team members had experience with CockroachDB, and only one had applicable experience using APIs. As a result, we often got stuck troubleshooting and debugging throughout the project.

Another challenge we ran into was moderating our ambitions in order to focus on more important aspects of our application. Although all of us had difficulties with learning the technology, we were all still very excited to be creating a project with a goal we all believed it, so there were definitely times we got a bit over eager to add various features to our application. However, in order to continue progressing given the time constraints, we had to stop and be realistic about what we could reasonably deploy.

Accomplishments That We're Proud Of

We are all extremely proud that we pushed ourselves out of our comfort zones and experimented with new technologies we hadn't used before to relative success! Furthermore, we are very proud that we came up with and prototyped a project with a mission that we are all passionate about!

What We Learned

Not only did we learn more about the various technologies we used to make this application, but we also gained value experience with workflows and collaboration using git and GitHub. We also gained valuable problem-solving skills that we can apply to future programming projects.

What's Next for Kiwi

Although we finished many components of the application we intended to create, there were some things we didn't get the chance to implement. To expand upon our project, there are many things we would like to improve upon. In terms of user interface and experience, we would like add more personalized "branding" to our site, complete the budget personalization functionality, and add more form validation. In terms of features, we hope to add more complex budget analytics and ideally use a mobile platform rather than a desktop one. Further, based on users' common purchases, we wanted to encourage alternative to those purchases, particularly from more sustainable or diverse companies.

Built With

Share this project:

Updates