Inspiration

For people who cannot control themselves from spending money, there is a specific profession called designated helper, who will contact people every day, ask them how much they spent today, and encourage them to spend less.

However, in real life, this service is not free. For people who already spent a lot of money, it may be difficult for them to afford this service. We want to build a chatbot that can be the designated helper for everyone.

What it does

The chatbot will ask people to set up a budget for specific days and amounts.

Every time the user spends money, they should report to the chatbot, and the chatbot will let them know how much left in the budget and encourage them to spend less.

If the user does not report anything, the bot will remind them in the early evening. And in the late evening, the bot will send a report on how much they spend today and how much they can use for the next day.

How we built it

After setting up the framework, we encapsulated data we gather from the user into objects such as User, Budget, etc. We built a series of methods to be called upon receiving a message, which determines the actions to take based on the content of the message and the user's current status.

Challenges we ran into

  • Given the limited amount of time, we struggled at first to decide how exhaustively we would process the user's message and how tolerant our bot would be of unexpected responses.
  • Due to the ongoing pandemic, the team was not able to meet in person to work on or discuss the project.

Accomplishments that we're proud of

  • We accomplished most of what we set out to do for the chatting bot for this phase of its development.
  • We gained a vision for a more comprehensive version of our project in the process of building it, which we are dedicated to continuously implement and improve on.

What we learned

  • To not aim towards a perfect logic flow for the entire project at the very beginning, but gradually fill in the details of it as the project evolves.

What's next for Expense Tracker

  • Multi-language support
  • Natural language processing
Share this project:

Updates