Inspiration

I envision a way of providing a path to affordable home ownership for everyone by delivering access to mortgage education. Our chat bot will make Mortgage Coach's products more approachable and understandable to general users, and will help homebuyers make more informative mortgage decisions. With simple language, our chat bot can assist Mortgage Coach in being a client’s trusted advisor by answering questions and delivering clear, concise mortgage information.

What it does

  • Suggests to users when it might be the right time to apply for a mortgage based on our RateWatch API
  • Generates a custom report to assist users in a buying vs. renting decision
  • Intelligently recognizes a conversation's context and helps clients with appropriate answers
  • Advertises the company's mission in assisting clients
  • Links users to the mobile app store should they need further functionalities
  • Interacts with dozens of our API partners and to provide added value to customers
  • Will interact with future AI and machine learning to continually grow our leadership in mortgage innovation

How I built it

The bot's structure and initial conversation flow is defined on Amazon Lex. The verification and fulfillment request is handled by Amazon Lambda's function, running in Node.js environment. I also developed tools for efficiently updating the Lambda function and made a small test suite for the bot.

Challenges I ran into

The main challenge has been a design issue. We have to constantly think of new ways to improve the chatbot's retention rate. Therefore, designing an engaging and intuitive conversational flow is our most important obstacle to overcome.

Secondly, improving the bot's understanding is also a challenge. We need a bigger set of users to interact with the chatbot to measure its performance. By observing more interactions, we can train (add more utterances) the bots to recognize more phrases that should invoke a specific intent.

Accomplishments that I'm proud of

I am proud of being able to branch conversation flow based on context. For example, the conversation branch diverges after a specific question depending on the answer. I would have different prompts for the slots depending on the context.

I am also proud of achieving being able to discuss with general users on their expectations on the bot, and improving its recognition ability drastically.

What I learned

I learned more about developing a mid-sized chatbot application and I learned a lot about platform-specific endpoints. I also learned to normalize conversation to a point where it encourages users to engage more in the conversation. Conversational apps, including bots and voice, play a pivotal role in the future of fintech and enterprise services, which we are focused on, so my continual learning experiences have a direct effect on the company’s market share and growth.

What's next for mc_chatbot

The next to do list for the chatbot is improving the conversation branch and making more smart assumptions to reduce the depth of the conversation tree. This approach, however, will still allow users to make custom inputs for the suggestions.

We also want to include mood capabilities for the bot to promote a fun, engaging experience for different type of users. Some would rather a funny bot. Some would rather a more professional bot. We would like to incorporate the mood changing capabilities to engage more with users in a way that suits their preferences. 

Finally, we want to develop more chatbots that can handle different intents that will work in correlation with our existing apps. We envision the bots to have capabilities to refer each other depending on the users' needs.

Share this project:

Updates