Welcome to AllMyChats Developer Documentation
AllMyChats is an AI-powered message analysis and categorization tool for chat conversations. This full-stack application helps users make sense of their chat conversations by using AI to automatically categorize and analyze messages from any messaging platform.
What This Project Does
AllMyChats enables users to:
- Import chat exports from any messaging platform (WhatsApp, Telegram, etc.)
- Automatically categorize messages using LLMs (Claude, GPT-4, etc.)
- Create custom message categories
- Search and analyze conversations with AI-powered insights
- Manage their chat history with a user-friendly dashboard
Who This Documentation Is For
This developer documentation is for:
- Contributors who want to help build and improve AllMyChats
- Developers who want to understand the codebase and architecture
- Maintainers who need to deploy and manage the application
- Researchers interested in AI-powered message analysis
Quick Links
Getting Started
- Local Setup Guide - Set up your development environment in 5 minutes
Understanding the Codebase
- Architecture Overview - System design and patterns
- Project Overview - Project overview and features
Reference
- API Reference - Complete API documentation
- Deployment Guide - Deploy to production
Contributing
- Contributing Guide - How to contribute
- Commit Conventions - Git commit standards
Prerequisites
Before diving into the code, make sure you have:
- Node.js 20+ - We use the latest JavaScript features
- PostgreSQL 14+ - Our database (can run via Docker)
- Docker & Docker Compose - For local database container
- Git - For version control
- npm or pnpm - Package manager
See the Local Setup Guide for detailed installation instructions.
How to Get Help
Stuck? Here's how to get help:
- Check the Documentation - Search the docs using the search bar (top-left)
- Open an Issue - Report bugs or request features on GitHub Issues
- Join Discussions - Ask questions and share ideas in GitHub Discussions
- Read the Code - The codebase is well-documented - check inline comments and JSDoc
Documentation Structure
developer/
├── intro.md (you are here)
├── overview.md
├── setup/
│ └── local-setup.md
├── architecture/
│ ├── architecture.md
│ ├── authentication.md
│ ├── design-decisions.md
│ └── file-uploads.md
├── api/
│ ├── intro.md
│ └── trpc-endpoints.md
├── guides/
│ ├── deployment.md
│ └── llm-integration.md
├── standards/
│ ├── commit-conventions.md
│ └── llm-agnostic.md
└── contributing.md
Next Steps
Ready to start? We recommend following this path:
- Read the Local Setup Guide to get the app running
- Check the Architecture Overview to understand how it works
- Explore the Contributing Guide to make your first contribution
Tech Stack Overview
AllMyChats is built with modern, developer-friendly technologies:
- Framework: TanStack Start - Full-stack React framework
- Database: PostgreSQL with Drizzle ORM
- Authentication: Better Auth - Secure, type-safe auth
- Styling: Tailwind CSS with Radix UI components
- AI Integration: LLM-agnostic architecture supporting Claude, GPT-4, and more
- TypeScript: Full type safety across the entire codebase
Key Features for Developers
- Type-Safe Full Stack - End-to-end TypeScript with shared types
- Modern DX - Hot reload, fast refresh, and excellent tooling
- Scalable Architecture - Layered design with clear separation of concerns
- LLM Agnostic - Easy to add new AI providers
- Comprehensive Testing - E2E tests with Playwright
- Production Ready - Deployment guides and best practices included
Ready to start? Begin with the Local Setup Guide to get AllMyChats running on your machine.