Try ChartGPT out for yourself: https://chart-gpt.vercel.app/
Inspiration
ChartGPT was inspired by the desire to make chart creation and modification easier for everyone, regardless of their level of expertise in data analytics or design. We have experienced firsthand the tediousness of creating and modifying charts in our prior jobs, and they wanted to find a way to make the process more accessible and enjoyable.
At the same time, we're avid users of large language models (LLMs), and are fascinated by their capabilities. We were looking for a project which would be visually appealing to present while showcasing the multi-modal abilities of LLMs.
What it does
ChartGPT creates beautiful charts from natural language prompts. Users are able to provide their own data sources, either through drag and drop (csv upload) or through manual data input. Then the user can chat with our API to create and beautify a chart from the data. For example, the user can prompt 'Remove gridlines' or 'Change all colors to gradients of green'. User prompts are interpreted for their intent and the presumed intentions are applied to the chart. Users can prompt multiple intentions at once.
How we built it
Full-stack framework: T3 (typescript, tailwind, trpc). Graphs are generated with AirBnB visx charting library. A user inputs prompts into a chat interface. User prompts are fed into the OpenAI API with User data and chart history on Supabase. Deployed on Vercel.
The user inputs, together with an engineered prompt of ours, are interpreted by the Da-Vinci model from OpenAI. Da-Vinci replies with prompts that trigger custom functions that can manipulate the aesthetics in visx.
Challenges we ran into
The most challenging part of the project was to figure out how to use and prompt the OpenAI API to manipulate the relevant parts of the charts. Creating a whole chart every step from scratch was not only extremely error prone, but also very slow (>20s response time).
Accomplishments that we're proud of
Shipping a live application (https://chart-gpt.vercel.app). Building a product that makes data analytics more accessible to people less apt in chart creation.
What we learned
First full-stack application with the T3 stack. Had lots of fun (and pain) wrangling with visx. Learned to engineer prompt that leads OpenAI to create ideally formatted outputs that can be used in our data visualization.
What's next for ChartGPT
Build a Google Sheets and Microsoft Office plugin. Build user authentication. For a given user provide a chart and version history that is downloadable and shareable. Improve charting capabilities to more chart types. Enable users to provide and import from multiple data sources.
Built With
- codex
- gpt
- llms
- natural-language-processing
- nextjs
- openai
- react
- supabase
- t3
- tailwindcss
- trpc

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