Inspiration
Out of all the VT Hacks sponsors, one stood out the most by far: Warp. Scaling up by such a considerable margin with the 24 million+ raised from investors, and helping other startups do the same showed me that if Warp wants participants to build an auto visualization agent, it's probably an important (and particularly rewarding) project. And that's how Chartly was born!
What is it?
Chartly will take any CSV or Excel file and then generate an appropriate visualization within the data's context. Chartly can display Line charts, Pie charts, Bar charts and Histograms. Charts can be saved and /or interacted with to analyze or export findings.
How we built it
The frontend was built using Javascript alongside the React Library and styled with TailwindCSS. The logic within the backend was programmed using Python and Flask was used to enable communication between the frontend and the backend. Data was handled and visualized using pandas and Plotly respectively.
How it works
User uploads a data file in the React frontend.
React sends the file to the Flask backend.
Flask uses Pandas to read and process the data.
Processed data is visualized using Plotly, generating an interactive chart.
Flask sends the chart (or its data/config) back to the frontend.
React displays the chart, styled by Tailwind, allowing the user to interact with it.
Challenges we ran into
Two of our team members had little experience with Git and therefore did not fully understand how branches, forks, and pull requests worked. This caused confusion when working together and implementing code between each other. Additionally, it was one member's first time using React so they had to research and gain more understanding of React before attempting to work on that element of the backend. Finally, there was a miscommunication between group members thought caused some of our code to be repetitive but that issue was resolved.
Accomplishments that we're proud of
Excel files were not originally part of our plan but we thought that the modifications to our code would be fairly easy as Excel files are the main way this kind of data is stored with thought it was useful to allow Chartly to parse them as well.
What we learned
Between when an idea is conceived and the early stages of conflict, sometimes a project can feel rather far-fetched. But there will always be an alternative avenue to keep going with your idea, and there is nothing wrong with not going through with your full roadmap.
Also, we had a lot of fun takeaways that we hadn't figured out yet about Git. In any future team programming endeavors we may pursue, we will all assuredly have a better understanding of general Git conventions.
We also gained more experience working with Flask, React and collaborating in a team environment.
What's next for Chartly
Chartly could be significantly improved with the implementation of an LLM to handle the rules behind selecting the most appropriate chart. With an LLM users will have access to much more types of charts such as scatterplots, boxplots, and map-based charts with a more natural justification to why these charts are most optimal for the data uploaded. We also plan on branching off the LLM feature to create/download CSV/Excel files within the app so that way users can freely experiment with data.

Log in or sign up for Devpost to join the conversation.