A Next.js web application for uploading ChatGPT conversations to Honcho to explore AI-derived representations of you.
deployed at https://teach-honcho.brennerspear.com
Teach Honcho provides a user-friendly web interface that allows you to:
- Upload your ChatGPT conversation exports to Honcho
- Monitor background processing of your conversations
- View AI-generated representations based on your chat history
- Track upload progress with real-time status updates
- Node.js 18+ and pnpm
- A Honcho API key from app.honcho.dev/api-keys
- Your ChatGPT conversation export (instructions below)
# Clone the repository
git clone <repository-url>
cd teach-honcho
# Install dependencies
pnpm install
# Run development server
pnpm devOpen http://localhost:3000 to access the application.
- In ChatGPT, go to Settings → Data Controls → Export data
- ChatGPT will email you a zip file with your data
- Extract the zip file and locate
conversations.json - Upload this file through the Teach Honcho interface
- Secure local storage of your Honcho API key
- Connection testing with visual status indicators
- Easy key management through modal interface
- Drag-and-drop file upload for
conversations.json - Client-side JSON validation and processing
- Support for large files with memory monitoring
- Batch processing with conversation separation
- Real-time progress tracking for each conversation
- Upload statistics (total, pending, completed, failed)
- Retry functionality for failed uploads
- Sequential processing to prevent API timeouts
- Real-time monitoring of Honcho's background processing
- Queue status updates and progress tracking
- Automatic polling with user controls
- View Honcho's AI-generated representations of you
- Based on processed conversation data
- Updated as background processing completes
The application follows a clean separation between pure JSON processing and file operations:
- Pure JSON processing functions with zero file dependencies
- Perfect for serverless environments
- Easy to test and reuse across different contexts
- File system operations that wrap core functions
- Handles file I/O and organization
- Used by CLI tools and local processing
- UI Components: Built with Radix UI primitives and Tailwind CSS
- Upload Management: Queue system with progress tracking
- Real-time Updates: WebSocket-like polling for status updates
- Responsive Design: Works on desktop and mobile devices
- Framework: Next.js 14 with TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI primitives
- API: tRPC for type-safe endpoints
- State Management: React hooks (useState, useReducer)
- Data Processing: Web Workers for heavy JSON operations
- Small files (< 10MB): Direct processing
- Medium files (10-50MB): Warning with direct processing
- Large files (50-100MB): Chunked processing with Web Workers
- Very large files (> 100MB): Error with guidance to split
- Web Workers for heavy JSON processing
- Memory monitoring and cleanup
- Chunked processing for large datasets
- Browser-specific optimizations
# Development
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
# Code Quality
pnpm check # Run linting and type checking
pnpm typecheck # TypeScript type checking
pnpm lint # ESLint checking
# Testing
pnpm test # Run test suitesrc/
components/
features/ # Feature-specific components
ui/ # Reusable UI components
examples/ # Usage examples
core/ # Pure JSON processing functions
file-ops/ # File system operations
hooks/ # Custom React hooks
pages/ # Next.js pages
server/ # tRPC API routes
utils/ # Shared utilities
- API Key Storage: Local storage only, never sent to external servers
- Client-side Validation: Input sanitization and validation
- Rate Limiting: Implemented on API endpoints
- Error Handling: Secure error messages without internal exposure
- Fork the repository
- Create a feature branch
- Make your changes
- Run
pnpm checkto ensure code quality - Submit a pull request
MIT License
For issues and questions:
- Create an issue in this repository
- Check the Honcho documentation
- Visit app.honcho.dev for account management