thom.chat

thom.chat

Open-source self-hostable T3 Chat.

SvelteKit TypeScript Tailwind Convex

License Stars Forks Issues

--- ## ✨ About **thom.chat** is an open-source alternative/clone to [T3 Chat](https://t3.chat/), built for [Theo's cloneathon](https://x.com/theo/status/1931515264497254402). It is self-hostable, by self-hosting your own app and [https://www.convex.dev/](Convex) instance. While thom.chat is a clone, the featureset is not identical to T3 Chat. ## 🎯 Key Features ### 🤖 **AI & Models** - **400+ AI Models** via OpenRouter integration - **Free Tier** with 10 messages using premium models - **Unlimited Free Models** (models ending in `:free`) - **Bring Your Own Key** for unlimited access ### 💬 **Chat Experience** - **Real-time streaming** responses - **Streaming on the server** for interruption-free chats, even when reloading - **Chat branching** for exploring different conversation paths - **Full-text search** across your entire chat history - **Privacy mode** for secure screen sharing ### 📁 **Rich Content** - **File uploads** with image support - **Web search** integration for real-time information - **Markdown rendering** with syntax highlighting - **Chat sharing** with public links ### ⚡ **Productivity** - **Cursor-like rules** for consistent AI behavior - **Keyboard shortcuts** for power users - **Enhance prompt** button for better prompts - **Message regeneration** capabilities ## 🛠️ Tech Stack
**Frontend** - 🔥 SvelteKit - 📝 TypeScript - 🎨 Tailwind CSS - 🍨 Melt UI Components **Backend** - 🔧 Convex Database - 🔐 BetterAuth - 🤖 OpenRouter API - 🦾 Blood, sweat, and tears
## 🚀 Quick Start ### Prerequisites - Node.js 18+ - pnpm (recommended) - OpenRouter API key (optional for free tier) ### Installation 1. **Clone the repository** ```bash git clone https://github.com/tglide/thom-chat.git cd thom-chat ``` 2. **Install dependencies** ```bash pnpm install ``` 3. **Environment setup** ```bash cp .env.example .env # Edit .env with your configuration ``` 4. **Start development server** ```bash pnpm dev ``` 5. **Open your browser** ``` http://localhost:5173 ``` ## 🎮 Usage ### Free Tier - Sign up and get **10 free messages** with premium models - Use **unlimited free models** (ending in `:free`) - No credit card required ### Premium Features - Add your own OpenRouter API key for unlimited access - Access to all 400+ models ## 🤝 Contributing We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details. 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## 📄 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## 🙏 Acknowledgments - Inspired by [T3 Chat](https://t3.chat/) - Built with [SvelteKit](https://kit.svelte.dev/) - Powered by [OpenRouter](https://openrouter.ai/) - Database by [Convex](https://convex.dev/) ---

Made with ❤️ by Thomas G. Lopes and Aidan Blesar

🌐 Live Demo📖 Documentation🐛 Report Bug💡 Request Feature