Building an AI personal finance chatbot assistant

2025

Conversational UX

This project pushed me to explore the limits of conversational agents and how to make use of the capabilities Voiceflow offers. You will see me playing around with API calls, Javascript code snippets and more…

Background

Money is a sensitive topic. We cannot always have open conversations with friends or family about your earnings, expenditure and savings. When the conversation took over in our class about final projects, I asked myself "How can someone benefit from a chatbot (chat or voice format)?" and this was one of the ideas I wanted to execute. In order to build a bot for this project, I had to understand the different personality types very clearly. Here are the common buckets of classification of individual financial behaviours:

Curious to try it? Checkout Voiceflow prototype

Money personality types

Ruby's personality

When thinking about a bot with a personality to have serious financial conversations with, the answer is straightforward:


Cheerful

“Great news! You're doing really well with your spending!”

Encouraging

“You’ve taken 12 PATH rides this week. You’re $5 over your transit target — want to adjust next week or keep it?”

Optimistic

“The good news is that once we see where your money is going, we can work together to create a plan that feels manageable for you.”

Supportive

“You're showing excellent financial discipline by keeping your expenses well below your income.”

Currently out of scope:

A Financial “bestie”

“Lizzo budgeted relentlessly in her early years before breaking out.”

Below are Ruby's planned functionalities

Let's say that the user's want to budget and discuss saving strategies. This assumes that the bot has the ability to read the user's spending patterns and discuss them openly with smart suggestions on top.

For the scope of this project, I am assuming that the chabot is a part of a bank application on the user's mobile because:


  1. It is easily accessible

  2. The bot has full visibility into the user's financial habits associated with that particular institution.

Hence, we will be diving deeper into the following functionalities:

  1. Create FInancial Goals

This is a form of budgeting feature offered by some banks (like Chase) with a specific saving target in mind. When in need of something that was not previously accounted for, it can be considered an impulse purchase without a clear understanding of priority. For users who prefer to plan expenses ahead of time and with prefer to have control over it, this function can be very helpful.

  1. Get Monthly Recaps

Monthly recaps include a breakdown with visualisation of how monthly spendings look like and the different categories you spend in.


Here is an example created from an example expenses sheet:

  1. Plan Weekly Budgets

This feature came into play when I realised that Ruby has the monthly spending information and the user’s financial goals. Ruby can now help budget on a weekly basis too.

  1. Spending Summaries

With a deep curiosity for Voiceflow’s API block feature and development capabilities, I wanted to include a functionality for the bot which could be predominantly a voice-chat and also has the potential to be a Widget integrated with mobile OS.


When you say “Hey Ruby, what’s my spending been like this past week?”, Ruby goes over your data (which I have saved in Airtable for the sake of the prototype). Using an AI-prompt, I then generate a friendly and supportive message for the user.


Acts as a quick recap from your mobile home-screen too.

Now let's map out the dialogues

Main flow 👇

Create a Goal Path

Usually Financial goals are commitments that cannot be met in the present but needs to be achieved in the future. A user’s goal can be anything but it has three components.

❓ What are they saving for?

⏰ What is the time available to save?

🤑 Amount that needs to be saved

Monthly Recap Path

This includes a Monthly recap with a pie chart breakdown of last month’s expenses. It allows for a user path to also set a weekly budget for friendly yet helpful conversation continuation.

Weekly Budget Path

As shown below, this feature lets users set weekly budgets and have an idea of what the weekly spending is going to be like for the user.

Building Ruby in Voiceflow

Voiceflow was a new tool I was exploring. In this build phase, I explore the different features it offers to achieve a desirable result.

To begin with, Identifying intent

The welcome message is set up with 4 action buttons for users to enter the 4 fully built out paths.

Ruby in Action 🎬

Create a Goal

Observe how there 4 actionable buttons for 4 paths the user could take

Understanding monthly recaps

This conversation could get particularly long. So I have discussed ways to condense only important information in later sections.

Setting weekly budgets

This turned out to be the most useful feature with testers loving how it can help them spontaneously when they need to know "How much can I afford to eat out this week?"

And last but not least, Quick summaries

Setting up quick summaries was a fun challenge. Attached is the database in Airtable where I store the transactions.

  1. First, the bot asks the user to decide which month they would like the quick summary for

  2. Once they respond, we register the month as a {variable}

  3. This is now linked to the API block. I created a personal access token in Airtable and fed this into the Voiceflow API block.

  4. This result is now run through a JavaScript block to calculate the total income and total expenditures.

  5. The summary is given to the user with a AI-prompt response. The prompt includes conditions for the bot to be warm, supportive and encouraging.


  1. First, the bot asks the user to decide which month they would like the quick summary for

  2. Once they respond, we register the month as a {variable}

  3. This is now linked to the API block. I created a personal access token in Airtable and fed this into the Voiceflow API block.

  4. This result is now run through a JavaScript block to calculate the total income and total expenditures.

  5. The summary is given to the user with a AI-prompt response. The prompt includes conditions for the bot to be warm, supportive and encouraging.

Attached below are the videos showing how the dynamic response works. Left- September, Right- October. Notice how the numbers change? That is how we know the structure and setup works.

Attached below are the videos showing how the dynamic response works. Left- September, Right- October. Notice how the numbers change? That is how we know the structure and setup works.

Thought out error pathways

By using a grounding welcome message with four buttons for different paths, the users can always find their way even if they feel lost throughout the conversation. Buttons and simple answers lead them back to the welcome message at all times!

Some things went well, others needs improvement

✅ What went right

“This is something I would use. Given I trust the product and their safety precautions”

“Pick up the phone and ask: How much can I spend on eating out this week? I need this”

“Could be an integration on my budgeting app? I would expect it to know my credit score too so I can track that simultaneously”

❗️ Can be improved

“ I budget monthly, not weekly”

“I feel like the monthly recap is too long, maybe it can have an export PDF option”

“Language feels a little robotic in some places. For example: 'How much time do you have available to reach your goal' can be rephrased"

~ Thanks for reading, 👋 Until next time~

~ Thanks for reading, 👋 Until next time~

🔒 Entire Design Process

I discuss the juicy details of the design processes and many iterations in interviews and 1:1 chats. Feel free to reach out if you would like to know more. Excited to talk soon 👋