Inspiration
We were inspired by CBRE's core principle, RISE, which stands for Respect, Integrity, Service, and Excellence, and we wanted to incorporate those principles as much as we can into our design of ChatterPlot. We were also inspired by the opportunity to benefit the lives of other people with cutting-edge technology, and we wanted to take on this challenge in an effort to improve the experience of business users to generate and customize reports.
What it does
The user uploads a data set for ChatterPlot to analyze. The user will then prompt ChatterPlot to analyze the data through simple unset commands. The ChatterPlot can then analyze the data provided by the user. In an ideal scenario, ChatterPlot will be able to support external file uploads, generate graphs based on the data, and provide custom reports based on the given data set.
How we built it
We utilized Flowise AI, a low-code drag-and-drop tool with clear visual diagrams that makes developing large language models easier. The Flowise repo contains the full stack required to build the chatbot, and the only things necessary on our part were an OpenAI API key, a Pinecone API key, and a csv file containing the data to be analyzed. The application utilizes React and Material UI as the frontend, while using LangChain under the hood to connect the different parts together.
Challenges we ran into
We ran into many difficulties trying to address this challenge. At first, we tried to build a chatbot with frontend from scratch by following online tutorials, to no avail, because the tutorials often needed prerequisite knowledge that we did not have. Thus, we changed our approach and built a prototype "chatbot" in Python, which can analyze a .csv file using Pandas, read and analyze user input, and generate graphs with Matplotlib. However, because this approach would not fulfill CBRE's requirements to use an LLM, we decided to use Flowise, our current approach instead, as it seamlessly combines vector search, LLMs, and intuitive UI all at once. In the end, our product did not end up complete, as the file upload functionality did not work as expected, and graphs are not supported by Flowrise. Nonetheless, the chatbot does have data analysis functionality, intuitive UI, and a conversational tone without excess technicalities.
Accomplishments that we're proud of
Given that this is the first hackathon for all four of our team members, we are proud of the deliverables that we have produced, especially given the time constraints, our lack of experience, and the constant changes we made to our approach to address the challenge. We were able to make a partial working product, as well as several prototypes, which all complement each other to create a cohesive product.
What we learned
The most important thing we learned was that there is a vast amount of tools out there, for both developers and non-developers, to make the creation of software easier and faster. We also learned that researching more about a topic that is foreign to understand it better leads to a more in depth and fleshed out application. Finally, because this was the first hackathon for all four of us, we all got to experience both the fun and the not-so-fun parts of a hackathon!
What's next for ChatterPlot
Our future plans for ChatterPlot include adding functionality to incorporate graphs with the Flowrise chatbot, support file uploads on Flowrise, add a feature to save chat history to benefit the user, and implement a login system to authenticate users. We will continue to adhere to the core values of RISE as we build on and improve our product.
Log in or sign up for Devpost to join the conversation.