This was written entirely by AI. Used Cline with Sonnet 3.5. Other than a few simple app usage tests no testing has been undertaken, that includes the Docker files
A web application for visualizing and analyzing your ChatGPT conversation history. This application allows you to upload your ChatGPT history JSON file and view insights about your usage patterns, including daily activity and conversation statistics.
- File upload interface for ChatGPT history JSON files
- Interactive timeline visualization of ChatGPT usage
- Daily conversation statistics
- Most active day identification
- Responsive design for desktop and mobile viewing
- Docker support for easy deployment
- Python 3.9+ (for local development)
- Docker and Docker Compose (for containerized deployment)
- Clone the repository:
git clone https://github.com/yourusername/chatgpt-viewer.git
cd chatgpt-viewer- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Run the application:
python app.py- Open your browser and navigate to
http://localhost:5000
- Build and run using Docker Compose:
docker-compose up --build- Access the application at
http://localhost:5000
-
Export your ChatGPT history:
- Go to chat.openai.com
- Click on your profile
- Select "Settings"
- Click on "Data controls"
- Choose "Export data"
- Download and extract your data
-
Using the Viewer:
- Open the application in your browser
- Drag and drop your ChatGPT history JSON file onto the upload zone
- Or click "Select File" to choose the file manually
- View your usage statistics and visualizations
chatgpt-viewer/
├── app.py # Flask application
├── requirements.txt # Python dependencies
├── Dockerfile # Docker configuration
├── docker-compose.yml # Docker Compose configuration
├── templates/ # HTML templates
│ └── index.html # Main page template
└── uploads/ # Upload directory (created automatically)
- Built with Flask (Python web framework)
- Frontend using TailwindCSS for styling
- Plotly.js for interactive visualizations
- Docker containerization for deployment
- Pandas for data processing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
