Chrome extension web scraping the page and finding financial terms to define
User is able to hover over a highlighted word to see the definition as they read an article
Landing page for the website
Glossary of over 230 words for the user to search through. When hovering over the card, it flips like a flashcard to show the definition
Dasha.ai output of the conversation had with a user
Another output of a conversation with Dasha.ai
Our inspiration for MakeCents originated from our collective mutual passion in both finance and software. We understand how good we have it here at Western and the availability of information, but its important to look at the world around you from time to time and realize what we take for granted. We understand that for a variety of reasons, millennials in general are not considered financially literate, and when we saw that only 28% of this demographic are considered financially literate. We knew this was a statistic we wanted to change.
This is where MakeCents comes in. With the objective of making financial literacy available for all, we help users learn hundreds of financial terms and realize the path to financial literacy actually isn't as long as it seems.
What it does
MakeCents is a Chrome extension for anyone who is looking to become more financially literate. As readers, especially those who are curious about business and finance, it may be overwhelming to see a variety of complex jargon and terminology as you are reading a business article. To save the tedious hassle of constantly Googling these terms, MakeCents will webscrape the page you are on and will create a popup that lists all the financial terms on the page along with their corresponding definitions. To make it more user friendly, these words will be highlighted on the page, where the user can hover over the words to see their definition as well as they read along. We also incorporated a website that has all these terms listed for a user to search for as well.
As new hackers, we were amazed and curious about the functionality of Dasha.ai. To make MakeCents more accessible, we envisioned users who may lack data, WiFi and/or internet, but would want to learn more about financial terminology. Thus, we decided to create a Dasha.ai component where a user can call Dasha and ask her to define a term over the phone to enhance the accessibility of our product.
How we built it
Website: The website was built using an initial React template, then adding some more components and functionality, such as the cards with definitions on it and dynamic searching throughout the glossary.
Dasha.ai: Using the tutorials and sample projects provided on Dasha's website, we were able to configure Dasha to suit the needs and requirements of our project as we envisioned it. Users can place a call with Dasha to receive information about any defined finance terms. We populated Dasha's vocabulary reference file to include a large variety of financial terms and their definitions. Dasha knows what term the user is requesting by referencing the synonomous words and phrases of all these vocabularies, and assuming the user asked for the associated term. The functionality and applicability of Dasha in this instance comes to any users who don't want to use internet/data, have trouble navigating the internet, or prefer a humanistic, old fashioned feeling way of getting information.
Challenges we ran into
Chrome extension: The biggest issue by far when building the extension was having to do find creative ways to solve just about every obstacle in our way. The first problem we had, with not being able to find the text in page, required the use of XPathResult, something we were all completely unfamiliar with, to find all text that matches the keywords. There were a lot of resources online for searching for one word on a page but almost none for finding terms that could include spaces. The biggest problem we had when developing the chrome extension was talking between the context.js file, what interacts with the current webpage, and the popup.js, which exists in a completely different scope. Through communication and teamwork, we were able to come up with solutions to nearly all of our problems and come out with a product we are proud to call ours.
Web development: Deploying the website was our biggest roadblock towards the end of the hackathon. Unfortunately, we were unable to fully deploy the website (although we got some cool Domain.com domains to use :)), however hope to deploy it later on.
Dasha.ai: Being new to AI in general, taking on and training Dasha was definitely a learning experience. We definitely struggled but learned a lot along the way and feel more confident now if presented with the opportunity to work with AI again. The biggest challenge we faced however, despite our many attempts, was trying to host Dasha in way where users can actually call the program by calling an assigned phone number. Unfortunately, due to time constraints, we settled with the compromise of user having the ability to place a call request from Dasha.
Accomplishments that we're proud of
The accomplishment that we are most proud of is finishing our first hackathon. It's our first time working as a team, most of our first time ever in a hackathon and one persons very first time coding. We all picked up so many new skills this weekend, like how to train an AI, launch a google chrome extension, or even someone's first program. We went in with no expectations and now have a product on the Google Extension store, which we all think is pretty cool.
What we learned
During this hackathon, with this being our first hackathon for all of us except one, our team learned so much. Not only pertaining to coding and software, but also in areas like teamwork, productivity and working under pressure in something new. We made it a personal objective to try and complete our project while utilizing tools we have never worked with before
Because of this, we all learned many new things. Members who have never worked with AI before now know how a fully functional and coherent conversational AI works enough to manipulate it. Members who have never worked with chrome extensions and minimal web development experience, now know how to create a sophisticated, and real-world-useable chrome extension. Members who have never even coded before now know infinitely more and may have even discovered an undiscovered passion. We all learned how to be better learners, and did so in a new, exciting and prideful way.
What's next for MakeCents
The functionality of MakeCents isn't just limited to financial terms. We envision a product that can be used to define a variety of terms, such as medical, scientific, political or technological terminology. The accessibility of information is a core value we believe in as a group, and hope MakeCents can benefit any reader, student, or person looking to become more literate in a field they are passionate and curious about.