A Personal Financial Assistant.

Ella chatbot Ella chatbot Ella chatbot

Update 2

Work on the project has been paused.

Update 1

After the imagineHack HK 2017, Microsoft asked us to work more on Ella. We have rebuilt her from C# to Node.js and we are currently working on new features.

In the Pipeline (as of 21 Feb 2017):

  1. OCR Receipt Recognition
  2. Speech to Text
  3. Auto-categorization


  1. Waqas Ali
  2. Saad M. Ghani
  3. Muhammad Ali Farooqi


Managing finances is a hectic job and requires a lot of input of data. We wanted to give users an easy way to communicate and help them track their money, see reports and save money through use of natural language from the ease and comfort of messenger.

What she does

Ella can do the following things:

  1. Track Expenses\Income\Loans
  2. Give you the reports you want
  3. Manage Different Wallets
  4. Handle Multiple Currencies
  5. Help You Save Money
  6. And even tell jokes

How we built it

We used Microsoft Bot Framework to formulate the conversation and logic, Node.js to code, LUIS to understand natural language and SQL for database.

Challenges we ran into

Creating and connecting to a SQL database online was the most challenging task and it took a lot of time. But ultimately we got it done.

Accomplishments that we are proud of

Even though we couldn’t implement all the features we wanted to, we are proud of creating a functioning bot considering we knew almost nothing about bots and this was our first hackathon.

What we learned

It was our first hackathon and we were very new to C# and bots. So we had to learn everything from scratch.

What’s next for Ella

We have many more features in mind: *Voice recognition instead of text *Automatic categorization of items *Picture recognition of items *Peer Comparison (A way to motivate users to spend less) *Save money methods such as 10 second rule, etc *Potential Business Proposal (e.g. Providing a bot user interface for already existing wallet apps, advertisement of finance-related products/offers, etc)