Inspiration

The inspiration behind Solution Pitch came from the aspiration to provide objectivity with metrics in decision-making processes. It is common that they are clouded by bias or outdated instincts. In many workplaces, decision-makers or employers rely on their gut or personal beliefs rather than trusting operators or evidence. Such decisions cost the consequences, but it is too late.

During the Covid, many businesses thrived by adapting quickly but currently, it is going reverse. Many small local businesses are shutting down while large corporations transition into a new economic landscape. It makes me wonder how to give them more alert of their business performance with credible sources. A lot of business owners have different backgrounds so they would not want to analyze the metrics sitting on the desk. What if these small local businesses had access to the same level of insights that bigger tech companies have but at lower costs?

What it does

Solution Pitch is a system that provides objective, AI-powered analysis of customer feedback. It compares their businesses with other shops located in the same city. It can give them a clear view of their customers, and how they think of their businesses, specifically price, ambiance, taste, services, places, and other factors providing a summary of metrics. It also provides how their loyal customers think of their shops and how loyal they are to show if their target customers are regulars or bringing new customers.

How we built it

I built Solution Pitch as a full-stack web application using JavaScript, HTML, and CSS for the front end and Flask (Python) for the back end. It integrates with Azure Text Analytics API to provide sentiment analysis. It extracts keywords from customer reviews, processed results, and business information, which is stored in an Azure PostgreSQL database. (Initially, I aimed to connect to the real-time Google Place API or Yelp API, but it has been replaced with Yelp public database due to the authorization limit entitled to individual users yet it can be replaced anytime)

On the analysis page, users can search for their business using a Google Maps interface and confirm their location. Once their location is confirmed, the address in a business table is linked to the business-id in the review database and starts fetching the data. It compares sentiment metrics with other businesses in the same city. Chart.js was used for data visualization and implemented a chatbot interface that is linked to Apple Reminder if you are on a Mac or iPhone. This feature empowers the psychological part of the users so that they can move into the action and be more exposed every time the reminder sends them a notification until it is done.

For image-based suggestions, users can upload a photo of their stores then PyTorch compares the photo against popular photos on social media using Pexels API. It is helpful when the users want to see what types of photos they should put on social media for marketing purposes to get more clicks and likes which is directly to their profit and exposure. (Currently query is limited to restaurant but it can be changed to another query anytime but manually)

Challenges we ran into

One of the biggest challenges was to set up the database system in the first place. The initial plan for the data was to extract it from Google Places API and Yelp API. However, both sources are not available for free or individual users so the Yelp API database provided in JSON is the base. Since the database is scalable, it was pretty challenging to do data mining considering all exceptions such as null, or different data accidentally input in different types than others. I overcame it by narrowing it down to create a database that is only required for the project. Another challenge I ran into is there are different kinds of data quality and customer feedback. They are all different in length, and tone, so it was hard to put it together under the same categories first so I had to set categories and integrate Azure NLP models for accurate text analysis. Currently, this analysis is only limited to restaurant types of stores (coffee shops, bars, restaurants, franchises) I could not find a way to create categories through AI in the analysis of each business and also in comparing with other stores.

Accomplishments that we're proud of

I am proud that I was able to create a full-stack app to life integrating multiple AI - AI-sentiment analysis, key phrase extraction. It is close to my expectation that an app does not provide the number but stories so that anyone can easily understand and take actions based on the analysis. The entire pipeline works smoothly and shows a handful of potential that it can extend to other businesses.

The report analysis provides a summary of customer loyalty, key strengths vs competitors, and suggestions for the photos to put on social media. The tool presents insights in a way that does not require any technical skills, domain knowledge, or specific knowledge. The solution pitch aims the fairness to all social levels of people, and easy visualization and summary that a lot of people can easily approach is the key, and I accomplished.

What we learned

Through this project, I learned the importance of stability in stable data management and flexible database structure. This app is based on the scalable database whether it extracts the data from API .json or .csv. Some kind of data manipulation has to be done, and if you imagine that you are getting updated such big data regularly, you need a flexible and stable database that you should be able to receive as raw considering all unexpected changes in newly updated data and then manipulate in a way that you need or your company needs.

It was an interesting journey to gain an understanding of Natural Language Processing and how AI extracts the sentiment with key phrases from human-written text like online reviews. The implementation of Azure Text Analytics and OpenAI allowed me to experience how to combine external AI services and upscale the quality of work.

Another major takeaway is the importance of designing targeting non-technical users. I had to keep thinking if the non-technical users can understand the analysis and it is credible enough for them to trust this data so I learned how to market this product, how easy and trustful it is to customers to see.

What's next for Solution Pitch

I plan to find a way to connect to unlimited real-time review platforms to Solution Pitch. I also would like to create another monitoring system for the developer side on how the NLP differs when there is an abrupt increase in negative feedback or positive feedback. On top of the current features, I aim to develop further including more detailed analysis and set the customized search scope more interactively or let customers select their top 5 competitors and give them updates and recommendations every week so that they can keep improving through the data. In the short term, I would like to put it on the market and see how people respond then in the long time, I would like to create subscription services offering supply lines to help them lower the costs.

Built With

Share this project:

Updates