Generate a "Spotify Wrapped"-style summary of your Claude and ChatGPT conversation history.
Live site: aiwrapped.co
Your full conversations stay on your device.
- Your ZIP file is parsed entirely client-side using JavaScript
- Conversation content is never uploaded to any server
- The only data stored (for sharing) is the aggregated stats you see on the cards
- Persona generation sends session titles and the first 3 messages from a small sample of conversations to the Claude API
This repo is open-source so you can verify these claims yourself. Key files to review:
lib/parseClaudeExport.ts- Claude export parsing (runs in browser)lib/parseChatGPTExport.ts- ChatGPT export parsing (runs in browser)lib/calculateStats.ts- Statistics computation (runs in browser)app/api/persona/route.ts- What gets sent to Claude API for persona generation
- Upload your Claude or ChatGPT data export
- See animated cards with your AI usage stats:
- Total conversations and messages
- Time span of your AI journey
- Peak usage hours and days
- Longest conversations
- Your AI persona (generated by Claude)
- Share your wrap with a unique link
- Download individual cards as images
# Clone the repo
git clone https://github.com/akshayvkt/aiwrapped.git
cd aiwrapped
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your values
# Run development server
npm run devOpen http://localhost:3000 in your browser.
Create a .env.local file with these variables:
# Anthropic API (required for persona generation)
ANTHROPIC_API_KEY=your_anthropic_api_key
# Supabase (required for sharing feature)
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# Mixpanel (optional - for analytics)
NEXT_PUBLIC_MIXPANEL_TOKEN=your_mixpanel_token
# Base URL (for share links)
NEXT_PUBLIC_BASE_URL=http://localhost:3000- Anthropic API: Get your key at console.anthropic.com
- Supabase: Create a project at supabase.com, then find keys in Settings → API
- Mixpanel (optional): Create a project at mixpanel.com
- Framework: Next.js 15 (App Router) + React 19
- Styling: Tailwind CSS 4 + Framer Motion
- Database: Supabase (PostgreSQL)
- AI: Anthropic Claude API
- Analytics: Mixpanel
- Go to claude.ai/settings
- Scroll to "Export Data"
- Click "Export" and wait for the email
- Download the ZIP file
- Go to chat.openai.com
- Settings → Data Controls → Export Data
- Click "Export" and wait for the email
- Download the ZIP file
MIT License - see LICENSE for details.
Built by Dysun Inc