Chat Insights
Inspiration
I was inspired to build this project after seeing a news article detailing the New York Times' lawsuit against OpenAI. A notable part of the legal proceedings is a court order for OpenAI to preserve chat data, which made me start to wonder about all the information I have given ChatGPT over my years of use. I go to it with health concerns, to write personal and professional emails, to update my resume, for relationship concerns, purchasing decisions, and all kinds of private thoughts. It felt like a concern many of us might share, and I wanted to build a tool that could contribute to the community by helping people become more mindful of their digital privacy.
What it does
This application allows users to upload their exported data from OpenAI and receive insights about their interactions. The app analyzes the data and provides interesting findings, including highlighting personal data that the user may have shared, generating a mock psychological assessment based on conversation patterns, and showcasing the most engaging conversations. The goal is to empower users with greater awareness, sparking a much-needed conversation about digital consent and the data we entrust to large language models.
How I built it
I used bolt.new for the majority of the project. It helped me scaffold a basic working front end very quickly and integrate with Supabase on the backend for user authentication, storage, and cloud functions. However, I ran into problems trying to implement more complicated functionality. I was stuck in repetitive error loops where Bolt was having issues with uploading files from the frontend to the backend as well as generating edge functions in Supabase that correctly returned structured JSON.
After going in circles for a few hours, I ended up simplifying the project back to its most basic form, and Bolt was able to then make progress again. Once the basic file upload and edge function triggering was in place, I used Gemini to assist with writing the cloud functions to process the uploaded data. I also had it generate thorough design and aesthetic prompts for each of the data display cards. I fed this information back into Bolt and after some back and forth, the design started to come together. There were still some minor bugs and design improvements to be made that Bolt wasn't quite specific enough to address, so I brought the code out into Windsurf and continued to refine the design. Once everything was working successfully, I used entri.to to purchase a domain name and deployed the project using Netlify. Then I spent much more time fixing bugs and making tweaks to get it the way I wanted it.
Challenges I ran into
- AI Tool Limitations: I encountered significant friction going in circles with Bolt trying to fix file uploads, especially around setting specific permissions in Supabase buckets. I struggled with prompting it the right way when generating code for advanced or highly specific requirements.
- Authentication: I attempted to use Clerk to implement Google and Apple login but ran into too many integration problems. I reverted back to basic Supabase authentication to ensure a stable user experience within the hackathon timeline.
- Scope Creep: I experimented with Stripe for payment-gated premium access but ran into error loops with Bolt trying to manage payment status via Supabase tables. I decided to revert this feature for now to focus on the core functionality.
- Design Specificity: Achieving a polished, specific design with AI prompts required significant refinement and, eventually, manual intervention in the code.
Accomplishments that I'm proud of
I am proud of successfully building and deploying a full-stack application that addresses a relevant, real-world issue. I effectively integrated a modern development stack and delivered a complete end-to-end user experience, from data upload to insight visualization. More than just a technical exercise, I'm proud to have created a project with a strong sense of purpose, aimed at contributing to the broader conversation about data privacy in the age of AI.
What I learned
This project was a valuable lesson in the practical application of AI-assisted development tools. I confirmed that while they are powerful for accelerating initial setup and handling standard tasks, they still require a strong foundation in core development principles for debugging and implementing complex features. I gained practical experience with Supabase Edge Functions, storage, and authentication. Above all, the experience reinforced the importance of iterative development and strategic scoping, especially under tight deadlines.
What's next for Chat Insights
The immediate next steps for this project would be to expand support to include data exports from other services like Google Gemini and Anthropic's Claude. From there, I plan to expand on the analysis features and build a tool to help users identify and redact personal information, as these align with the core mission of the application. Looking further ahead, I intend to revisit the premium features that I scoped out during the hackathon. I would like to implement a premium tier and gain some experience working with Stripe. These features would provide access to more advanced analytics for users who require them, while allowing the core awareness tools to remain accessible.
Built With
- bolt.new
- framer-motion
- gemini
- netlify
- react
- react-router
- recharts
- sql
- supabase
- tailwind-css
- typescript
- vite
Log in or sign up for Devpost to join the conversation.